Category Archives: Uncategorized

Moving away from a hosted WordPress site to a new home

It has for a long time been my intention to move off of a hosted WordPress site to one that I have complete control over. I will still blog about my HTML5 game designs and other related work but it will now take place over at my new home page / blog / games hosting site SpaceMonsters.co.uk

A big thank you to everyone who has stopped by here over the last few years and contributed. I hope you will follow me to my new home and enjoy my random wafflings about games, movies, writing and other such creative things.

I am keeping this blog online since it’s a useful resource and diary for my game developments over the last 4 years.

Advertisements

A couple of quick bug fixes

Spy Chase had a couple of issues:

> Missiles being reset to bullets following a spin and retaining missile delay times
> Bonus score for destroyed vehicles not being added to m.player.score

More on designing games for mobile devices

I have for a long time been pre-occupied with the idea that the key to game design can be represented via a simple formula. Or at the very least a simple rule.
It is of course nonsense. What works for one person will not necessarily work for another. I for one love the painfully addictive experience of Angry Birds. Others will hate it.

I once read a short article by John Romero where he considered that as gamers we all seek to tidy. Citing such classics as PacMan and Space Invaders it seemed quite plausable that there was some truth in it. But I was struggling with the idea. Initially I couldn’t think of anything to counter the argument but then it came to me – Grand Theft Auto.

In GTA you not only seek to cause pure chaos you are rewarded heavily for it. Admittedly you  could argue that assassinating rival gang lords is a form of cleansing or tidying but ultimately the game is much more than that. I lost count of the amount of times I’d deliberately angered the FBI to get up to the maximum number of stars (wanted status).
Simply executing innocent people and piling up vehicles in the street was pure entertainment. Wrong, of course, but pure joy.

Angry Birds is another example. You don’t so much tidy anything as destroy the entire scene.

But I didn’t want to lose sight of the original argument – that we as gamers seek to tidy.

The hedonics of gaming fascinate me. Where is the fun ? What do we call entertaining and pleasurable in a game ?

Naturally the way we interact with a game dictates a huge amount of where we derive our pleasure from.
On modern smart devices such as iPad we are limited to touch. Touch is of course the ultimate in feedback since it is a direct interaction with the source. Yes you are touching glass but ultimately you are able to do something so natural it feels as though you are at one with the device. In terms of pleasure this has to score highly.

The Android powered HTC Desire smartphone takes it a step further. Touch input is often rewarded with a gentle buzz. Not only is this pleasurable as a reward it is also informing us of something. An action. An immediate response to something quite positive that we just did.

But what action on screen most accurately rewards the physical action of touching glass ?

I suppose to touch a balloon and watch it pop would be satisfying. As would swiping a hammer across the screen and seeing several glass bottles shatter to nothing.
Would it be satisfying to touch the screen and leave a trail of debris behind you ? Perhaps you touch a number of tanks that each hold a liquid. When you press them they unload their contents and fill the screen. Is that as satisfying as removing the contents of the tanks ?

I suspect that the process of touching the screen best lends itself to the theory of removing content. By whatever means. Be it destruction or a simple “pop” and you’re gone approach.

I think another  starting point for where we find fun in mobile games has to be the timeframes that we allow for playing them. Although many of us play our mobile games sat in comfort at home or at work for many there is probably an urge to “have a go” on the train or bus in to the office. I generally assume that a gamer’s allotted time for playing a mobile game is somewhere around 10 – 15 minutes.

Certainly by that time the player would want to have achieved something and been rewarded in spades for his efforts.
Once you set yourself up to play a mobile game your mindset is one of “quick thrills” –  I’ll just have a dip in to this and see how great I can be.

Classic arcade games got this spot on.
When you drop your coin in to Defender you know you’re in for one hell of a ride. It may be nothing more than a 2 or 3 minute ride but in that time you got everything – action, destruction, pace, thrills and of course a score.
My love for arcade gaming is epitomised by Defender. The feedback to the player is immense.

Step 1 – drop the coin: player greeted to electronic acknowledgement sound
Step 2 – hit start: player greeted to electronic wind up sound
Step 3 – speed left and right: player hurled straight in to combat at high speed
Step 4 – hit lasers: player sees stream of lasers thrash out across the screen (never bettered in 30 years)
Step 5 – destroy things (even the things you’re not supposed to): player witnesses firework display as everything he blasts turns to a multicolour scattering of pixels

So much in that game came at you through your controls and the use of sound.

DOOM is a similar experience. Just launch it and go through the main menu. Every item is met with a satisfying clunk. And the Shotgun. Oh the shotgun. The sound the shotgun made was so beautiful I edited the WAD to have the chaingun use the exact same sound. Glorious.
Everything in DOOM was designed to hit you square in the face. It was immediate and could easily have been an arcade game. When you trawl the DOOM archives and see what the game could so easily have been you have to thank the game’s designers for changing direction. So much of DOOM is the way it is because it has the egos of its key designers all over it. These guys live and sweat arcade thrills and so much of their personality is on show in DOOM.

So much that was created for the arcades has its place on a short timeframe game. The hurdle to overcome is the controls.
In the arcades (certainly the older ones) the controls were two-handed. One for the stick the other for the fire button. Later of course we had alternate fire buttons.
I overcame the issue with fire buttons in HyperGunner (mobile version) with auto-fire. I instantly removed the need to hit fire and turned the game in to more of a game of avoidance. This is not uncommon.

But there’s a growing trend in mobile and casual gaming to present what I suppose used to be termed female friendly games. That is, more puzzle oriented games. We’ve all seen them. A wall of gems and shapes that you click on to remove based on how they match their neighbours. It’s mindless and repetitive and there’s not much wrong with that. But I also think it’s lazy game design. There’s so much more that we can do as designers to present a puzzle or challenge.

I have scoured the web for interviews with arcade game designers. I was lucky enough to share a couple of emails with Eugene Jarvis (creator of Defender). A couple more with Chris Crawford (legendary Atari designer) and John Romero (DOOM). These guys know exactly how to throw the right switches at the right time in a game. They push the boundaries and challenge you far beyond matching 4 orange diamonds in a row. For Chris and Eugene in particular it was about pushing the immature technology to achieve the desired results. Not to take anything away from id who of course were ground-breaking in their own way, but for John (who of course had the incomparable John Carmack at his side) it was I suspect more about working a layer above the technology to provide the best thrills and challenges. It’s all about balance and whether it’s a team or the lone developer striking balance in a game’s design is an art form and not something that comes overnight.

I am convinced that the future of mobile gaming is a large step back. But as a designer you have to be brave. I don’t for one minute mean that we should all be playing Asteroids and PacMan on our phones. More that we should observe the tricks that arcade game designers and notable designers of recent times employed to pack as much in to a short game time as possible and what’s more made you want to come back for more.

Displaying code in a WordPress blog

Does anybody know of a neat way to present code in a hosted WordPress blog ?

It’s quite desperate when you can’t display code properly on a coder’s blog.

Exploring Fighting Fantasy

citadelFurther to my last (admittedly over critical) post I decided to explore a form of adventuring that I enjoyed in my youth. The Fighting Fantasy series has always fascinated me since it is so simple and so creative. It allows the creator to conjur up some incredible scenarios and locations with just words. Images help but it’s the detail in the descriptions that captures the imagination.

For the reader there is a true escape. I admit I prefered the troll style fantasies to the sci-fi but the point was there was something there for everyone.

The mechanics behind the books were really rather simple and consequently extremely accessible. You started the adventure / story with Stamina, Skill and Luck that were determined by the throw of a dice. You had to track your stats as well as inventory items and general notes that might be of some use.
Your Stamina was essentially your health. When zero you expired. Your Skill was essentially your skill in battle and your Luck was your likelihood of winning the flip-of-a-coin situation.
Assembling a game with these core rules is no great task.
So I had a go.

Although it’s not quite ready to post up just now it’s certainly well on the way. I have a number of game elements in place and a game editor that I decided was the best approach for this kind of project. I empower the editor so that I can just sit back and create some exciting locations, monsters and scenarios.
I’m also going to enjoy using pen and paper again after nearly 30 years !

So far the player can be met with one of 5 scenarios per location.

  1. Standard location (no challenge)
  2. Monster
  3. Treasure
  4. Luck test
  5. Stats nudge

All should be self explanatory except perhaps for the last one, stats nudge.
I wanted the ability to reward or harm the player through their stats based on their decisions or success in combat.
It makes sense for a player to find himself surrounded by health potions immediately after battle, for example.
Similarly a player with no luck might find themselves in a room full of slime or poison.
In each case I can simply add or subtract from the player’s core stats: Stamina, Skill or Luck.

Monster fighting and Luck testing are handled by some JavaScript that visibly rolls a dice and determins the outcome of the action.
As in the gamebooks the rules for combat are simple; roll the dice and add to your skill. If the result is greater than the monster’s skill then you hurt them. The same is true of the reverse scenario where the monster is attacking you.

The one element of the game that I was reluctant to try and implement was the inventory and gold mechanism.
Just now the only information that persists across each location is Stamina, Skill, Luck and Game ID. The Location ID changes with each click, naturally.
So I decided that the best way to implement an inventory would be to simply force the player through a location where a new inventory item resides. This allows me to always assume that the player actually carries the item. It might seem lame but it’s a deliberate sacrifice in my pursuit of an arcade text adventure. I want the player to spend 5 – 10 minutes at a time playing this game so the lifespan is short enough anyway and there are other ways to challenge people.

A future enhancement will probably see the inventory feature implemented.

Finally I want to draw some locations. I’m a seasoned artist so sketching out some fantasy locations is right up my street.
The final part of the editor therefore is the image selection tab. For each location I can simply pick an image to display.

I’ll post a link to the game when there’s something to actually see.

Expanding on the thought process behind chat / text based adventure gaming

The journey home from the office is about 20 minutes and plenty enough time for me to wander with my thoughts. I just can’t shake the idea of organic text-based adventuring just now. Here’s some more thoughts.

I researched a fair bit on amateur adventure game creation this afternoon. There are a glut of forums out there for this kind of thing and I have to say I’m not a member of any of them. Nor shall I be. I’ve done the forum thing in the past and find them to be pretty awful “smart-arsed” howitzer affairs between semi-clued up idiots. But there were some interesting points worth picking out.

Firstly, it seems that amateur adventure game creators appear obsessed with their “systems”.

In my system there shall be this method of trading and that method of combat and some other such method for moving around.
There shall be this elaborate system of talking between characters where certain phrases are allowed and certain actions are allowed depending on the phrases… etc etc

This is common and to me somewhat surprising.
Investing so much time and effort in to a clearly restrictive system for a game that ought to allow for tremendous freedom seems to me like trying to solve an unnecessary set of puzzles.

Second, players are shown everything with fancy icons, graphics and maps.
At first you might think ‘fair enough’. The player wants to see himself, his location and his attributes. But what surprises me is that this appears to be one of the first considerations for the designer – how the game will look. Before any thought is given for the experience it seems that amateur game designers are telling us that their game will look like SNES Zelda and play with a system borrowed from Elder Scrolls. Or some such.

To me both of these things miss the mark by a long way.
Anybody willing to play an adventure game, even a casual one, is probably willing to invest a little of their imagination. At least enough to flesh out the scenario in their mind. The inclusion of rich graphics in an RPG is surely more of a marketing gimick than a true aide to the gamer. Some is good but too much makes the entire process of adventuring a banal affair. Give the player pointers and let him “create” the rest.

I tried to figure out a process where I could prove an adventure game “on paper” by allowing for the most natural decision making process known to man – conversation.

Consider this text transcription.

Although it looks horribly basic try and look in to what I’m trying to achieve. Look at how the decisions are made.
There is no game here. No underlying “system”. It’s purely natural and uses simple, available technology.
You can also see that the game continues to tick in my absence and all I am ever doing is offering myself a window in to the game.

Note: square brackets denote a user action e.g. [ SLEEP ]

Decisions are not tied to a game system. In fact the only system is the means to view information that then allows you to make a decision.

This method of communication is accessible to everybody since it is a form of communication we all know. There would be no instruction booklet to describe your “chat” system.

World of Warcraft appears to dominate the online gaming community. (I still don’t see the relevance of the word Massively in MMO, surely it’s implied by virtue of the world wide web)
I would suggest that a large part of the reason for its dominance is its simple and highly effective communication system. Not only that it actively encourages the formation of guilds.
Talking with a colleague and avid WoW player I understand that simply belonging to a guild is considered an achievement. Indeed of the 200+ members of his own guild he is convinced that a significant portion are there simply because “it’s a guild”.

Gravitating towards like-minded people through conversation and basic human interaction is the most natural process we know.
In many respects this kind of thing doesn’t require restriction.

Just some thoughts. I expect they will evolve.

Fine tuning the action in Hoth Strike – a question of balance

There’s not much left to do on Hoth Strike before I draw a line under it and move on to my next game. But something that has been playing on my mind just lately is the question of balancing the action. I’m not a fan of implementing skill levels in games since they bring with them their own problems with level playing fields. I want everyone to experience the same game and to work it out such that they become competent and confident at it. That said I can’t just hurl stuff around the screen and expect players to accept it. I desperately need to consider balance.

A decision that I took early on was that I wanted to emulate Defender as much as possible. I prefer to set a stage and repeat it ever so slightly bumping the player’s requirements with each “wave” as opposed to say designing muliple levels. I’m very much an arcade gamer and not somebody who wants to sit down and devise a multitude of tricks and traps. At least not at the moment. Just now I’d much rather have the player see the limits of the game and work out how to “survive” within a static arena.

So I set out to design a few aliens and have them behave differently to one another. Some drift like jellyfish, others hunt for the good guys whilst some hunt the player or bounce annoyingly around the screen. Most spit laser bombs at the player (I even went to the trouble of plotting the player’s position relative to the alien and have them fire their laser bombs in a relevant direction!) and all will kill on impact. I wanted to have the player spend most of their time zapping the bad guys and probably spending most of their time in flight. But then I realised the player cared for nothing. They didn’t much care that the aliens were just drifting around since he had no goals. Hence the design goal of rescuing the rebel pilots. Instantly this new dynamic prompted the “mutant” alien idea. Lifted straight from Defender and DropZone the player had to stop the landers from capturing the good guys before they mutated in to the awful “chasers” that made those games so difficult. The player was now potentially all over the screen to complete the wave.

It still pains me that my original intention of having AT-ATs in motion had to be scrapped through my own failings at animation. The dynamic of speeding across the landscape taking pot shots at the walkers would have been stunning. But just now it’s not to be.

So to the point of this post.
In my games I try to design on a point – counter point basis. That is, where the point is to collect an item I make it the sole objective of a game object to frustrate the player when he’s trying to collect that item. In Invaders I threw bonus items down the screen and upped the alien bombing rate in an attempt to thwart the player’s attempts at powering up. With Hoth Strike I wanted to be a bit more intelligent with it. Where the player has to collect a rebel pilot I create an alien whose sole purpose is to look for rebels and destroy them ! Where the player has to carry a rebel pilot to safety I make sure that there’s enough on the screen to bring him down.

It’s that last bit I’m bothered about.

Simply littering the screen with obstacles isn’t very good game design in my opinion. I want to inject personality in to the probes such that they hound the player based on the things that the player can achieve.
The player can swing his speeder left and right, for example, so why not have an alien that tracks the player perfectly thus reducing the advantage of being able to swing the speeder around.

Now that the game objects are in place I will be fine tuning the game in terms of it’s execution.
If anyone has any ideas they’d like to share / offer then please do drop me a line.
This is the fun bit ;)

Analyzing the AT-AT motion and using Photoshop to construct the sprite

hothstrike8

Animation, it has to be said, has never been my strong point. I enjoy drawing the sprites and working with limited colour palettes but actually making the damned things come to life was always somebody else’s job. So imagine the headaches I’ve been having trying to bring this bloody walker to life.

In the movie the animators used tried and tested stop-motion techniques to great effect. Given the dated nature of the technology it might be easy to fall in to the trap of thinking that we have a  certain amount of grace in terms of execution since the technique can look quite crude. Don’t be fooled ! The sequence in the movie was inspirational because those things looked real. Re-creating the effect is very hard and made somewhat trickier due to the way that my animation code works.

In my code I cache each frame and apply a frame delay (measured in game ticks) globally to each frame in the set per sprite. The AT-AT currently has 15 frames all set to a delay of 10 game ticks. This doesn’t give me much room for movement in terms of fine tuning the walker’s motion short of duplicating frames to give the effect of pausing the sprite. Currently most animated objects have a frame delay of around 10 game ticks. Applying this kind of approach to the walker will make it look awful and far too robotic. In the movie the walkers moved with a certain amount of fluidity but still didn’t appear to shuffle forward until each giant foot had hit the floor. My code applies the object’s speed property with every frame – although the move increment is actually handled by the move() function as opposed to the animate() function.
It’s clear that I need to break the generic nature of my code for the walker and only nudge it forward every n frames, otherwise it will appear to slide across the snow which is dreadful. Making “walking” objects “stick” to the floor in games is a full time job.

I’ve watched The Empire Strikes Back countless times and never really focused on the intricises of the AT-AT motion. The first thing that struck me was the synchronous way that the legs move. It’s quite strange at first since you expect the walkers to move much like a horse. The animators at ILM must have considered this themselves. But there’s two things that a more conventional motion raises. Firstly, the speed that the walkers would be upon the rebel base (if the AT-AT walks so easily why doesn’t it just canter along ?) and secondly the clumsiness of a 100 ton metal machine trying to negotiate an icy terrain. It makes perfect sense that the walker moves quite tentatively.

To begin with I sketched out how I imagined the walker would move. Simple thumbnail images that I’ll scan in and upload some day. They depicted a rather static looking metal camel where the movement of one leg didn’t really affect the position of the others. What’s more the torso, neck and head all remained perfectly level.

Then I watched the sequence in the movie again and saw that there is the slightest adjustment of the 3 trailing legs as the moving leg shifts in to position. This, I figured, was subtle but not so subtle that I could drop it altogether. It’s pretty vital to the AT-AT’s credibility as a game sprite that the legs move intelligently and look linked. I also noticed that the torso rises and falls quite clumsily as the legs shuffle. In fact the entire machine looks awkward but as I mentioned it’s probably 100 tons of metal on fragile legs walking on ice.

The head and neck moved more through the purpose of lining up the gun turrets with the rebel snow speeders. The motion of the legs doesn’t appear to affect the “bobbing” of the head to any great degree. (Blatantly disregarding the internal shot through the walker’s wind screen where the horizon bobs up and down).

So the key to achieving credible and realistic motion with the AT-ATs appears to lie with the relationship between the legs and the legs and torso. By replicating the walker’s clumsy leg-by-leg motion I pretty much capture the essence of their “personality”.

I had considered dropping the AT-ATs altogether but they were the primary draw for me in the first place. Plus what is the point of setting a game on Hoth if you don’t include them ?
The transition from Photoshop to game might just take some time though and test my art skills in a way that they’ve never been tested before.

Detail of AT-AT sprite

Detail of AT-AT sprite

A final word on the creation of the sprites themselves.
I deliberately split out each section of the walker. Head and neck, torso and four independent legs. I also split the legs in to thigh, shin and foot. This was a conscious effort to enable a more fluid animation not to mention it makes like a ton easier when it comes to animation.

As you can see from the shot above I used age old pixelling techniques to build each area of the sprite. The rivets and red markings are purely artistic license. In fact much of the panelling is an approximation of the actual vehicle. All in all the techniques used are a hangover from my days creating DOOM and Quake textures on a 486 :)

In the top image taken directly from Photoshop you can also see that I always work with reference and an actual size window. The larger window is the one with I apply the brush to. I also make a point of unchecking “Resize windows to fit” on the Zoom (Z) tool. That way I can maintain the layout of my Photoshop session as I move around the sprite.

The vital keys to my pixelling in Photoshop are Z (Zoom), B (Brush), ALT (Colour dropper whilst in Brush mode) and H (Hand) to move the sprite through the window. You can also use SPACE when in Brush mode to acheive the same effect as H.

My choice of colours is always simple and always contains very dark and very bright colours. I love contrasts and you may be interested to see that the greys are not always grey. Occasionally a bluish or redish grey may creep in. I enjoy pixelling and always apply broad brush strokes to block in the bigger areas. The real fun comes when I get to boil each area down a bit and apply the details such as highlights, rivets and decals.

Some of the metal decay was applied with a broader brush set to Multiply at about 8%. I was initially reluctant to do this but the effect was used sparingly and doesn’t (I don’t think) detract from the deliberate pixel work.

All comments, criticisms and questions welcome.