Patrick of the Caribbean

Project Summary

Patrick, once a high ranking Captain, has been stripped of everything he once owned. Being the drunken mess he now is, he must find a way to get his Captain rank back. Without getting all too sober.

The last of the 2D games created at The Game Assembly, it allowed us to show our very best techniques and what we had learnt during the first year.
I was lucky to get randomised into a group of very talented people, and together we created a game we were very happy with.



  • GUI programmer and co-designer
  • Various smaller tasks

Dedicated to a single task

Being a total of 5 programmers, with a variety of interests, knowledge and experiences, I could try something which I hadn't before; to be dedicated to a single, larger task throughout the project.

I wanted to have a go at a GUI system that I had thought up a few weeks earlier, and so it became my task to program and co-design the UI together with the project main UI artist, Felix Lindahl.

Ease of use and understanding

For as long as I have written code, it has been important to me that anyone can understand how to use what I write, and to be able to understand at least the basics of how it functions. I try as best I can to keep the balance between these two, but if it has to be one or the other, ease of use is better. Creating the GUI system for Patrick I tried as best I could to keep this mentality, but I quickly learned that what I find easy to use may not be what others experience. Documentation helps, but might not be enough either.

In this case, taking inspiration from the way that .NET WinForms handle their GUI, through event delegates, turned out to be a good solution to handling everything we needed our UI to be able to. However, as no one else of the programmers had ever used delegation previously, the concept became hard to understand, and my C++ implementation did not help a whole lot. While working as well as I could possibly imagine, I agree that the solution was not easy to use or understand for someone without experience in the subject, and they did not dare to delve into the code to learn more.

Granted, while you cannot always make it obvious what is going on to everyone, in this case I feel I could have made it better. Had I redone the system, if I still found the system neccessary, I would have renamed a lot of methods and try to better explain the flow of the program.

Student awards

As voted by students who tested the game, out of 7 games

Least amount of bugs

1st Place

Best entertainment value

1st Place

Best Quality-level

1st Place

Best Gameplay

1st Place

Best Art

1st Place

Best Storytelling

1st Place

Best Overall

1st Place