Classes

So far the python modules contain the following classes:

GameObject: has a unique id and contains a location class – everything that will be drawn should reference this

Location: has x and y co-ordinates for drawing on screen, a map id for the relevant map it belongs to

Attributes: list of rpg type things that each player character will have, and sub-routines to change them through levelling up, battles etc.

Character: contains location, attributes, sub-routines for drawing and moving around screen (and changing location) based on the Key inputs retrieved in the main game loop

EventList: a simple class that stores the type, location and arguments of all on screen events. will be stored in an array when read in from file. when the action button is pressed the main loop checks to see if the character is near one of these, and if so calls the event class passing the arguments.

Event: takes the arguments from the eventlist and calls internal functions based on them. these aren’t written yet but will include the calling of classes such as Battle, Conversation, ChangeMap

MapObject: this stores all the background images on the screen, their locations, image files and whether or not the character can move over them.

The way I’m doing it what gets drawn on the screen and the mechanics of the game are handled almost separately, so that you could play the game without the graphics running. I don’t know if that’s the right way to do things. At the moment I’m using free sprite sets so I can see that things are working properly, but when I get access to a scanner I intend to hand draw all the images and then go over them in Gimp. That gives me some time to think and practice how I want everything to look. I had intended to spend the first few months getting familiar with PyGame, and then start the game proper, I may as well carry on as I am. The mainloop certainly needs re-writing, but all the modules can be kept as they are, or with some additions.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: