BRENT VOS
Zaiva - BOSK
Zaiva is a narrative-driven pixel art game that sheds light on deforestation through interactions with forest animals.
Total Time: 5 months
Development Time: 1 month
Team: Koen Kribben, Karlijn Suurd, Fauve Vlegels, Jamie Yin & Brent Vos
Play the game HERE.
Zaiva was made to show children between 10-12 years old the consequences of deforestation. By doing research and testing with the target audience, we chose to make a narrative-driven game that primarily focuses on interacting with animals, and helping them with their problems related to deforestation. The game ends with a happy-ending, because we had observed that children are already constantly being reminded of a grim future, when it comes to climate change.
Contribution
During this project, I was the lead-developer. For this project I made various features, such as: Dialogue, Inventory, Movement, Progression & Quests.
​
I also contributed to the UX of the game, by making subtle animations and particle-effects, such as: Dialogue-popups, experience numbers & planting trees.
​
Asides from programming, I was greatly involved in the design phases of the project. This includes storytelling & game-design. But also concepting, researching & testing with the target audience.
Technical

On the left is an example of a quest made using Scriptable Objects (SO's). A quest has multiple phases, in this case it is divided between a "Collect" task and a "Deliver" task. ​​I was easily able to create and edit quests like this.
Looking back at it however, a direct reference to the scripts wasn't a good way of handling this system. I would've not included these direct references in the SO and either have these assigned in the inspector or create a seperate SO for NPCs to reference to. Or maybe use an ID.

On the left is the first ever reusable system that I've made. I originally made this event-system for the Forsaken Soul project. I then cleaned it up a bit, and made it simpler for the needs of this project. And it worked fairly well.
​
The example on the left shows how the player has to complete different conditions in order to start a dialogue.
​
At the time however, I didn't know that changing SO's in runtime wasn't a good idea. Looking back at it, I would've copied the data of the SO and use a separate data script to handle its runtime state.

On the left is a bit of code that I wrote for the rewards in the game. I wanted to show it, because this is shows how I structured my code at the time.​ I still usually create private editable parameters, and then have a public getter for other classes to access.​