Tag Archives: Game design

Base camp

Base Camp screen

click to enlarge

 

One of the things Free Company had been missing from the classic X-Com design locker (that I have been so gleefully looting) is some kind of base building mechanic in the campaign layer. Well no longer, despite the lengthy pauses in keeping this blog up to date I have been steadily trundling away on new stuff for the game here and there in between some minor computer troubles and a new gym regime (designed to keep me alive long enough to finish this game).

Screenshots of menus are never that gripping but this particular one happens to capture almost everything I’ve been doing recently. First up was a code refactor of the campaign UI to support multiple potential screens worth of menus ( rather than having everything stupidly dumped in one rapidly filling up place). This was to support a couple of new screen ideas, the first of which is the base building one you see above in it’s first incarnation. To sell the base screen I decided to make a whole bunch of fancy images in a consistent style to represent the ideas I had for buildings. I think it came off reasonably and it is a lot more satisfying to gain that little icon of a tavern than it would be just building a bunch of text descriptions.  Though I also spent a bit of time revamping the text description displays by making the tool-tips used throughout the campaign (and in some areas of the tactical battles) more aesthetically pleasing. They now have slightly rounded corners, a carefully adjusted amount of alpha and the use of new text rendering options. The engine can now, with a little bit of text markup, render a bold version of a font (as long as you remembered to load one) and assign text colours with a much more dynamic system of css like id tags loaded from an xml so it is easy to add new colours and easy to adjust the colour of all the text that uses the same tag.

And finally you can actually use that menu now to start construction of the available buildings and as long as you have the cash and wait a few turns your company will be the proud owner of a new tavern/stockade or whatever. Of course at the moment all of the buildings are somewhat ceremonial as the other systems they are going to unlock , contribute to or  buff have either yet to be built or are yet to be decided upon. I have a few ideas of what they are going to do but nothing is set in stone yet.

I’m quite enjoying working on the campaign layer at the moment as I feel that every time it improves it’s helping to add the purpose and context that I feel has been a bit lacking in the tactical battles. However, there is still a chunk of necessary work that needs to go into the current tactical battles around mercenary special skills, path finding and play speed improvements and better enemy AI. At some point soon I want to muster the drive to finish off those areas to an ‘alpha-ready’ standard so I can start to think about some kind of release that will garner much needed player feedback.

In not-Free Company-news there is a new remake of X-Com due next month by Civilization developing titans Firaxis.  I have of course preordered it out of my ‘research’ budget mainly so that I can swipe all of its good ideas and twist them to my own dark ends.

 

As always any comments or encouragements are welcome in the handy box below, or you can follow me on twitter and bark commands to me via that instead.

 

 


Look! An early, art free, screenshot

I’ve decided that it was high time to post a screen shot of what I’ve been working on for the past month, if only so I can look back on it months later and say – look how far we’ve come. It’s very much mostly programmer art (and indeed placeholders from directX) so far as I haven’t seriously put my artist had on since my first proof of concept tinkerings with GIMP and blender a few weeks back. It does show some of the features I’ve managed to hammer together so far such as the text rendering, basic UI and the general lighting/camera angle setup. Boom:

Love those D3D standard assets

I’m starting to push things in a dark fantasy direction with the hud image there, and the general blackness of everything but I think there is a long way to go before I really nail that aesthetic. Though, with nothing really going on, check out that frame rate!

General code optimisation on an indie budget is actually kind of tough. I haven’t yet found a good, free or nearly free, tool that’ll quickly do function timings yet. What I want is some of the functionality of a VTune like program for a sub fifty pound price.


Random reactions

I’ve been thinking a fair bit about randomness in game design recently and so, as it turns out, has Greg Costikyan. Greg did a presentation at GDC Austin this year giving the topic a good overview which you can read here. I want to talk about only a small part of the ground he covers here; namely the generation of an infinite variety of random content.

I spent a large portion of my youth playing Rogue on a grandparent’s ageing PC and an even larger portion of it playing Diablo and part of the reason I spent so long playing is because I was replaying them again and again with a different experience each time. Forget your Metal Gears and your Final Fantasies; to me these were the games really showing the edges of what was possible with computer entertainment. Infinitely generated content at the touch of a button, crafted not painstakingly by a human hand, but shaped into life by random numbers and algorithms. Though of course there is much careful work that goes into shaping the variables, algorithms and rules that do the content generation.

What’s bothered me slightly in the recent history of game design has been the semi-abandonment of this algorithmic approach to design and the rise in its place of a more hand-crafted movie like experience that seems to fly against the power of computers. Of course, there was much excitement when Spore announced it was going to make procedural and player driven content one of its unique selling points; but so far it doesn’t seem to have sparked much of a revival perhaps due to the games moderately poor reception.

The other piece of recent procedural design, that has been less heralded as such, is the AI director from Left 4 Dead. Here, unlike Diablo, the environment stays relatively static but the behaviour of the infected attackers is pulled together from a combination of the way the players act and a sprinkling of randomness – its essential in making Left 4 Dead work at all on repeated playthroughs. The upcoming Left 4 Dead 2 looks set to push the procedural generation increasingly into the environment with mazes and weather effects all being determined by the AI director.

For the indie developer procedural content is of more than just game design enhancing benefit its a somewhat essential tool in competing with the resources of the bigger developers. Here’s Chris from Introversion repeating most of what I just said again but in his own words:

Procedural content is a phenomenally powerful tool for game development, utterly crucial to companies like Introversion and basically ignored by the bigger boys in favour of banks of expensive artists. For those that have absolutely no idea what I’m talking about, Procedural content is basically content that has been generated automatically by a computer algorithm, rather than hand crafted by an artist. So for example I could hire an artist to sculpt a mountain surrounded by some hills, and he could work for hours carving out caves and rock faces and etching detail into the surface. The more detail I require, the longer my artist has to work and the more it costs me. As the years roll by, the bar is gradually raised and the amount of detail required for todays models is extraordinary – the time and money required goes up every year.

Alternatively, I could write a few hundred lines of code and generate the entire mountain and hills procedurally, using fairly easy to understand mathematics. I can control the amount of detail I am generating – more detail doesn’t cost any more to produce than less detail. As the years roll by and the standards rise, CPU power increases and higher and higher detail landscapes can be generated with exactly the same algorithms. Mountains and hills are good examples, because most landscape follows simple mathematical rules and can be easily approximated, but in reality most things can be modelled using algorithms – trees, streets, cities, planets, star systems. Darwinia made extensive use of procedurally generated landscapes – we designed the landscapes at an extremely high level (eg Mountain here, Flat land here, Water there) and the algorithms did the rest. Will Wright’s “Spore” appears to be blazing a trail – procedurally generating an entire universe from the galaxy level right down to the amoeba. The content generation in Spore is even guided by the players as part of the game – absolute Game Design Genius.

It’s not even a new method – procedural content generation used to be the only way to generate content for games, as storage space was so extremely low and it just wasn’t practical to store high resolution models and graphics in memory or on disk/tape. Ever wonder how Frontier fitted a whole galaxy onto a single floppy disk? This was one of the best examples of procedural content, generating each star system and planet in memory when it was required using simple algorithms. Now that storage space is no longer an issue Procedural generation has become something of a lost art, but I believe it is the secret weapon that most developers have yet to (re)discover.

I don’t think Chris’ words are strong enough(though he rightly highlights Frontier’s Elite as another procedural classic). For me this is where a large part of the interesting potential future of video games lies. Currently most of the algorithmic generation is tackling relatively easy cases – terrain, difficulty adjustments, galaxies and other easy to model simulations. When it gets really interesting is when we start to algorithmically generate things like the dialogue in an RPG. There is no physical reason why a computer can’t generate text that approximates human speech. Its tough, sure – but imagine if the dialogue could completely reflect the possibilities inherent in today’s virtual worlds. Imagine how much more immersive a game like Fallout could be if instead of reacting with only the canned soundbites, the possibilities that the designer predicted, a character was actually a character. You could speak with them about almost any topic in the world and they’d have something unique, to them personally, to say about it.
Thats probably enough verbiage for today but I expect to revist this topic in the future with further thoughts.