Posts

Bloom

Image
Bloom is single person adventure puzzle game set in an abandoned temple deep within the desert. The player takes the role of a 'Priestess of Nature' who enters the temple to re-activate the water, and bring life back to the environment. The priestess can place plant seeds in either sun and crystal light, and then grow / wilt them in order to bridge gaps, raise platforms or break walls, in order to traverse the environment. The game was written in 12weeks with the work of 4 programmers and 6 artists using UDK. I worked as a game-play programmer, with a large portion of the code base being contributed by me. I focused on the plant growth mechanic as well as the plants themselves; I was also the main contact point for bugs and when artists needed programmers input or help. A download is available here. The game is best played with a Xbox360 game pad, but if you do not have one, you can use the following keys for the keyboard and mouse: E = USE R = BRIDGE T = PLATFORM ...

3D Game Engine Using DirectX11 (C++)

Image
This piece of work is what I’m most proud of this semester; it is also one of the projects I had the most fun working on; and because of that, I am currently building upon it and plan to continue over the summer. This is the first time I have ever used a 3D engine, or attempted building my own framework. Framework The engine uses a scene graph to handle the objects in the scene; once the user creates one of the nodes and adds it to the graph, the Initialisation, Updating and Rendering is handled in the underlying framework. I tried to make it so that the user would be able to simply add something to the scene, whilst maintaining as much control as possible. The user is able to create and add a node using 2 lines of code; this then adds the object to the scene graph and everything is handled in the under lying code, the result of this code would load, update and render that object onto the window. The Renderer is what I’ve used as the main DirectX interface...

Playing with Particles on the PSP

Unfortunately I have been unabled to get pictures of the programs so far; however I am still currently trying to get some video capture of them done. Billboard Particle System (PSP) This was a follow up from a previous module where we created a 3D scene on the PSP (which can be found here). Once again this program was written in C, using Sony’s PSP development kits. The module specification only required us to display bill boarded textured particles, and then it allowed us to do what we wanted in terms of scene. Due to problems, I had to start this assignment later than what I wanted and it only allowed me 4 days to work on both this and a benchmarking tool. The billboarding method I used was to create a world transformation based on the particles location to the camera; the tutorial I used can be found at http://nehe.gamedev.net/article/billboarding_how_to/18011/. When playing around with the movement I saw that the particles looked a bit like fireworks, so I played on this a ...

Pocket Recipes

Image
Pocket Recipes was created with the Android SDK and is for Android Devices 4.0 and above (it works on Android 3.0 in the emulator but I haven’t had a chance to test it using a device). The IDE I used was Eclipse. I enjoy cooking: I am awful at cooking, purely because I get the timings on everything wrong; things get overcooked, the bangers are cooked before the mash etc. If I followed a recipe I would need to set an alarm after every step to make sure I’m following it to the letter; if only there were an app on my phone which kept track of it for me! For my mobile development assignment I decided to put together an application to do just that. Luckily we were given free rein to make what we wanted in terms of app, so I took the opportunity to make “Pocket Recipes”, a simple application allowing me to store and view recipes, with the addition to have a timer notify me at every step. My target audience were people who, like myself, weren’t great with times and cooking, perhap...

Week 5 Round Up

Image
Interactive 3D  This week I worked on some Terrain Generation; mainly loading from a height map. To begin with I need to generate the heights, for this I read a 1280x1280 ‘.raw’ file containing a 4byte value. I then  make a grid of vertices and load them into a single dimensional array, whilst I set up the vertices I pass in the corresponding height value. I can then calculate the indices and set up the index array, and one I have the indices I’m able to calculate the normal’s which will be used for lighting. Once I had a completed ‘TerrainNode’ I looked into forms of procedural generation. So far I have implemented ‘Perlin Noise’ ( http://freespace.virgin.net/hugo.elias/models/m_perlin.htm ) which interpolates a value from a Sin Wave. The results were pretty good. I can change up to 5 values to get more varied height; more mountains; smoother terrain etc. I also added a Sky Dome for additional effect. Mobile Development This week we were given samples ...

Week 4 Round Up

Image
Though I should start updating what I do on a weekly basis, I’ll try to explain the assignments as we go through. Week 4 was actually last week; I’ve just come out of week 5, so I will get some updates ready for tomorrow. Team Software development The game our team has been working on is a Bullethell game; the idea is to get the mechanics of the typical space shooter down before we work on anything else, all we know is we want a Bullethell game with multiplayer support. My contribution to the project has been fairly disperse; I haven’t contributed fully to one aspect but I have had input on a number of different aspects. Nothing fancy yet, but we got some weapons working; paralax scrolling and enemy pathing; and I will also have a Boss entitiy ready to show off for next time. Console Development The final goal for this module is to create a billboard based particle system which will be used as a benchmarking tool on the PSP. So far we have only covered the ideas...

Sunday Evening Imaginarium (C# + XNA 4.0)

Image
The game was developed in C# using XNA 4.0 framework. The game was merely meant as a demo which we presented to a small panel of people.   Game Design Documentation Available Here Sunday Evening Imaginarium is a two player game with the aim being to get people who aren’t gamers interested in games. The aim is to protect the idol in the centre from the attacking goblins and keep the bar up so you don’t fail; however there is a twist which I’ll go into in a second.  Player one is taking on the role of the experienced gamer, his role is to collect wood and stone which then gets turned into planks and metal. These resources are then used to upgrade the second player’s damage or make trap’s, the planks can also be used to repair the idol. The second player has to stop the goblins from coming – he has the use of a sword, traps and arrows to aid him. The idea behind this was to simplify the genre of an RTS and reduce its mechanics to the simplest form (resource collec...