Game engines

I did some thinking the other day and today I decided to write about game engines as I am working on a game at work. I prefer game engines using a programming language that I’m familiar with. However, I have had to be wary of solutions that make game engine A written in programming language X work with my favorite programming language Y. In my experience, those wrappers are quite often awkward to use, and may still require proficiency in X. If you do have to learn a new programming language, I prefer the one that’s easier to learn, not the one that’s faster.

Because even if you use the potentially faster language, you will only be able to start leveraging that performance advantage after you have completed several projects. Potentially faster programming languages tend to make it a whole lot easier for new developers to waste a lot of performance while struggling to make things work in the first place. From experience, you should also prefer to use the language that’s native for the operating system or platform, because there’ll be a lot more help for it. For example when I started writing code for Android at work I decided that learning more advanced Java will be helpful in the long run as it is the platform’s native language.

Even though using either C or C++ would have been possible, and faster, and I had a lot of experience with both. Lastly, when given the choice between game engines where none of them uses a language you’re familiar with, you may want to go with the game engine using a scripting language. Prefer game engines which have good documentation for at least the major features. It takes you 5 minutes to click through the links and skim the docs to get an impression of what’s actually documented and how well it is documented.

As you all know, there’s also the type of documentation that was written to lure developers in. So make sure the documentation has depth, and not just wonderfully crafted beginner’s tutorials which only cover the basics. This is particularly important if the game engine has a free and a commercial version. The free version’s documentation may either be limited, or describe features only available in the commercial version, or tries to up sell the commercial version in other ways.

One sure way to know if a game engine is well documented is to figure out if there’s a book about the game engine available which is less than one year old. Hope this article helps some people with some things I was thinking about in relation to game dev.

Published by theirishduck

I love the ability where I can plan, prioritise, design, develop and deliver blended learning solutions for a variety of markets. I love to consult and advise about the best use of digital learning and improve design standards in line with evolving ways of working. I also enjoy to keep up to date with, understand and regularly recommend emerging technologies and practice to improve individuals, teams and organisational capabilities. With over 12 years digital learning experience and demonstrated experience in both instructional design and eLearning development, I have also a lot of experience conducting training needs analysis including how to leverage principles such as design thinking and root cause analysis to understand and address performance gaps. I also have led many facilitation workshops and even presented at iDesignX and Game Developers Conferences both here in Australia, Wales and in the United States. I bring loads of coding experience in Java, ASM, C++, HTML, JavaScript, SCORM and xAPI, as well as proven capability using Adobe Captivate, Trivantis Lectora and Articulate Storyline 360 Studio authoring programs. Of course, Adobe Creative Cloud is also part of my toolbox which I also use daily. Being taught traditional and advanced 3D animation techniques, I love hand drawing and polymer clay sculpture, but can also use the Blender, 3D Studio Max, Maya and Softimage applications. With strong multimedia, training and programming backgrounds, I understand modern learner behaviour including micro and social learning, I am very familiar with most LMSes and app-based (XCode and Android Studio), adult learning models and e-solutions. I also possess the ability to manage multiple projects simultaneously, whilst being pro-active in delivering work independently with minimal supervision, but enjoy working in teams. I've been told I am a resilient, relationship focused guy which can manage and navigate conflicting views and stakeholders/subject matter experts.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: