- Demo: https://jeremyckahn.github.io/farmhand/
- Source code: https://github.com/jeremyckahn/farmhand
For as long as I can remember, I've always hide a hobby side project. For a long time I focused on open source animation tools, but more recently I've shifted my focus back to my true passion: Game development.
I've taken what I've learned as an open source web developer and applied it to an idea that I've been interested in for years.
- Overview of Farmhand
- Farmhand is an open source farming game built with web technologies
- It's been in development for over a year
- It is being built with almost entirely open source tools
- Where the idea came from
- Inspired by Drug Wars on the TI-83 and Harvest Moon/Stardew Valley
- I wanted to combine the arbitrage/stock market mechanics of Drug Wars and the agricultural mechanics of HM/SV
- Goals of the project
- To make the game that I want to play in the most accessible format
- To develop my programming and design skills
- To empower users to modify the game to their liking and ultimately make an even more fun game
- To learn how to ship an app to mobile app stores and monetize it
- To scratch a longtime creative itch
- Tech overview and points of interest
- React as a game engine
- Move all game state to the top-level component and propagate it with the Context API
- Preferring bare
setState
to a state manager like Redux - A better toolchain for a brighter future:
- Making use of a few of my new best friends:
- React as a game engine
- Development methodology
- Optimizing for a mix of efficiency and stability:
- "TDD-ish"
- Aggressive simplicity/YAGNI
- In-app dev tools
- Optimizing for a mix of efficiency and stability:
- Why is open source right for this project?
- Open source can work just as well for games as it can for "regular" software.
- Open source !== free
- Examples of open source games:
- Empower fans of the game:
- Open the door for mods and enhancements
- Enable players to come up with optimal strategies
- Help players learn to code