• Advertisement
Sign in to follow this  

programming game levels

This topic is 1770 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

hi guys ,

I am programming a 2-d game in c++ using opengl gfx . the game I am developing will contain a lot levels to be precise maps . can anyone advise me some nice way of creating them ? One thing I thought was to put all the levels information in one class (i.e. where to put walls or doors) then pass it to class where the evironment will be created  . or can we use Blender to create the maps ? I would love to hear your thoughts ....

 

thank you.

Share this post


Link to post
Share on other sites
Advertisement

Break up your game into multiple classes

 

Door Class

Wall Class

Environment Class

Game Class

 

The reason why this would work is because it is a good object oriented principle to know and it will save you a lot of headaches.

You can easily remove and add object of a particular class much more easily making your game more flexible.

 

This principle will also applied to any other game object of your game like graphical effects.

Edited by warnexus

Share this post


Link to post
Share on other sites

I don't know what type of 2D game you're creating, but for level design, I'd recommend creating a level editor, if you haven't already.  First you need a clear definition and a list of what your game's levels will contain, then create your tool to save level data defining where walls, doors, enemy respawn points, whatever, into a scripting file like .xml or a custom format.  Using your own level editor would make your life much easier.  This way, you can put the relevant data in the right places upon load time. smile.png

 

Shogun

Share this post


Link to post
Share on other sites

I don't know what type of 2D game you're creating, but for level design, I'd recommend creating a level editor, if you haven't already.  First you need a clear definition and a list of what your game's levels will contain, then create your tool to save level data defining where walls, doors, enemy respawn points, whatever, into a scripting file like .xml or a custom format.  Using your own level editor would make your life much easier.  This way, you can put the relevant data in the right places upon load time. smile.png
 
Shogun

agreed. also, potentially, for a 2D game, creating a level editor might be a learning experience or help give ideas for how to structure the game proper.

a few questions to try to answer in advance:
does it use tiles or polygons? what sorts of things can go on in the world? will it be side-view, top-down, or isometric? how will things like enemies spawn? ... Edited by cr88192

Share this post


Link to post
Share on other sites

I don't know what type of 2D game you're creating, but for level design, I'd recommend creating a level editor, if you haven't already.  First you need a clear definition and a list of what your game's levels will contain, then create your tool to save level data defining where walls, doors, enemy respawn points, whatever, into a scripting file like .xml or a custom format.  Using your own level editor would make your life much easier.  This way, you can put the relevant data in the right places upon load time. smile.png
 
Shogun

agreed. also, potentially, for a 2D game, creating a level editor might be a learning experience or help give ideas for how to structure the game proper.

 

Indeed.  Writing a level editor is great for having a sandbox to build your engine.  I wish I would have learned to do this BEFORE writing my game's engine to use in the actual game.  This way, your draw, sound and event handling code can be figured out before adding it to the game.  My primary game project suffers from much bad programming practice because I didn't apply this beforehand.

 

OP: If you do create a level editor, I recommend letting it share code from your game engine instead of writing totally separate code just for it.  

 

Shogun

Share this post


Link to post
Share on other sites

P: If you do create a level editor, I recommend letting it share code from your game engine instead of writing totally separate code just for it.

 

Agreed, shared code is a very good idea.

 

You can also sometimes even build the editor as part of the game (lots of shared code!), depending on the project. However it takes a bit of discipline / modularization to stop the editor code interfering / complicating the game code, which is the trade off against the ease of 'getting something working'.

 

In my current 2d project I just change a #define and rebuild and it builds as the editor - switches off the game logic, adds menus and functionality for moving objects around on maps / changing terrain, loading / saving maps etc.

 

This isn't always feasible though. 3d levels in particular are often made poly by poly, rather than by just moving pre-built assets around. This is a much more complex editing task - and for this kind of thing level builders are more likely to use 3rd party software, like 3d studio max, maya, brush-based world editors etc, perhaps with plugins / conventions for adding game specific stuff. They may also do things like import the 3d levels into another editor (for adding more gameplay elements, pre-processing etc) prior to use in the game.

 

But when it comes down to it, the level itself is data, rather than 'part of the program', so it's usually (99.9% of the time) best to load it from a separate file rather than try and hard code it into the program itself.

Share this post


Link to post
Share on other sites

thanks guys for your suggestion .. 

Break up your game into multiple classes

 

Door Class

Wall Class

Environment Class

Game Class

 

The reason why this would work is because it is a good object oriented principle to know and it will save you a lot of headaches.

You can easily remove and add object of a particular class much more easily making your game more flexible.

 

This principle will also applied to any other game object of your game like graphical effects.

 

I am creating this using OOP approach ... my main concern was how to create and handle multiple maps

 

 

I don't know what type of 2D game you're creating, but for level design, I'd recommend creating a level editor, if you haven't already.  First you need a clear definition and a list of what your game's levels will contain, then create your tool to save level data defining where walls, doors, enemy respawn points, whatever, into a scripting file like .xml or a custom format.  Using your own level editor would make your life much easier.  This way, you can put the relevant data in the right places upon load time. smile.png

 

Shogun

 

 

I don't know what type of 2D game you're creating, but for level design, I'd recommend creating a level editor, if you haven't already.  First you need a clear definition and a list of what your game's levels will contain, then create your tool to save level data defining where walls, doors, enemy respawn points, whatever, into a scripting file like .xml or a custom format.  Using your own level editor would make your life much easier.  This way, you can put the relevant data in the right places upon load time. smile.png
 
Shogun

agreed. also, potentially, for a 2D game, creating a level editor might be a learning experience or help give ideas for how to structure the game proper.

a few questions to try to answer in advance:
does it use tiles or polygons? what sorts of things can go on in the world? will it be side-view, top-down, or isometric? how will things like enemies spawn? ...

 

 

blueshogun96 , I really liked your idea of creating a level editor but could everything be done within 2 months .

well the game will contain 3d objects viewed from top and have orthographic projection  and the movement will be in 2d smile.png sorry , my mind gets mess up when I think whether i call it 3d or 2d game  . it  but yeah that's the type of game i am creating ryt know .

 

 

 

Edited by psiiiboy

Share this post


Link to post
Share on other sites

Well, if you're using "3D in 2D", a level editor wouldn't hurt either, but it's up to you.  I just like the idea of being able to fully design and layout my maps instead of hard coding things.  smile.png

 

You can go ahead and use blender if you are comfortable with it.  I recommend it and have been learning to use it myself.

 

Shogun

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement