In Defence of Writing Your Own Engine

Here’s to the crazy ones, the misfits, the trouble makers, the engine-eers! - dazza

After reading this excellent blog from ZeroEqualsFalse I thought I’d counter with a defence for writing and deploying your own engine.

I’ve been writing “engines” for 20 years both professionally and for fun. I …


Bullet Physics: Query objects within a volume

I need to preform a query of the game world to find all Game Objects within a volume. Preferably a sphere but any convex shape would be good. I struggled with this for a few hours before realising it’s actually pretty easy. Bullet Physics is amazing but sometimes simple …


LuaJIT bit.band stopped working

Came across an interesting feature/artifact of using LuaJIT today.

In Smith and Winston we use the bit package that LuaJIT provides to flag and mask collisions. The types of collision (for example world, bullet, vehicle) were hard coded on both the engine and Lua side. Today I moved toward …


Grabbing keyboard input in Qt

I’m currently writing an editor for our next game. We’ve used many tool in the past (Blender, Tiled & Mappy) to make games but we thought it was really time to invest in our own code base. This was heavily influenced by the great experience we had using Unity3D …


Why I Chose Not To Use Unity3D

I evaluated Unity3D for a few months before deciding NOT to use it. It’s a really, really great tool and it was a tough decision. Ultimately I felt like there was more resitance to steady progress using Unity3D over extending/upgrading my own code. Here is a rough guide …


Integrating Lua and my C++ Game Engine

If you want to cut to the chase you can download the code here.

This isn’t a very well written blog post, it’s more of a dump of my thoughts as I tested out LuaBridge and didn’t get to trying out OOLua.

Once again I am starting …


Moving from qmake to CMake

After working with Qt5.x for a few months and really starting to enjoy the flexibility of qmake and QtCreator I decided to try using CMake to build XCode and MSVC proejcts.

After turning on C++11 a few weeks ago I found that QtCreator debugging became more difficult as …


GLSL: Getting active uniforms

When you load a vertex and fragment shader in OpenGL you need to pass in data such as the current viewport transform, camera transform and lighting data. You do this via Uniform variables.

Each of these Uniforms is addressed via a location which in true OpenGL style is a GLuint …


QMAKE_BUNDLE_DATA doesn’t bundle frameworks

I’ve been playing with building an App using qmake as the build system. I started with a simple QT App built using the wizard in QTCreator and tweaking it.

I ran in to the problem that I needed to copy the SFML frameworks in to the App Bundle. The …


iPhone App Version Information In XCode

When you create an iOS Application in XCode by default the version of the application is stored in-Info.plist. It would be really handy to get this in to code for compile time checks and #defines.

PList files are actually XML files which makes them easy to read in a …