Game framework design

Started by
10 comments, last by DirectXXX 19 years, 6 months ago
NOT to be confused with game engine design. The engine is done (not by me). Now I need to go about the long and boring task of making the game work with the engine. I need to write a game framework. I've got all the ideas and how I want the game to flow written down. A design document if you will. Now I just need some way of extracting all the facts from that, and start coding. This is going to be a Tycoon like game BTW. Any help is greatly appreciated. And if you need more info or have a question, I'll be checking the thread frequently throughout the day.
Advertisement
Well first what are the capabilites of your engine? How is is structured? What language is it written in?

Second what is actually troubling you about how your game should sit on top of this engine, is there a particular design point you're stuck on, or do you just have no idea how to start off?
Its all C#. The engine is pretty much limitless. But the game will be 2D sprite based only. I'm not so worried about the engine or even how the game will work with it. At least not yet. To put it lightly, I've a shit ton of ideas and no code. I need to design my classes and structs for the game. So yes, I need to know where to start.
Well what exactly does this engine provide? I (or anyone else) can't really give you design advice till I know what kind of base you're going to be building off.
Cool - the engine is limitless!

Why not create an MMORPG that models the whole world, with everyone in it, all with lifelike textures and AI that models the world entirely (that would be The Matrix then).

// End sarcasm mode

'The engine is pretty much limitless' is not a lot of help.
Quote:Original post by Anonymous Poster

'The engine is pretty much limitless' is not a lot of help.


Neither is sarcasm jackass. Log in next time so we can all make fun of you for being an asshole.

I say the engine is limitless becasuse it handles most of my work for me. The creation of the GUI (I just tell it what XML file to use and what art collection) the sounds (play sound HERE!) the graphics (its fully DX9 compatible and since they're going to be 2D sprite based, no REAL amount of work needs to be done there, just more or less telling it what to display and when.)

I guess what I really need is help taking all of the creative ideas, and turning them into somthing resembling object oriented design. I'm just looking for perhaps some personal experience, what things to look for in my docs. You know, general tips on how to make the creative side mean something on the development side of this mess.
Well,

i try to separate the engine from the game as much as possible

in my game class i have a few functions

frame_move
button_up
button_down
button_left
button_right

Draw()

The draw function is the only one that has any thing to do with the GFX engine.
The other functions just move around data in the game engine.

i find that this helps a lot with clearing everything up, and just incase i have to switch GFX engines i can with out __Too__ much work...

sorry if this is not what you are looking for and i wasted your time.
====Funvill[Home|Tiny xml|Boost|Wiki|STL]====================
I'm not sure if I've been terribly clear here. The engine is a separate entity. It does all the drawing to screen and handles all events. What I'm looking for is some help taking a creative document (more or less a jumble of ideas) and making some sort of object oriented design from it. What to look for in the document that would help me design the framework for the game. Right now I'm going through and making a list of all the variables possible in the game and deciding how they interact with other classes/functions. I'm not sure if this is the right approach. Next I plan on going through and makeing a lit of every action Ican perform in the game and hope I can match up some of the variables to them. I'm starting at ground zero here, besides the engine.

Quote:Original post by funvill
sorry if this is not what you are looking for and i wasted your time.


Dont worry. I'll get to that when the time comes.
what i generally do (and i think some others use this) in your jumble of ideas look at the "nouns" you have written down. ie, say you have ... (and since you said tycoon game i am thinking of transport tycoon) you have a railroad, make a railroad station class, a bus station class, and ok now i have to make trains and busses, well they are both vehicles so make a vehicle class and derived all your vehicles from it. thats the basic approach i do when thinking about OOP.
You need at least the following:

- a way of describing data on disk
- ideally, the same for all kinds of data (say, XML)
- a way of storing, querying, and updating data at runtime
- a way of describing instantiation of entities ("level")
- a way of describing events
- a way of funneling events to entities (messaging)
- a way of scripting what happens when an entity receives an event
- a way of scripting when entities send events
- a way of tieing controls to events that control the player entity
- a bunch of entity implementations

When I say "entity" I mean anything that's actively a part of your
game simulation; not just the player and baddies you shoot at. For
example, something which collects events from a bunch of different
inputs, and declares "level complete" is an entity.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement