Basic ideas
- Design for fast development.
- 2D platformer, damage enemies by gaining speed or dropping
from a high place.
- Steal code from Plutocracy whenever possible.
- Releasing under the GPL.
- No multiplayer.
1. Gameplay testing
- Rope Gman into another harebrained scheme to make a game.
- Write design document. We are planning it out this time!
- Come up with a tentative project name.
- Setup a code/media repository and wiki.
- Release a version to see if the gameplay is fun.
Code
- Physics based on rigid and straight 2D bounding boxes.
- Map editor outputs simple map format that only stores
entity class and position.
- Entity classes and sprites are defined in configs.
- Linux-only compatibility leaving room for Windows later.
- Maps composed of solid and doodad/background entities.
- Player entity, movement and aiming.
- Simple move-toward and attack enemy entity.
- Projectiles and particle system.
- HUD to show current weapons and menu interface.
Graphics
- Pixelated graphics on sprite sheets for rapid development.
- Pixelated bitmap font.
- One player sprite composed of separate torso, legs, weapon, head sprites.
Head and weapon sprites orient to look at the cursor. The cursor is visible
and always points away from the player.
See mockup.
- One enemy solid-body sprite with walking and attack animation.
- A small number of non-thematic map tiles and test background doodads.
Sound
- None.
Gameplay
- No storyline, plot, or theme.
- Single test map to demonstrate full gameplay mechanics.
- Primary weapon is the sword. Left-click will hide the
auxiliary weapon and slash the sword outward in the mouse direction. If the
button is held, and as long as the player has enough speed to do damage,
the sword will stay out. Running the sword into an enemy will do damage.
- The slash attack itself gives the weapon "speed" during the slash animation
itself. This lets the player boost weapon damage by not only gaining speed but
timing the slash to hit the enemy before the sword is fully extended.
- Auxiliary weapons, fired with right-click, serve to propel the player
and generally do not cause much damage.
Simple (non-wrapping) grapple can latch onto and pull the map or
enemies, explode/implode projectile launchers push or pull surrounding
entities on impact.
- Number keys and mouse wheel switches between auxiliary weapons.
- Player can move left/right (A/D), crouch (S), jump (space), and climb
ladders or climb ladders/activate special entities (W).
- Map entities such as boost pads, trampolines to accelerate player.
2. Develop theme
- Come up with a final game name.
- Release a version to test the theme, see how people like it.
Code
- Program variety of enemy types and bosses.
- Level transition scheme or seamless transitions.
- Progress save/continue.
- Scripted events and cutscenes.
Graphics
- Create thematic animated sprites for enemies and maps.
Sound
- Need to find a sound guy.
- Start looking at free music on the internet for fitting tracks. Start by
looking at mod/tracker/demoscene music archives.
- Develop sound effects that fit the theme.
Gameplay
- Come up with a consistent storyline and theme.
- Develop a difficulty/weapon progression. First the player must slash
enemies to get through and climb/drop on tougher ones. Then the grapple
is introduced and later the other weapons.
- Design enemies and puzzles.
- Build full set of game levels.
3. Polish
- Release final version to fix bugs and polish off problems found earlier.
- Party! We made it!
Code
- Pixel shader or mesh distortion effects for gravity weapons and explosions.
- Fancy overlay lighting effects.
- Randomized levels or level components for replay value.
- Improved enemy controller.
Graphics
- Non-essential atmospheric sprites.
- Flesh out animations.
Sound
- All events should have sounds now.
- Finish game soundtrack.
- Ambient sounds.
Gameplay
- Multiple difficulty levels.