Broken World is an adventure RPG that takes the player through four large, diverse areas as

they explore, fight, craft and gain new abilities on their journey to fix a broken kingdom.

The Village
Flooded City
Graveyard Desert
Dark Catacombs

The game first went through a prototype phase, where various systems and design concepts were prototyped. The prototype version of the game was ‘greenlit’ by the tutors at the earliest possible stage due to their confidence in our work, which meant the full product could be developed. Broken World was a highly ambitious project with many interacting systems, but I certainly feel that the work and passion that was poured into it is reflected in the final game (which you can, and some may say should, play here).

We had weekly reviews throughout the development process where a huge amount of valuable feedback was received from tutors. By the final week, we were thrilled to receive the comment that our game was “possibly the best final major project [they’d] seen on an undergrad course”.

I worked on code for the following systems: (view my code on GitHub)

  • Audio system, including dynamic audio

  • Save system (global and per-level saves)

  • Inventory & hotbar (allowing items to be added, removed, moved, dropped and stacked)

  • Crafting system

  • Shops for purchasing items

  • Player stats (e.g. hunger, health)

  • Player launch ability and ability unlocking

  • Player polish (dynamic footsteps/view bobbing)

  • Doors (manual, automatic, unlockable, one-way, various configurations)

  • Hazards (e.g. crushing blocks, tidal wave)

  • Portals for transporting the player between maps

  • Puzzle elements (buttons, sequences, moving platforms and more)

  • Quick time events*

  • Modular building system*

*Working prototypes of these features were designed, coded and tested but did not

make it into the final game due to their lack of cohesion/synergy with other systems.​

Editor Tools

  • Extended editor UI for sound classes to allows sounds to be previewed in the editor, so you can gauge what effect volume/pitch variations will have without having to launch the game.​

  • DynamicAudioArea components display other areas on the same layer, and warn you if any of those areas use audio tracks of an incompatible length that will not fade seamlessly.


  • An item manager that allows items and crafting recipes to be added and clearly previewed with a UI name/icon. Also gives you a warning if certain items have been added in one scene without applying changes to the prefab that persists through all scenes. (Click images to enlarge/view in full)

In-Game User Interface Work

I designed and implemented the user interface for the following:

  • Inventory/hotbar

  • Crafting menu

  • Customisation menu

  • Player stats

  • Contextual popups (shown when hovering over interactable objects)

  • Ability unlock UI

  • Main menu, options menu, pause menu

I created a number of handy components to be used throughout the game’s UI to aid with consistency and easier creation of menus. For example, buttons with a 2.5D press effect and groups of buttons that work as tabs to switch between ‘pages’ within a menu. I also wrote a base ‘UIPanel’ script that all panels could derive from, which allowed for simpler menu management (e.g. allowing panels to ‘block’ other panels to prevent multiple clashing UI elements from being opened at the same time).


An adventure RPG set in a crumbling reality.

Project Type: University Final Major Project  |  Mark: First (94%)

Team: Joe Allen (Programmer), Hugo Bailey (Programmer), Noah Rigden (Designer)

Development Time: 5 Months


Media (Trailer edited/music composed by me)

More Info