Playing With Tiny Things

June 20th, 2011


I wanted to play around with GLSL, so I decided to make something small. Just 1kb in size in fact.

The demo is metaball-based, and looks a little like these, except it also moves:

Download the exe and source here. There are some poor choices made with regard to where computations are performed in the shaders in order to get the exe under 1kb in size. I’m sure someone more experienced would be able to correct this, or maybe I will myself with some more practice.

Inferno – A PS2 Game

July 27th, 2008


Inferno was created as a piece of coursework for my second year in University. The task was to create a pseudo-3d Playstation 2 game using 2D sprites, such as Super Hang On or Space Harrier. I opted to take this a step further and create a software pipeline and camera which would allow me to create 3D scenes from 2D primitives. If you heard me mention an insane project before I mysteriously disappeared – this was it.

I had never attempted something along these lines before but I had a fair understanding of the maths that would be required. After hundreds of pages of scribblings in my notebook and many experimental programs I was in a position where I could generate a textured crate correctly in the middle of space on screen. After several problems, some minor and some that had me pulling my hair out, I managed to get rectangular rooms or random dimensions which I could move within working correctly.

I used this as a base to create a hack ‘n’ slash adventure where you travel through a series of rooms, defeating the enemies in one to move onto the next. There are many ways I would like to expand the game but most of all I am looking forward to experiencing working in 3D on the PS2 next year. I found developing for the PS2 to be more challenging than for the PC – there are far more constraints and it is not hard to crash the whole system. However, I learned a lot about the direct relationship between hardware and software which I hope I can expand upon in future.

This game also won me a prize from Sony which I was both surprised and of course very pleased about.

Unfortunately the game will only run on a PS2 with a hard drive and Linux kit installed. If you have this please email me and I would be happy to send you the application. I will hopefully be able to put a video of the game here in the near future.

My Little Planet – An OpenGL Demo

July 27th, 2008



My Little Planet is a demonstration of using various techniques with OpenGL to render an animated scene. The planet, moon and tree were all modelled and textured in Milkshape and loaded into the scene. The river was made of OpenGL primitives and then texture animation and alpha blending were used to give the effect of flowing water. The plants in the scene were generated procedurally. The butterflies were both modelled and animated in Milkshape, and then the keyframe animation was played back and they fly in random directions. Elements within the scene are contained within a sky box and animated hierarchically, allowing the moon to orbit our planet. A second light source also orbits the planet giving the impression of night and day.

You can download the Windows application here.

Controls

Left Mouse Button – Drag to adjust the camera
Right Mouse Button – Drag to roll the camera
Mouse Wheel – Zoom in and out
W, A, S, D, Q, E – Move around the scene
L – Toggle lighting on and off
B – Toggle transparency on and off
M – Toggle motion on and off

Twisted – A 2D Windows Platformer

July 27th, 2008


Twisted Closeup
Twisted is a simple platform game demo created using the Windows API.
As with most platformers, your aim is to defeat enemies and grab pickups to reach the end of each level. The twist however is that the game world is split into two horizontal realms, which can be travelled between using a series of portals. You will have to spend time in either realm to reach your goal, the lower of these being an inverted, upside down version of the first.

Twisted Screenshot
To successfully travel through the world you will need to defeat many of the enemies standing in your path. This can be done either by jumping on them or using lightening magic. Whilst this demo features only a limited variety of enemies, the game is written in a such a way that this set could be greatly expanded and altered, adding far more bizarre and deadly creatures into play.

It should be noted that this is a very limited game – many areas could easily be expanded with more time, for example by adding additional levels (there is currently only one), enemies, spells and pickups. However, given that I am neither a designer nor an artist and that this was a piece of coursework, focussing on varied gameplay over programming wasn’t an option. I would like to further improve the game in future, and in particular to experiement with multiplayer gameplay, and to create a Linux version using Qt.

If you want to give Twisted a go, you can download the file here.
Currently, it is only available for Windows XP (though it hasn’t been tested using Windows Vista – if you’re able to do so please let me know whether it worked).
If you download the game please share your thoughts and opinions below – bear in mind however that the game is far from complete or polished.

Controls:

A+D – move right and left.
W – jump.
L – cast magic.
P – travel through a portal.

Pickups:

Heart – health pickup.
Star – points pickup.
Circle – magic pickup.

Rotation – A Flash Game

July 27th, 2008


You can see an updated explanation of this game and it’s files in my portfolio.

Rotation is a simple flash game I created as a piece of coursework in my first term at university. The task set was to create a game where players would defend themselves against attacking aliens, aided by destructible shields. Rather than opt for a space invaders type game, I wanted to experiment with circular motion and trigonometry.

The result was Rotation, a game in which you control 3 ships orbiting the planet Earth, which you must defend from waves of attacking enemies. You can play it online or download the executable. You will need Flash 7 or later to play this game – you can get the plugin here. You may notice a few bugs in this game, however since the aim of this task was to gain a simple understanding of how games are made improving and fixing it is now not a priority.