Inspiration

I built the first version of this game with JavaFX in high school. I was inspired by games like Cookie Clicker and Universal Paperclips that I enjoyed playing, and I thought a simple clicker game would be a good place to start with learning game development.

What it does

At the moment, the game screen is just a sprite with a counter. Pressing the spacebar makes the counter go up. At the bottom of the screen is a (currently empty) container that holds "upgrades," which can be bought to increase the number by which the counter increases when the spacebar is pressed.

How I built it

I used the Bevy game engine, so everything is written in Rust. I wrote the code using the Helix editor, compiled from the command line, and made a placeholder sprite using GIMP. I didn't use any AI tools.

For each system I wanted to implement, I looked for a tutorial or example page that did something similar and filled in the gaps using official documentation.

Challenges I ran into

My biggest challenge was click handling and a GPU-specific bug with the background colors of UI components. Secondarily, finding Bevy's paths of least friction was fairly time-consuming.

Accomplishments that I'm proud of

This is my first time using a game engine (and it's a game engine that's in active development). Although I didn't implement much of a gameplay loop, I'm proud of what I was able to learn from the documentation and trial and error.

What I learned

The biggest thing I learned was the Entity-Component-System (ECS) architectural pattern. Thinking in this pattern was unfamiliar to me, mostly because it meant that entities didn't always "own" their data.

What's next for Isoclicker

I plan to continue working on this game in my free time, eventually adding more interesting game mechanics, a save system, and new art. It'll always be open source under the MIT license.

Built With

Share this project:

Updates