Thursday 12 November 2015

Programming game document and planning with UML diagrams

The game is a 2d-sidescroller set in a floating desert and jungle, hovering in the sky above the clouds. With Dinosaurs invading the land, kidnapping the wildlife and dropping them off in a nearby desert with their flying airships, you play as a small, lost bird trying to get back home by navigating floating obstacles like floating islands and platforms, and all the while avoiding invading dinosaurs trying to conquer your home. It will have a 2d and cartoony artstyle with a mix of pixel-art and cell-shaded graphics, using an animated animated character, with friendly animals like frogs and toucans (sprites are either made by me in Photoshop or sourced royalty-free from Open Game Art).

The main character is a bird, and you can move left and right, jump and use other abilities if I have time to implement them (like rolling for a forward speed boost and picking/throwing objects). Enemies will also be about, and will kill you if you are hit by their fireballs/attacks, and you’ll have to jump on and over their head (as the platformer game is more focused on stealth over fighting, so the bird must avoid enemies to survive, or the bird can roll into them and stun the enemy for a short time if I have enough time to implement it). You must navigate to the end of the level and reach the exit, which upon doing so will take you to the next one.

If there is time extra content will be added, like basic collectables that increase you score when collided with and variations of enemies (like ones with wings that float) and even local multiplaer with various characters on the screen. The controls of the player will be moving left and right with the A and D keys on the keyboard and pressing Spacebar to jump. The win condition will be to reach the end of each level and go through the door to the next, while also racking up as many points as possible with the various collectables scattered about.

A draft image of what the main bird character may look like, made by me! The later character will be created in a pixel art style.


The game will have a targeted release for PCs, since they’re commonly used platforms aspiring developers use to make their first games, which are a very open platform and easiest to develop games for (since consoles require you to buy a very expensive development kit from the company who owns it). It also allows a huge amount of people to play the game without leaving out too many people, since almost everyone who plays games owns a computer of some sort, with a presumably tiny demographic owning just a games console, most people will be able to play this game regardless of me leaving out dedicated gaming machines since it’ll be something they can quickly download online.



UML diagrams/ planning:

Also to plan out how my code is going to work before I begin programming, I created three UML diagrams (which are shown below, there are two sequence diagrams showing both a win and lose condition with how the game will flow/ be structured, and a class diagram to show different classes, states and datatypes). My previous research into planning documentation and various types of UML diagrams helped a lot to create these, however I chose to go with Sequence and Class diagrams in the end as I felt those were the most appropriate for my game, especially being in the platformer genre. These UML diagrams cover a lot of aspects of what the game may be like, ranging from the basic mechanics of the game, to the score and to how the camera moves. This is an example of me following professional working practises, since I will be able to start coding in C# with unity with a clear idea of what I'm aiming to achieve and with a strong visual representation of the my potential code's core structure.

Larger size of the image available here (uploaded by me due to Blogger image size limits): http://postimg.org/image/qm8oli5tn/


Larger size of the image available here: http://postimg.org/image/amhrizpjd/
Larger size of the image available here: http://postimg.org/image/z9zuwey6v/

No comments:

Post a Comment