Sign in to follow this  
benutne

Game framework design

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Quote:
Original post by hplus0603
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.


thats a very usefull checklist, I never thought this way before. Well im thinking that there are tons of other "a way of.." decisions to make.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this