Back to the previous page

My first school project – Sokoban – 2020:

In the first year, our programming project consisted of developing the game Sokoban. Sokoban is a puzzle game in which the player must move boxes through a maze and place them on specific target locations.

This was a group project in which I worked together with Elan Goens and Brian Luo, who were also classmates of mine. Normally, this project was intended for four students, but the fourth member dropped out shortly after the start. Since this was my first year, I had very little programming experience at the time, which made starting such a project a major challenge.

At the beginning, I mainly contributed to the analysis and design, as I did not yet have sufficient programming knowledge. After a few weeks, I started teaching myself programming concepts and quickly gained a lot of new skills. Through this group project, I truly learned the importance of teamwork. When collaboration is done well, it can lead to a strong final result.

For this project, all code was written in Java, using JavaFX for the user interface. The game boards and user data were stored in a MySQL database hosted by the school.

Personally, I believe we achieved a solid final result. I learned a great deal from this project and genuinely enjoyed working on it.


A short demonstration video:

Some screenshots

The application had to support multiple languages. This option could be selected when launching the application.


Login screen: an administrator could modify game boards, while a regular player could not.


The gameplay screen: the character could be moved using the arrow keys.


The level editor: by selecting coordinates and tile types, users could create their own game boards.


The level editor: to verify whether a board was valid, I implemented my own validation algorithm.