This site illustrates some of the games I have developed as part of my part-time hobby coding games.
A guy in a group mentioned about people porting Doom to every platform
imaginable. He asked if it would be possible on a BBC B. (or at least a clone).
I thought it was, but decided to investigate. I think the major issue is the fill rate. Because of this, I prepared a method to turn 2d information into a bar chart. This should be easy to display in mode 7 using teletext characters. If it is an issue to refresh the entire screen, we can just update the character differences.
These are the preliminary test versions written in Java. The orthographic projection is quite easy, but it means that things dont get larger when you get closer.
The perspective view isnt really a perspective calculation. It figures what points are in different segments using the 2d gradients, and then interpolates the Z distances between these and uses that distance to decide how tall the walls aren't.
Phaser.js and Mighty Editor.
The technology had shown that it was good with object allocation and fast development.
The ship gets more powerful the more components you pick up. These are all preassigned on an object layer, and are activated in order when you pick up a power up. This is a bit like a tileset, but for technical reasons, it wont be exactly a tileset.
I also tried some pixel tileart for the ships, as that should grow more naturally than the SVG renders I made before.
For LD31, the theme was Game on one screen.
I came up with the idea of a bug on a windshield.
Since I do not have the finances to buy a certificate
to sign Java Applets, I am moving away from Java.
I managed to get the game finished within the 48 hour time limit for once, but perfectionism kicked in and I fixed some bugs to make it more entertaining. The confusion between versions meant that people did not rate it as well as possible, but I got some excellent reviews and it kept my mum entertained for a few minutes.
For LD30, the theme was Connected Worlds.
I was not really going to develop a game, but I decided to try and illustrate the
interconnected faces of a rubiks cube in 2 dimensions.
It turned out that three interconnected rings could be used for this.
The shapes are all created with Java Area overlapping circles.
As the rubik's cube simulation was very difficult, I decided to create a puzzle game where you had to get the pieces into their correct locations. Each circle links to a different puzzle, and the rose links to the 2x2 when unlocked. The game was supposed to be mystical and the rotational symmetry gave it the name lotus (I dont know what a lotus looks like, do I?)
I found it very difficult to create puzzles, let alone solve them so I ended up shipping a version with 2 puzzles which I could not test. Luckily someone completed them and got to the 2x2 cube, at which point they probably exploded.
I developed the game within 48 hours, just not the correct 48 hours!
For LD29, the theme was Beneath the Surface.
I was going to develop an obstacle avoidance game on my Android tablet using an IDE
and image editor, as well as an Android sound editor.
I had little time to develop
and transparent images were not possible in the editor I had installed (no png output).
Still, I refactored a lot of base code, added a basic animation, and had blades of grass come in from the top of the screen and scale larger as they reach the bottom.
For LD28, the theme was you only get one. I came up with the idea that it only
took one person to start a pandemic.
I was going to make it so that you played as a virus trying to infect as many people as possible. I lost my code (and time) as I was visiting family so had to start again.
I recruited my sister to help me develop a game.
She had the idea of cats throwing baubles out of a tree, and her children trying
to catch them.
She drew me a picture of what it looked like, and I used Gimp to extract the kids, colorised them, and made the physics work.
It is -1 point for being hit on the head with a bauble.
For LD26, the theme was Minimalism. I had a few ideas, but ended up coming up with an
idea about cleaning up a zen garden after cats and dogs had messsed it up.
This turned into a game where you herd cats. It isn't really that fun, though I managed to implement animation in the 72 hour Jam period, and managed to port it to Android about two weeks later.
The best reaction I received was "MY GOD, THE CATS ARE SHITTING EVERYWHERE!".
Since I had it on my phone, I ended up showing people at work it. This was entertaining, but my boss raised it in an interview, and I had my interviewer playing a game where cats were virtually pooping on the screen for about five minutes.
When I was developing Here be Dragn, I kept being drawn to the Java Gaming forum when I googled issues.
I've been checking it for a while and I discovered the 4k Java competition tucked away. I'm very new to the concept, as shown by the fact I started trying to acheive that class limit uncompressed.
I havent tried the compression tools on it yet, though I think it should sneak just under 4k.
I'm quite proud of the sneaky things I've done to make it work:
I joined the Ludum Dare contest about 12 hours in. Given the theme of "You are the villain", I decided to create a game about playing a dragon eating people.
The original idea was playing Smaug from the hobbit trying to get his jewel back in a map shooter, but it just ended up being a bit of a centipede clone in the end.
As I had not got any sounds or many resources, I submitted in the Game Jam, and ended up spending a few odd days here and there smoothing wrinkles out.
I was quite happy in that I overcame the GC issue (I learnt how to reuse objects).
I stopped developing when i got bored with playing the game and would have liked to have got animation working, though the resouce creation process was going to be a lot of work..
Strangely, for all the work I put in afterwards, the game is very similar to the LD version. This is probably a project effect whereby the majority of the project takes a small amount of time, and the last 10% takes absolutely ages. Theres a software engineering name for that, though I've forgotten it.
I did a course with the Open University on games design. This was useful in showing
some game design concepts, and most particularly,
it isnt a game without fun or a purpose!
All these games were developed with Gamemaker, which has a couple of issues (I dont like people downloading exe's, and I ended up doing most of the game logic with timers and drag and drop icons instead of sweet Java code), but is pretty good for rapid prototyping of ideas.
The theme of LD20 was "It's dangerous to go alone! Take this!
I decided to interpret the theme as a spaceship picking up
Although I had something playable by the end, it was far too difficult and it took a week to make it work as a .jar due to resources within jar.
The biggest problem with this game was probably the objects, as garbage collection kicks in every few seconds because too many objects are being created.
I used gfxr for all the sound effects (there was another 50 not included in game), and used Adobe Illustrator to make the resources.
As a toy project, I also added all of the space sounds to a midibank.
A post on Notch's blog suggested that a low-fi minecraft would be cool. I created a basic point and click program which added and removed blocks on a screen. I had an idea to add spells and make the game a sidescrolling Roguelike, but I discovered Terraria already did this!
I used to enjoy merging features together in JMonkey. One of the Physics demos let you
drive a stunt car off of ramps and through barrels.
I thought it would be cool to ride it on a lap, so I wrote a map editor which extruded road sections around the level.
The original car was a bit blocky so I updated that with a free model (I made my own, but it was like a Vauxhall Nova).
I also added a skybox and some basic effects and made it feel more arcadey. One method I used to do this was making the concrete rubber, and the tyres concrete. I think the walls were glass. This meant you could slide off the walls easily and when you flipped the car, it bounced.
I was obsessed for a few months with the concept of a SVG shader. I could use SVG to give pixel-crisp edges to
textures, and also handle as much detail as I wanted.
I was also thinking that svg would make repeating patterns a lot easier, such as specular and bump textures, which are usually less detailed than the associated textures.
If I had got the transformation from Bezier to circle, I was then going to compile SVG into a sequence of operations and import these into GLSL through texture data.
The difference between the approximate circle transformation and the Bezier wasn't far away, I was aware that the difference would show if any SVG files were imported, such as that famous Tiger.
I used to be on the JMonkey forums quite a lot at this point. I used to love JMonkey because it was very easy to make something pretty, but I never grasped how to turn that into a real game, as the tests were all different and there were a couple of contrasting versions.