Game Design

3D loader for android, first roaming zombies

A 3d game needs 3d models, so I wrote a simple .obj (wavefront) model loader, and it was surprisingly easy with java. It took me roughly 30 minutes and is no more than 50 lines of code (including declarations and comments). So the “game” (still no gameplay in) can now display 3d models, and since it’s a zombie game, I’ve put in a (drum roll please) zombie! But it’s not just visual, but also backed by an NPC class that makes it move (more or less randomly) around the dungeon in a turn based manner.

device-2014-01-28-135250 device-2014-01-28-135411 device-2014-01-28-135538

Next on my list are 3d models for the doors, which are currently plain textured (and two-sided) quads that you can simply pass through. And replacing them with 3d models will allow me to add opening animations (think of the first resident evil games), and I also plan to use doors as a gameplay element that’ll hold back zombies that chase you. I’ve also implemented a simple gesture based model viewer that I’ll use to display items to the player (weapons and such).

After adding the doors I’m going to implement color picking for touch inputs, so that the player can interact with the objects in the 3d world, for e.g. opening the doors by touching them (or gestures for locked doors), hitting enemies or picking up items. Since it’s OpenGL ES 2.0, all the rendering is done using shaders anyway, and just adding shaders for color picking and reading pixel colors should be an easy task, especially as I’ve been using that technique in several other games too.

As far as the model format is concerned, I plan to use .obj just in the beginning. It’s ASCII based, so it’s taking up lots of space, is slow to parse (compared to a binary format), and the most important drawback is the lack of animation. It supports neither keyframe animation, nor bones or anything else do store animations. I guess I’ll go the same route for android as with my Delphi projects and create my own binary 3d file format that’ll implement animations.

I’ve also already gathered dozens of gameplay ideas, including randomly generated zombies from a pool of different body parts (heads, upper and lower parts, arms, weapons) and I even think about taking photos of your friends or relatives, that can then be used as zombie faces. Should make up for a pretty nice moment if a zombified friend of yours is trying to rip you apart 😉

Secret agency and some icons

As already told (countless times I guess now) I’m still working on the new GUI but I’m making good progress. Only one window needs to be transitioned over to the new GUI before I can call this milestone done and move over to work on other stuff like adding content and functionality. My current plan is to have a version with the new GUI and all features (only one feature of “Phase 2” is missing) done that I can release for public testing by this yeas end. But since real-life can’t be predicted please don’t count me on this, though I try to squeeze in as many hours for coding as possible to get it done.

So that one window that still needs (only some) work is the “secret agency” (espionage and sabotage for your agents) and that’s what I’m currently working on. The biggest problem with this window is that it includes a lot of different information, and even if I would have the whole screen available it would still be hard to present all of this at once (by “at once” I mean all of the information depending on the selected agent’s location, e.g. enemy region, division, free, etc.). And so after countless (at least a dozen) iterations of that window I finally have something setup that looks great, feels good and is intuitve to use (which is kinda important). In the screenshots below you can see the current version showing agent’s assigned to enemy regions displaying all important informations and the newly created (see bottom of the window) action list. That action list was a lot of work and it had several different iterations throughout the last few weeks, starting out as a plain and boring list of simple text buttons and now it has become a display of some nice icons :

So for that action list I had to create a dozen icons (only for enemy regions, the other agent assignments will need some new icons too). And for most of you this may sound like something that could be done in a few minuts, but it actually took me four days (with ~2h each day). Why you ask? Because it’s really hard to create icons that transport what they intend to use. That’s simple because you only have a very limited space (128x128px, in the game they’re even smaller) to create something that a user will directly recognize. And that task itself isn’t trivial, but you first have to come up with a design before you start creating that icon, and it often happens that you have a good idea and that the icon looks great in big, but when you put it into the game and only see a small represenation it just won’t work, meaning you can start all over. That’s why it often takes me such a long time to create several icons, and I guess everyone who did some small icons by themselves know what I’m talking about. So after finding a nice concept for every single icon that would work on a small space I created them using a 3D modeling application and rendering them with an ink’n’paint shader (think of cel-shading) to give them a nice, high-contrast look. Afterwards (depending on the icon) I also added some stuff in Photoshop and tested how they’d look in the game. So here you go, all of the new icons in one nice image. I hope they’ll transport their funtionality pretty well, though please note that in the game they also have a short caption as well as an extended tool-tip if you hover above them :

The eternal circle of GUI design (and some new screenshots)

Odd title, but it perfectly describes my “workflow” when it comes down to the GUI of “Phase 2”. But since the user interface is such a crucial part for a complex strategy game I don’t feel bad when putting hours and hours (and days) into optimizing the interface of a single “window”, especially seing as how horribly one of my old drafts looked. And yes, I really like the current UI. It has a nice flow, looks pretty sleek and has a great usability.

But after the last redesign of some of the “windows” (though they’re no longer freely moveable, so I should better call them areas or screens) several weeks ago I wasn’t 100% satisfied with them anymore after taking a look at them recently. Especially the partitioning wasn’t very well and it was hard to distinguish the different parts of it, e.g. where the current selected tech is displayed and where your active research is located. So I sat down, did some prototyping and finally (hopefully) found a good way of making it easier to distinguish information within the new windows with a new UI element called “header panel”. It’s the one that looks like a table header with an arrow-like captionion part on the left and a normal text (and icon if selected) part on the right. I’ll now use them to separate important parts within a window and to depict important sub-information by indenting and scaling them.

So take a look at the newly re-designed research section. The left one shows the old version, the right one shows the new version :

Though the old version may look nice, I felt that it lacked overview and therefore made it hard to orient yourself and to find the information you’ve been looking for. So the new design with the headers changes this and makes it much easier to navigate through the information presented. Though note that this is still (as usual) work-in-progress, but not much will change anymore.

And I’ve also been reworking the main menu and the result screens. Those two have been on my list for a long time now but I never got around working on them. One problem with the main menu from “Phase 1” was that it was created for 4:3 displays and therefore looked pretty bad on all (now widely spread, including myself) widescreen displays. So I dumped the whole old design and made a new simple one that is centered and in-line with the rest of the game’s look, also using the day-night transition. It looks more minimalistic, but that’s the “theme” of the whole UI redesign anyway, makin the UI easier to use. And then the result screens : the original ones were done quickly and I never liked them. Back when I made them I actually didn’t had the motivation to do “cool” ones, but instead used the same design for winning and loosing with a slight different header. So I sat down and created new loosing and winning screens (that are now also used in hotseat, instead of the plain boring dialogs of dead nations in “Phase 1”) that fit their purpose, are in line with the new UI-design and are also animated. So if you win you’ll have fireworks and airplanes with colored (depending on your nation) smoke that fly above your head. Also included are more informations than in the old result screens, though I plan on adding even more info here, as there is plenty of space now. But since pictures are worth much more than words, just take a look at them :

And yes, I plan on making a video of all these new UI changes, as especially the result screens look much better in motion. But there are still parts and areas of the UI design that need to be finished before I’ll put them on video. But rest assured, you’ll get a new video in the near future, also showcasing a lof of new stuff concerning manual battles.

Game design : Game modes

Something that has been lacking in “Phase 1” was replayabilty or better said the motivation to replay the game. This was mainly due to the fact that there was only on single game mode (now called “default”) to choose from in both singleplayer and hotseat games. So basically each game played the same except for maybe the player playind it different or the random factors that change some of the AI’s behaviour.

So for “Phase 2” I started implementing new game modes as well as the possibility to change some more game settings than in “Phase 1”. This should add a lot of replay motivation, cause the new game modes will change gameplay, how much depends on what mode you choose.

So here is a preliminary list in addition to the default one (the modes below will be in the game, but some of their mechanics will change, and it’s also possible that I’ll ad more modes) :

* Alternate reality
This mode will display an alternate history in which the origins of the nations have been randomly scrambled. This means that e.g. Neweurope will occupy the regions of Übermerica along with the Oceanic Front being located where the Arabian League used to reside. Other than that the mode will mostly play like the default one. Think of it as a mode with random spawn points.

* Last stronghold (aka People’s uprising, not sure of the name yet)
The people were upset with their leaders after they’ve been mistreated for deacdes now with their homes and cities crumbling under endless wars and conflicts. So they started to organize and to dethrone their power-hungry leaders. At the beginning of this mode all leaders have been pushed back to their strongholds (special regions marked in the game’s editor) where the are protected by their last personal guard. So all regions except these strongholds are hold by rebels in the game’s beginning and the players will have to reconquer them. Other than this regional difference the players will have unlocked all military techs and have a nice personal division deployed in their stronghold.

* End of days
The globe has been ravaged by countless centuries of war and environmental damage and is at the verge of a global climate collapse that’s about to destroy al life on earth. But still the leaders of the world’s nation only think about their own advantage and about making a name in the history books of the soon-to-be-gone human race. So different to the default mode all players only have a limited amount of turns to finish their bunker as much as possible to escape  earth’s climate collapses. Right now I plan to replace global project list with a list of different construction parts for the bunker, and the winner who has finished most of them when the game will win. And also earht’s texture will be replaced by a dead and dryed out version of the normal texture.

* Soldier of fortune
This mode will make for a great dynamic and diffifult to predict gameplay. Actually the basics of this have already been layed out in an early design document, but will now be implemented via it’s own game mode. So upon the start of each turn every player/nation will be “awarded” with three bonuses/maluses that’ll be active for this turn. So e.g. you can get bonuses like lower building costs, higher military strength, faster research but you could also be out of luck and get maluses like lower earning, falling stock prices, slow research, etc. There’ll be a pretty long list of bonuses/maluses with each of them having three levels (minimal, normal, high). This mode should add a lot of fun cause it’ll shift away from pure strategy to a bit more luck to rely on.


So that’s the preliminary list of planned gameplay modes for “Phase 2”. What do you think? Do you like the modes? Or do you have ideas for totally different modes or just want ot have one of the above modes changed? If that’s the case, just put up a comment.

Game design : Coastal building spots

Once again personal things kept me from posting news recently, so excuse the big gap between the last (game design related) posting and this one. Though I haven’t posted news recently I still worked on the game almost every day and a lot of things have been changed, added and done. So expect a higher posting frequency in the near future concerning my progress on “Phase 2”!

Something that has been implemented into the game from the very first prototype onwards was a property for all regions with a coast. In the beginning I implemented this to maybe add naval combat, though that never happened (and propably never will) and therefore that information was always present but never used.

So recently I decided to make use of this “lost” property again and implemented coastal building spots for all regions with access to the open-sea. This will add (up to) 3 special building spots that can only be populated with special buildings. Though the list is nowhere near finished it’ll include things like offshore wind turbines, different types of harbours, tidal power plants, etc.

So these new building spots will make coastal regions a lot more interesting, hopefully adding a new layer of strategical depth to the game. Note that I haven’t yet decided on how many of these spots will be available. Right now all three are unlocked from the start, but in a first draft you only had one spot unlocked and you had to unlock the other ones by constructing a special building for “land mass recovery” to open up the neighbouring spot. Though I’m still unsure about this, but that’s something I’ll consider for the final balancing.

Game design : Regional construction queue

This is something I’ve been thinking about for a long time now and I was pretty unsure wether it would be a good idea or not, as it would change a fundamental part of the gameplay, what I’m talking about is constructing buildings in your regions, a very important part of the gameplay that you spend a lot of your time with.

Up until now you’ve been able to construct only one building at the same time in each region, forcing you do revisit a region once this building is finished in order to start constructing the next building. Especially in the beginning of a new game this would mean you’d visit all the regions where you constrcut buildings every single turn (as most basic buildings are finished within one turn), resulting in the same task being done over and over again.

So in order to make constructing buildings less monotonous, I decided to add a regional construction queue for buildings, pretty much in the vein of the construction queue for military units but with one big difference. For military units you can construct 4 at the same time, while the rest is on the waiting queue until an active spot is freed when a unit is finished. For buildings this would influence the balancing and gameplay too much in my opinion, so I went for a different approach. When your start out only one building can be constructed at the same time, but you can plan up to two additional buildings (both values can be influenced, e.g. by a special global project that may let you construct two buildings at the same time). So if the building currently under construction is fnished after ending your turn, the next planned building will automatically be constructed. This means you won’t have to visit the regions as often as in “Phase 1”, removing a lot of dullness from regional management.

And in the end I think this will benefit the overall gameplay a lot, cause during my recent playtesting sessions I noticed how dull it is, after starting a new game, to visit each and every region in every new turn just to place a new building, so with this building construction queue gameplay should improve a lot.

And yes, as you may have guessed from the partial screenshot for this posting, the regional view has radically changed. It’s now implemented into the new GUI and looks a lot fancier, is better etc. I’ll post some screenshots from the current build soon, so that you can take a look at the new regional view.

Game design : Espionage and sabotage

As (sadly) usual my last big posting concerning “Phase 2” is now almost three months old and therefore I decided to change my habbit on posting news for “Phase 2”, so from now on I’ll add a new categorie called “Game Design” in which I’ll post smaller “snippets” about changes in the game’s design. Those postings will be more frequent and should be a better way of showing what’s going on behind the scenes that thos “quarterly” big postings on my progress with “Phase 2”.

The first posting in ths category is about the espionage and sabotage part of the game. As you may read before this part of the gameplay will get a lot attention for “Phase 2” and there will be a lot of changes (besides the obvious stuff like changing design for the new UI interface) to make this part of the gameplay more important than it was in “Phase 1”, especially when playing against human players espionage and sabotage will play a much more important role, and can, if used correct change the whole game to your favour.

  • Agents will no longer always be arrested when an action (espionage or sabotage) fails.
    One thing that hindered usage of espionage and sabotage was the fact that your agent could get caught for each action he did and therefore was lost for you. This will be changed, as an agent now has a chance of dodging arrest upon a failed operation. This means he’ll be locked for the current turn but he won’t be lost and he’ll stay in his region / at his assigned division to be available in the next turn again. I think this will be very important change as players don’t need to be afraid of losing agents as much as before. And in addition to that this ratio between getting caugth and being able to dodge arrest will be shifted in favour to the later depending on the agent’s current level. This will make training of your agents more important (training is new to “Phase 2”), so an agent with at level 10 (max. level) will have a change of 90% (though that may change when I’m doing the final balancing)
  • More sabotage actions depending on agent’s level
    The new staff experience system along with it’s ten levels of experience offer a lot of possibilites, and I’ll make use of it for the sabotage part of the game. In “Phase 1”, every agent could carry out all sabotage actions (though there were only a few ones). In “Phase 2” this will differ as you’ll need a certain experience level for doing several sabotage acts. For example you can disabled a building in an enemy region with every spy (level 0), so that this building is not working for a certain amount of turns, but demolishing a building will require a higher level. This means that you’ll constantly train and use your agents (successful espionage and sabotage actions will also give experience). This also allows me to introduce stronger sabotage actions like raising chaos (disabling buildings at random, making population angry, etc.) or poisoning drinking water supply to kill off a certain percentage of a regions populations. Such actions would be far to powerful if every agent could carry them out from the beginning.