Skip to content

Rewrite notes

roysmeding edited this page Jan 16, 2013 · 6 revisions

These are pretty much smeding's personal rewrite notes -- do not expect them to be readable.

Major headings are modules -- they implement an 'area' in game functionality, sectioned off in its own namespace.

cataclysm

Cataclysm

The topmost class for the game.

Abstract classes

GameState

Does what it says on the tin -- something like Game or MainMenu that has a consistent way it works internally and can be transitioned to/from.

IO

IO

This class handles all communication with the user, through libtcod.

Abstract classes:

InputHandler

Anything that can register to handle input events.

Renderable

Anything that can register to be rendered to screen.

menu

MainMenu

The main menu, descendes from Menu

Abstract classes

Menu

Basic functionality for menus that can be reused.

Items

Abstract classes:

Item

Creatures

Player

A character that is controlled by the player.

Monster

A creature that has hitpoints.

NPC (for the long run)

A character that is controlled by AI. Inherits from Character.

Abstract classes:

Creature

A game object that moves in the world. Inherits from GameObject.

Character

Any creature that has locational damage, attributes, skills etc. Inherits from Creature

Map

Map

Vehicles

Vehicle (possibly abstract?)