July 2021: Farm Plots [CLOSED]

Dates

Start Date: July 12, 2021
Due Date: July 31, 2021 (by end of day, Pacific Time)

Payment

Each entrant is eligible for a payment of up to $500, with a minimum of $200 if the entry meets the minimum standards. The exact payment amount for each entrant will be based on the quality of the entrant’s work.

Description

The goal of this Challenge is to build a stand alone farm plot system which allows developers to quickly add farming features to their game. The basic idea is that players plant crops, wait for them to grow, and then harvest them. Good examples of this can be found in the Farmer’s Market game by Manticore, which allows players to plant, grow, and harvest crops.

Features

Implement as many of these features as possible.

Plot Area
The plot area defines where a crop can be grown. This should be flexible to allow creators to set the size and location of individual plot areas. For example, a large field may hold a large number of plots, while a small garden next to a house may only hold a few plots.

The plot area should be highlighted in some manner when the player walks onto the plot to indicate that it is an active farm plot.

Crops
Different types of crops should be available to grow. Be sure to make it easy for creators to add new types of crops. Each crop has an associated cost, and time to grow. These variables should be easily editable by the creator.

Planting
A player should be able to choose which crop to plant when standing upon an empty plot. The cost and time to grow each crop should be shown. After choosing the crop, the player interacts with the appropriate UI to plant the crop. You may want to include a tool and animation in this phase, such as a shovel and digging motion.

Growing
While a plant is growing, the plot should show the plant in its various growth stages (i.e. sprout, mid, fully grown). When the player walks onto the plot, the UI should show information about the crop, as well as the time remaining. Also include the option to instantly finish the growth immediately, which can be purchased with a separate currency, such as gems.

Harvesting
Once the plant is finished growing, the plot should show the plant fully grown, as well as some callout visual effects, like sparkles, to show the plant is done growing and ready to harvest. When the player walks onto the plot, the UI should show information about the crop, as well as that it is ready to harvest. The player then interacts with the appropriate UI to harvest the crop. Again, you may want to show a tool and animation for this phase. Do not allow the plant to be harvested if the storage is full.

Storage
There should be limited storage capacity to store the harvested crops. The storage capacity should start out small, and be upgradeable until the maximum storage value is reached. For example, if the current storage capacity is 20, then an upgrade could add 10 slots for a certain amount of coins. The creator should be able to easily set the cost and capacity of each upgrade level.

The storage UI should show the type and quantity of crops stored, as well as the current and maximum storage capacity. Upgrade options should show the next level of capacity, as well as the cost of the upgrade. Once the maximum storage capacity is reached, no further upgrades should be allowed.

Notifications
Notifications should be shown when a crop has finished growing. This could be in the form of a notification banner, or a badge, or both.

Persistence
The system should have persistence so that the farm plots maintain the proper state between play sessions. For example, if a player plants some crops and then logs off, then later when the player logs back into the game, the farm plots should have “grown” accordingly.

Helpful Code

  • You are permitted to use the existing farm plot system in Farmer’s Market as a starting point or reference. Your system does not have to be like this. You can change and improve the farm plot system as you see fit.

  • Timer code is located in CC and is named META Long Term Timers by TeamMETA.

Inspiration

Consider checking out other farming games on PC or mobile to get ideas for this project. Games can be viewed on Twitch or YouTube to see how they are played.

Notes

  • Include a readme file that describes how to use your content. Make it as easy as possible for other developers to understand how to implement your system.

  • Consider using Lua Modules so that developers can easily require and call the module functions.

  • Scripts should use clean, readable code with extensive comments.

  • Custom properties should include ToolTip descriptions (right click and choose Set Custom Property ToolTip).

  • Please review the content best practices.

Requirements

  • Build a stand alone farm plot system with as many of the features above as possible.

  • Include at least two types of crops.

Discord

For updates and questions, please visit the #challenge-board channel on the Core VIP Discord server.


HOW TO APPLY

How To Apply

For instructions on how to apply, please visit the Application Form post.


SUBMITTING YOUR WORK

Submitting Your Work

  • Your application acceptance message includes instructions on how to submit your work.
  • Entrants must submit their work by the deadline listed in the Challenge in order to be considered for payment.
  • Failure to submit your work on time may affect your eligibility for future Challenges.

MORE INFORMATION

More Information

For detailed information about the rules, judging criteria, and best practices please visit the Challenge Board Info & Rules post.