Try the Egg Drop game
This game is a fun side project of building a game for web. It was created using a standard Vite React project.
This project was a demo for a talk, "Evolving Game Development with Genetic Algorithms" that was delivered at
- What The Stack - Skopje, North Macedonia, September 14, 2024 slides
- React Alicante - Alicante, Spain, September 21, 2024 slides | video
- CityJS Athens - Athens, Greece, November 29, 2024
The following is a list of the primary technologies and libraries being used used:
- React with TypeScript
- Konva for React and HTML5 Canvas components
- XState and Stately.ai for state machines
- Howler for sounds
- ChatGPT for character images
- Logoist 5 for vector graphics and animation alignment
- Texture Packer for sprite sheet creation
- Audacity for audio recording and editing
The game also includes a genetic algorithm to evolve the characteristics of the hens who drop eggs. The population is made up of the individual hens, each referred to as a "Hendividual". Their DNA is made up of characteristics related to their movement and egg laying capabilities.
There is a developer panel whose visibility can be toggled on/off in order to track the statistics related to the genetic algorithm.
Type cmd-d
on the keyboard to toggle the visibility of the Dev Panel.
THIS GAME IS STILL IN ACTIVE DEVELOPMENT
See the Issues for a list of possible upcoming features, fixes, and enhancements
Some notable omissions during development
- No instructions screen
- No end to the game
- The genetic algorithm is still being worked on
More coming soon...
yarn dev
yarn build
This game is a fun side project of building a game for web. It was created using a standard Vite React project.
It uses the following:
- React
- Konva
- XState
yarn dev
yarn build
yarn preview