Education Project Highlights
Year 5: 2017/2018 - Woosh Judging System: Dissertation Project
After being inspired watching a new electronic judging interface being used at elite breaking competitions, I wanted to create a smaller scaled version for local dance competitions. I chose to take on this task for my dissertation project.
Traditionally, at breaking competitions, after two dancers have battled, the judges would point at who they thought won. The Kozen system changed this, by providing a huge graphical interface to display the results and also adding a small variation in the style of judging. This however is only available at the elite level events, in which there are only a handful.
My ambition was to create the same system on a small scale using tablets and a laptop, so that small events will be able to take advantage of the technology.
The technology I used to create this was as follows:
- Desktop Server
    I wrote the underlying functionality using a language called Erlang. I decided to use this to utilize the functional, concurrent features. I felt like this technology would be perfect for the judging system as there will be simultaneous judges connected via a local network. Using Erlang to handle the concurrent networking functionality and also the functionality of the voting system made completing the project extremely enjoyable.
For the graphical interface, I used C++ and the graphics library SFML. I connected the Erlang back-end to the graphical interface and that is what is displayed to the user.
- Tablet Device Client
    I wrote an Android application which the judges use to connect to the system. Once the judges connect, they will be notified of the next battle and they will then be able to vote. When they vote, the message will be sent to the desktop server, which will be displayed on the graphical interface for the audience to see.
- LAN
   I connected the server and the client to the via TCP/IP over a LAN network.
As part of my project, I tested the judging system at a live event. I got a lot of positive feedback, which lead me to create "Woosh Judging System 2.0".
Below is a short trailer I made for the system:

Year 4: 2016/17 - Universus: Group Assignment
As a group, we had to develop a Playstation 4 game using PhyreEngine at our university. We chose to make a space based game where you have to defend a planet from an asteroid attack, while trying to escape.
I took on the role of the network developer and I implemented a LAN multiplayer mode. In order to implement this, I firstly had to teach myself the basics of networking as it is not something that was part of the course. Then I learnt the networking library built for PS4, and then wrote an API around that library to implement in the game.
Simultaneously, the team built the game and we merged the networking into the game smoothly. 
To develop this we used C++ with the PhyreEngine and Playstation 4 development kit.
Sadly, my university said I am unable to publish my source code.
Here are some images of the game:

Game trailer coming soon!

Year 3: SN Systems Ltd/Sony Interactive Entertainment Europe: Placement Year
This was a huge year of development for myself as I was put into the work environment for the first time. I was placed within 3 different teams - the test team, distributed builds team and the linker team.
In the test team, I was testing products for the latest releases, identifying and fixing broken tests, identifying bugs, testing and comparing build systems. In the distributed builds team, I was creating a distributed builds system test tool, writing scripts to integrate the tool into current tests. Within the linker team, I spent my time working with Windows and Linux.
During my time within the distributed builds team, I was introduced to the programming language Erlang, which has completely shifted my mindset with regards to creating software. Erlang is now my favorite programming language, the same language I used to develop the "Woosh Judging System". I was introduced to system and unit testing techniques for the first time, showing me the importance of a thorough test plan. Was given responsibility and creative control to create a programming tool for my team, which was successfully used and integrated into the team's development process. Working within a professional team provided me with the experience and knowledge on agile development and most importantly, clear communication between the team members. Being forced to learn new things relatively quickly has helped streamline and strengthen my ability to learn fast under pressure.
Year 2: 2014/2015 - Angle of Attack: Group Assignment
As part of a group assignment during my second year, I created a mechanical engineering game called "Angle of Attack". This game is a simulation of plane lift and drag using different wing angles. The objective of the game is to solve different mechanical engineering problems.
We created this for the mechanical engineering department at our university.
I was the lead programmer on this group project
We used C++ with SFML to create this project
Here is the trailer below:
Year 1: 2013/14 - Kurushi: Group Assignment
As part of my main first year assignment, I created a replication of the game "Kurushi" from Playstation 1, using Unity, for PC. This was a group assignment, which we created using C# and Unity, winning the Creative Spark award for that project.
As a memorial to my phenomenal time at university, I made this video recapping my 5 years at university, from another perspective. Breaking was an extremely significant part of my university experience, and here is a small snippet of how it made me grow!

You may also like

Back to Top