Tuesday, January 24, 2012

Project Timeline

Hi,

So, here's a preliminary timeline for the project based on a 12-week schedule.

The general idea is to frontload the project as much as possible.  This will allow room for pushing the schedule, unforeseen difficulties, and will take some pressure off the end of the year.

There are several different areas: graphics, ai, game logic, content, miscellaneous, and possibly, networking.  I write of these as entities, but in practice they will likely be duties shared by all group members, with some members specializing in one most, as applicable.
  • Graphics comprises making the renderer of the project.  Additionally, the graphics lead will handle setting up the windowing environment and the main loop.
  • AI comprises the creation of the enemies tactics (particularly airplanes').
  • Game logic is the area concerned with defining objects (airplanes, bullets, zeppelins, trees, etc.), creating interfaces for their movement, and defining user interaction with the game and menus.
  • Content will handle procuring FOSS resources to draw and use (airplane models, tree models, menu graphics, sounds, etc.) and writing the storyline.  Content and Game Logic should share level design.
  • Miscellaneous will handle patching everything together and smaller tasks (file system, proofreading, etc.).
  • Networking would concern making a client-server interaction to allow multiplayer.  The easiest way would be with a deathmatch-type thing.  Collaborative missions are another possibility if time allows.
In order of highest priority to lowest priority: Graphics, Content, Game Logic, AI, Miscellaneous, Networking.

Without further ado, the schedule:
-Week 1:
The group will assemble for the first time.  Bureaucracies are sorted out (times to meet, communication, etc.). This document will be reviewed, and, if necessary, altered.  Discussion of underlying technologies (OpenGL, graphics library, C++, etc.).  An SVN repository will be created somewhere.  Perhaps some preliminary coding.
-Week 2-3:
Coding begins in earnest.  Code will be written fast.  We should have developed a basic framework for the game (graphics has basic renderer, game logic has passable controls and vehicle classes, content has produced some models to use).  Everyone will work on these important parts before anything else happens.
-Week 4:
Work begins on AI.  Collaboration with game logic to ensure that a decent API can be used for the player and for the AIs.  Higher-order structures to allow complex, abstract shapes from base movements (turn right, etc.) to help AI planning.  Miscellaneous should be working with all other areas from here to completion.
-Week 5:
Graphics should have a solid renderer supporting terrain and objects, rendered decently.  AI will have rudimentary functionality (flying in a straight line, maybe attacking stationary targets).  Core game logic should be complete.  Extra classes may be being added to broaden possibilities.   General storyline established; brainstorm level ideas.  Work on menuing system commences.  Content should have most of the assets procured.
-Week 6:
Project mid-re-evaluation.  Game should be basically playable.  Game logic's collision detection is complete.  Renderer is solid, nearly complete; perhaps supports some pretty features (shadows, reflections, waves/splashes, etc.).  Menuing system is usable (although not necessarily for all tasks).  Content has nearly all assets procured.  AI is more advanced; basic functionality is in-place.  Decide whether to include networking.
-Week 7:
Renderer complete except for advanced features.  Storyline finished.  Level design in-progress.  Game logic turns toward supporting any additional needs of levels.  Menuing system nearly complete.  Content has procured all assets except perhaps a few required by various levels.  AI can attack each other and humans and not look horrible at it.  If networking is included, basic client-server interaction set up.
-Week 8:
All levels have been planned and are being implemented.  Menuing system effectively complete.  Content continues to support level design.  AI has improved.  A decent human player will likely still beat them easily, but at least bots should put up a fight.  If networking is included, begin integration of game into network.  Servers should support a game state, and changes should be visible to clients.
-Week 9:
Renderer finished.  Menuing system complete.  Levels nearly complete or complete.  Content should be complete except for final, unexpected assets for some level.  AI has improved further, and should put up a better fight.  Playtesting begins with focus groups.  If networking is included, players should be able to attack/fly with each other over a network, and send messages to each other.
-Week 10:
Levels complete.  Content complete.  AI may or may not be (practically) improvable.  Playtesting continues.  General focus shift to bugsquishing and testing.  Marketing begins (website?).  If networking is included, all network traffic is established.  Consider adding in co-op play for levels.  Note that this might include reworking some levels (or having different level modes) to maintain constant difficulty.
-Week 11:
All functionality completed.  All work focuses on fixing bugs, testing, writing documentation, and generally tidying up the project.  Playtesting feedback thoroughly considered.  Marketing of project.
-Week 12:
Final (play)testing/bugfixes, final marketing, buffer time in case of problems, and presentation to the world.
Ian

No comments:

Post a Comment