This past year I've been doing a one-year part-time ordinary level degree (level 7) in Game Development in Dublin Institute of Technology. It covered a range of topics, including game design, programming, entrepreneurship, production, asset & narrative design and culminating in a final project over the summer months.
Here's a few of the things I made over the year.
Programming
As many people on the course had no previous coding experience we started with the basics, starting off with Lua and the Corona SDK then moving on to Processing (basically Java) for some Object Orientated shenanigans. We made some simple games over the course of the year for assignments.
We started out simple, a one-player battleships game in lua (source). I made only minimal additions over the base requirements by adding some feedback taunts at the bottom of the grid.
Next up was Pong in Processing (source). Had a little bit more freedom for adding in extras here, so after quickly implementing basic Pong I added in a secret bonus mode that could be accessed by inputting the Konami code on the menu screen.... TURBO PONG!!
The last programming assignment was to make our own version of Asteroids in Processing.
As there were a bunch of other assignments due around the same time as this I didn't get as much done as I would've liked. That being said I'm not unhappy with what I ended up with; I got in randomly generated asteroid shapes, asteroids requiring multiple hits on multiple faces beforing splitting/destroying, and proximity based visibility (source).
All those above should be playable by simply copying the source code into a new project in the appropriate SDK editor.
Production
For the Game Production module we had to make a team game over the duration of the module, taking a classic game (preferably from the libraries of the likes of the Spectrum, C64 et al) and remake it in the engine of your choice. However since there was going to be a prize for the best game made in GameSalad there was only one choice :D.
GameSalad is a horrible unstable monstrosity that doesn't use any coding but a drag-n-drop system of behaviours. In order to do anything remotely complex you have to take their limited number of predefined behaviours and stack block after nested block whilst gently caressing its nervous wreck of an interface so that it doesn't have a stroke and destroy your entire project. I was tasked with wrangling this beast.
The other members of the team were Seamus Hickey, who did all the lovely artwork, and Esteban Moreno Valdés who did all the sfx and composed some original soundtracks (you can find them all on his site).
We decided to tackle a classic DOS game Paganitzu.
For my part I quickly realised that trying to make tile based levels in GameSalad's hopelessly imprecise drag-n-drop scene editor would've been madness (would have had to manually edit the x & y coordinates for each and every element... ugh). So I opted for a different flavour of madness and made my own editor, as you do, which would allow us to quickly build out levels and then get it to output the xml that GameSalad uses to generate its scenes.
After much blood sweat and tears (oh so many tears!) I'm really happy with that we ended up with. The only playable version (because... reasons) is a Mac app that can be downloaded here. Otherwise you'll have to make do with this play through video.
Oh and we won the prize for the best game! €100 gift voucher for each team member! Who knows, we might even get them some day. (do I get to call myself an award winning game developer now?! )
Asset & Narrative
For the asset & narrative design module we had to create a Sci-Fi setting for a game with a character that would exist in that world. I'm afraid to even go back and read the 3 page report for the written half of that assignment; I had suddenly come to the conclusion that it was absolute garbage about five minutes after I had submitted it (but that might just be my hyper self-criticism I seem to develop when showing a creative work to others). But hey, I passed so it couldn't have all that bad!
For the asset side of things we had to create a character walk cycle along with a scene mockup. I was relatively happy with this, considering I'm not a pixel person.
Summer Project
Then, finally, there's the big'un. The Final Summer Project. Duh Duh DUNN!
For this I was on a team of four, with Seamus again, Emile Quigley and Leigh O'Brien.
After a false start or two we ended up deciding to try and recreate my old 'Radar' flash prototype but in 3D with Unity. You play as a space fisherman whose boat is damaged while hunting a space whale. You have to go from island to island to collect replacement parts before you can go on your way again. Similarly to the flash version you have a pool of light that alerts you to nearby dangers (Molemen lurking in the darkness, who if illuminated by your light will instantly knock you out) and that you can transfer to and from other light collecting objects to help you navigate puzzles.
As shadows were such a big part of the visibility systems of the original prototype I was disappointed that I could not implement a lighting setup that allowed for the same type of shadows (issues cropped up when shadows overlapped from multiple light sources). The only good solutions are to use RenderTextures that are limited to Unity Pro. However I was happy with the custom shaders I had written to help reinforce the flat-shaded visual style we were aiming for (and somewhat successfully achieved). There was still massive room for improvement with those shaders, and I might revisit them to see how much better I could have made them had I the time (oh how much better the game would've been if I had some more time... or if I hadn't wasted so much time at the beginning I should probably say).
I was also mostly happy with the custom camera setup I had created so that I could create specific camera tracking for different areas of the levels (of course there were a few little bugs that made it go a bit wonky in specific edge cases).
Design wise, it was a bit of a mixed bag. It starts out relatively straight-forward but then becomes needlessly complex by the time you get to the last portion of the game (I'd be surprised if anyone could figure out that whole crane power puzzle without prompting), but there is potential there to be built upon (a lot of which is present in the original prototype) although I don't think I'd be taking it any further (I think I've developed a distaste for building static level based content).
The game can be played HERE (with keyboard or gamepad), or have a look at this playthrough...
Dublin GameCraft 3, the 12 hour game jam, was held yesterday, and this time the theme was "Non Violent Exploration".
Here is the game I made...
The object is to grab the orbs that match the colours of the beacons and bring them to the centre before the big red timer reaches the centre itself.
It borrows a bit from the Radar prototype with the fog and sensing, although the opaque/visited aspect of the fog was maybe unnecessary as there is no terrain to navigate. I was initially was going to place it in a maze of rooms, but I felt it added little and so ended up going for simplicity to get something done.
I'm quite pleased with this one and I got a lot of nice comments from others who tried it.
Just writing this down in order to think my way through it.
So I'm building levels for the game and I've gotten to this point where I want to have the player climb up a spiraling tower. As the player ascends, the areas at a higher elevation, i.e. beyond the cliff face, will remain hidden but the areas on lower elevations can be seen (within the players current light). Also if the player walks off the cliff edge then she will fall over the cliff (without player control) and land on the flat lower floor.
I'm sloooowly but surely making progress on my next game, in fact I beginning to build up a bit of momentum as I start moving over from engine/mechanic creation to level building. I still haven't quite nailed down the main mechanic(s) yet but I want to build some levels first to get some play-test feedback.
Here's a video of the first level I've been playing around with. It is just a simple starter level to introduce some of the main mechanics.
Here is how that level is defined in the level file...
It's been a while since I've finished and published a game, a bad habit to get in to, so I decided I should make something before I completely forget how it is all done. In order to give myself a relatively close deadline I am making a christmas game (to get a christmas themed game sponsored you need to ideally have it done by at least early November.)
I'm dusting off an old redesign of Blockdown I had been tinkering with early in the year, keeping just and main matching mechanism but losing the block locking (so it can't really be considered 'Blockdown' anymore). One of the main problems I found with Blockdown was that when you made the 2x2 match the replacement block spawned directly in place rather than there being any cascading. This had been a concious decision at the time for... some reason, but it ultimately led to the game being far too static and so not so interesting.
Now I have altered it so that when you make a match the pieces from above cascade down into the empty spaces, and then the empty spaces left over from the dropping pieces are filled in from the sides. The new spawning pieces then come in from the sides.
Also, I've slightly changed the matching so that not only are the 2x2-on-the-corners base match pieces removed, but also any adjacent pieces of the same type that are touching (and in turn any matching pieces adjacent to those pieces). This should make the board more dynamic and hopefully more enjoyable.
The timer now takes the form of falling snow that builds up in columns on top of the grid. When pieces fall due to a match, they take the snow above with them. If any of the snow piles reaches the top of the screen, that's game over. This is kind of like the Ice Storm mode in Bejeweled 3, but I swear I had this idea before I had seen that! Really!
I am also doing all the art for this myself (I had been determined that whatever my next game was I'd get somebody else - somebody competent! - to do the art).
I think it is turning out okay for the most part; I particularly like my santa! I am drawing the outlines of everything in AutoCAD of all things (use what you've got and what you know!) and then bringing them over to PSP.
In other news, prior to all of this I had been working on a custom game engine, focusing mainly on Line of Sight and Fog of War. Maaaybe something will eventually come of it...
Embedding shadow and collision vectors in to a tileset spritesheet