Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

When it comes to programming games from the old school sega games like sonic to indie games or angry birds or even to more advance games like Diablo, how exactly is level design done? As in, are the levels sometimes designed straight out of code in an IDE? Or do they create a visual level design editor where things can be placed at the click of a mouse button? I'm imagining old school games or very simple ones like indies are done via code, where extremely complicated ones require a visual editor. Is this correct?

Also, when it comes to libraries like SDL or XNA, how often are these used rather than just utilizing OpenGL or DirectX? What about creating your own game engine vs utilizing one already made? Do most use already built engines? This question is directed toward the whole gaming spectrum of indie/big game development.


share|improve this question

closed as off topic by Oded, gnat, Jarrod Roberson, ChrisF Jul 2 '12 at 7:46

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

Why do I see 3 close votes? @russ - If this question gets closed, just ping me in chat, and I'll vote to reopen. –  Jim G. Jul 2 '12 at 0:28
better suited on gamedev.stackexchange.com ? –  Songo Jul 2 '12 at 7:19

2 Answers 2

Well it all depends on the complexity of the project and its extensibility. It is almost ALWAYS NOT WORTH hardcoding information in your game project, as it lowers maintainability, it makes scripting and "live debugging" difficult (or practically impossible, as you have to compile the whole project).

When you have a team of artists, you can't (or better, shouldn't) make them to use technical knowledge to test new iterations of their assets or wait for you to integrate them and test the new environment. That's why you either create custom tools, or even better use standard ones (take for example Tiled).

Just take a look at the utilities/facilities provided by game engines like UDK, Source etc. Don't even go that far, just check GtkRadiant. Even old games like Doom featured level editors. At the very least, they provide a practical visualization of all this information.

Nowadays, you can integrate all these different parts (code, asset management, asset preview, level design) into one environment. Just check the workflow of Unity3D. ;)

share|improve this answer

Yes. Most modern game engines come with sophisticated tools for creation, design and scripting of the game content itself. I also heard few times, that game engines are bought not for the engine itself, but tools that come along with this engine.

XNA and SDL are only good for simple games. And XNA severely limits your access to HW and only option is managed language, that is not optimal for game development.

Game engines are quite complex pieces of software. It needs to be both able to render lots of different effects but also be performant. Creating one takes lots of time, effort a knowledge. For beginning game developer studio, it would probably be cheaper to buy existing one. Only older and wealthy game studios can afford creating their own from scratch.

share|improve this answer
XNA and SDL are good enough for game development until the point where you as a developer understand their limitations. Face it, your first game isn't going to be Diablo IV. –  MSalters Jul 1 '12 at 22:00
I somewhat disagree that writing your own engine is only for the wealthy. I think anyone can do it provided they have the knowledge.. but that's probably the top 5%. To phrase it like you do, if you don't know what needs to go into an engine, then you probably shouldn't be writing your own. –  David Cowden Jul 1 '12 at 22:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.