View Single Post
Monolith

JCF Member

Joined: Mar 2001

Posts: 2,221

Monolith is doing well so far

May 15, 2005, 10:44 PM
Monolith is offline
Reply With Quote
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>