Handmade Network»Forums
Mustafa Al-Attar
19 posts
Working in a software company since 2008 and still. Has been working on an rpg in C++ with OpenGL since 2015 and still.
Asking for advice about best approach to make maps or design levels in general...
Hello there...

I would like to ask experienced game developers how long does it take to design a map or a level and what am I doing wrong that would make it takes too long to design a map?

I have been working on a 2d tile based game using c++ and opengl. I did not use any engine so I had to create a map editor to make things easier. What I have noticed is that it takes me too long to build a 2D house or make a lake etc... - so it takes me forever to finish a single map.

any advice that could speed things up for me is very highly appreciated.

yours sincerely

mkaatr
Ryan Fleury
204 posts / 4 projects
Working at Epic Games Tools (RAD). Former Handmade Network lead. Maker of Hidden Grove.
Asking for advice about best approach to make maps or design levels in general...
I hate to plug my own content, but I actually implemented a few features in my tilemap editing system that would most definitely help you out like they helped me. The most notable features I'm referring to are automapping and the ability to place multiple tiles at once (by allowing selections greater than one tile in a dimension).

I show these features off and discuss the implementation in one of my videos which can be found here.
Mustafa Al-Attar
19 posts
Working in a software company since 2008 and still. Has been working on an rpg in C++ with OpenGL since 2015 and still.
Asking for advice about best approach to make maps or design levels in general...
Thanks for the video... and very nice work there BTW.

I kinda have something similar to auto tile that works at runtime and adds a layer to fix the corner and sides of grass tiles and make smooth transition. However the map editor I made is so horrible, and does not allow you to select multiple tiles. One feature that I added to the map editor is to randomly generate land and water bodies and spread grass tile over land and add transition tiles. I might do the same for houses.

I liked the way you implemented adding a platform where you design on a separate gui and then paste that to the map. I think I might do something like that. This would save me a ton of time.

thanks again for the ideas...




yours sincerely

mkaatr
Simon Anciaux
1337 posts
Asking for advice about best approach to make maps or design levels in general...
The way I did 2d maps in one of my projects (a platformer):
- start with a rough idea of what you want to make;
- draw it roughly on paper, it helps finding huge flaws early;
- do a rough map in the game, with only blocks, solid colors, no graphics (even if you already have the assets). If something need graphics to convey an important idea try to keep it as simple as possible;
- test and modify the map/level until you are confident that it works gameplay wise.
- try to get someone else to play the level to find out what doesn't work.
- do a first graphics pass. Don't add any details but make sure that things that are important in the gameplay are clear;
- verify that nothing has become unclear because of the graphics, iterate if necessary;
- try to get external feedback;
- do a detail pass.

It takes time to get a level to an enjoyable state. I find that taking some time off helps.

To speed somethings up you need to identify what is taking you a long time and find a way to speed it up. Is it the layout ? Is it placing the tiles ? Is it choosing the tiles ? Is it creating the textures ? Is it adding details ? Is it testing the level ? ...

And you can look at what other engines do.
Mustafa Al-Attar
19 posts
Working in a software company since 2008 and still. Has been working on an rpg in C++ with OpenGL since 2015 and still.
Asking for advice about best approach to make maps or design levels in general...
Dear Simon...

I will try to adapt what you stated. Right now that takes me a lot of time is placing tiles. Ryan gave me great idea to speed that up but I should first implement the feature.

Thanks again for your help ;)

yours sincerely

mkaatr