Posted by on Jan 9, 2014 in | 0 comments

Volleyball with nothing but smashes!

Swipe Tap Smash was the self-published game I ever sold. It’s really quite a simple game, and was a lot of fun to make. The game is written in C# using XNA. It was my first time writting a game for Windows Phone, but since I’d been working on another PC/360 game with XNA for some time, I was able to use that engine as a starting point and get things running very quickly.

All I had to do was convert the Visual Studio Projects to Windows Phone (which is made very easy by the XNA tools), and then make some minor adjustments to the engine for the new platform. The biggest changes to the code base are:

Fixed function rendering pipeline. WP does not support custom shaders, which I was using for my previous game, so those had to be ripped out and replace with a new rendering system. I lost a couple features as a result, but nothing major.

C# version downgrade. WP runs an older, and reduced versions of C# so some parts of the engine had to be rewritten without those advanced features.

Touch control support. As well as needing to now handle touch gestures, I also wanted to make sure I could develop on PC for quicker iteration time. I did this by spoofing touch gestures with mouse input on PC.

Support for App Lifecycle. Things like hitting the Home button on your phone, which doesn’t exist on Windows.

Version 1.0 of the game is probably the biggest hack I’ve written since college!  I only had 1 week to write the game (to meet a deadline for a competition I wanted to enter it in), so I was forced to cut corners at every turn. In a way it was quite liberating though.

I’ve often found my biggest hurdle making games at home is that I have trouble just getting it done. I over-think the technical design, which can sometimes lead to coding paralysis; I know the right way to code something is going to be a lot of work, so I can end up procrastinating. With a rapid development like Swipe Tap Smash had, there is not time for any of that. You just code as fast as possible.

Luckily, as I mentioned earlier, the base of the engine was already in place (rendering, animation, game objects, behaviors, collision detection, etc), so these hacks are really high level and it didn’t really bite me in the end.

Since it’s original release, Swipe Tap Smash has had numerous free updates; improving sound and visuals, fixing bugs, and even adding entirely new game modes! It has also been ported to MonoGame, paving the way for ports to Android, iPhone and more!