Tuesday, December 22, 2009

A very small Chirstmas present from Botworks

Well seeming as I haven't finished any of the projects I am working on yet (more on what they are in the new year) so I can't offer discounts or bonus content. However, I can offer a little something for XNA developers. One of the things that I found most frustrating in XNA was drawing a line, so I created a little function to do just that. It isn't especially clever, but it gets the job done

void drawLine(Texture2D line,int lineWidth,Vector2 startPosition,Vector2 endPosition,SpriteBatch spriteBatch)
{
float length = Vector2.Distance(startPosition, endPosition);
float theta = (float)Math.Atan((double)((endPosition.X - startPosition.X) / (endPosition.Y - startPosition.Y)));
float alpha = (float)(2*Math.PI) - theta;
spriteBatch.Begin();
spriteBatch.Draw(line, new Rectangle((int)startPosition.X, (int)startPosition.Y, lineWidth, (int)length), null, Color.White, alpha, new Vector2(lineWidth/2,0), SpriteEffects.None, 0);
spriteBatch.End();
}
  • line - this a pre-loaded texture2D which is your basic line pixel. It needs to be 1 pixel high. It can be of any width (for example if you want a glowing line) but a standard line is 1 pixel wide
  • lineWidth - unsurprisingly this is the width of the texture loaded in the line property
  • startPosition, endPosition - these vectors are the start and end co-ordinates of the line
  • spriteBatch - this is just the instance of the spriteBatch which, unless you have specifically changed, is just called spriteBatch



And here is a quick demonstration. I am using a 21x1 image file which is just a red pixel in the middle with fading transparencies going out to create something of a laser effect.

Merry Christmas and a happy and productive new year to you all.

Wednesday, December 9, 2009

Thankyou, BBC

In my last post, I explained why I felt that video games should be covered by mainstream media as a proper medium. I sent a link to the BBC as I believe they could do a program, I even suggested including it in the Radio 4 programme, Front row.

So you can imagine how pleased I was when last nights episode of Front row included an interview with Shigeru Miyamoto. You can listen to it here, it is at the end.

My only complaint is that the presenter called other companies Game manufactures (as opposed to developers or even producers). Other than that, it was really quite good. I am sure it wasn't down to my letter, but hopefully it will lead to further coverage. If they are looking for additional people to interview, they should try Peter Moleyenux (a keen advocate of pushing the boundaries of game design rather than graphics).

Mr. Miyamoto was fantastic as well, quick to defend the accusation that games and films will merge. All in all, I am very happy and hope it continues.

Thanks BBC, you guys are awesome.

Wednesday, November 11, 2009

The perception of games and why it needs to change

It is my belief that the general perception of video games is that they are exclusively aimed at children. In this post, I hope to challenge this view, explain why it is damaging, examine the causes and outline what you can do to change this view.

The Perception is Wrong

Before going any further, let us be clear what I am saying. I believe that video games as a medium have as much potential for depth as any other media (film, books, music etc). I am not saying that all games are mature pieces of artwork, but, this is the same for any medium. Film has great thought-provoking movies, like Shawshank Redemption, but it also has Final Destination 4. Books have Lord of the Flies, but they have Tom Clancy's Rainbow Six. Do any of these less mature titles mean that the rest of the medium is childish? Of course not.

Games can provide a unique way of telling stories that involve the player; not only can they immerse the player, they can let the player effect the story and the whole experience becomes more real. It even goes beyond this, games don't have to be a linear traditional story, but an abstract experience. It is beyond the scope of this post to discuss this fully, but games have a near infinite capacity for making players feel a huge variety of emotions. I think this means they qualify as a mature form of art.

Why it matters

I care because I have a true passion for playing games. When playing a really good game, I experience a truly fulfilling enjoyment and it saddens me that so many people dismiss it on the basis it is different. However, there is a real danger when parents take a games-are-not-for-me attitude.

Typically, parents do not get involved in the process of choosing and playing games, hence they are not best able to make judgments of what may or may not be suitable for their children. I am not going to deny that games can be damaging to a child's welfare, like every other medium. However, like movie ratings, game ratings are guidelines. Some children are going to be able to play 15s when they are 12 and they aren't going to grow up to become murderers. It has to be done on a child by child basis.

Films have a PG rating which means that younger audiences may require an adult to watch it with them. I think the same applies in games, sometimes having an adult take an interest in the game and discussing the more mature themes with the person may help them to understand the game in a sensible way.

What causes this perception?

The games industry itself is, in part, responsible for this perception. Not only has the industry promoted the clich├ęd image of teenagers mindlessly shooting people, but until recently it has not addressed the "controller" issue which, to many adults, can be highly intimidating.

However, there is another element contributing to this perception - the main stream media. The only stories covered by the popular press are when either financially significant games are released or scare stories saying that games are turning children in to dysfunctional slobs or mass murderers.(see this video for the other side of the story).

I feel the problem is that there are no programs on television or radio dedicated to indepth discussion of games. This reinforces the idea that games are for children. There are programs on the BBC for films, music, books and plays. However, there is nothing for games, even though programs such as Front Row could easily cover it under it's remit of:
"Live magazine programme on the worlds of arts, literature, film, media and music"
If the BBC or any other mass consumption media want proof that interesting intellectual discussion can be had about video games, Three Moves Ahead, a real time strategy podcast, is a good start. (Try episode 8).

What can be done

It is all very well me criticizing, but what do I think should be done?

I genuinely believe the BBC has a responsibility to host a program that facilitates informed discussion of games. (This means more than a quick review of the latest releases). Games now have a larger market share than DVD purchases; it isn't a niche market anymore. I will be sending this post to the BBC and, if you agree with what I am saying, I ask that you do the same . Likewise, repost, link, retweet and spread the word.

However, there is something we all need to do; talk to people who hold this negative view of games. Don't call them a n00b, try to engage them in a meaningful conversation relating video games back to a medium they enjoy, such as films or books.

If you feel you are getting somewhere, there are 3 games which I feel are both accessible for anyone to be able to play and also demonstrate the potential of video games to engage, entertain and stimulate the player.
  • Portal: This game is available for both the PC, Xbox 360 and PS3 and has modest PC specifications. This game has a beautiful and very funny story and the best puzzle design I have ever seen. It shows games to be an intellectually stimulating pass time. It has a very gentle learning curve and does not require first person shooter skills to get started.
  • Fable 2: This game is very easy to pick up: the combat system only requires one button and death penalty is minimal. However, it demonstrates the power of story telling in games. Encourage them to let go of themselves and become their character. Tell the player not to feel self-conscious and make the decisions as they actually would. If they do this, they will be treated with the kind of emotional depth that few books have achieved
  • Bioshock: This game demonstrates a world to explore - one of the things that games excel at. This game also has very little punishment for dying (although I would recommend letting them have a little experience with first person shooters such as Portal first, you can get both games on the PC, Xbox 360 or the PS3). It also has an absolutely fantastic twist that a book could not pull of due to the nature of games.
If the skeptic player is still in any doubt that video games are a serious topic suitable for serious discussion, then encourage them to read about a game designed by Brenda Brathwaite called Train or listen to the aforementioned Three Moves Ahead podcast.

Conclusion

Thank you for reading. To summarize:
  1. Games are not just for children
  2. Games are a serious medium and have as much potential for emotional depth as any other medium
  3. Main stream media should be encouraged to devise new programs to cover games
  4. Parents - get involved in games. Only you can know what is right for your children, and you might even enjoy it!
Spread the word and, if you disagree with anything I say, please leave a comment, I would love to hear other opinions.

Saturday, September 26, 2009

Music as a source of inspiration, Part 1: Lost Coastlines

Many things inspire specific game ideas for me. In fact, hardly a day goes by without some crazy, ill-thought-through idea planting its seed in my head. It normally starts with a desire to create a feeling or an emotion. For example, today I was watching a film called Speed Racer (surprisingly good actually) and I wanted to recreate the thrill of racing at absurd speeds requiring stupid reaction times where you had to jump, spin and smash your way to victory. I had even started mapping out the controls and how the single player would work by the time the film ended.

In the following two posts, I will be outlining a couple of game ideas that have been inspired by pieces of music. As with everything else, what normally happens for me is that it conjures up an image in my head, that then translates in to a game play concept.

The first song is an obscure song that was released on the Single of the Week offer run by iTunes. The song is called Lost Coastlines by Okkervil River (Spotify Link). My idea started at the end of the game, I, however, will start at the beginning.

It is a RPG of sorts set on the seas back when wind was the main means of getting around. At the start of the game, you have a simple choice, are you a right honourable sailor, or a pirate? You then arrive in a port and you are tasked with choosing a crew for your ship (which you inherited from your father who died at sea). In the port there would be about 100 people. (This is where the fact that I don't intend to build this in the coming weeks comes in to play): Each one of these would have a in depth and varied history and personality.

The basic game play would consist of a number of potentially unrelated quests separated by expanses of time. This comes back to an idea I discussed on GD.net, with a more "real" world and potential for more varied quests. I'll do a post why I think this kind episodic game play could work at some other point, however, it is not really relevant to this post.

If you're listening to the song, you are probably wondering, other than the vague sea theme, how the song inspired me to make this. In truth, most of what I just said existed before I heard the song, the sea theme is what made the following element glue with the rest of it.

Through out the game, there would be vague hints, mad ravings and general NPC chatter about a "Lost Coastline". At the start of the game, I imagine most players will completely ignore it. However, I hope, as the game develops, and the references are repeated, people will pick up on it. There would be stories of sailors who went mad looking for the coastline, there would be hysterics who claim to have seen it etc. The only thing in common is that everyone who knows anything about it, says it is the most beautiful place ever and that no sailor has been known to return.

Once you complete the game, as with many RPGs, you are free to continue looking around. It would be an open world in which you spend most of your travelling time auto sailing between ports and using maps to find known destinations. However, it will be perfectly possible to freely sail anywhere. Somewhere in the vast sea of the game, there will be the Lost Coastline (of course) and players can try to find it.

At first you are probably repelled by the idea as being cheap. However, if it were easy to find, the whole point would be destroyed. I also regard it as in addition to the main game; for most people, the game will end without more than a cursory search. As it will be so hard to find, I envisage a giant internet cult spawning to try to find this beautiful lost coastline (I love designing without reality messing things up!).

Then one day someone will find it, and it will be a beautiful experience for them. They would be the first person to set foot on the lost coastline. The first person to see all the wonder. True discovery is something that few in the 21st century have experienced. I would employ an artist specially to create it (who would be killed after development is finished, obviously) While I have mapped out what will happen, I don't really feel comfortable typing it out. Suffice to say it would poetic, or at least try to be.

Afterwards the person would run and tell the internet all about it and everyone would rush there, but the magic would be lost. But for that one person, I (hopefully) would have created a unique experience that they will treasure for the rest of their life.

Inevitably, it would be found by some stupid spoilt kid who played the game for five minutes, constantly tried to skip the damn thing because he was bored, until he found out he would be internet famous, but that's life!

----------------
Now playing: Okkervil River - Lost Coastlines
via FoxyTunes

Saturday, August 15, 2009

Games as a form of art

This is a very hot topic at the moment and one that a lot of people have posted opinion on. I have my own opinions, but they basically boil down to that a good games makes you feel something (be it excitement, intrigue or success) but an art game makes you feel something that is not necessarily regarded as a positive feeling. For example, you could make the case that Fable is an art game because you feel responsibility, sadness at loss etc.

I have more to say about it, but I really posted this to link to an interesting post of the Zen of Design about this topic.

I largely agree with what it says. I think it is practically true that just because we have plenty of games that definitely aren't art (Gears of War 2) the same is true for all artistic mediums. In books, we have the Olaf Stapledon but then we also have Andy McNab. Does that mean that books can't be a form of art. No. There are hundereds of pictures that are just well painted nice landscapes, which I wouldn't call art. Or rather I would, which is part of the problem, as I see them as the painting eqivalent of Gears of War, nice to look at but won't make you think.

That is also the other thing, everyone has a different deffinition of art, which futher complicates the matter and risks reducing the arguement to one of pointless semantics.

[Sorry for the lack of posts recently, been on a French Exchange and going back to France in two days!]

Sunday, July 26, 2009

Twitter - Not Just Jumping on the Bandwagon

Technologies come and go on the Internet and I like to think I only sign up for technologies which I can actually think of a use for, rather than just what everyone else is using.

For example, with Twitter, I wanted to use it to post updates on the development on Frozen Kangaroo. I often found that I had made progress in its development and wanted to keep a record of this, but it was not nearly enough for a blog post. In that sense, Twitter was ideal.

However, today I found another use for it. I can't work out if Twitter is actually any good at this, or whether this is basically what forums have been doing for ages. Basically, there is now a #gamedesign tag where frequent discussions about different game design topics take place. Its been going for a few weeks now, but I only really got involved today (discussing professinal gaming as a public sport, after I watched some of the Star Craft final live). It was then I realised how fantastic it was.

I think the reason it is good is because it forces people to express short points, which means it is easy to keep up with it, instead of having to read pages of text, as is often the case at Gamedev.net. Also, Tweetdeck does live updating, meaning you don't have to keep using F5. As a result, any games designers or wannabe games designers, if you are looking for an excuse to join Twitter, here it is.

(Oh, and make sure to follow me @thk123)

Wednesday, July 15, 2009

Go with the Flow is Audiosurf...

A while back I posted a game idea I had for a rhythm based platformer called Go with the Flow. The basic premise was that it would be a platformer that went at such as speed you had to use the rhythm of the music to predict what you had to do. A raise in pitch would signify a jump and a lower would require you to dive. Whilst I tried to implement it in Flash, timing the level creation proved near impossible and my work in to byte interpretation of a song (where the program would look at the binary version of the song and calculate whether the sound was a raise in pitch or not) was not making sufficent progress to use

I posted the thougths to Gamedev.net and while I did get some game suggestions, no one suggested a game I later found out about (reading an unrelated blog post) called Audiosurf. If, like me, you haven't heard of the game, you control a little ship and must collect things to the rhytm of the music.

While it isn't a platformer, and you don't really use the music to know where to go, it captured the essence of what I was trying to explain with Go with the Flow. I also realise that this basic concept is also in Guitaur Hero. It is simply a more involving way of listetning to music. It is like tapping your fingers to the tune, but slightly more interesting.

Anyway, just a short post today, just wanted to have a go at all of you for not reccomending it to me.

Monday, July 6, 2009

Driving Games: Change we need

Apologies for lack of posting recently, my exams are over, so I really have no excuse.

Racing games, in my opinion, are no longer designed. While racing games aren't my favourite genre, I certainly enjoy them. For me, however, I believe the game play is beginning to get stale. Obviously the racing component is essentially right; it's the rest which I have a problem with. In this post I hope to explain exactly what I have a problem with and what I think can be done to fix this.

When new racing games are released, the major focus is the physics engine that can realistically model the cars. This seems to be almost exclusively what is demonstrated. Now don't get me wrong, of all the genres, racing is the one where the physics engines are most important. And it is important, as I discussed in my post about excessive graphical focus on Veteran Gamer, it increases the tension within the race, making it much more enjoyable.

However, there is more to a game than one aspect. And a genre needs change, not just improvement. Every racing game follows the same basic plan. Loads of realistic cars, extensive realistic modding for said cars, hundreds of realistic tracks and a realistic physics engine. With the exception of Mario Kart, all racing games seem to target the realistic market.

On top of that, the game play does not change. You race, you earn money to buy cars, you do more races. You fail a race, you retry. The game is always linear but without a story. I don't think racing games need a story, but if it doesn't have a story, why is it so linear?

One of the things I would like to see is a more believable world with a fixed calendar of events. Obviously you wouldn't have to wait months to play the game, but if you loose a race, you might have to wait a game year to play in that race again instead of instantly retrying until you succeed. Make individual failures acceptable and you should make the game less frustrating.

One of my favourite off-track racing experiences was in some formula one racing game on the PS1, where you had to qualify for a tournament and you were given 12 game hours to do so. In that time, you had to get a qualifying time, fix any damage done to your car whilst doing this and do any upgrades/changes you wanted. This made the game feel more real and made the race more tense as you had already invested a considerable amount of time and effort in to it.

At the moment, racing games lack interesting decisions, you race as well as you can in every race, if you fail, you just restart. There is no reason to do anything else. If however you had a calendar, you may have to choose between two tournaments (with different rewards, one might come with more money, the other with more prestige or a rare cup).

And that is just an example. There are surely many ways to mix up the game play so it is not all the same. Take, for example, Burnout: Paradise, where you had an open world to explore.

Another thing that seemingly all racing games do (Mario Kart excepted) is use super-realistic cars. While the real world is often a very good source to base your game ideas on, it certainly shouldn't be the sole source in a whole genre. The world lacks variety (there is, after all, only one). However, if you delve in to the fictional, your options are limitless.

But even sudo-realistic universe could be significantly better in game play terms. In real life, cars are made to be as good as possible at everything. In a fictional, albeit similar universe, this could be impossible and instead cars have to be highly specialised or or below average in all areas. This would make choosing and tuning a car not so much a matter of finding the best, but the one best suited to the race ahead.

However, I am not optimistic we will see this any time soon. As I've already said, good physics are important in a racing game and these are still expensive to create. This means that indie developers who want to try something new can't choose this genre (or else fail on the racing part, which is more important, no matter how I try to argue this). Publishers will not want to invest in other areas of the game that they cannot so easily demonstrated, particularly if it means cuts to the physics development or their own profits.

Thoughts and opinions welcome. Have I missed the point, are racing games fine?

Thursday, April 23, 2009

Posting hiatus

Well you will have probably noticed posts seems to have dried up. To avoid the situation which happened last year on my other blog I am posting an official hiatus notice. Due to exams, posting on this blog, (and my game news site) will halt. Posting will resume on June 15th with a post about the resource model in Frozen Kangaroo.

In the mean time, I will leave you with some links.

I am really enjoying the Three Moves Ahead podcast from Flash of Steel. If you want a taster of what the podcast is like, my favourite one was about symettry and asymettry in games. The podcast is well worth a subscribe because it combines genuinely interesting discussion about games design with some funny personalities. Better yet, it doesn't just focus on the latest game release.

Finally, an odd link. I am linking to this site primarily so that it can be found by Google. It is a website I designed (email me @ thekileyenator@gmail.com if you fancy one for yourself) and so I need Google to index it. However, if you are looking for plants in your work place, and you are based the home counties, this is the site to go to - Renaissance Plants

Thursday, April 9, 2009

Frozen Kangaroo Concept: Nuclear Weapons

In a series of posts I intend to explain the more detailed elements of Frozen Kangaroo, the real time strategy game that I am working on. You can read an executive summary here. I hope to make it so that the posts only rely on things explained before them. However, please excuse me if my posts either digress to explain some concept, or don't make any sense because of no digression. If you have any questions, leave a comment (if it is an old post, I would recommend posting it on a newer post) or email me @ thekileyenator@gmail.com

As with the real Cold War, nuclear weapons will play an important part in Frozen Kangaroo. Not only do they add a devastating weapon to your arsenal, they can be used as a diplomatic bartering tool and even a direct path to victory.

Types of Nuclear Missiles

There are three types of nuclear missile in this game, each with their own strengths and weaknesses. They are: long, medium and short range nuclear missiles, or ICBM, err normal, and tactical nukes. Sadly, Blogger doesn't support tables, so I will have to explain it in paragraphs.

The long range nuke has, as you might expect, the longest range. Indeed, it can shoot anywhere on the map, including the proxy nation's colony cities (Will explain this in a later post, but they are basically where the civilians live. Each proxy nation has an associated colony city which contains millions of civilians who have been moved to keep them out of the way of the war). These missiles also inflict the most damage. Sadly, the pay off is in cost and speed. Cost is fairly self explanatory, but the effect of speed I will explain in a moment.

The medium range missile can reach most of the map, but cannot reach the proxy nations colony cities. Damage is similarly weakened, although it is still very powerful. However, it is faster and cheaper.

Finally the short range missile, which can only fire in provinces within a 4 province radius (subject to testing), and deals far less damage, particularly to buildings. It is, however, significantly faster and cheaper.

Missile Launchers

To fire these missiles you have three options; fixed, mobile and submarines. Fixed missile launchers can be constructed by your builder units. They can fire any of the above missiles.

The mobile missile launchers are a trainable unit. They can be moved about on the map, but need to be "deployed" before they can fire. These can only fire medium and short missiles.

Finally, the submarine is a normal unit. It can carry two small nuclear missiles with it. Further nukes must be collected from a port. However, it does not need to set up. Also, as they are water based, they can quickly manoeuvre very close to key enemy provinces and threaten them before they have a chance to respond.

With the exception of the sub (which needs to take its nukes with it) the launchers can only store one nuke at a time. Further nukes must be stored in a silo and then transported to the launcher. These silos come with stationary launchers, so you don't have to constantly arrange the transport of nukes. Trucks carrying nukes can also be "parked" in to either of the launchers, allowing all the connected nukes to be fired.

However, if you wish to use a mobile nuclear launcher to target deep within the enemies territory, you will have to advance it with a truck carrying a nuclear missile. It may also be wise to accompany the truck and the launcher with some form of defence, as neither have any attack capabilities.

The Nuclear Missile Management Screen

So how does speed factor in to all of this? Well, nuclear missiles aren't instantaneous. When you fire a nuke, your opponent is immediately alerted to this development and are taken directly to their nuclear missile management screen. On this screen, for each of the provinces there is a count down till the missile will hit... if its been targeted. The opponent, however, does not know which province has been targeted and so all provinces will have a countdown clock running. I hope to make this quite a tense screen to be on, with flashing red lights, constantly ticking clocks and maybe even a siren!

What can you do with this information? Well, each one of your provinces can be sent into "bunker mode". This significantly reduces the damage done by any potential nuclear strike. However, going into and coming out of bunker mode takes time. During this time (and the time in bunker mode) all buildings production queues halt, units stop moving and you can't enter the province.

You must then decide which provinces to put into bunker mode. Obviously, the opponent is more likely to target high value provinces, but if one of them is producing something very important, does the nuclear missile pose a big enough threat to warrant halting production.

This is also where the speed of the nukes comes into play. A short range nuclear missile gives the player virtually no time to react, let alone put any of their provinces in to nuclear bunker mode.

The other important thing with nuclear weapons that I want to cover in this post is retaliation fire. When a nuclear missile is sent your way, you have the option to hit a big red button marked FIRE. Prior to any nuclear strike, preferably during a quite period of the game, you can target your nuclear missiles at specific provinces. Then, whenever you hit the red button, they all simultaneously fire at these predetermined locations. This means that if the opponent launches a huge, devastating barrage of missiles at you, you can retaliate before they even hit.

From the nuclear screen, you can set up retaliation fire, deploy provinces in to bunker mode and watch the approach of oncoming nukes with suitably tense flashing red lights.

Nuclear missiles are clearly a very powerful weapon. However, they come with a severe cost. Using nuclear missiles is highly frowned upon by proxy nations and their colonies. As I explained in my post about the proxy nations, firing nuclear missiles, particularly in a province associated with them, has a strong negative impact on your relations. If you fire at their colony city, that will make them sworn enemies to you, and will strongly effect everyone's opinion of you.

I will be explaining this is more detail, but nukes are, in some ways, more useful when not fired. You can use them in diplomacy to threaten your enemy or "persuade" other proxy nations to join you, lest they fall foul to your rain of terror. Also, as I said earlier, you can use them to win. Although I will be covering ways to win more fully, if you manage to significantly out-build your opponent on nuclear missiles, you can force them in to surrender.

For my next Frozen Kangaroo concept I hope to be covering either the resources or diplomacy (including how you can use nuclear missiles in diplomacy - I never said it was friendly diplomacy).

Thursday, March 26, 2009

Blender fun and a quick update

I have recently been using Blender. Here is my image that I created this afternoon. I was trying out a few things (transparency, multiple light sources and actually finishing an image). No, it isn't a hint as to any future project, it's just a ray gun of some sort.

Also, I found out how to make really quick games in Blender. I had always thought you needed to use Python and so didn't bother, I have enough to learn as it is!

However, what you can do is use the very simple "Behaviour Editor". While I haven't produced anything meaningful, indeed anything even resembling a game, it does some very cool stuff out of the box. Namely, it has a physics engine complete with rotation, bouncing and friction. Hooking up keyboard input is easy and you can quickly get to grips with the basics.

In the way of Frozen Kangaroo, the real time strategy game that Botworks is currently making (read the articles linked on the right under Frozen Kangaroo Concepts for an overview), progress has been made, but not huge progress. My exams are coming up, and so a lot of my time is devoted to revision etc. However, my laptop should be turning up within the next 2-5 working days. When that happens, I will hopefully be able to spend much more time working on it.

Probably the most signifcant improvement I have made is the terrain engine. Before, each province had an asocitated image file which had all the terrain features in it. However, I have now moved the actual features off the image and in to a seperate file. When I want to place down a clump of trees, I now create a new TerrainFeature, giving it width, height and type of terrain. The engine takes that, tiles the correct image the set number of times, adding some random spacing to give it that natural feeling. It also can be queried to see whether a unit is within it. This will allow for easy checking to allow for speed modification.

It also means it will be easier to update map designs without having to
a) go in to the image file and edit that and
b) recode it to hit test different areas of the map for movement modification (in the original, if I wanted units to slow down when travesering a ceartain type of terrain, I would have to manually set where the terrain was going to be and enter how much I wanted the unit to slow down by).

Finally, there may be a hiatus of posts during my exam period. Hopefully I will get one or two more posts in before, but if I don't, posting will resume on the 11th of June.

Friday, March 20, 2009

Context to the battles

I was listening to Troy Goodfellow's (Flash of Steel) podcast 3 Moves Ahead today (episode 3) and they were discussing Empire: Total War. E:TW was highly criticised by Tom Chick, one of the contributors to the podcast, in his Crispy Gamer review.

What interested me about their discussion was "do the tactical real time battles need the strategic layer". Putting aside the debate of whether the strategy layer is actually good (you can read my other blog, Veteran Gamer, for this type of thing.), I will be looking at whether it is needed and what alternatives exist.

Is it needed?
What does the strategy layer offer? If you assume, for the moment, that the strategy layer is not fun enough to play on its own, why include it? In the case of Total War games, the most impressive element of the game is clearly the real time tactical battles. That is what makes up the adverts and that's where the development money went. So surely people view the campaign as just getting in the way. However, people insist on playing it.

The reason is they give the battles context. This is an example of the strange phenomena of games. People needs rewards. This is completely bizarre when viewed with a purely logical mindset. Gamers play games to have fun (or to escape or whatever), that is the real reward. However, players need something in game too. Achievements are another example. Your gamer score counts for nothing, and yet people insist on playing the game again to get all the achievements. Why do they need the excuse, if they are enjoying the game enough, why can't they just play it again?

I'm not a psychologist, so my answer is simply that humans are illogical and, as game designers, you must cater to this.

Context provides this reward. What is the point of winning the battle on its own, where is the reward? However, if your battle contributes to winning the war, then suddenly it is worth while. Yes, this is ridiculous, what does winning the war grant you; nothing. But it doesn't matter any where near as much, as you don't finish the campaign half as often as you do a mission.

A possible explanation for this need of context is that it helps immersion. In real life, there are no isolated fights, there must be some external purpose, no matter how basic.

Alternatives
OK, so context is needed, but what if you want all of your game to be fun. What alternatives exist to the campaign mode found in Empire and the like? Well obviously you have the traditional linear mission mode. Now sometimes, I think it is very easy to be snob like in your favourite genre. Recently, Resident Evil 5 came out. A lot of people lashed out at the controls. Immediately, Resi fans struck back with "this is how it has always been, you just can't HANDLE the controls". Just because this is how it has always been does not mean it isn't time for change.

I make no such judgements over RTS fanatics, I have played enough to consider myself, at least partly, amongst them. I also freely admit that I don't normally bother with linear campaign missions.

I think part of the attraction with these spiralling campaigns is they make an emergent story line (the best kind of story, in my opinion, when it comes to games). Also, I think with linear missions, some of the immersion, i.e. the point of not just playing the real time element, is lost. You can only win, if you lose, you restart, you will only advance in a set way and you cannot deviate from this. It isn't helped that the stories are usually predictable and unimaginative.

One campaign I did like was Dawn of War 2. I think this excellently combined the two methodologies. It keeps the linear missions, which means you are very rarely distracted from the heart of the game, but keeps a strong sense of context. The whole campaign just feels more real than other real time strategies, including Dawn of War 1 (ignoring Dark Crusade and after, they suffered from a different problem entirely). The use of optional missions which provide optional benefits creates the reward system and interesting decisions for the player. As does war gear and levelling up your troops. True, there is a scripted series of events and you can't lose. The difference is, it feels like you have some control over the story and, because it is the same units with the same names, you get an emergent story that feels unique to you. Does your scout squad get annoyed they are often viewed as cowards? Do you try and balance which units get deployed so they don't get upset?

The campaign is excellent for a number of other reasons which I detailed in my review of the game. However, the key thing is, it doesn't distract from the meat of the game, it just gives the missions context and reward.

Overall, I don't think the campaign mode needs to be as complicated as Dawn of War (and believe me, that isn't complicated) All it needs to do is provide you with a believable back story before you begin the mission, and a reason to finish it other than pure advancement. Other great things include continuity between missions and interesting decisions that don't take hours to have visible effects. It is a real time game, and if your decisions don't have an immediate and obvious impact, then they become a drag and just taking you away from what you want to do. In some ways, I think this is where TW games fail. A turn can take as long as a turn in Civ. In Civ, that's what you want, in TW, it is taking you away from that.

Monday, March 9, 2009

Frozen Kangaroo Concept: Proxy Nations

In a series of posts I intend to explain the more detailed elements of Frozen Kangaroo, the real time strategy game that I am working on. You can read an executive summary here. I hope to make it so that the posts only rely on things explained before them. However, please excuse me if my posts either digress to explain some concept, or don't make any sense because of no digression. If you have any questions, leave a comment (if it is an old post, I would recommend posting it on a newer post) or email me @ thekileyenator@gmail.com

As I explained in my summary, Frozen Kangaroo is set in a fictional second Cold War in 2046 (100 years after the start of the first Cold War). A Cold War is one without direct fighting between the two countries involved. At first, this may seem to be quite a crucial element to any war. Or even if it isn't, how do you plan to make an RTS without fighting? In a Cold War, the two countries compete in other ways. For the original Cold War, the Space Race (the race to get a man on the moon) was a significant focus. These non-military competitions will be in Frozen Kangaroo. In this post, however, I will focus on the other main element of a cold war; proxy nations.

Proxy nations in the real Cold War were nations that were in alliance with one of the two super powers. These nations then attacked either other proxy nations allied to the other side, or the other side itself. Through this, direct combat between the two super powers was avoided. Instead, they would advise, supply and help the proxy nation in every other way they could.

In Frozen Kangaroo they will operate slightly different. Naturally, you will control one of the two super powers. Sadly, I do not believe the game would be much fun if all you could do was vaguely boss around some inadequate AI (because, whoever I am, it would end up being inadequate for what a player would want to do with them). Instead, I am going to take a slightly satirical view and give the player complete control of all their proxy nations; well, nearly.

I am hoping to implement a change in game when fighting breaks out between American and Russian troops. However, I am not quite sure what it should be. While in theory the player will have control over where their units come from, this could be incredibly annoying to manage. What I will probably do is restrict diplomacy after this global event. I will be talking about diplomacy in a later post, where I'll explain what the implications for direct confrontation are.

You will have control over your proxies as if they were your own troops... while they like you. If you upset them, they will cease to operate under your orders, and may even join the other side. Likewise, enemy proxies can be converted to your cause. This is done indirectly through your actions.

There are three main elements that effect your standing with the proxy nations. Firstly, there is how well you are doing generally. If you are quite clearly more powerful, then they may wish to join you out of fear. Likewise, they might chuck in their lot with your enemy if it seems he is going to win. If you can't beat them, join them. This does create a design problem - once you start winning, you could become unstoppable. If it becomes too overwhelming, I may swap this round, as people would want to ally against the dominant force to bring back the status quo.

The second factor is more directly tied to the nation. If you use their troops wisely, ie. low casualties for high kills, they will like you more. If, however, you seem to be sending their men in to pointless deaths, they may stop supplying you with troops.

The other modifier is nuclear weapons. Using nuclear weapons is frowned upon by all nations. As I will explain in more details in a later post, you can either use nuclear missiles on provinces, or fire them directly at colonies. While targeting provinces can cripple your opponent, many nations will desert you as you are incredibly evil.

Furthermore, it is possible to take action to reduce damage done by nuclear attack, as I will explain in a future post. If a leader neglects to do this, proxy nations may cease to want to be under your control.

Each proxy nation has a score for both super powers. The proxy nation will ally with whichever score is higher. This means that if your opponent is treating a nation terribly, it will be easy for you to convert them.

However, if both teams treat the country with disregard, the country can invoke sanctions and even withdraw completely to a state of neutrality. If, say, the score falls below 5 for either side, they cease to provide population for the construction of troops even if they are on their side. At 3, they may take away control for existing units, they can even block your troops advancing through their territory.

So, to summarise, most of the fighting in this game is done through proxy nations. For the large part, this has little impact on how you play the game. However, if you are not careful with your allies troops, they might stop being your troops to control, or even your ally.

Friday, February 27, 2009

Dynamic economies in games

Before reading this post on how dynamic economies can work within games, I recommend reading Soren Johnsons post on Game Economics.

The Problem
Due to the international credit crisis, stories about our worlds economics going wrong are rife. More relevantly there was a case in Eve Online. You can read more about it on the BBC website but it basically involved some viscous back stabbing on the part of some players. I bring this up for two reasons. Firstly, Eve is a game which is heavily focused around a dynamic economy. However this story demonstrates both the pros and cons of a manipulatable economy. This Sandbox environment allows for cool, real life things, to happen. This keeps the game fresh and interesting. However, this comes with its downsides. While some people may have loved this twist in the galaxy, many players will have had there experiences ruined by 2 people who they probably don't know.

While this isn't exactly synonymous with dynamic economies, particularly in single player, the problems are certainly similar. Even in a single player game, a dynamic closed economy can bottom out. A closed economy is one which everything remains inside the system and nothing can be added.

This is actually less common than you might think. Take any RPG, drops from monsters are being created when you kill them. In an otherwise closed economy, this will create hyper-inflation as you sell all the excess items you find, so you have more money to spend, so prices rise etc.

However, even if you create a completely closed economy, you will hit problems. For example, in an RTS, most resources are finite, so the system is closed. At the start of the game, this can make for interesting trading; if you are fortunate enough to start next to lots of stone, you can trade it for wood. However, as the game goes on, supply will out-pace demand as other constraints come in to play, namely managing your troops. This causes the market to drop out with everything becoming worthless.

Advantages of a dynamic economy
All this adds up to is, if you include a dynamic economy, you need to think carefully about a lot of things. Obviously, the reward is a dynamic game that features an extra layer of strategy. One of the main things that makes Civ 4 so re-playable is the different strategies that are available to you. Even the different victory conditions can all be broken down in to different ways of achieving them. A dynamic economy can become one of these ways; cripple the persons economy, then you can easily walk over them.

Sins of a Solar Empire (a game which I will be mentioning a lot on this blog as in some ways [not setting] Sins is very similar to Frozen Kangaroo and there are many lessons to be learnt from it, both in its successes and failures) features a dynamic economy involving the buying and selling of resources. It doesn't immediately suffer from the above problems, but rather another thing that you need to consider when including an economy in to your game.

Distractions can destroy economy
Unless your game is entirely focused around the economy, then it is likely to be a small part of some other strategy. The problem with Sins isn't an economic one, but a game design one. To read the economy requires careful injections and extractions of resources to raise and lower the price. You have multiple options for buying and selling. However, you simply don't have time to figure out how it works. You are expected to do this whilst managing your fleet, your empire, your technology and your diplomacy. As a result, despite the fact it is quite cool, it slips down your list of priorities as the reward is simply not worth the time investment.

What are the solutions to this? The first solution is to strip everything else out of the game, leaving only the economy. Obviously, this is not viable for Sins, the focus of the game is epic space battles.

However, that doesn't mean that an economically focused game can't work. I read an interesting post on Gamedev.net about why all our games seem to be focused around violence or fighting. Part of it is certainly down to the human need to feel like we are winning. However, that does not mean that an economy driven game can't do that. Possibilities include either having to bankrupt your enemy, or, if you want to keep the war aspect, have a "war" being fought with you only managing the economy. Cornering resources secures you battlefield advantages etc. While you don't manage the battles, they are almost entirely play out as a result of your actions (the last thing you want is for your actions the feel irrelevant)

The other solution is what I hope to implement in Frozen Kangaroo; automation. In some ways, this does not solve the problem; the fun is playing the economy and seeing the results. As a result, in Frozen Kangaroo it will be everything else that is more automated. While I describe Frozen Kangaroo as a real time strategy game, it is heavily focused on management and logistics of a war. As a result, I think that it is right to allow a greater focus on the economy. I'll be posting more about what the economic element is in Frozen Kangaroo soon.

Conclusion
Back to my original point: can dynamic economies in games work. The short answer is yes. However, you must consider a number of different things. The first one is one you should ask yourself every time you add anything to your game, does it fit with what already exists and does it improve the enjoyment? If you can't confidentially say yes to both questions, chances are you are putting it in because it sounds quite cool.

Next, you must asses whether the player will have enough time, and the reward great enough, to actually use it. If you think it passes these stages, then an economy can work in your game. Only then do you need to start working how keep the economy balanced and interesting throughout the duration of your game. Play testing is the key to this.

And finally, a "realistic" economy is not necessarily a fun economy, our economy is realistic, is unemployment or very expensive oil fun for anyone?

Tuesday, February 24, 2009

Go With the Flow

Sorry for the lack of posts recently, I have been busy with my review(!) copy of Dawn of War 2. You can read my review here.

Anyway, I had a game idea a while back that I think has some potential. Building on the success of many rhythm games and combining it with one of my favourite genres, I came up with: "Go with the Flow".

You start off with a simple platformer. In this platformer, the map is constantly moving and you must use your 4 commands to avoid obstacles. These four commands are jump, duck (slide if you keep it held down) spin and moues grind (I'll explain in a second). Once you have built this, speed up the movement of the map so it is unplayable without lengthy memorization of the entire course, sounds terrible doesn't it?

Then, you add the music. In theory it should work for any song. You craft the map around the song. The map is moving to fast for the players to play it blind, or deaf in this case. Instead, they must get in to the rhythm of the music and predict what they are going to have to do.

This is probably the tripping point of the game. It is all very well if the programmer knows why he put such a block in, but the game will become very frustrating if you have to keep repeating the level to learn its foibles.

The solution, at least in theory, is to stick to a logical implementation. If the note goes up, jump, if it is a low note, use down. Spin on beats .

However, the second problem comes in two forms. Firstly, if you picture a jump animation, can you see the character landing before the next beat? And what if it is more extreme, with continuous variation?

That is where the mouse grinding comes in. With continuous change in pitch, such as during a guitar solo, the user would use the mouse to keep the character in a broad path (that would rise and fall with pitch)

Obviously, the best way to see if this idea would work (and be fun) is to implement a level. This is what I aim to do if I get time during the next month. The problem is, the platformer element needs to be really smooth. Having played Guitar Hero, there is nothing more frustrating that when the game lets you down. The last thing you want is some dodgy hit testing!

In the mean time, I will post this idea on Gamedev.net and see what they think about it. Feel free to post your thoughts in the comments below.

Tuesday, February 3, 2009

London Global Game Jam 2009

Last weekend, I took part in an event called the "Global Game Jam" in London. As the name suggests, it was part of a much wider, global event. Basically, you go along, teamed up with some people and then have 48 hours to make a game. This time includes time for sleeping (heh! like anyone did any of that) eating etc. Despite this, the quality of the games produced was incredible. It was a truly fantastic event and I am so pleased I went along, everyone was nice and incredibly talented.

Here is how it went:

Day 1 (Friday)
We arrive and meet up. There is a lot of expensive equipment just lying about, it was stunning. There were TVs, 360's, piano/keyboards and obviously hundreds of laptops. I have no idea how these people got this stuff here on the tube. We then received a couple of interesting key note speeches. The key message: Keep it simple! I have (some what embarrassingly) forgotten the names of both the speakers. One worked in a game development company where he programs console games. The second speaker talked about quick turn arounds and then admitted that "quick" normally meant three weeks rather than 48 hours!

Then we got a third keynote speech delivered by the wonders of Youtube. The speaker was Kyle Gabler who created the successful indie game World of Goo.


Then, we were given the restrictions and theme for our game. These were:
  1. A complete round must last no longer than 5 minutes
  2. Your game should use this theme: "While we were together, there shall always be problems"
  3. Your game should use on of these three adjectives: "Grow", "Hurry" or "In-between".
Then it was discussing ideas. This was possibly my favourite part as it really was just a crazy brainstorm. Looking back at out post-stick notes later, it was difficult to believe that we didn't have a completely disjointed conversation.
In the end we settled on a fish based game. I would like to point out, for my egos sake, that it was me that originally, right at the start, suggested the idea of a chain linking two things together. None the less, most of the credit for our idea goes to Yanhua, an undergraduate at Metropolitan University of London. From there, Jon, our genius programmer, showed us some actionscript physics type thing which was awesome, and we went from there.

Day 2 (Saturday)
Day two was largely spent programming away. Or in Chris's case, our musician, coming up with the amazing sound you find in our game. His trust worthy bucket and him spent many an hour recording sound effects to give the impression of the tranquil underwater. We also prototyped some of our sea creatures - in plasticine!


Day 3(Sunday)
Crunch day. What was really frustrating was at about 2 o'clock, Jon had got the game pretty much working. Then, in an attempt to do some minor change, he some how managed to break some other, unrelated, thing (so often the way with programming). In the end, the three o'clock deadline was a bit of an anti-climax. The upload failed (and did for a number of people) So, we carried on working on it till about 4. Then we watched, demonstrated and played the games. I videoed the demonstrations of all the games (except one - I ran out of memory) My personal favourite was a game called "MA", built in Unity (a 3D game making bit of software costing £A,Lot). In essence, it was a maze game. The clever part was, you couldn't actually see the walls of the maze at all. Instead, you had little particles which you could send out which would bounce off the walls. I liked it because it was a neat mechanic and it just worked really well. Anyway, here are the videos:


I strongly recommend that you check out these games (especially ours - the Deep) If you can't be bothered to download the zip, you can also view it here. You may want to restore your web browser, it can be quite processor intensive (there is a lot of physics going on!)

Finally, just want to say a huge thank you to all my team, you guys were awesome! It was amazing to be in such a talented and nice team, thanks for letting me get involved. I hope all of you do it next year. If you didn't do the Global Game Jam this year, make sure to do it next year. It doesn't matter what you do or even how good you are, come along it is great fun and you will meet some really cool people!

Until next time Game Jammers!

Monday, January 26, 2009

Moving in an RTS

In this post I will be discussing the theory behind the code in making a unit move from one location to another. This is not meant to be a complete tutorial, nor ground breaking. In fact, it won't even cover basic path finding. However, if you are having problems making a unit move between two points (namely, they move diagonally and then straight along) read on.

Such a seemingly simple thing, moving a unit between two points in a straight line (ignoring path finding as FK will not have path finding) However,I struggled with it for quite some time.

At first, I thought it would be really simple. See if the X co-ordinate of the object is bigger or smaller than the target X co-ordinate. Then, add/subtract the desired speed depending on whether the number is bigger or smaller (with bigger numbers being down and to the right). This works fine if the destination is as much above as it is to the right. However, if the target is not, the unit moves at 45 degrees toward the thing until either the X or Y co-ordinate are in line with the destrination (which ever is sooner) at which point, it moves horizontally/vertically. Apart from looking ridiculous, it is not the quickest way between the two points and so will be incredibly frustrating for the player. But then, if you are the target audience for this post, you knew this already.

[Note: Another problem that you may encounter is that as the unit reaches it's destination, it jumps around it. This is because it is unlikely the player will click on a pixel that your units movement speed goes in to exactly. As a result, you unit will switch between being to the left and to the right of the target. I will explain my solution to this at the end of the post]

I tried a couple of other things that, in hind sight, are long winded amd complicated; I won't bore you with the the details. They ended up working to a point, except when the unit had to move either vertically or horizontally, it would accelerate to near infinite speeds.

The solution I finally settled on, at first seemed too complicated (and for all I know, there might be a better one) It relies on creating a right angled triangle with the destination point, finding the accute angle and creating proportional x/y speeds that add up to make a total (limiting the maximum speed) (See diagram)



Using trigonometry (Soh Cah Toa!) we can find the angle using xDist and yDist (which can be calculated by subtracting the larger x/y co-ordinate from the smaller of the unit and it's destination)

Tan(Angle) = yDist/xDist

Or...

Angle = atan(yDist/xDist) //atan is the inverse of tan, called atan in most programming langauges.

In most programming languages, this will actually give you the answer in radians (a way of numbering angles where pi represents 180 degrees). However, for the sake of simplicity (no PI key on my keyboard!) I will use degrees. You can either convert Angle in to degrees (*180 and then divide by PI) or when I say 90, use PI/2.

Next, we work out how steep the hypotenuse (longest side of the trianlge) needs to be. By doing the angle/90 we can work out what proportions the 2 speeds need to be. If the angle is 90, then we know we want the whole speed to be vertical, whereas 0 needs to give the whole speed as horizontal.

The way I did this was first calculate the Y speed.

ySpeed = (Angle/90)*Speed //where speed is the distance in pixels that you want your unit to cover in one frame.

In this, if the angle is 45, (ie. as far up as it is across) then you get (1/2)*speed resulting in half of your total speed to vertical.

The xSpeed is then calculated by taking the angle from 90 and putting that over 90. In the end, you will get two angles that add up to 90. Therefore, when you put them over 90 as two seperate fractions, they will add up to 1. So, when the two fractions are times by the speed, the two fractions of speed will add up to speed.

The problem with this is it will only work when both values are increasing (ie, the unit is moving right and down) To get around this (and deal with a second problem which I mentioned earlier) when the destination is selected, define two boolean variables to store whether the target is left/right and up/down. Then, when your regular function to move the unit is called, if movingRight == true, if != true, then subtract the number and so on.

I realise that this is a little confusing, so here is a quick summary of what I mean

Summary: By finding out the angle that the destination is from the current position, you can find the preportion that the two speeds need to be.

The final issue is checking when a unit is arriving. By using your movingRight boolean variable, you can simply see whether the unit has passed the X co-ordinate. If movingRight==true then if curX >= targetX then it has arrived. Likewise, if movingRight != true, then curX <= targetX for it to have arrived. And you do not need to check y, as they should happen at the same time.

Here is my C#/XNA code if it is any help: (distASec is a Vector2 which stores the speed, curPosition is a Vector2 which has the units location and currentTarget is a Vector2 which is where the unit is heading. Vector2 is a XNA data type which stores X and Y co-ordinates(as floating point numbers, if your in to that sort of thing!).

if (currentPosition != newTarget)
{
Vector2 totDist;
float refAngle;
currentTarget = newTarget;

//Calcuates total distance and direction
if (currentPosition.position.X < movingright =" true;" x =" currentTarget.position.X">


}
else
{
movingRight = false;
totDist.X = currentPosition.position.X - currentTarget.position.X;


}

if (currentPosition.position.Y < movingdown =" true;" y =" currentTarget.position.Y">


}
else
{
movingDown = false;
totDist.Y = currentPosition.position.Y - currentTarget.position.Y;
}
refAngle = (((float)(Math.Atan((totDist.Y / totDist.X))))*180)/(float)Math.PI;


distASec.Y = (refAngle / 90)*speed;
distASec.X = ((90 - refAngle)/90)*speed;

}

Finally, to check if the unit has arrived.

if((movingRight && currentPosition.position.X >= currentTarget.position.X)(!movingRight && currentPosition.position.X <= currentTarget.position.X))
{

//Code to be excuted upon arrival

}

Sunday, January 25, 2009

An interesting premise?

Today I was doing some research for an annoying (read: rubbish) physics homework, why it is rubbish is another story! Basically, we had to research how theories of light had changed through time. However, it was quite interesting reading about ancient (BC times) theories of atoms.

The basic idea is that all things are made up of four atoms (indivisible things, not the modern scientific meaning of an atom, which is entirely divisible): Fire, Water, Earth and Air. Each of these has distinct shapes made up of triangles (not so indivisible then). Now obviously many games have used the idea of four elements before and it is largely just a different reality, usually one with fate, magic spells and goblins.

However, what I am suggesting is, supposing they were correct from a scientific point of view. From this base, work through the whole of Physics, Chemistry and Biology to create a world based on these scientific truths. And to make it a bit more interesting, define a few rules. First, each of these atoms have unique properties that exhibit themselves in whatever they are in. The higher the ratio of them within the molecule, the stronger the effect, but even with one, there would still be some effect. Second, where scientific questions are ones that have been raised before, you use another theory that has also been superseded by something else. For example, if you get to the question of light, take the aether to be correct.

The question is, would this create an interesting and believable alternate world to set your game in, or would it be minor differences that make no difference. Also, can interesting things come out as true, ie. can magic work?

Here are a few ideas I have come up with, I might try to expand this at some point, but working through 2500 years of science without the ability to experiment may take some time!

Earth (prthiv─▒) -Mass: 2, Fluidity: 0, Gravity: 3, Repulsion: 5, Temperature: 3, Temperature Resistance: 5

Fire (tejas) - Mass: 0, Fluidity: 0, Gravity: 0, Repulsion: 0, Temperature: 5, Temperature Resistance: 3

Water (apas) - Mass: 1, Fluidity: 4, Gravity: 1, Repulsion: 1, Temperature: 2, Temperature Resistance: 4

Air (vayu) - Mass: 0, Fluidity: 5, Gravity: 0, Repulsion: 0, Temperature: 1, Temperature Resistance: 2

I'll quickly explain my thinking behind these labels. To find out an objects properties, you add up the figures of its containing elements and divide it by the total number of elements (except with mass, gravity and temperature). The mass of an object is how heavy to pick up. Fluidity is it's ability to stay together. If it's fluidity is greater than the repulsion of the thing surrounding it, then the excess fluidity is converted in to motion. For each point of gravity, the atom can attach to that number of atoms, (note, only requires one of the atoms to have it) Any left over draws objects near it (relative to the total size of the molecule) and a velocity equal to the amount left over. Temperature is the temperature of the object. If an object touches another object and the temperature is greater than the temperature resistance of the other object, the second object is annihilated.

I quite like base rules and working up from them. A once read a description in a game design book (Game Architecture and Design, Andrew Rollings) giving an example of emergent game play. In the example, the players are travelling somewhere (I think it is an MMO, but definitely doesn't exist yet). It is cold and they are going to freeze. All they have on them is something that burns at a very cold temperature. However, one of the players remembers that being in the centre of a flame raises the temperature by a few degrees. Still cold, but enough to keep them alive. This would be taking emergent rules to the extreme.

Sorry for the lack of posting, I have a couple of posts in the works. One on programming a unit to move from one location to another (surprisingly complicated) and the other on planning your project. FK, my current project, has had a couple of good weeks with solid progress being made. I hope to have a working province by the end of February, complete with animations and maybe even a building which actually creates the unit.

Saturday, January 3, 2009

The key to good game design

Sorry for not posting much, I have much to post about, but little time in which to do it (as all the time I am feeling constructive I spend on revision!) However, I saw a clever post of GameDev.net that I thought I'd share. You can read the full thread here, not that interesting though!

Anyway, here is the post, the poster describes what he thinks are key to good game design.

1) The game needs to be (or at least *seem*) fair.

2) The player's character/avatar needs to control well and respond in a predictable fashion (this ties into the game being fair).

3) The challenge of the game needs to match the player's skill level (note: no game is going to have the perfect challenge at all times, so this isn't going to always be true until adaptive difficulty is perfected).

4) The player's goals (both long-term and, more importantly, short-term) need to be obvious at all times.

5) The player needs to have clear feedback that allows the player to know at all times how well he is performing at the current task in the game. It's important to note that any negative feedback/punishment that is given to the player should be treated as information and not as mockery. A game with good design never concentrates too much on a player's mistakes. It's best to make the mistake obvious without badgering the player. Games like Bioshock that just automatically restart you without even having a death animation or text that essentially says, "Hey, even though it's completely obvious to you that you just died, I'm going to say it anyway... GAME OVER, LOSER!" have good game design in this respect.

6) The rewards and punishments need to be structured properly. I.e. the player shouldn't be given a huge reward for a trivial task, and the player shouldn't be punished too much for a small mistake (one example of bad design in this regard that I constantly encounter is in platform games where you're in a vertical level traveling upwards, make one bad jump, fall for what seems like 5 minutes, and then start at the very bottom of the level all over again).


Number 5 is quite clever and something I hadn't really thought of. Game Over screens are basically just rubbing something you already knew in your face.

I would add to number four that it also needs to be made clear to the player why they are failing (if they are). For example, in Gear of War 2 in that sequence on the back of the cargo truck type things - I didn't know why I kept failing (I wasn't shooting the mortar fire) It was an incredibly frustrating experience and definitely not fun.

The final thing I would add is that if puzzles/challenges use a new mechanic, should fit with everything that has gone before. Good games lay down the basic rules early and then just interpret them differently. If at the start, the player can't run, this should remain the case and not just be changed when it suits the puzzle.