Each year I supervise final year BSc and MSc student projects and am often amazed by what students come up with. Just like I did last year I will list my personal favourites from 2022 (in no particular order) below. I hope that these posts will inspire current students to help make up their mind about final year project topics. All images are directly taken from the dissertations or demos and belong to the students.

1. Cave Game!

Thomas Barber, BSc (COMP390), with Stuart Thomason (1st)

Thomas made a 2D platformer game and explored several cool features that go beyond the traditional functionality one would expect. Namely, the game connects to Twitch and lets other people not only watch a gameplay live but interact with the game through a series of auto-generated polls. These affect for example the type of map of difficulty of opponents.

The game itself comes with impressive level generation, improving tools/weapons, music changing towards end of levels and a well designed twitch interface/interaction.

2. A City Simulator with automatically generated maps.

Bruce McDonald , with Stuart Thomason (2nd)

The project follows the idea to extract map data from OpenStreetMaps as a background for a SimCity type simulation game. A great proof-of-concept game!

3. Android Assault

Conor O’Sullivan, BSc (COMP390), with Stuart Thomason (2nd)

Another 2D platformer with great gameplay, map generation, and a really cool backstory about a robot that seeks to improve itself through permanent upgrades.

The game is written in Godot and features some very creative player upgrades including weapons, temporary speed-ups, a magnet glove, rocket shoes, bouyancy stabilizer and many more. The gameplay is designed to be kind to the player in that every upgrade comes not only with in-game explanation and story but also a safe zone in the map where to practive the new ability. All that is nicely embedded into auto-generated maps with increasind difficulty. boss-opponents and all. Check out the video demo!

4. Chess AIs

Oliver Jeffries, and Yaroslav Shiroki, with Stuart Thomason (1st)

We had two students implementing chess AIs and comparing different algorithms (MiniMax, Negamax and Negamax with Alpha-Beta pruning) against human players and existing AIs.

Yaroslav has additionally trained a deep-learning ML model on games played by human grandmasters. The derived models were then used as heuristics in combination with minimax algorithm for bounded game plays.

5. Timed Automata Reachability using a SMT solver

Rufus Walkden, MEng (COMP592), with Alkmini Sgouritsa (2nd)

Timed-automata (TA) are a classical model for realtime systems, consisting of a finite-state control with access to resettable stopwatches. Their reachability problem (is it possible to reach one system state from another?) is PSPACE complete for TA with many clocks, but can be solved in polynomial time (actuall logspace) for the single-clock case.

In this project, Rufus implemented an alternative algorithm for the 1-clock reachability problem, which uses Microsoft's Z3 theorem prover as a black box and compare its performance (on randomly generated automata) against the classical region-based approach.