And thus, Twoplus Games was born

About two years ago, I went to AMAZE, joined MakeGamesSA.
Nine months ago, I showed a prototype (my first substantial one) at a meetup for the first time, Battle Blocks Bear Chuck.
Five months ago, I showed Bear Chuck at rAge Expo.
A month ago, we presented Dead Run to MakeGamesSA.
Today, Dead Run is on its way to completion and release.

It’s been such an incredible journey, and there’s so much more to do, so much further to go:

Much of the wisdom in MakeGamesSA taught us that we needed to take Dead Run to the world under a brand – because no matter whether you make money or not from creating your game, the most valuable thing you can build your act of creation, is a brand. It’s the thing that builds the story and continuity around creations, and not individuals. It allows the games to flow from one to another, and not live or die by an individual.

And thus, Twoplus Games was born.

Twoplus Games site
@TwoplusGames on Twitter
TwoplusGames on Facebook

What does Twoplus mean? Besides the obvious link to my name (let’s just get the pun out of the way, it had to be done :P ), it means several important things to me.

Twoplus players

I’ve always loved the old days of gaming – do you remember Bomberman? Tetris Attack? Super Puzzle Fighter? Those games on your old SNES, where you spend hours perfecting that perfect move so you can beat your buddie/s one more time in those 5am marathon sessions? When you screamed and groaned when your perfect strategy was foiled by either dumb luck or superior play?

I loved the spirit of what I call couch versus gaming. Two people, or more, duking it out. I wanna make THAT. Modern examples like Towerfall and Samurai Gunn really captured the essence of that, and I wanna make experiences like those.

Twoplus ideas

Then I’ve always wondered about genres and mashups. Bear Chuck came from mashing Angry Bird style tossing of things with my favourite versus game genre, the arcade puzzler, as well as throwing platformers for good measure. Alchemically combining two or more ideas together? That’s also what Twoplus is about.

Twoplus spirit

There’s also a bit of a philosophical thing going here – I’ve never believed in being number one. I wanna be number two. Being number one often means playing dirty and doing “whatever it takes”, and the idea of it to me lacks “balance”. I’d much rather be pretty damn good and not have to be unnecessarily perfectionist, as diminishing returns guarantee that your time will be better spent on creating something else than to take that 99% that you’re working on to 100% with another 2 years of your life.


Come visit Twoplus Games on our (under construction) site, on Twitter and on Facebook :)


A toast – to gaming excellence! :)

An interview with me, to be sung *with feeling*

The good people at 925Rebellion (there’s a story behind that hard-to-remember name) did an interview with me, and how I got into making games :)

There’s a singalong, I challenge anyone to actually sing it with me :) Here’s the excerpt:

Gundams, Evangelions and Lars A in Tekken
Super Nintendo and my iPad and iPhone
Brown suits and brown shirts and brown pants and shoes
These are a few of my favorite things :)

Android Netrunner and BSG the boardgame
Cut-throat deception and lying for my own gain
Stabbing friends in the back and taking their loot
Only in games will I enjoy these dick things :)

Girls who read smartness and dress like fine lasses
Sushi and ramen and well-made tempuras
Making all kinds of stuff with art and code
These are just few of my favourite things :)

When the bugs bite
When the game’s bad
When the client moans

I simply remember my favorite things
And then I don’t feel so bad.

Full interview here:

Dead Run Beta release!

OK guys, unfortunately we were not able to get a beta iOS build out due to some performance and framerate or something issues (and time), but in the meantime, here’s a beta WEB build :) It’s hosted on a different location than the previous one so do take note:




1. All the spiffy pretty day/night cycle stuff
2. Zombie head juice
3. Misc communicative juice
4. The swing is WAY faster
5. The game’s harder with the inclusion of… Something. You’ll see. But not much yet ;)
6. Delays and things work properly now
7. Basic instructions!
8. You’ll notice… decorative elements :) They’ll be earned and have certain effects come the final game.
9. Various other things.
10. Player will use the bat unless there’s something to shoot, where it’ll attempt to use the gun.
11. Bat-spam removed.

Known issues:

1. Difficulty ramp is still to be tweaked, will get harder, at the same time give the shotgun a better reason to exist, hopefully. I’d talk about it but it feels like it’s better tested than talked about.
2. Pause causes crash in one scenario. Don’t find it ;)
3. Achievements still need to be added.
4. Sharing to be implemented (only works from iOS)
We’re almost there! Last mile is always the hardest, really… Thanks for all your input!

Enjoy the beta! :D


One last thing:

As we’re nearing the finish line (last 90% of time spent on the 10% of the stuff), we want to ask you guys’ honest opinion on monetisation. Should this be a $0.99 paid app or a free with ads?

The original plan was to make something quick and toss it out as free with ads as an experiment. But with research and reading I find that there are two points of views to this all:

1. These days free apps fall into two categories – crazy IAP things or throwaway Flappy clones. That means the perception of free apps fall under those two categories too. The original intent with free with ads was never to “mint it”, but more to try and reach a big audience and gauge response. But if the impression of free apps are poor, then even before it gets into people’s handsets it’s already gonna be labelled as being an unworthy game. Thoughts on this?

2. If going as a paid app, we’ll drop the ads naturally, but the barrier to entry is higher. Even though a dollar is not a lot at all, we’re now competing against other dollar games like Cut the Rope, PVZ (even if IAP infested), Bad Piggies, etc, which obviously out-trump us. Obviously the app store doesn’t work like that, with only the top games getting all the attention, but is it worth trying to play in that arena with such a delicately small offering? I do think that going paid ups the perceived value of the game and may get it more attention than if it were free.

Overall, rather than a money-making exercise, this is more about learning how the market works, an experiment with real results, however it goes. We’d rather maximise it one way or another (exposure mostly), so it would be great if you could help us with valuable insights!


Polishing the crap out of Dead Run

In the last week, we’ve been polishing the crap out of Dead Run, with a long list of stuff to be implemented, including lots of juice, adding more challenges, tweaking gameplay balance, and longevity in terms of achievements and such. The build is currently not table enough for a beta release, but it’s getting there – but in the meantime, here’s a glimpse of what we’ve been putting in!

Play the game online right now! -> Click here to play Dead Run

Dead Run, a game we made in two weeks, inspired by the spirit of Flappy

Play the game online right now! -> Click here to play Dead Run

It’s not a Flappy Clone

One day, myself and Loet was working on Rocketto, and we got pretty tired. It was taking so long. So we started talking all sorts of rubbish, which naturally included Flappy Bird. (just kidding, we actually like Flappy quite a bit as a well-polished focussed piece of entertainment with some good hooks)

So, inspired by the Flappy Bird story, we decided to take a break from our usual project and spend two weeks to create something with minimal scope, hyper-focussed, with enough time to polish the crap out of it, with the goal of releasing.

An alpha build in 2 weeks: Dead Run.

  • The game is an endless runner, with a single input: attack.
  • You’ll come across zombies. Kill them or you get munched.
  • You’ll also come across other survivors. Kill them and you lose, don’t kill them to rescue them, and they’ll join your party.
  • How many survivors can you save?

The razor-sharp focus and concentration needed for something this simple is actually unnerving, even I still get tense further into the game :)

Discuss the game on the Dead Run thread on makegamesSA.

Learning by doing

This two-week exercise was super valuable in what it takes to finish a game.

  • One of the most important things we learnt was that keeping scope down is very important for a limited project. Everyone has great ideas, but ideas do many things: 1) Needs time to be created 2) Has implications on other things, especially game balance 3) Needs to be re-tested by more/other people.
  • Finish and polish is super important to create a good impression when you’re aiming for a public release. A good balance needs to be struck between good game and good juice/polish. They’re at least 50/50 in terms of importance.
  • Must. Show. Other. People. ASAP. This cannot be stressed enough, the sooner you show other people the sooner you’ll discover things that may be wrong with the game (no matter how good you are you cannot anticipate everyone’s understanding of your baby, and that’s really important), and the more time you have to fix them, and the less backtracking and useless work you’ll do.
  • Be ready to fail on any idea. Don’t hang on too hard to things that appears to be not working when tested against real people who are not you.

Spit and shine

The idea was to create a game in two weeks, then polish it up in the last and release, as a hyper-focussed exercise to learn from. So far we’ve got a few things that we still need to do on it to make it as juicy and crunchy as we want it to be before setting it out into the wild, but we’re pretty much on schedule, which is super damn exciting!

Again,  you can play the game online right now! Dead Run Web Build

Dead Run 1 Dead Run 2 Dead Run 3 Dead Run 4

Octgn Netrunner: Fool-Proof Guide


So my favourite card game in the world is Android: Netrunner (ANR). In addition to running the local ANRSA Events group, I’m making an effort to see that more people can play it online, from the comfort of their homes.

What? Play online you say?! The idea should be superbly appealing to anyone who enjoys the game, but many are turned away by the seemingly complex setup of the game. Well, it’s not as straightforward as an iPad app, because it *is* a third party card gaming engine (octgn) with a fourth party plugin made by the dev whizzard DB0, and not officially by Fantasy Flight, but let me tell you this:

It is really a pleasure to behold once you know how it works, and an even more so if you don’t have people to run with nearby.

So the point of this guide is to get you into the world of online ANR play as painlessly and quickly as possible! Let’s go!

Quick Overview

First of all, this is not intended for absolute beginners of ANR. Although the system automates some things, it is not a fully automated commercial game. If you don’t know how to play ANR, get someone to teach you before you even try this and get the crap confused out of you. This guide assumes basic knowledge of the ANR game.

  1. Installing Octgn
  2. Installing the ANR plugin
  3. Getting into a game
  4. Building deck/s
  5. Playing the game

1. Installing Octgn

You need Windows. Sorry Mac users, but you can use parallels or bootcamp or whatever method to run Windows on your Mac to play.

  1. Download the latest stable version from the official Octgn site:
  2. Run and install.
  3. If your computer doesn’t have the .NET Framework 4.0, it’ll prompt you to download and install it. Don’t worry, it’s not a virus. The install will then continue.
  4. Once you’re in the application, remember these two things – the tab menu, and the drop down menu.


2. Installing the ANR plugin

Most of this section is by none other than DB0, the creator of the ANR Octgn plugin: Kudos for the creation + concise instructions!

  1. Run Octgn.
  2. Register a new account or log in with an existing one if you have one.
  3. Go to the game manager tab and click the “Add” button. In the window that will open type: Name: OCTGN Directory
  4. Feed URL/Path:
  5. and press “Add”. A new feed should appear on the left.
  6. Click on the “OCTGN Directory” Feed. On the right a list of games should appear. Android:Netrunner should be on the top
  7. Click on Android:Netrunner and click “Install”. After a short wait it should finish.
  8. You are now ready to play. The game will automatically generate proxy cards to use, so you don’t need to download anything else.

(Optional) If you want, you can have card art, instead of proxies

  1. Go here and download all the card packs (.o8c) you find. Anything that says “(Censored)” includes cards where the card text has been blurred out.
  2. In OCTGN, go to game manager and click on “Add Image Packs”
  3. Select the .o8c files you download them one by one and install them. You will see a install window and once each pack is installed, you’ll see a pop-up window confirming this. This should take a few seconds at most.
  4. Done! Your sets now contain card art.

3. Getting into a game

You’ll want to do one of these things:

  • Find an existing open match.
  • Find and start your own game, and wait for someone to join
  • Find your friends and join their game.

Find an existing open match

  • Just go to the Play tab menu, and use the button Hide uninstalled games to see only ANR games running.
  • Double click on an open game to go in. The common “LF Corp” or “LF Runner” notation shows the owner of the game wanting a runner or corp opponent.
  • In the game chatroom, discuss the terms of engagement (I corp or you run or whatever), and the owner of the game will click start.

Start your own game, and wait for someone to join

  • Go to the Play tab, and Start game.
  • Type in a descriptive name, like LF runner or LF corp if you’re looking specifically to play a side. I also use [beginner] or [experienced] or [experimenting]. Beginners who announce that they’re new are likely to get people helping them with the interface.
  • Choose the game. In our case it’s “Android: Netrunner”.
  • A password is optional if you want a completely private game.
  • Click the A or B next to your name to change sides – A is corp, B is runner, though it doesn’t really matter now as an update made the game update in the game according to the deck you load.
  • When two players are present, press Start to start the game.
  • If more than 2 players are in the game, the extra players beyond the two players can spectate the game.

Find your friends and join their game

  • To friend people on octgn, go to the Community Chat tab
  • Type in the friend’s name in the box – unfortunately offline accounts aren’t shown, so friends will have to be online to be added.
  • You can chat via the interface. If you’re in a game, incoming messages don’t have notifications and sit in the main lobby window, so they could be missed.
  • Start a game by going to the Play tab and creating/joining the right one (you can see the game owner) as usual.

4. Building decks

Of course you want to build your own decks. This is one of the best things about playing ANR online – not having to sift through boxes/folders of cardboard. There are a few recommended ways of deckbuilding:


A fansite that was eventually bought by Fantasy Flight Games. They have a great online deckbuilder, the only one with all thumbnails, and you can save all your decks online if you have an account registered. Exports to octgn, but may change (in fact did for a day) due to being officially owned now. Can be a tad slow. Good stuff.


The fastest and cleanest online deckbuilder. Saves and loads speedily, can share, has cool keyboard shortcuts. This is the one I use now after the octgn export function threatened to disappear from cardgamedb. Unfortunately, no card art thumbnails, which I prefer to see as I’m quite a visual guy. Within a day, the creator of changed it to include thumbnail views :) Awesome guy :D Use! :D


Many players swear by this one, and it’s pretty good. Clean, has card art on hover. Also recommendable, but I haven’t really used it.

4. Octgn built in deckbuilder

Octgn also has a built-in deckbuilder. It works, but it lacks the speed and grace of the online ones. Also it doesn’t report stats. To find it, go to the Dropdown menu > Deck Editor.

All of these has the function to export octgn deck files, so build your deck, and load from octgn when you’re in a game.

5. Playing the game

NB: Whenever you use any keyboard shortcuts, make sure you’re not in the chatbox, or the shortcut won’t register. Click somewhere on the tabletop first to get out of the chatbox.

First things

Load deck Control + L Or use the menu bar and file > load deck.
Setup Control + Shift + S The first thing you do after loading your deck. Only do this after octgn checks your deck and it is ok. You can also just drag your identity from your hand to the table to do this.
Start turn F1 Typically, if you want to do anything before the start of your turn, after the opponent’s turn, do it first before you press F1.
End turn F12
Target card Shift + Click Before playing anything with a target (Parasite, Personal Touch, Oversight AI, etc), target that card first.Hosting works with this too. Target the thing your card will be hosted on before you play the card that will be hosted. Works for Caissas, programs played onto Dinosaurus, Djinn, Personal Touch, Oversight AI, etc.

General actions

Play a card from hand Double click it
Click for a cred Control + C
Draw a card Double click deck R&D/Stack
Create a remote server marker Control + S Use this to indicate that there’s a remote there. Runners interact with the marker to make runs.

Corp actions

Rez Ice Double click it Usually use this only during a run
Trash a resource (if runner is tagged) Target, then Control + Del When rezzing Archer, target the agenda you will forfeit first.
Advance a card Mouse over it, Alt + A
Install Ice Double click it from hand, move it manually Remember to pay for install costs when you install above first level of ICE.

Runner actions

Remove tag Control + R
Make a run Double click the server marker During a run the runner signifies where they are by targeting the piece of ICE he is on, and wait for the corp to respond.
Use Icebreaker Double click it, and make multiple selections

Even after learning all the shortcuts it’s still good to remember that:

  1. You can change things manually – this is invaluable for take-backs and mistakes.
  2. Right clicking on the tabletop and cards will give you a lot of context menu controls.


And that’s that! Enjoy Octgn and ANR online! If you have any problems and questions, feel free to ask in comments, on twitter or wherever :) Run ya later alligator! (Though I enjoy corping more)

Oh, one last thing, fellow South African Netrunners – please remember to join us on our ANRSA Events group where we’ve always got events and things going on!

Making Dark Magic At Global Game Jam 14 :D

This year I took part in my very first Global Game Jam. Like the name suggests, it’s a game jam that sweeps across the globe as quickly as light sweeps across timezones, with hot-blooded creative powerhouses everywhere bending their mind towards the same theme, creating love, magic, and games right around the world, around the world, around the world, around the world. #daftpunk

The Joburg #GGJ14 #GGJSouthAfrica was held at the Microsoft Joburg office – thanks Microsoft SA for their continual support of MGSA! Not only do they host our MakegamesSA monthly meetups, they also take care of us on our special needs occasions too, like this epic weekend.

It Starts

The event kicked off with some fluffingly inspirational keynote videos by indie figures such as Richard Lemarchand (Uncharted series), Kaho Abe and Jenova Chen (Thatgamecompany, my idol and heroes who made Flow, Flower, Journey). Then they jumped into the theme reveal, which was at different times in different time zones, so we were asked not to talk about them on social media until Hawaii (last timezone on earth) has had their reveal.

The theme was a mad one! So hipster! So meta! So psychological!

Three and a Half artists

After the theme reveal, we were let loose onto each other, free to discuss our ideas and poach/be poached into teams who want to work together. It was a frenzied piranha fest of people trying to get to know each other, of trying to find skills that you don’t have, and of pitching ideas/personalities at the speed of pitching machines. At this point, the 48 hour clock started, and the jam was away in earnest, without a team, without an idea, without a plan, and that didn’t bother anybody one bit.

Eventually, myself, Jonathan, and Hendré got together, three artists (Jonathan is technical art, Hendre is 3D art, and I’m… A generalist :P ) cos we agreed with each others’ ideas during our mass brainstorm. We had a few throwaways, these are the ones I can remember:

  • Everyone you see has a dog’s head, because you’re a dog. When you become a cow, everyone will have a cow’s head, etc. We see the world as we are.
  • You come across an obstacle and cannot continue. You pick up a hooker and take her home, but afterwards you feel empty inside, so an obstacle becomes empty and you can progress. We see the world as we are.

In the end, this was the idea that captured all of our imaginations:

You’re a strange blind creature, and sees the world only occasionally through echo location – sonar pings. You explore your dark world, seeing occasionally, and have to avoid giant creatures to survive, while eating smaller ones to grow bigger, eventually conquering the subterranean food chain.

And that’s when Gian Luca joined us, as the only full programmer on the team. Thank goodness, we were gonna be going into this with just three arty types (though Jonathan was pretty good with code, honestly). And then there were four.

Fast Forward

I’ll post later about the adventures we had during the jam, it was bloody fantastic, to say the least, and a life changing experience. The first night I went home to sleep on the idea, and from Saturday 7am till the Sunday, I only slept 1 hour. But it was worth every can of oversized Monster and Rockstar I consumed.

Vital stats for #GGJ14 Joburg:

  • 65 jammers in all who registered
  • 14 games produced (3 were boardgames)
  • 1 all-girl team (colour me sexist, but I’m calling it special as I see it :P )
  • 7 round tables
  • Ok I can’t think of anymore numbers :)

And the outcome from our team is Echo: A Journey Within, Without.

You can download the game or play it online (poor performance as we obviously didn’t have time to optimise) right here

#GGJ14 was an incredible experience, and I’m so happy to have shared it with all of my incredible team! I’ll be writing more about the actual #GGJ14 experiences – there were many *superb* moments, and I loved the way our team worked and I would LOVE to show you how the game came together – the experience of learning was more than half the point of it all :)


Parting note:

There are bugs in the game, and the mechanic’s not fully resolved, but for the two day’s work it turned out to be a brilliant tech demo, ready to become a better game, which is what we will aim to do for Echo in the future. Rawr! Game Jam Forever! :D

Bear Chuck learns Unity

Hey guys!

So Bear Chuck had been quite silent for a while, I’ve been learning Unity with the goal of ultimately porting Bear Chuck over to it because it seemed more robust, especially from the web build as well as cross-platform porting point of view.

If you prefer a TL;DR: Bear Chuck Unity web build! <—– click to play

My Unity learning experience started with me making Jack King to learn the ins and outs of how Unity works, and sure enough, it wasn’t simple. The C# syntax was certainly an entirely different beast from Gamemaker’s scripting. But the interface! What a pleasure to work in! It makes GMS’s interface look like movie hacker stuff – Impractical and blinding.

And then I worked with Loet on Rocket Blocks which became Rocketto, Loet offered to help me with porting Bear Chuck to Unity, so I suggested that we tried a smaller project to see how we worked together. Also it was supposed to be for MakegamesSA’s Comp E, but we didn’t have enough time to hit that deadline. Since then Loet’s gotten busy with other stuff (such is life!) and we’ve decided to put that on hold for the time being.

But that didn’t mean the end of my Unity learning! I took what I’ve learned from Jack King and Rocketto so far and started dissecting Bear Chuck to put it into Unity, also with an idea of a new control scheme (ultimately the controls seemed the most needing-to-be-solved part of the Bear Chuck experience).

What I’ve learned of Unity-fu while doing this:

  • Go with Unity instead of against it. In GMS I built my own simplistic Physics engine to make sure things conformed to a pixel-perfect system. When I tried that in Unity it was HELL. Unity’s systems are super intricate and Frankensteining my own system meant I ran into all kinds of problems one after the other (just look at the Unity General Questions thread and you’ll see).
  • The Unity 2D system isn’t quite complete yet. Unfortunately essential functions like IgnoreCollision() aren’t in yet, and that makes things rather dicey. There are workarounds but they’re complex and cause other problems, unfortunately.
  • Though it is already a ton better than trying to do 2D with Unity before the upgrade!
  • You can’t reference SpriteRenderer directly without GetComponent. Something to remember.

I had to do a few things to get it to work more like I needed it to – I cranked Friction way up, I adjusted the colliders to be smaller than the blocks were visually, I made the blocks round off to perfect positions at every opportunity possible, etc, and I ended up with something pretty close to the clean physics a block matching game needed. I like the bounciness of it, and I would never have been able to do that with my own engine.

May I present, Bear Chuck Unity web build! <—– click to play

Right now it’s more of a toy for the control scheme. The bear is a ninja. He can telejump anywhere he pleases (click), to pickup and throw blocks as he pleases (click and drag)

I hoped that this control scheme suits the game and mechanic much better and gives it a legitimate home on a tablet. Though I’m not sure if that’s entirely a good thing, to completely aim for touch devices only. I’ve ideas of making this work on a controller, but… one step at a time!

Mention: 30 games in 30 days, by Grids

Go SA! The local game dev scene is heating up, and the latest comes from GameLogic - the company behind the super impressive project which speaks volumes for itself – they made 30 games in 30 days, and they’re not even a game development company.


GameLogic made Grids, a “plugin for Unity Game Engine that allows you to rapidly implement games built on various types of grids”. Which means in plainspeak: it makes grid systems for your games in Unity super easily.

And to prove that, they made a game a day for 30 days. There are a good variety of games of all types, from puzzles to real time stuff to 3D to simulations, and they were all made in a day – this ain’t no trick photography or smoke and mirrors, this is real, honest-to-god prototyping goodness! And none of it would have been possible without the coding prowess of fellow gamemaker Eduard Beukes who powered all 30 of these beasts.

My favourites of the lot:


Day 30 – it’s so pretty! And moves so well!


Day 28 – It’s also so pretty! And so much motion sickness! :D


Day 25 – I really like the thought behind it, thought-provoking.


Day 15 – I loved the way the hex grid was a thematically perfect fit for a paraglider going down. Cool concept.


Check out Grids if you’re devving in Unity, and check out their 30 games for inspiration!

Site under repair – almost fixed!

Edit: Just about all the content has returned, in a freshly painted coat of… orange and white. I’ll be continuing with the updates soon… I’ve got new tees, new games stuff and other stuff to update. Woo!

So I accidentally deleted everything in my blog, so I’m working to get all the stuff back… Oh goodness, hope it’s even possible. All the posts are stuck in a database and I don’t know how to get it back here.

Wish me luck!