Shadebob Games

Yet another game development blog

Game to be released in November

Hi everyone, We are happy to announce you the release of Infinitrap this November 2017.

Here are some images of the current release (alpha 0.4):

This article was posted by Yanick Bourbeau & 2 weeks ago

Posting about progress

Hi everyone, after few months of work I have completed 90-95% of the port to Unity (XBOX and PC).

But now I started working on a new feature .. I plan to develop the level editor directly in game :)

I will post my progress here as the project evolves.

This article was posted by Yanick Bourbeau & 10 months ago

New splash screen for InfiniTrap

For ‪#‎screenshotsaturday‬, here is an animated gif of my new splash screen for InfiniTrap game. The neat thing in this video is that blood platters are pseudo-random, using a custom particle emitter I made just for this effect smile emoticon Also, the zombies are made in Spine and I create custom skins at runtime to make them look different. (I still have clothes to draw). Do you like the result? I could post code if you are interested about how I do the blood stuff :)


This article was posted by Yanick Bourbeau & 1 year ago

Bit packing in JAVA

Yesterday I took time to write a small utility class to handle bit packing for my upcoming game network protocol.

Bit packing is a must have when you implement a network protocol. Here is an example usage:

Let's say you have a byte that contains the current player slot position. This is a 4 players game, then you have 0,1,2,3 as positions. Using a whole byte (8 bits) to store the position is not optimal, you can store the same value in 2 bits.

This might not look that much but if you are sending 20-60 packets per second, it is starting to count bandwidth-wise.

Here is how to use the class:

BitPacker packer = new BitPacker();  
int playerPosition = 4;  
packer.putInt(playerPosition, 2); // It will put the first two bits of the int in a bitset  

packer.toBytes() returns the bytes to send via network (the content will be padded with zeroes to match 8 bits multiple)

Now let see the reverse, when you receive the data from network as byte[]:

BitPacker packer = new BitPacker();  
int playerPosition = packer.getInteger(2);  
System.out.println("Player position: " + playerPosition); // Should be 4.  

If you want to re-use the same BitPacker object, you can call reset() and rewind().

Here is the link for the code:

This article was posted by Yanick Bourbeau & 1 year ago

Desktop Commando will be our next project

Now that InfiniTrap is near completion, I am proud to announce that we will be working on our next project: Desktop Commando, which is a multiplayer(up to 32 players) 2d/top-down competitive shooting game where you have to protect a dishwasher :)

I will try to keep posting twice a week about this project as the development goes. Hope you will enjoy it :) There is a lot of interesting things to do. Also all the prototype versions will be free and you will be able to test and play with it and help us make it better.

Stay tuned for more!

This article was posted by Yanick Bourbeau & 1 year ago

Infinitrap is now on Steam

Hi everyone, this is a quick message to tell you that InfiniTrap is now available on Steam at this address.

You can also visit our website at

This article was posted by Yanick Bourbeau & 1 year ago