Indie Game Reviews -- Interviews - - Indie Game Store - - - - Twitter - - Google+

Monday, 9 May 2011

CaptainD Interviews Leszek Sliwko (Age of Fear programmer / designer)

I interviewed Leszek Sliwko, the man behind popular TBS (Turn-Based Strategy) Age of Fear: The Undead King, asking his thoughts about game programming and the indie game industry.


1/ When did you first conceptualise "Age of Fear"?
The game concept appeared in late 2009, when I noted that there were only a few good TBS games available, and sadly none of them had AI worth talking about (with one exception - Battle of Wesnoth).  AI is my second love just after fantasy books and TBS (I am really bad at RTS!), so I got few of my friends together and we started working on Age of Fear.

The first prototype was playable in the middle of 2010 (see screenshot).




2/ Describe the process of programming a strategy game - must be pretty intense?!
You are very right about that!

Let's skip game-play design - there was enough said of that on the Internet. The multi-player balance is something we are doing now, thus we are still learning that.  However, I can give my thoughts on engine design and implementation:

First of all, it's quite unlikely you will use any existing engine for strategy game - they are just not flexible enough for deep and complex game. Thus, you will have to do your own from scratch.  That requires true architectural design - IMHO, games are no less complex than enterprise business applications.  I would even say they tend to be more complex as they have to hide almost everything from the user (and there is no huge support team to monitor and fix every issue in real-time)

For example: every unit in Age of Fear shows 6-7 attributes to the player. However, there are additional 30 or so metadata parameters which are not visible in the GUI, and all of them have a viable role in game.  Next time you see a game, try to think how much more is there under the surface, which you are not able to see as a player :-)

Second, there are several separate modules (like story system, hint system, sound system, save-game system, etc.) which have to interact with each other. Using object interfaces and single point of access is a must, otherwise you will not be able to maintain your application later (assuming you will finish it at all).

Third challenge was UI. Previously I thought it will be easy to design a proper GUI - how wrong I was!  Designing a proper UI is an art; UI designers are paid huge amount of money, but now I know they are worth their weight in gold.  Getting all menus, UI flows, buttons, combo-boxes and labels working together is a painful and uneasy task, but this is what speaks to player.  Micro$oft spent a few million dollars just to position Start button in lower left corner!  [I feel he may be exaggerating just a tiny bit here?!?!]

3/ What has the reaction to the game been like so far?
Very positive! People tend to get over bad graphics and find the fun and complex game play beneath.  So far sales in the first few weeks have exceeded our expectations about six times :-)

There were many valuable comments sent to us by mail or posted in our forum.  Most of them were or will be implemented, however some of them (and really good ones!) will have to wait for a while before we overcome our engine limitations.

BTW, we have ordered new graphics, so it will look better in the future. Sadly, we will also have to reflect that in price.

 
4/ What were the major challenges you faced?
Lack of time is the biggest challenge for us.  Indie game development is not a profitable business (at least in the beginning!), and you need thousands of hours to create a good game. I personally have spent 30 additional hours on average per week (aside my daily work) for the last 18 months, and my friends have also contributed a lot of their free time.

Unfortunately, the market now is pressing for very cheap games (everything above 10-15 USD is considered to be a steep price), and being full-time indie is not feasible at all.

5/ Do you think that being an indie developer put pressure on you to create that's not mainstream?
Indie developers do not have access to even a fraction of the resources spent on mainstream products (especially on marketing and graphics).  That leaves us only game play where we can be truly competitive.  Also, the main game types (FPS, RTS, casual) are saturated, thus we can only serve niche games in reality.  We are only small fishes in a pool of full of whales - being noticed is hard enough, but on the plus side niche gaming communities tend to carry the news quite fast.

On the other hand, mainstream producers will never risk any innovations and their games are quite similar (and dull in most of the cases IMHO).  For example, they will never invest heavily in AI because their marketing department will not approve that. They will create movie-like experiences, which marketing people can easily see and say "wow!".

You can judge yourself, what sounds better (and is understood by most players):
- "our AI uses meta-heuristic algorithms (Simulated Annealing and Genetic Algorithms) and influence maps to find model CPU player behaviour"
- "our rendering engine supports Full-Scene Anti-aliasing through hardware MSAA; we render realistic human skin by using Screen Space Subsurface Scattering"
[Hmm... making meta-heuristic algorithms sound sexy would indeed be a challenge!]
6/ What part of how Age of Fear turned out are you most pleased with?
The AI module is my favourite :-)  [Now there’s a surprise...]  The game engine design is also pretty solid, but there are multiple books to read and design patterns to follow, so there is no undiscovered ground there.

The AI in TBS strategies is quite hard to create properly, as the CPU does not have any kind of advantage against the human brain. There is no advantage in terms of speed or game knowledge (as the world in Age of Fear is perfect-information type) and the player has the advantage of a save-game button.  There is not much knowledge in general available about any AI and almost none about AI in TBS games, so it was like an one continuous experiment. And it was fun!

We did not want to script every level (as some games do), therefore our AI is a true self-organizing agent system, which can adopt to almost all in-game tactical situations.
This will hopefully be very visible when we release multi-player module, in which you can design your own and AI army from scratch.

7/ Is there anything you wish you could have done differently?
I have to say a few of our architectural decisions were not the best ones.
Generally we are very satisfied with our engine, but it has a few limitations. Those issues will have to be addressed now with heavy refactoring, while we might have planned for them at design stage.  For example there is no support for area-spells. The Fireball and Poison Cloud are done in hack-ish way. They work, but it will be much better to abstract this feature and create better object-oriented design.

8/ What does the future hold for your game programming - updating / expanding Age of Fear, creating new games, or a bit of both?
Well, as you know we are working on releasing multi-player patch now (currently in beta-test stage). Hopefully, it will be ready in like 2-3 weeks.

After multi-player, we will be working on UI and graphics enhancements and I guess it will take a few months at least. There is no chance for a true 3D engine (it would take 2-3 years with our manpower), but generally visuals should be improved.

Then we have two routes: conversion to Android or starting working on a sequel. We are not sure if conversion to Android will be possible at all (as our AI is quite demanding in CPU/memory), but it will be a nice developer's experience for sure :-)
As for other games - we have not thought that far ahead - it depends how well Age of Fear does.

BTW, if anyone is interested being beta-tester for multi-player, please visit our forum (
http://www.age-of-fear.net/index.php/component/kunena/10-testers/156-multiplayer-beta-testers-needed)

9/ Finally, what's the best advice you could give to aspiring indie developers?
Start with something you like, but it does not have to be something simple. Writing another Tetris will not teach you much.  Be creative, you like chess in RTS-style? Do it!

Also, learn when to cut off features early. The difference between professionals and amateurs is that a professional knows when to remove something if it does not add value (even if he / she has been working on that for the whole last month).

Well, indie developers shall continue to learn all their lives! :-)


Thanks Leszek for a very interesting interview (I particularly found your definition of a professional game developer enlightening!) - and all the best with your continued development of Age of Fear.



Related Links:

Indie Strategy Game Review: Age of Fear: The Undead King

Age of Fear: The Undead King released

Age of Fear: The Undead King Announcements

 

Post a Comment