Diary of a game

It's always been at the back of my mind to get back into writing games. I used to do it all the time way back in the days of the Amiga but as time went on my attention moved on to more serious stuff, like work.
I had played about with some flash stuff and started on a platform shooter which you can see here but I never finished it and to be honest I didn't really have a plan as to what it was even going to be about. It was more just an exercise and a bit of a play to see what I could do. Still was pleased with this and think its pretty cool at what it does so far.
This was in actionscript2 and when actionscript 3 came along I started looking more seriously at doing something in this but then I discovered Silverlight.
When I got onto Silverlight development, I found some interesting articles about Silverlight as a game development medium and with the help of 1 or 2 of these articles, developed the foundations of a game engine. I really like silverlight despite the general disinterest in it now as Microsoft have 'stopped suporting it'.
Anyway, I like it, its got a C# backend and you can develop it in visual studio using the full .net framework which for someone like me who is employed as a .net developer its brilliant. Plus its proper coding, no drag n drop or UI configuration, just straight up coding which I like.
So armed with the above what else was I to do but write a game and blog about it.

Getting Started

Found some interesting articles and tutorials for a silverlight game engine on Andy Beaulieu's site. This one I really liked as it had a nice structure using an application manager to control the main game loop and some game objects all inheriting a base class that handled all the objects update methods. 

From these examples I created my own implementation of a base game engine and soon enough had a few things moving around on screen. This is usually my starting point for any game development in any language, once you can get a sprite on the screen and move it then your on your way.

Knocked this together to show the basics of the game engine in action.

Project Nadine

Really fancied doing an Angry Birds style game. Thought this would be really interesting to do, love the whole physics of it all and would be cool to achieve something like this myself.
Thought of a game idea. 'Angry Nerds', it will be like AB in that you fire stuff across the screen, except on the other side will be a nerd! You throw stuff at him from your desk, pencil sharpeners, erasers, staplers etc at the nerd on the desk on the other side in an attempt to make him angry by knocking his stuff over. So, its just like in real life, I believe! as I wouldn't know about such things (ahem).
I started out attempting to do everything myself with this one. There is a silverlight physics engine I can use, namely the Farseer Physics engine which is based on the same Box2d engine used by Angry Birds but I wanted to have a go at doing this all myself and I also didn't want to get bogged down learning the Farseer api while I'm still learning silverlight. I got quite far with this. I had the gravity and some basic circular collision detection going and an object that I could fire and some other objects that I could bounce off. I also had rectangular objects and a rudimentary rectangular collisions going but then it all started to get pretty serious in the physics department.

I soon realised that I wasn't going to get the game I wanted using my own hand crafted physics engine, it was too limited. This is as far as I got.

Farseer Physics

After initially avoiding it, I decided to get the Silverlight Farseer physics api and play about with it. In honesty it didn't take too long to get into this and before long I had it implemented in with my own game engine and started a rewrite of Angry Nerds. Loved it and wish I had done this from the start.

Of course I only got as far as a level editor/sandbox for dragging and chucking stuff about and a level where you could throw objects at your creation.

See it in action

I think by now the Angry Birds concept was wearing a bit thin and I was looking towards a new game idea...

Project Rachael

Had a great new idea...

'Loosly' based on something between Eddie Kidd jump challenge on the Commodore 64 and a more recent release, 'Ramped Up' on the Wii U as part of the Wii Party U collection.

A game where you get to roll your wheeled vehicle down various ramps and jumps aiming to lang safely on the other side. You will have to rely on gravity and gauge how far up the ramp to start and land perfectly on the ramp on the other side, too far or too short will result in a crash.

Thats the basic jist of it, the rest will follow. I will be using Farseer for the physics and will get to have some fun with some more complex objects and animations.

read on