Mechaius Technical Design
I don't remember what or how much was planned before, but as something to get restarted on the technical design, I was sketching out some of the architecture through some of the classes/components I think will be needed. This is not complete, but it is something to start with.
(Bleh, sorry for the poor formatting. I could just do things in Word documents or something so it looks nicer.)
Code:
Program
Purpose
Holds everything for the program
Single instance
Contains
Game
Menus
Form
Render Device
Game
Purpose
For everything in the actual game (as in part of the gameplay), and nothing else.
Single instance
Contains
Level
Player collection
Level
Purpose
For everything in a single level.
Single instance
Contains
Map
Object collection
Player
Purpose
Everything related to the player in the game
Multiple instances
Contains
Controlled object
Map
Purpose
Contains the arrangement of tiles that make up the level.
Single instance
Contains
Tileset
Tileset
Purpose
Contains a full tileset.
Single instance
Contains
Managed tile collection
Object
Purpose
Abstract base class for all dynamic objects in the game.
Multiple instances
Renderable Object
Purpose
An object that can be rendered
Contains
Reference to a Graphic Resource through the Resource Manager
Resource Manager
Purpose
Stores, loads, and otherwise manages all resources.
Resource
Purpose
Abstract base class for all resources (such as graphics, sounds, etc.).
Multiple instances
Graphic Resource
Derives from Resource
Purpose
Contains a graphical resource
Menus
Purpose
For a system of menus.
Contains
Menu collection
Menu
Purpose
The stuff for a single menu screen.
Form
Purpose
Just the standard empty form there to be used for drawing. Doesn't really contain anything.
Render Device
Purpose
Interfaces with the graphics library for all the rendering.
Contains
All stuff needed for the graphics library
Reference to the form to draw to
__________________
<div style="float: right; width: 100px; height: 70px; margin: 5px 15px;"><img src="http://madskills.org/monolith/idleserver.gif" style="width: 98px; height: 65px;"><img src="http://madskills.org/monolith/theserver.gif" style="width: 98px; height: 65px; position: relative; top: -65px;"></div><div style="margin: 0 3em; font-size: 80%; font-style: italic;">Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres.</div><div style="text-align: right; text-size: 80%;">1 Corinthians 13:4-7</div>
|