Game Engines

Started by
4 comments, last by Steve25 12 years, 1 month ago
Since so many professional game developers use some form of an engine now (either in house or licensed externally) it got me wonder just how much programming is needed when creating a new game. A lot of engines I believe use scripting languages instead and a lot of game functionality can be made within an engine GUI. Obviously pretty much every game programming book will show you the game loop, events, drawing graphics etc which is good but if you're using an engine for your game all of this is pretty much not needed is it not?
Advertisement

Since so many professional game developers use some form of an engine now (either in house or licensed externally) it got me wonder just how much programming is needed when creating a new game. A lot of engines I believe use scripting languages instead and a lot of game functionality can be made within an engine GUI. Obviously pretty much every game programming book will show you the game loop, events, drawing graphics etc which is good but if you're using an engine for your game all of this is pretty much not needed is it not?


It is never bad to get some deeper understanding of how game engines work, even if you only want to use scripting to create your game.
You also might want to use your programming skills to modify the game engine for your own needs to get the most out of it.

Look, let's say you want to create a 2D platform game. If you want you can just grab yourself some game maker and create it. But some people (including me) just like to re-invent the wheel and do it the hard way by using using some low level language instead. It's because programming is much more fun and it gives you a feeling of freedom, even while most gamemakers are capable of doing everything you might ever want in your platformer.
A 2D platformer is going to be 90% gameplay programming anyway if you're using XNA, SDL or SFML. I'm not really sure how much productivity there is to be gained from use of an engine for this particular genre.

Have a look at the source code of Secret Maryo Chronicles [https://github.com/FluXy/SMC]. I would suggest that if you "get it" then go ahead and just program the game yourself. If it throws you for a loop, either spend some time with the programming books and come back, or use Game Maker.

In this case I think using something like Unity only makes sense if you need some fancier things like 3D, physics, postprocess effects, a particle system etc.
The amount of programming required depends on what the game engine supports and what your requirements state your game needs.

If a game engine already does 100% of the behind-the-scenes stuff, all you'd have to program is the game infrastructure and gameplay logic. If the game engine does less, then you either have to add that functionality on top of the game engine (best), change your requirements (bad!!), or change the engine via a request (unlikely).

Some game companies will write their own engines and use it as a platform for launching multiple games. This is either to push the limits on tech, avoid licensing requirements / costs, create and support a mod community, sell their tech, or as a "Not-invented-here" syndrome. (Note: Hobbyists aren't companies, they do it for fun or to learn)
...it got me wonder just how much programming is needed when creating a new game. A lot of engines I believe use scripting languages instead and a lot of game functionality can be made within an engine GUI.
... if you're using an engine for your game all of [the general programming] is pretty much not needed is it not?
"Scripting languages" are still programming languages, so "writing scripts" is still "programming".
Yes, the majority of a commercial game's code is probably going to be written in a "scripting language", by programmers.

Whether you're using C++, or python, or C#, or Lua, or UnrealScript, (and no matter whether you're writing it in a general programming IDE or an engine's IDE) you're still programming just the same.
Apologies I should have rephrased my initial post. The question was intended from the point of view of a professional game project rather than hobby developers. Of course, being a programmer myself I completely agree that I would rather reinvent the wheel when creating a new game rather than using a tool to do 75% of the work for me as it's something that interests me.

Also I suppose costs have to be considered. If a hobby developer did decide to use an engine available some of them are for non commercial use only until a license is paid (which is usually quite expensive).

This topic is closed to new replies.

Advertisement