Light Keeper is a top-down 2D survival and exploration game in which the player takes control of a crash-landed astronaut on an alien planet engulfed in darkness. They'll have to survive and repair their ship with the help of their trusty lantern and their AI companion Ducky.
In this project I took the role of a Programmer and managed our HacknPlan boards. I worked on:
Map loading/unloading logic
Character controls
UI
Some map elements
SFXs
Managed the social media
This game won the Best of 2nd CDI award at ENTI-UB's DemoDay 2022.
My Contributions
Map Loading/Unloading
The map loading and unloading was done by using colliders and asynchronously opening or closing the instanced levels when the player entered or exited them.
The necessary elements that had to be kept constantly loaded were part of another instanced level, which contained things such as the ores, some plants and places where the camera would transition to.
Player
The player's mining had multiple iterations, but the current one uses a dot product to find the nearest mineral to the player in the direction of the mouse cursor. Therefore, allowing the player to mine all the minerals within a radius, starting with the one they prefer.
UI
The dialogue boxes were made by reserving the space needed for the text, so that it wouldn't jump to the next line mid word, and showing them letter by letter. The system also paused on full stops and commas. Moreover, I made a system to trigger messages whenever using Unity's Event System.
Additionally, we placed the health & battery bars directly on top of the character so that the player would easily see them instead of having them on a corner of the screen.
HacknPlan Boards
Since we had a specified date for each delivery, we made a board for each one of them and added the tasks that we found necessary.
We used the Backlog as an ideas container and used priorities together with task types to better organize our workflow.
Project details
Engine: Unity
Time: 9 months half-time
Postmortem
We didn't yet know about agile methodologies; therefore, we used the boards as to-do lists for the different deliveries and the backlog as a list of ideas or concepts.
Moreover, the scope was too large for the time we had, so as a contingency, we focused on making the onboarding process and the core mechanics feel polished.
Also, we had to remake core mechanics due to design changes and received feedback.
Finally, we delivered a good vertical slice and learned a lot about Unity, good planning and organization.