Entries by dazza

Why I Chose Not To Use Unity3D

( EN ) 16 apr 2014

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 to why I decided not to use it.

Grabbing keyboard input in Qt

( EN ) 21 mar 2014

I'm currnetly 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 to prototype our next game.

Integrating Lua and my C++ Game Engine

( EN ) 09 mar 2014

Once again I am starting to integrate Lua in to the next generation of my engine. It's never a completely smooth process. Exactly where to draw the line between C++ and Lua logic is never immedietly clear.

Moving from qmake to CMake

( EN ) 22 jan 2014

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.

QMAKE_BUNDLE_DATA doesn't bundle frameworks

( EN ) 16 dec 2013

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.

Building a MAME Cabinet - Part 2

( EN ) 23 aug 2013

If you've read part one then you'll know that by now I must be regretting starting this project. Well I am a little bit but it's also still fun. It's taking more time than I hoped but hey who cares....

Building a MAME cabinet

( EN ) 28 jul 2013

I've started the long process of building a MAME cabinet for my home. Obviously I've been playing emulated games for YEARS and I thought it was about time I had a place that all those ROMs could call home....

Python Script to build a Texture Page or Sprite Sheet

( EN ) 12 apr 2013

Python script to pack a set of textures in to one larger texture to optimise rendering in game engines or for making sprite sheets for websites.

HP ProLiant MicroServer: thoughts

( EN ) 03 mar 2013

My brief notes on switching to HP ProLiant MicroServers for my home/office servers. It includes pictures.... yes that's right pictures of servers!

Mac OSX: starting postgres on boot

( EN ) 28 feb 2013

Every bloody operating system has it's own unique way of starting things at boot time. Today I bothered to learn how OS X does it. Here's how I got PostgreSQL to start when my machine is turned on.

Graphing Electricity Usage with Current Cost and Munin

( EN ) 26 feb 2013

Many years ago I bought a Current Cost meter. Infact it was so long ago now that they have called my version The Classic. I wanted to see how much electrical energy all my servers, home computers and gadgets were using.

Am I In The Main Thread?

( EN ) 12 nov 2012

When coding with multiple threads it can get pretty tricky using system resources. Many can only be used in the main thread. The main thread is the thread that the OS creates to run your code and your first look at it is the main() entry point.

Many UI systems/compontents like Cocoa and QT can only be safely accessed when the code is running in the main thread. In general you should construct your code so that it's clear what is running in the main thread so the code should never need to ask. The simplest was to do this is to use a Thread Pool pattern but it's not always possible to write generic code that can be called from all threads....

XCode: 'std::' link errors

( EN ) 27 oct 2012

This is more of a reminder to myself about confusing linker errors that can appear in XCode when you are working on large projects with many dependencies.

Everything compiles just fine but when it comes to linking you get errors like this....

Using Python and Tkinter to capture script output

( EN ) 26 oct 2012

In order to build the assets for my games I have a series of python scripts that know how to take files TexturePackerTiled, and Blender and build them for use within the engine. My main platform is OS X and it has good terminal support and more importantly I am comfortable working with the terminal. The  artist I work with is not so comfortable and he works on Windows where cmd.exe is painfully outdated and basically useless.

To counter this I wrote a small Python Tkinter script do display a window, text area, some checkboxes and a build button to make it a bit easier for him to work. Crucially it makes it easier to notice build errors and send me bug reports.

Generating Anagrams in Lua

( EN ) 22 oct 2012

I'm working on a game where I need to generate anagrams of words. My new game engine, which is Max Astro's engine but with a few tweeks, integrates Lua and all the game logic is in Lua.

Starter Blender Exporter

( EN ) 26 jul 2012

I've settled on using Blender 2.6  both as a level editor and modeller for my next game (code name BBM). BBM is a 2D game but modelling the characters and rendering the sprites will save a lot of time. Blender isn't the best level editor but it's pretty close and suits my needs...

Max Astro Released

( EN ) 14 jun 2012

MiniTune 1.8.6 Released

( EN ) 02 mar 2012

Logical Bit Operators in Lua When Using Floats

( EN ) 27 feb 2012

I'm making some changes to the codebase that drives Max Astro before making my next game. The biggest change is that the engine is going to be controlled by Lua. Lua will run the main logic loop and lua will be the configuration language.

Migrating from Wordpress to Django CMS

( EN ) 18 feb 2012

Previously the Execution Unit website used Wordpress. I was quite happy with Wordpress and I still think it's a great blogging platform. My problem with it is that I wanted more than a blogging platform, I wanted a platform I could easily extend. I"m thinking of offering a free version of MiniTune with a time limited trial so I needed a platform that could deal with generating temporary keys and...

MiniTune 1.8.5 Released

( EN ) 18 jan 2012

A new free update to MiniTune has just been released to the App Store today. This is a minor release with a few small bug fixes but I've also added a neat feature that was requested in the comments in the Mac App Store....

MiniTune 1.8 Released

( EN ) 11 dec 2011

MiniTune 1.8 has been released on the Mac App App Store. 1.8 includes a few small updates to fix Growl 1.3.x support and a new theme that looks like a photograph...

dyld: Symbol not found: _OBJC_CLASS_$_NSAttributedString

( EN ) 06 dec 2011

Updating Xcode seemed to screw up my project (again). Firstly it set the deployment target for Max Astro to iOS 5.0 and I suspect it changed the linker settings for the project as well. At first I didn't notice, after all who runs an iOS 3.1.3 device...

Trailer for Max Astro

( EN ) 01 dec 2011

Xcode Swig Build Rule

( EN ) 28 nov 2011

JBTech17 video review of MiniTune

( EN ) 07 sep 2011

JBTech17 has kindly reviewed MiniTune 1.6 in a video review on his youtube channel. The video goes over all the main features of MiniTune.

MiniTune 1.6 Released

( EN ) 01 sep 2011

MiniTune 1.6 should have reached the Mac App Store in your territory by now. Apple approved the build yesterday evening.

Most of the ground work for 1.6 was actually done in 1.5. I added skinning in the 1.5 release but there was only one skin. For 1.6 I've added a Vinyl LP skin...

MiniTune 1.5 Released

( EN ) 09 aug 2011

MiniTune 1.5 should be appearing on the App Store in the next 24 hours. If you're using Lion then this should fix all issues.... if you're still using Snow Leopard then nothing should be broken...

MiniTune Lion Issues

( EN ) 03 aug 2011

Despite testing MiniTune on Lion developer previews there are a few really annoying bugs that I've discovered since I've upgraded my main dev machine to Lion....

MiniTune 1.02 released

( EN ) 25 may 2011

Yesterday MiniTune 1.02 was released to the Apple App Store....

XCode: Archive validation fails

( EN ) 13 may 2011

If you ever see a message from archive validation that states

Path x in Bom is missing from payload

then you might be about to enter a world of pain that I've just exited from.

defaultInputDeviceWithMediaType: QTMediaTypeVideo is always nil!

( EN ) 17 apr 2011

I've been playing around with the QTKit in Cocoa. I looked at the sample code and bar the usual Quicktime weirdness and some threading nuances it all seemed pretty simple. The sample code ran just fine and thanks to the macam drivers I could use my PSX3 Eye with my Mac....

Cocoa: All Apps That Are Browsers

( EN ) 02 apr 2011

For a little side project (that I abandoned) I needed to find all installed web browsers in OS X. After a little poking about in the API docs I can up with this....

Mantis Bug Tracker Icon For Fluid

( EN ) 30 mar 2011

I've used MantisBT for many years both commercially and personally. It really is a good all round bug/task tracker that you can present to normal users and they WILL be able to submit bugs to you without being frightened away (I'm looking at you Bugzilla!).

I don't use Mantis in my no...

XCode 4: Duplicating a target to make an iPad build link error

( EN ) 25 mar 2011

ve been working on an iOS game for a four months now and it's time to create a new target for iPad. The XCode documentation says to select your target, right click and select Duplicate and the Click Duplicate and Transition to iPad. Once this is done there is a shiny new Scheme to build, test and deploy for iPad complete with a new MainWindow.xib....

MiniTune: Releaed!

( EN ) 18 mar 2011

After many late nights I am very proud to shout out that MiniTune has been released and is available NOW at the app store...

iPhone App Version Information In XCode

( EN ) 17 jan 2011

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

Metalify - A Spotify Clone

( EN ) 05 sep 2010

Apple TnC Changes and Lua

( EN ) 11 aug 2010

With the beta release of iPhone OS 4.0 Apple has changed the terms and conditions for developers who want to target the iPhone platform (note that includes the iPod Touch and iPad)....

NvStrip and Blender – Stripifying Models for the iPhone/iPad.

( EN ) 14 jun 2010

What Is Stripification?

Stripification is the process of turning lists of triangles in an arbitrary order into as many lists of triangles that contain adjacent edges. There is a great explanation of a triangle strip of wikipedia.

A Pythonic "Center New" in Blender

( EN ) 28 apr 2010

Part of my Art pipeline for Tentacles is to import a directory of 3DS files. Each of these files is a map piece and the map pieces are instanced to create a map. That way I can store the geometry for a shack once but instance it across the level many times with a unique transform (scale, translation and rotation)...

Implementing glAlphaFunc in OpenGL ES2.0

( EN ) 12 apr 2010

In OpenGL ES 2.0 glAlphaFunc isn't available, you have to implement it in a fragment shader. There isn't a lot of reference out there for this (not that I could find anyway) so I thought I'd write this up.

New Website Platform

( EN ) 11 apr 2010

When I started developing this site I knew I wanted to use a static website. I've used Wordpress and I'm fed up with checking for updates and plugin incompatibilities. Combine that with the server with this site doesn't have MySQL on it but PostgreSQL and it all seemed like to much hassle.

A static website on the other hand seemed blissful. Simply type in my sage like words, export and fear not for nothing could go wrong. No hacking, no plugin problems, no slashdot effect, nirvana...

Integrating Bullet Physics

( EN ) 20 mar 2010

Bullet is an open source collision and physics simulation library written by Erwin Coumans who I believe worked or maybe still does work at SCEA (Sony Computer Entertainment America). Bullet provides a C++ API to a very robust Collision, Rigid Body and Soft body...

Starting Out On The IPad

( EN ) 09 mar 2010

Why the iPad?

When the iPad was announced I decided it was time to take the plunge and develop a game for it. Although the iPhone is a powerful piece of hardware I just find the screen too limiting. Every game leaves you wishing you had transparent fingers. The iPad seems luxurious with it’s 1024x768 A4 sized screen...

Python Style Plugins Made Easy

( EN ) 28 jan 2008

Sometimes you need to write code that loads python at runtime. Plugin architectures are a good example of this. Plugins allow extensibility but more importantly (for me at least) they enforce a strict API. Anyway, I've written this code a few times so I thought I'd modularize it.

PostgreSQL, SQLAlchemy, Dropping All Tables and Sequences

( EN ) 23 nov 2007

I've been working in deployment scripts for my current project and sometimes I need to drop all the tables and sequences from the database.

FreeBSD Centralised Logging.

( EN ) 28 jan 2007

I wanted to log everything from my servers and router to a singer server to make it easier to keep up. Here are the steps I went through.

Subversion and Apple Filemerge Integrtaion

( EN ) 20 jan 2007

If you want visual diff's while developing on OSX using subversion then this page has a good description of how to set it up and some scripts to wrap Apple's FileMerge application to give to nice visual merges/diffs.

FreeBSD: Slurm… the IPTraf alike for FreeBSD

( EN ) 28 oct 2006

For many moons I have wanted an application like IPTraf for FreeBSD. Well through lack of trying and a certain amount of stupidity I couldn't find one. All good things come to those who wait... to stumble across things late at night.