Game: Harvest
Play Game

Project Overview: Harvest is a farming simulator game where the player can earn money by harvesting planted crops or nearby trees. Watch out for bugs, as they will destroy ripe crops and reduce their value!
In this project I acted as team lead by:
- organizing sprint discussions
- establishing our Kanban board in Jira
- helping team members as necessary
- providing our Git standards
- testing the game manually and writing all unit tests
- reviewing all team member’s merge requests
Objectives
- Have a complete and fun main game loop for players.
- Collaborate with team members to guarantee code is well documented, developed, and tested.
- Rely on Godot game engine only as needed and instead focus on utilization of external data structures, OOP practices, and design patterns written in game scripts.
Features Developed by Me
- Farming Tiles:
- Players alter tile state (grass, dry dirt, wet dirt, planted) by clicking on tiles with their selected tool.
- Tile types inherit from a base tile class.
- All tiles are modelled by a dictionary with coordinate keys and tile type values, allowing the model to easily be updated given the OOP technical design of tile types.
- Farming Tools:
- Players select a tool which updates their cursor sprite, disallowing actions not permitted by that tool.
- Tools all inherit from a base class, defining their functionality further in their own implementation.
- Bug Spawning and Art:
- Bug infestations spawn at random intervals when crops are planted, forcing the player to closely monitor their farm so they can harvest as soon as possible before bugs ruin their crops.
- The bug art was created by me in PixilArt and animated using Godot’s animation interface.
- Audio Integration:
- Using Godot’s Autoload system, audio was added to the game to create a more immersive player experience.
Technology Stack
- Game Engine: Godot game engine
- Collaboration: Git
- Testing: GUT (Godot Unit Test)
- Project Management: Jira