The major project of my final year was for my dissertation. I chose to research the effectiveness of dynamic learning algorithms in providing an adaptive, real-time finite state machine in a game environment. After doing a literature review to get up to speed on Bayesian networks, artificial neural networks and genetic algorithms, I chose to focus my research on the latter. I felt genetic algorithms could offer a working solution, and I was interested in programming one and seeing for myself exactly how it would work.
This final year project focussed on using the OpenMP and MPI frameworks to parallelise an implementation of the straightforward pattern matching algorithm. The project was scored purely on the speed of the solutions (assuming the generated matches were correct), and in the module overall I scored a strong first class mark of 83. I have put the code on my GitHub for your perusal.
And now for something completely different:
Arrow keys to try a slide, space bar to confirm it. Imagine it’s on a phone screen; pressing right swipes right, and so on.
Some bad news: this game is going to be incredibly colour-blind unfriendly. I wanted to have letters on the cards to give you a fighting chance but I ran out of time. I’m so sorry.
In third year we had an entire module dedicated to the different components that make up a complete game engine. The assessment for this module was based entirely around a solo project, where we had to choose one aspect of a game engine and develop it. I chose to develop a 2D physics engine, as I was interested in understanding how each step of the process worked, from the simulation of rigid bodies through to collision detection and resolution.
Week 8 and I was once again busy with real life, so you’ve got another one of these weird lo-fi physics “games”:
As you can see this marks the glorious return of “the bird” from week 2, because why not. Not much to talk about this time to be honest
Week 7! Bit of a mixed bag this week.
A small one this week as I have been extremely busy sorting out my impending move. Regardless, I still got a game of sorts finished. Try it out here:
This is the fifth week of my Game a Week challenge. I didn’t have a clear goal this week but things really came together once I started experimenting on Friday, and this is the result:
The paddle follows the cursor, use a and d (or left and right cursor keys) to tilt the paddle slightly. Use the ball to destroy the blocks! I’ve clearly taken inspiration from the Breakout (or Arkanoid) series, but added a physics-y twist.
A small update for a small game. I was busy pretty much all week so threw this together in two hours on Sunday; guess the reason why after giving it a play:
Yep, I graduated this week so I was super busy with that and entertaining my family who came to visit. So I used that as the theme and tried to think of the most lightweight idea possible so I could still make a game without having to stress about keeping up with it all week. And this is the result!
So I’m actually incredibly happy with this one. It hits all the right buttons for me: it’s a novel gameplay mechanic, I implemented something technically challenging, and I think I’ve achieved a really nice atmosphere in general. I implore you to give this one a play.
Headphones are recommended. W, A, S and D to move, mouse to aim, M to mute the sound if you really want to, but I advise against it.