Hero of Africa; IPhone Cocoas 2D Game

Technologies: iPhone, Cocoas 2D, LevelSVG, Objective C, Physics
Project Size: 2/5
My Responsibly: Adapting LevelSVG/Cocoas2D engine, Animation System, High Scores, Weapons, Enemy AI, Control, Sound trigger system, Menus, Level Loading.
Not my work: Art, Level design, Sounds, Media assets
Description: 2D plat-former game similar to Super Mario with weapons, high scores.
I'm omitting some details here by the customers request, so I'm not giving the games name or any screenshots. I Worked on the engine for this iPhone game while the client did the content and level design.


Technologies: iPhone, Cocoas 2D, LevelSVG, Objective C, Physics
Project Size: 2/5
My Responsibly: Adapting LevelSVG/Cocoas2D engine, Animation System, High Scores, Weapons, Enemy AI, Control, Sound trigger system, Menus, Level Loading.
Not my work: Art, Level design, Sounds, Media assets
Description: 2D plat-former game similar to Super Mario with weapons, high scores.
I'm omitting some details here by the customers request, so I'm not giving the games name or any screenshots. I Worked on the engine for this iPhone game while the client did the content and level design.

LevelSVG, Stock Engine

Based on the LevelSVG which is based on Cocoas2D. It's mostly written in Objective C with some C++ thrown in for good measure.
LevelSVG is a joy to work with, I can't recommend it enough. It's a very professional funky 2D games engine that allows you to do basically any 2D game, It handles transitions between scenes (screens, levels ect) with one line of code using a selection of starwars-y screen swipes. It has very nice physics including friction and destiny. It lets you use SVG files for the physics and will let you use basically any shapes for the level. Working with such a professional engine has been a great experience.
The images for the levels are simple tile maps built using a program called Tiled. It's nice and easy to use.
The Images for the levels are built in Tiled but the physics and entities in the level are built in Inkscape an OpenSource SVG editor.

This is usually done by exporting the Level image from tiled as a PDF and setting it as the background image in Inkscape. After that you can make boxes for platforms or walls. Entities like enemies or power-ups are made by placing shapes and editing the XML to say Object=Enemy for example. Having to edit XML is a little messy but you can copy the object once you're happy with it and you can make new ones by simply creating an Object in the LevelSVG XCode project. So to make CoolNewEnemy you just make sure there is a CoolNewEnemy.m/h in your project and place a shape with XML Attributes Object=coolnewenemy, nice and tidy.

The Images for the individual entities (sprites) are taken from a sprite-sheet created in Zwoptex.

Concept
The foundation of this game is the LevelSVG / Cocoas2D platform. My responsibility was to liaise with the client who had ideas for the game, nurse out a set of user requirements and technical requirements that can be then implemented. The clients responsibility was to produce the art and level design.

AI
So far the most interesting part of the job has been designing the enemy AI. I had to design a seven Enemies with varios types of behavior. I also worked on adding new items such as keys, doors, poweups etc. Level SVG had some enemies that rolled back and forth but didn't do more than that.
    The enemies I created had up to seven behavior states could fire back, patrol, had animation had sound triggers. They were a lot more complex than the sock rolling ball enemy.

Physics
LevelSVGs physics is good and provided most of what was needed. I added jumping, super jump platforms, firing for both player and enemies, bombing by flying enemies.

Saving / Loading
The game has a fairly complicated scoring system and level locks where the levels can sometimes be done out of order and number of times and items carry into the next level. Not only is the high score kept but a detailed record of every power up and item. This all had to be saved and loaded.

Animation
There was some facility for animation buit in but it wasn't sufficient. I added optimized and allowed for more complex animations incorporating the state of the player and enemies. I also added a sound trigger system so that sounds could be linked to the animation adding to the effect of dieing, firing ect.

Control / Screens
The control system was changed from the default. I also added stats like ammunition and time to the game screen. Background music to the game. The menu system was rather complicated which menu screens behaving differently based on different, circumstances and involved over a dozen screens to be added.

Conclusion
I'm happy with the work I did. The client had firm ideas on the design. Working with Level SVG and Cocoas was a great learning experience.













Click Here to Download