9 min read
Potion & Powder: The Making of a Dream

A small shop. A dangerous world. Rare ingredients, powerful potions, and the choice to sell them or use them to trick your friends.

Introduction

It was a little past midnight. Empty bottles of beer on the table. That’s when I looked at my best friend and asked:

“Wanna make a game together?”

Funny thing is, I don’t know why it took us so long to collaborate. Sacha and I have known each other since elementary school. He was always very creative, the guy with a crazy imagination and he followed his path to become a talented 3D artist. I was more drawn to systems, logic, and the craft of turning ideas into something real. Our paths diverged, but in some ways that made us more complementary. Looking back now, it feels like we were meant to do this all along.

My love for games goes way back. I still remember the day my dad gave me my first console, the PlayStation 1. I wasn’t very good at it back then, so most of the time I just sat by his side, watching him play. To me, it was pure magic. And as I grew older, I quickly got hooked, losing track of time, getting lost in stories and universes that had so much to offer. That sense of wonder never left me.

For as long as I can remember, I’ve carried a dream: one day, I would make a game of my own. I even tried once when I was younger but I was alone, inexperienced, and maybe a little naive. While I couldn’t finish the project at that time I still learned a lot.

Today, the time finally feels right. I have the experience, I have the vision, and most importantly, I’m no longer alone.

The Mountain Ahead

It’s been a little more than a year now that we’ve been working nights and weekends on Potion & Powder (known only as Project Potion internally until very recently). Without a doubt, it’s the hardest project I’ve ever taken on. The amount of skills we’ve had to pick up along the way is overwhelming at times. But every step forward, every small milestone we hit, comes with this rush of accomplishment that makes it worth it.

Keeping the motivation up can be a challenge at times. When you look at the whole mountain ahead, it can feel impossible. What helps us a lot is breaking the game down into smaller and smaller pieces. Then instead of staring at the peak, we just focus on the next small step. And each tiny feature we finish gives us that satisfying sense of progress, and that’s what keeps us moving.

Another trick that works for me quite well is the “30-minute rule”. Even on days I don’t feel like working, I sit down and tell myself: just do 30 minutes. Most of the time, once I get started, I go way past that. And if I really stop at 30 ? That’s fine too. Rest is part of the process. Burning out halfway through would be the worst outcome.

The Game

One of the first big challenges was figuring out what game we actually wanted to make. We agreed to build something together, but at the start, we had no clear direction. So we began researching. I drafted some ideas based on games and genres that were doing well at the time, but also on what we personally enjoy playing. I spent time trying to understand what makes a game work, what gives it a chance to stand out, and put those thoughts on paper.

From there, I shared the draft with Sacha, and we spent many nights refining it together. Bit by bit, the concept took shape until we reached a “final” version of the game. Or at least final enough to start building. So, what did we come up with ?

Potion & Powder is a potion shop management game where you start as a small business owner in a quiet town. You can run the shop on your own or team up with friends. But good management skills won’t be enough to grow your business, you’ll also need to venture into dangerous places to gather rare ingredients. Those potions you brew can then be sold, used to survive your journeys, or even turned into clever tricks against your friends.”

That’s the core idea. We also really wanted to make the process of making a potion engaging for the players, not just a “click & wait” type of process. That’s something we’ve spent a lot of time on.

Today we’re at a stage where many of those processes are integrated into the game, of course there will be a lot of polishing to do later on, but we’re very happy with the result so far.

At the moment, we’re focusing on expanding the shop management features. The goal is for the players to really feel their shop evolve over time, with options for automation and customization.

We’re also working on the town around the shop. We want it to feel alive, with its own artistic identity, and Sacha has been doing some amazing work on that front already.

I won’t go into too much detail yet, since there’s still a lot to build and plenty of things may change. But to keep track of our progress, I plan to share periodic devlogs as the project moves forward.

The Technicality

The next big challenge we faced was the learning curve.

We decided to use Unreal Engine 5, mostly because we wanted to learn it. I had no prior experience with it, and the first time I opened it was honestly overwhelming. Unreal is a beast. It can do so much, way more than just games, and with that comes a huge number of features. The documentation isn’t always the clearest either, which doesn’t make it easier. So I had to slowly and sometimes painfully learn to work with it through experimentation, reading a lot of user made documentation and forum posts, and asking a lot of questions to ChatGPT of course.

On top of that, we chose to start with Lyra, one sample project provided by Epic Games. At first, it sounded perfect: a solid base with best practices in mind and some gameplay systems already in place. The reality, though, is that Lyra is quite complex. As a beginner, it’s hard to navigate, and because it’s only a sample, a lot of things are left incomplete. To actually build on top of it, you really need to understand how it all works, which takes A LOT of time.

So, would I recommend taking the same path? It depends. Unreal Engine has a reputation for being opinionated, and I agree, the learning curve is quite steep. I’m still very far from mastering it myself. So first thing that I’ll say is that if you’re new to UE you’ll have to be patient and ready to put in the hours to learn it. But I honestly have no regret choosing it.

Then like any tool, it really comes down to the project. UE wouldn’t be my first choice for a 2D game, for example. But for a 3D multiplayer project like ours, it really feels like the right choice.

As for Lyra, I feel like it would be fine to use it as an experienced UE dev, to cherry pick the features that you want to integrate. But for beginners, I would only recommend it as a learning material. While I learned a lot from it I also feel like I could have won some time by doing some of the features by myself without the complexity it brings.

One of the best things about UE for us is how much it’s built with multiplayer in mind. Replication is relatively straightforward to set up, and the Gameplay Ability System has been a huge help, we rely on it a lot. That said, everything I have read about making a multiplayer game turned out to be true: it really makes everything so much more complex. Suddenly you’re thinking about network optimization, deciding what to replicate and when, choosing where to use RPCs, handling client-side prediction to avoid lag… UE makes many of these things easier, but it still forces you to be very disciplined about how and where you implement systems.

Another feature I really appreciate is Blueprints. It ties up with my love for low-code and no-code tools, and being able to prototype or build features visually with nodes instead of writing everything in C++ saves a lot of time. That said, I still rely on C++ for core systems, things like base classes or heavy logic that requires more complex math. For me, the mix of both worlds works perfectly.

I’ll stop here for this post. But like I wrote earlier, as we still have plenty of work and polishing to do I plan to write some devlogs in the future to keep track with the progress we make.

Until then, I’m going back to my 30-minute rule and open Unreal Engine right now!