Hi, I am relatively new to game development.
I am currently developing my own game (or at least, in the process of it) but it's slow going because I do not have sufficient programming knowledge. I intend on running my game on PC. I am able to handle the animation and drawing aspects on my own, and have already produced ingame art (as such, this topic does not concern that aspect at all), but having only started learning C++ last year I find it extremely slow sailing. My biggest problem right now is acquiring a working game engine. I understand the basic game loop, but I've found I've had to refer repeatedly to many previous examples and spend hours in order to construct one entirely from scratch. Furthermore, the end result turns out looking extremely newbish, buggy and hardly anywhere near what I want to do.
I was wondering about pre-built game engines; I was thinking of using what they offer for the basics, and then building upon those aspects and then adding on to it extensively to tailor to my game. Also, I'd be able to see first-hand examples of how a real, practical game loop looks and learn from it.
How many are there available? What degree of freedom that they allow? How many 'good' ones are there available (preferably C++)? Do game engines manage sprite and sound libraries? If you know of any 'good' engines, what are some reasons that you would consider those 'good'?
I am constructing a 2d side-scrolling game but hope to incorporate my own gameplay elements and customize the GUI on my own, so which game engines would allow me to add these functions? Are there any open source 2d game pre-built game engines?
How does open-source apply to game engines? If I use an engine, do I lose some of my rights to my game? What are the legal effects (ownership, rights, etc) of using a game engine?
I am not sure which forum I should put this topic in as I am uncertain about the technical and business aspects of using a pre-built game engine and am worried that doing so may constrict my ability to expand upon my game in the future, or cause me to lose ownership over my game. When would a pre-built game engine be considered favourable over coding one from scratch? When would the reverse be true?
Sorry if there was a lot in this post, but I have a lot of questions with regards to this matter. :\
Pre-built Game Engines
1 reply to this topic
GDNet+ - Reputation: 1731
Posted 17 September 2012 - 12:50 AM
I'll try my best to explain this in short. We could go great lengths on each of those questions depending on what we want to talk about. It's not just the programming, it's the whole process.
- How many are there available?
- What degree of freedom that they allow?
- How many 'good' ones are there available (preferably C++)?
- Do game engines manage sprite and sound libraries?
- If you know of any 'good' engines, what are some reasons that you would consider those 'good'?
- which game engines would allow me to [customize GUI]?
- Are there any open source 2d game pre-built game engines?
- How does open-source apply to game engines?
- If I use an engine, do I lose some of my rights to my game?
- What are the legal effects (ownership, rights, etc) of using a game engine?
- When would a pre-built game engine be considered favourable over coding one from scratch? When would the reverse be true?
- Probably more than I would count. Consider WP:EN list. There's also DevMaster.net, its DB has been there for a while.
- Some are flexible enough they allow basically to rebuild the whole game, you probably heard about mods, or sometimes total conversions. Many hi-quality engines don't have a game "hardwired" into them, albeit they feature the basic blocks required by their audiences. By contrast, most engines out there feature very little flexibility (if any), being the result of aspiring game programmers.
- Very few. Probably a dozen in my opinion. Source language is their choice, not yours. If you need to care, the engine is clearly not adeguate to your needs.
- Ill-formed question. They do manage sound for you. And sprites. Whatever it's by an external library or built in, you don't need to care.
- Most of the industry appears to thing Unreal Engine is best (for AAA) titles. I have little experience with it, but having followed its deployment since the beginning, I'd say it proved to be extremely flexible. I'm actually quite impressed by Unity, which appears to be improving at a steady rate. I have played a bit with it and I liked it very much, everything appears to have a reason to be there.
- Most hi-quality "engines" allow some GUI design. Whatever it's enough for you, that's another business but in my experience, if the GUI is too complicated... perhaps you should tone it down!
- Very likely. I'm sorry I don't know much about that.
- AFAIK most hi-quality commercial engines are closed source. Open source engine are not so impressive in my opinion. There are a few around but I wouldn't recommend them.
- It's very likely. It depends on their usage agreement/license. For open source engines, you'll have to jump through hoops if you want to keep the code secret (but maybe they change their license every once in a while). Closed source typically comes with an initial fee, or a royalty, or perhaps you can get it for free but you cannot actually sell... it could be everything.
- In general you agree with a contract - their license - and you are expected to comply. Nothing new.
- General consensus is that you should build engines only as a learning experience. If shipping something is the goal, starting from an already existing engine is just the way to go as it saves so much time (especially for complex project) it essentially does not make much sense not doing so... at the same time games using in-house engines are still there so take this with some salt.