Saturday, August 28, 2010

Starting a game project - Basic theory of Design

For my first theory post, i thought i'd go over an element of design a lot of people and companies seem to skip: Properly starting a project

First things first, you should ALWAYS create a design document for the game, consisting of several parts, as if you were pitching the idea to a team of people, this gives you a reference, and a place to outline mechanics the game will use

As usual, i'll be using my Projekt: H for this

Part 1: Creating your concept and Picking a genre and theme

Here is a Surprisingly hard one, most of your design basis will be made from this

For instance, the Concept of Projekt: H is a unique bullet-hell type shooter, but with player-specified dynamic elements beyond difficulty, unlike most bullet hell shooters, where the patterns are predetermined entirely based on difficulty and time

For my Genre, i'm going with top-down 2D, but using Celshading and lighting to create a 3D Look. it's a vertically scrolling shooter of the Danmaku type

As a general rule, you should also be thinking about your final graphical look while doing this, but i'll touch more on how to properly do this later

For my theme, i'm going with a space/future theme, Heavily influenced by games i've played like Tyrian and Deimos Rising

Part 2: Mechanics & Preplanning

This part will deal with how your games mechanics work, what the game will feature for them, and simple code as to how basic mechanics work, which makes coding them later easier - you've already designed how they should work

for instance, in my game, there is a touhou-style collection boundary at the top of the screen, as well as an autocollect circle around the player that pulls powerups to you from a small radius, so my example for it looks like:

Autocollect zone (Screen top): This zone is a player-ship height area (Invisible) at the top of the screen, when the players ship touches or enters this zone, all powerups will become homing, and gain a speed boost, causing them to fly towards the players ship faster than normal, and to home perfectly in on it, powerups spawned after the player leaves the area will be unaffected unless they reenter it

Autocollection zone (Player) Around the player ship is a collision zone circle, any powerups that touch this circle are redirected in the same manner as the zone at the top of the screen, all other collisions are ignored

There are similar descriptions for each Ship type and it's weapon, it's countermeasure, and various mechanics in the game (such as the health system, extra lives, weapon power bar, etc.)

Part 3: Designing the Playfield

This is one people tend to overcomplicate a LOT

In this phase of design, people always seem to make the mistake of attempting to make the final graphics for the game as they code it, even in game maker

The easier way to do it, is to make simple graphics using MS Paint or The included sprite editor, or a combination of them, for instance, this is the "Alpha" Appearance of Projekt: H for the ingame room, as one would see in the playtest distribution before i add final graphics

However, as you can see, the darkened areas where things go are sometimes hard to see for the purposes of lining up ingame objects that use them

As such, when first starting, it's best to make a simple background with labels showing where each thing is supposed to go, like this:

As you can see, this shows me right where everything is supposed to be, the maximum size they should take up, as well as the furthest the player and enemies should be able to move, while this may look stupid while you're making the game, you can later remove the text easily, and create the background in photoshop or in a new layer ABOVE this, using it as a template, before deleting this layer, leaving just your alpha or final background, and since you've already lined everything up using it, when you replace this with the much more game-looking background, you need to do no resizing - just maybe some recoloring to go with the new, proper look

In closing

At this point, you've come up with your theme, your genre, your games mechanics, Possibly a name for your game, and you've designed the playfield or main play enviroment.

In short, you're ready to start making the game, in my next post, i'll show you what i call the "Day one" phase of making a game, consisting of menu design, and Aesthetic theory

No comments:

Post a Comment