A release of Bumper Crop is now up on the play store with the source code here. As I reported earlier this has been about converting a board game designed by farmers in rural India into a software version – partly to make it more easily accessible and partly to explore the possibilities and restrictions of the two mediums. It’s pretty much beta really still, as some of the cards behave differently to the board game version, and a few are not yet implemented – we need to work on that, but it is playable now, with 4 players at the same time.
The 3D and animation is done using the fluxus engine on android, and the game is written in tinyscheme. Here’s a snippet of the code for one of the board locations, I’ve been experimenting with a very declarative style lately:
;; description of location that allows you to fertilise your crops ;; the player has a choice of wheat/onion or potatoes (place 26 'fertilise '(wheat onion potato) ;; this function takes a player and a ;; selected choice and returns a new player (lambda (player choice) (if (player-has-item? player 'ox) ;; do we have an ox? ;; if so, a complete a free fertilise task if needed (if (player-check-crop-task player choice 'fertilise 0) (player-update-crop-task player choice 'fertilise) player) ;; otherwise it costs 100 Rs (if (player-check-crop-task player choice 'fertilise 100) (player-update-crop-task (player-add-money player -100) ;; remove money player choice 'fertilise) player))) (place-interface-crop)) ;; helper to make the interface
Testing the board game, which you can download on this page:
The game on tablet:
This is the game running on a phone: