6 ms·
One thing I've always wondered about these game engines that are marketed towards Indie developers is that I don't tend to see many very successful games develo
by jiggy2011 14y ago
One thing I've always wondered about these game engines that are marketed towards Indie developers is that I don't tend to see many very successful games developed using them.
For example the list of Unity3d games here: http://unity3d.com/gallery/made-with-unity/game-list http://unity3d.com/gallery/made-with-unity/game-list
There's only a handful there that I've heard of.
Most of the Indie games that have been hugely successful (braid, super meat boy, minecraft etc) all seem to use a minimal but fairly custom engine rather than a monolithic solution.
I wonder if this is partly because these engines are usually designed to offer features that are as close to stuff available in AAA games as possible meaning that they are better for producing "me too" type games rather than something unique. Whenever you start using large amounts of someone elses code inside your product you are always going to take on some limitations in terms of what that code was designed to do and which edge cases were thought out in advance.
One example of this might be in Braid where you have the ability to rewind time. I'm assuming that the game does this by keeping a list of all the previous states of the scene graph in memory and having flags set on objects which do not rewind when everything else does. In this case it is important for the programmer to try and keep the memory footprint of the scene as small as possible so that a large number of states can be kept in a machine with low memory.
If you were trying to develop this using a monolithic engine that was built under the assumption that time flows forwards and old states can be thrown away it might be such a hassle to implement this that you either throw the idea out or curtail it to the point where it affects how good the game is.
Edit:
Further to this I often get the same dilemma when choosing things like web frameworks. A lot of these provide built in functionality for stuff like authentication and internationalisation. However I often find that the built in solutions to these things don't quite meet the requirements for what I'm trying to build. So the solution tends to be to not use the built in functionality and implement these things myself but then I run up against other parts of the built in functionality or third party plugins which assume that I'm using the "out of the box" solution.
This is where Java with it's Factories and Interfaces, or functional languages which allow me to pass implementation around can be very useful. On the other hand I'm not always sure it merits the extra complexity so I prefer to use loosely coupled libraries. If that means that I sometimes have to write boilerplate that converts between object types etc then so be it.
- stonemetal 14y agoI think it is more of a difference between experienced vs inexperienced. Unity hasn't been around as long as the devs behind braid, super meat boy, or minecraft have been making games. Most of your experienced indie devs will already know how to program, or already have a game engine they like to mod. So you are going to have to wait a few years for kids who picked Unity over OpenGL or Half Life mods to become experienced enough to make something great before you can really make that call.
- acgourley 14y agoI know for a fact Unity powers some of the largest mobile releases out there, so that list is probably incomplete. I've also seen it be the default choice for 3D mobile development at at least two more top studios I've been talking to.
- commandar 14y agoThat list is definitely incomplete. Kerbal Space Program is Unity-based and has been fairly successful, but appears nowhere on that page, for example.
- jiggy2011 14y agoI guess the key phrase there is "fairly successful". I'm struggling to think of a game that has been an outright hit that has been built on top of unity.
- commandar 14y agoDepends on how you define successful. Unity games tend to be built by smaller teams and therefore don't need to sell millions of copies to be a financial success like big studio games do.
- jiggy2011 14y agoI mean Indie games specifically. The most successful indie games I can think of (e.g minecraft / braid) didn't use any particular monolithic engine. What I'm wondering is whether this is simply a co-incidence or whether it's that the most successful Indie titles are ones that take big risks in terms of introducing wildly different gameplay and perhaps using a monolithic engine like Unity makes building such a game more difficult because the engine itself will be inherently opinionated. In other words, if you make a decision on which technology to use before you have a complete game design are you in fact reducing your risk/reward without necessarily realising it?