I love videogames. They allow us to experience things otherwise out of reach. They stretch the edges of reality and tickle our imagination. They’re both an escape and a destination.
I’ve dabbled in videogame ideas for years and I’ve built a few small, web-based games just for fun.
A few weeks ago, I began building a game that had been on my mind for a while. Part of its mechanics are clearly inspired by the immensely successful Balatro. But my aim is not to make a masterpiece. I have some gripes with Balatro, and while thinking about how they could be solved, a different game format formed in my mind.
Here’s what it looks like now:
Gameplay & art style
Obviously, there is no art style yet. Aesthetics at this point are a distraction. As well as thematics. Right now, I’m validating the core gameplay loop, which is this:
Stack “chips” to make a big stack.
That’s all there is. Consumables affect the board and how effective stacking is, and suits play a major role as well. The “Make 🟩” button you see on the right is a consumable modifier the player can use to affect their selection.
Thematics & name
I have an idea for the theme of the game, but that, too, would be a distraction if I were to focus on it now. I believe that underneath every game’s story and art style lie very basic, mostly mathematical foundations. I have to get those right first.
Clearly, there is no name yet. Right now, the project folder is called chip-stack-v0.
Roadmap
The screenshot above is a very first test of the core gameplay that I built over a couple of hours. I’m now rebuilding it more robustly, but still without any design or thematics. I plan on hosting the coming version online so you people test it out.
As far as roadmaps go:
Validate core gameplay loop (ReactJS)
Build playable demo (ReactJS) & receive feedback
Optional: build playable mobile demo (React Native)
Develop thematics & art
Rebuild from ground up (probably in Unity)
Alpha release
More feedback
Cry
Release
Keeping it simple
For those of you familiar with code, this snippet will give you an idea of how rudimentary the entire thing currently is. I’m really not bothered with clean code and robust structure right now — I just want to make sure the thing is fun to play.
useEffect(() => {
const hasHighValue = chips.some(chip => chip.value >= winCondition)
if(moves === 0 && !hasHighValue) {
alert("You lose!")
gameOver()
}
}, [moves])