A pre-alpha screenshot of my swarm in the game.

Sometimes, you just have to go with it…


A few weeks ago, I was chatting to Spencer (the designer of the MindHunters game I’m working on) about the cocos2d-x¬†framework and how I would like to port Lumi over to the framework to allow Android users to be able to experience the game. The beauty of the framework is that it is an almost direct port to C++ from the original cocos2d-iphone framework which Lumi was built on, and since all of the game logic had been written in C++, all I needed to do was rewrite the Presentation Layer code to sit on top of cocos2d-x.


The Deck Builder UI

MindHunters – Deck building


Today I’m going to tell you about the Deck Building feature in MindHunters.

As with any trading card game, the meta-game of deck building is vital, and is a direct reflection of a player’s intended strategy. It is likely that most players will spend a fair amount of time building one or more decks, and it is important that the interface is slick, pleasant, intuitive and most importantly, functional.


Go go SFML!!

Picking a library…


Progress is being made on MindHunters (the Trading Card Game I’m working on). In fact, progress has been really good.

Effects are working on the server, and the game is much more playable (and enjoyable) via the testbed client. Its time to move onto developing the actual game client. This is where I am, and where I’ve been since last week Friday. Well, actually, last Friday I was wondering which framework I should use (if any) for developing the client. My choices were:

  • SDL
  • SFML
  • Cinder
  • Qt
  • Write my own OpenGL framework (not really an option)


C++ Class: Templated Windows Hook


[I had posted this prior to my site being wiped. This is just a repost since people have mailed me wanting the code back]

I have a pet project where I needed to do some mouse hooking in Windows. To save myself the trouble of worrying about using the Win32 Hook API directly, I wrapped it up in a neat little templated wrapper.

Snippet: Endian swap template


Template to swap endian-ness of a primitive datatype:

template <typename T>
T swapEndianness(const T& t)
  unsigned char byteCount = sizeof(T);
  T byteMask = 0xFF;
  T newVal = 0;

  for ( unsigned char i = 0; i < byteCount; i++ )
    T mask = (byteMask << (i*8));
    T val = ((t&mask)>>i*8);
    unsigned char offset = (byteCount-i-1)*8;
    T destMask = byteMask << offset;

    newVal |= ((( val ) << offset) & destMask);

  return newVal;

// sample usage:
long long llVal = 0x12345600ABCDEF;
long long llVal2 = swapEndianness<long long>(llVal);

Go to Top