Dead Commando

by

Here comes the mini-postmortem about the third game developed by CK7 Studios, Dead Commando. It was developed by Joseba and me for educational purposes, getting trained on multiplatform (PC and XBox 360) development and advance 2D graphics and AI techniques. I could also satisfy my desires of making a game with zombies.

¡¡Zombies!!

You can download the PC version from here. Run it as administrator because the installer will try to donwload all the .NET and XNA packages it needs from the network.

Summary

Game features

  • You are an abandoned soldier in a zombie infested city.
  • Move around the dark city lighting the fog and shadows with your torch and with buildings and car lights.
  • Avoid the evil zombies which will search and surround you to eat your brain.
  • Play it with 4 friends in XBox 360 and fight toguether to survive until your last breath.

Development challenges

  • Pixel shaders to create advance 2D effects like light dissipable fog.
  • Steering-behaviours to give zombies a group intelligence.
  • Trying to develop it for console, with its unique features.
  • Little time to do it, just a month time to complete it.

Here you can watch a game video:

The good things

XNA

This framework offers high level APIs for almost any aspects of indie videogame development, and additionally it has great documentation, lots of samples, forums to ask doubts… everything, perfect to learn or to develop games in a small company like us.

Shaders ó “Using foreign code to learn”

This project was focused on learning, and I used free source code samples to do it. I found out that the best way to learn is to understand code samples, and do it yourself. I did so with pixel-shaders, learning with this great tutorials, and practicing afterwards until I got what I needed. It was really rewarding!!

My own 2D illumination shader!!

Art

This project was the first one with Joseba working as a high definition 2D artist in the team. It was fantastic as I, as a programmer, could (at last!) avoid losing hours and hours drawing, and instead he made a great job replacing some awful sketches with high quality replacements. It was so good that I asked him to join me on future titles and now he is invaluable in our team.

His quality sprites VS My awful sketches

The bad things

AI or “Using foreign code without learning”

As I said, understanding code samples and practicing yourself is the way to learn. I didn’t do that with the game AI, copying a big bunch of code from a XNA sample directly on the project. We had AI for free, but I didn’t learn how it really worked, and it came the moment to make some important design changes on it… terrible…

My awful sketches VS His quality sprites

Details with no game impact

This happens when you waste time on small details that have low impact on the gameplay, and then you don’t have time for the important features. That’s what happened when I added degradating blood, glowing sparks, a laser to point… and then run out of time to do more game mechanics, just to survive with a machine gun until death…

Console development

It seems stupid, but the differences between computer and consoles are notable. HD or not HD, text size, not important info on screen sides, intelligent TVs that don’t understand your game is dark, joystick is not the same as AWSD… many small things to take care of, and that was just the beginning.

The end is coming

Conclusions

The most important thing we learnt was not to use another one’s code in our projects without undestanding completely how it works and how it integrates with the rest of the code.

We also re-confirmed what we knew from previous projects, that the Devil is in the details, and that it is a powerful and attractive Devil, so take care with it and don’t fall into it’s clutches!

Advertisements

Tags: , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: