This post is mostly meant for Game development studios in Iran.

There are lot’s of debates over whether young Game development companies make their own game engine or use third-party engines (like UDK, Unity, Torque, etc.)

Third Parties, The Good, The Bad

There are some good sides and bad sides choosing each approach, using thirdparty engines surely have benefits of lower costs, less research and R&D, and much less coding and testing. They will produce noticeable results in much less time, actually you can make a playable demo in the early development time.

But, there are some ugly drawbacks using these thirdparty technologies, especially the one’s that are not widely used commercially :

  • You can not be as Creative as you want, technologically or gameplay wise: Many indie engines do not support specific technology or core features that will cripple game design in the middle of development. many game development studios sacrifice their game features/design in order to fit them into the capabilities of the engine, and that’s mostly what makes a game unoriginal and generic with no innovative game mechanics.
  • You don’t have the Source Code, so watch out for bugs: Many third party engines do not come with full source code, so if there is a need for some feature, or worse, a bug in engine, you can’t fix it, and this will be catastrophic for development, and even may cause the whole project to fail. Actually many game development houses in Iran was forced to trim down their base game design or even change the whole genre in the middle of the development due to this fact.
  • Your development is always dependent on and ruled by the thirdparty engine: most of Game development houses in Iran, start with a buggy, cheap engine (no source, limited support,…) and because they become bound to the engine due to the tools and development pipeline, they are forced to continue their successor games with the same crappy technology, which will cause a series of bad games.

In-House Engines, The Good , The Bad

Developing an In-house engine, simply costs a lot more, needs experienced programmers, lot’s of R&D time, and lot’s of coding/debugging. and there is a high risk of failing, due to the fact that in Iran, programmers are more inexperienced having less knowledge than their international counterparts.

But there are some great goods, of course¬† if an studio could manage to create it’s own in-house engine:

  • You can be as much as creative as you can: Programmers can modify features and pipeline easily to match the designers and artists needs in order to be creative in design, you are bound by your own level of creativity and experience not the third party stuff!
  • More Extensible: As hardware and software progress through years, your company needs to adapt itself to those technologies as fast as possible to make (or to be able to make) the best possible use of hardware platform and OS, which is not true at least with cheap engines at all. In-house engines and also be ported to other platforms if such thing is needed.
  • Easier Debugging: Debugging is much easier comparing to third-party open source engines (closed source engines can not even be debugged)
  • Good Start for future projects: developing an engine, increases the knowledge of the programmers in the studio, that leads to more creative and skillful people that can bring more exciting ideas to the future projects

UDK Fever

Another example is, nowadays, Many developers in Iran are going towards developing with UDK (Unreal Development Kit), and sadly they are so confident about it that they think they can build any game with it that compares to Commercial AAA games, because it’s “Unreal Engine”, from Assassin’s Creed and Call of Duty series of games to Puzzle and Adventure games! This is not true, actually UDK is not the “Unreal Engine”, There is no source code and proper developer support,¬† it’s just an Editor for making Unreal Mods and make standalone executables from them, even with it’s kick-ass graphics and features achieved by some mouse clicks, companies can not and won’t be able to create a competitive AAA title. Not even in distant future. it is meant for hobbyist and students to learn the engine and make mods in order to spread the popularity of the UDK among artists and game designers.

For example, the Game “bioshock” was one of the best games of 2007 which utilizes Unreal engine as it’s base, but if you look more deeply into what efforts they have done to tweak and modify it alot for the game, you’ll see that it uses Unreal Engine 2.5 (not even for this generation of hardware) as for their base, and merely developed their own engine on top of it. like integrating Havok physics, Multi-threading, advanced shaders, shadows, lighting etc. (http://en.wikipedia.org/wiki/Bioshock#Game_engine)

Another example is “Mirror’s Edge” which is a great game by DICE, and it is based on Unreal Engine 3.0, but integrated a new BEAST lighting system, and replaced the whole Unreal Lighting pipeline to suit their graphical needs and visual style, these are just some examples of what you can NOT do with the UDK.

Note that all companies who use Unreal, actually license the engine with it’s full source code and Epic’s technical support (NOT UDK). and have their own programmers to work on different gameplay/graphics features that are needed to be added.

What Commercial Studios do ?

We have gathered a list of released commercial game titles within 2007-2010 that were critically acclaimed by reviewers, they are all top games with an average score of more than 80 (out of 100), the titles and their scores are collected from the well known site metacritic.

We just listed the Engines they have in their games and found that over 75% of AAA titles use engines developed In-House by their studios, 25% of them used thirdparty engines (most of them were Unreal Engine, the licensed one).

Here is the excel file containing the list of evaluated games in case you are interested.

In Conclusion

We Personally think that any Game development studio, especially in Iran, should have strong reasons for using Third-Party engines, it is acceptable to use cheap third party engines for Indie and low-cost games, but for Commercial games that must compete with latest western AAA titles, in common genres like First Person Shooters, Third Person Action, Open World, Role Playing, etc. there will absolutely be no future in using cheap third parties.

There is also a PowerPoint presentation file, we presented in a private meeting between Iranian game developers, held by National Iranian Foundation of Games, which discusses the above issue in more detail.

Engines, yes or no (Persian)

2 comments so far

Add Your Comment
  1. “Take the red pill and start your in-house engine development, or take the blue pill and stick to the 3rdParty engines. ”
    The greatest thing that I have ever heard about game programming.

    “…, we presented in a private meeting between Iranian game developers, …”
    why in private meeting? I was glad if I could participate in meeting.

    thank you for ppt and xls :)

  2. Thank you guys. Great topic . hope you continue it.
    But i think it takes time to Iranian developers to accept this kind of development.
    Dear Sajad, it has be presented in IRCG.