Untitled (6).png

Crop Benders

hi

 
Screen Shot 2021-08-26 at 2.39.59 PM.png

Crop Benders

Crop Benders is an agricultural simulation game that performs the basic functions of what a farmer would do. It has many settings such as difficulty level, seed type, and season to personalize the experience for the user. From the backend of the code (JavaFX, Java) to the UI graphics (Figma) of the game, this project is a holistic process from start to end of making a digital game. As a designer and developer, I worked on all aspects of the platform, from the game interfaces to actual coding and testing. In total there were six milestones in which each built upon one another and I was able to utilize my knowledge in design and computer science to create something that was fun to use.

Role: UI Designer and Back-End/Front-End Developer Timeline: Aug - Dec 2020

Team: Developers (3), Designer (1) Tools: Figma, JavaFX/Java, Video

Editing Software

Demo Video

Here is a walkthrough I did when presenting the final iteration of the project. In this stage of the project, the last farm upgrades were implemented and we reviewed our code for Object-Oriented Design principles. We reflected on our implementation choices and code smells that may have crept into our code and identified what went well and what could’ve gone better to avoid similar problems in the future. It goes through some of the important features of the game and shows it in action. The goal of this game is to sell as many crops as you can and make as much money as possible. To win this game you can get up to 10,000 coins.

Requirements:

IMPLEMENTATION:

  1. Farm expansion

    • Players are able to purchase additional plots.

    • Price increases based on current farm size.

    • Purchasing additional farm plots update the farm UI. New farm plots start as empty.

  2. Farm machinery

    • One farmer can only do so much on their own, so we introduced new farm machinery that can help them with their daily tasks.

    • A farmer is only able to harvest a certain number of plots per day.

      • Once they have reached the harvesting maximum for the day, any further

        attempts trigger a popup informing them that they’ve done all the

        harvesting that they can for the day.

      • The farmer can purchase a tractor at the market which will increase the maximum number of plots that can be harvested per day.

    • A farmer is only able to water a certain number of times per day.

      • Once they have reached the watering maximum for the day, any further attempts trigger a popup informing them that they’ve done all the watering they can for the day.

      • The farmer can purchase irrigation at the market which will increase the maximum number of times they can water per day.

  3. End game

    • If all the player’s crops die and they are out of money, they are taken to a game over screen.

    • The game over screen gives them the option of starting a new game.

SOME FEATURES:

  • Changing difficulty level, seed type, season

  • Making plots

  • Selling crops

  • Buying seeds and tractor

  • Harvest plants

  • Irrigation

  • Plant seeds

  • Buy pesticides

  • +More!

Testing

For all Milestones, we wrote JUnits to verify the functionality of the newly implemented features.


Reflection and Learnings

From this project, I learned the importance of teamwork and collaboration, especially during remote times. It was also my first experience working heavily with JavaFX and doing graphics with Java and learning to combine that with the UI was also a learning process.