Stick City – A game in a week

Recently I blogged that I undertook a challenge set by myself, to create a game in one week.

The result of that one week’s work was Stick City:

Since others are undertaking the XNA One Week Challenge as well, I thought I’d structure this post as more of an interview/post-mortem style post that others can re-use the format of if they like.

What is the name of your game and how did you choose it?
My game is called Stick City. It came about very quickly after deciding to use Stick Figure animation for the main character, and since he’s running across rooftops, Stick City was born.

Where did the game play concept come from?
I had been thinking about a 2d side-scrolling platformer on and off for the last couple of months whilst I work on Galactic Ranger. I had something quite involved in mind, but the core element was run and gun. When I decided to write a game in a week, I just took the primary element from those thoughts I’d been having and ran with it.

What is the primary game play element?
You move your character across rooftops of a city as quickly as possible. Buildings may have gaps in between them and be different heights. There are also obstacles such as varying height Smoke Stacks which you have to negotiate as well, either by jumping or by shooting and destroying them.

What did you plan to include but ended up excluding? Why?
I had originally planned to have Stick-man enemies on the rooftops shooting at the player, which was the primary reason for him having a gun. Around day 3 I decided to for-go enemies because of the cost of implementation in terms of AI as well as placement within the procedurally generated levels. I also planned to include more vertical movement (about two screens high) but scrapped it early on also because of the implementation cost.

What were the tricky technical parts that you ended up including?
The arm control for the main character in itself was easy, but integrating the arms with the animation sets for the body required that I keep a separate arm offset position for each animation state. When the character hits the ground after a big jump/fall and performs a roll, the arms are not drawn and the player cannot fire his gun.
Also, tweaking the physics to get a nice feel for a man running across rooftops parkour style took some time. If I had more time I would have added more animations for various scenarios to improve the experience.

What art content did you create and what did you use to do it?
I created the main character animations in a program called “Styx” which does frame-by-frame stick figure animation using a jointed figure. I exported as a set of transparent-background PNG’s and used a freeware tool to convert those PNG’s into a transparent-background sprite-sheet, ready for loading.
The building texture I created in Photoshop, just applying some basic shapes and adjusting colour to get a somewhat city building effect.
For the pigeon I traced the silhouette of a pigeon from a free photograph and then animated each frame manually in Photoshop.
The background was a photo of a storm cloud modified in Photoshop overlayed onto a city skyline silhouette.
The smoke-stack image and smoke were created in Photoshop.

What about the sounds?
Sound is tricky for me, I have no experience creating audio content and as such I always find it challenging to find/create good sounding effects and music.
The character vocal effects (jumping, puffing when running, landing hard etc) were done by me, recorded using Audacity and just exported into XACT.
The city ambience background track to the levels was sourced from a site that I have royalty-free downloads from. Same for the bird effects, footsteps and gunshot.

Did you use any ready-made code?
I based it on the engine I’ve created for Galactic Ranger, my main project. Though heavily modified this version to be geared toward 2D instead of 3D. This provided game state management, contextual content loading, input handling etc.
I also ended up using the Particle2D sample, modified, for the smoke stacks.

How were your 7 days structured?
Basically went like this:

Day 1: ~7 hours. Setup project, modified a copy of my Galactic Ranger engine, made draft title screen and menus. Generated some stick figure animation for primary character, created crap building texture in Photoshop. Setup a layer2D object to handle the parallax layers in the background. Created a basic “GenerateLevel” method which would generate randomly positioned “buildings” in a level. Made the position of the character change based on controller input.

Day 2: ~5 hours. Started to implement character physics (gravity) as well as crap collision detection system. Extended “GenerateLevel” procedure to be more configurable in terms of building placement. Added “clutter” elements (pigeons) to the levels for some atmosphere. Also added gun and arms to character, added bullet management.

Day 3: No Work performed

Day 4: ~3 hours. Finalised collision detection and response. Added basis of block-based obstacles. Made pigeons react to player proximity and fly away. Also made pigeons react to being shot (SQUAWK).

Day 5: No work performed

Day 6: ~3 hours: Changed up art style for the title and load screens to be in-line with what evolved from the game play art direction. Made all visible pigeons flee when they heard a gunshot which can be problematic if they get between you and your target when you’re moving fast..

Day 7: ~6 hours: Finalised “GenerateLevels”, setup level generation system into 5 difficulty using procedural method configuration. Decided 50 levels was enough, 4 second code change could make well beyond 1 million levels over 5 difficulty levels possible. Decided that obstacle stacks were in fact smoke stacks and added particle systems to each one. Created Box art, logo, FRAPS’d game play video and uploaded to YouTube. And finally, put into playtest.

What next?
At the moment Stick City is in playtest to get peoples feedback on how I actually did with creating a game in a week. It will most likely go through some polishing iterations to get ready for review, maybe add a new mechanic to make it more fun, and release on XBLIG.

Would you ever undertake the XNA One Week Challenge again?
Probably. Using the experience from this game means I’ll know what to expect next time and use my time better. Of course, It will be a difference genre next time.


Tags:
Categories:

12 Comments
Actions: E-mail | Permalink | Comment RSSRSS comment feed

Comments

October 3. 2010 00:29

pingback

Pingback from topsy.com

Twitter Trackbacks for
        
        Stick City, a game in a week, a look on it's creation over 7 days:   #xna #xblig #xnaoneweekchallenge
        [spacedjase.com]
        on Topsy.com

topsy.com