In the early days of gaming, developers were constrained by the computer hardware. This forced them to create lightweight, low-resolution games that required the player to use their imagination to fill in the details. There was no lack of enthusiasm or excitement for video games, however, despite this perceived flaw.
As computer limitations lifted, game developers began chasing a never-ending goal of "realism" using more and more polygons, pixels, and gigabytes. Technology was truly advancing at an impressive pace.
We at Moondeer Games feel that something very special was lost in this transition.
We are a small, independent husband and wife team. Learn more over here. Our passion for playing video games still lies in the early style of video games. Impressive as triple-A titles with massive budgets and photo-realistic CGI may be, they always felt empty and hollow to us. Where was the magic? The spark? The love?
Eventually we came to the realization that the missing piece is our imagination. We require the player to suspend their disbelief, fill in the blanks, and come along with us for a ride into the unknown.
MoonDeer began in the most chaotic and natural way: we wanted to make a game, so we just started. Our first project, The Estate, was meant to be a spooky, text-based browser game, but we didn’t want to use someone else’s tools or engine. So we made our own.
At first, the game and engine were inseparable—all the content was hardcoded, like one giant
tangle of story and logic. Eventually, we realized we needed to separate the engine from the
content so we could reuse it for future games. That idea eventually became our core approach:
one unified engine, reusable for any game, with the game content living in a simple,
human-readable format we called gameFile.js
.
We designed the gameFile language to feel like taking notes in a text file. No boilerplate. No
weird syntax. Just type what you want to happen, and the engine interprets it. It's built around
a super simple and powerful system called flags—basically, named booleans that track the state
of the world and allow branching logic. We leaned heavily on flags in every game we've made. You
can even write them in natural language like has not eaten cake
, and the engine
parses it.
Once the unified engine started taking shape, I went on an absolute game-making spree. We had three engines running in parallel at one point, but I pulled everything together and started knocking out full games using the unified system. CJ was still working full-time then, so I was handling development mostly solo. I finished Where Did it Go? first (inspired by my childhood drawings), and CJ loved it. Back then, I'd have him test parts of the game as I built them, and I watched him play like a hawk—tracking what he noticed, what he missed, where he hesitated. I grilled him a lot afterward: did you understand that puzzle, what did you think was going to happen? I'd learn what was too obvious, too obscure, or just right. These playtests shaped my design intuition.
While he played, I'd keep a text file open and jot down all the bugs I noticed. Some I'd let slide until later, but others meant I had to pause the session to fix them on the spot. Then he'd reload the game and start over—usually many times in a row—which he swears he enjoyed.
Over time I've had to change less and less at the end. I think I've gotten enough experience to have a good instinct. These days, I usually keep the game mostly secret until it's finished, so I can get an accurate playthrough and see what lands and what doesn't. It's more fun that way, too—watching him go in totally blind, seeing his genuine reactions to twists or creepy moments. For example, I got to hear him make a noise I'd never heard before and probably never will again when he played UERU. That was the moment I knew I'd hit the exact tone I was aiming for.
Altogether, I ended up finishing 8 games in less than a year.
When CJ and I decided to actually release the games, we realized there was a whole second layer of work ahead: a website, payments, code protection, mobile compatibility, bugfixing, and UI polish... the stuff that isn't fun, but is absolutely necessary. We gave ourselves a Halloween deadline, partly because we had promised ourselves we'd release by Halloween the previous year and missed it.
So we crunched. Two months of 12-hour days.
I designed and built the MoonDeer website, wrote all the CSS (including making the games and site work well on desktop and mobile), and replayed every game to bug test. Since all the games share the same engine, one change could break something in a different game, so I tested in waves:
Play game 1, fix bugs
Play game 2, fix bugs
...
Repeat from game 1 again
Each round had fewer bugs until, miraculously, all 8 games ran on the same engine without issue. After playing through each game around 10 times, we had a very well-polished engine—but also a solemn vow to never put ourselves through that again. From now on, the engine will be forked for each new game going forward.
Meanwhile, CJ built a whole code obfuscation system to protect the engine and make sure the games couldn’t be easily copied or stolen.
MoonDeer is officially live. We've released a whole library of strange, atmospheric, story-driven games that we love, and we plan to keep making more. Our engine is polished, minimal, and powerful. It lets us build fast and stay focused on the stories we want to tell.
One day, we would like to create a community where other storytellers can create games of their own using our engine.
Until then, thanks for playing. We hope the games stick with you.
❤ Rachel and CJ
I'm stuck! How do you get past a certain point in the game?
Each game has a hint system accessible via the menu to guide you along in your quest. Feel free to send an email to help@moondeer.games for additional guidance.
I found a bug!
As much as we try to iron out all the kinks, sometimes bugs slip through. Please let us know at help@moondeer.games so we can get on it right away. Thanks!
What is your refund policy?
We will gladly refund your game purchase price for any reason, as long as you haven't played the game for more than 15 minutes. Just contact help@moondeer.games.Is it safe to put in my credit card on your website?
We do not store or have access to any of your payment or billing info. We use Square to process payments, which is a popular and trusted payment platform. All payment processing pages are secured via encryption, both on our end and via Square.
What are your terms of service?
When you purchase a game from us, you own it forever and are free to play them as many times and in whatever way you wish. As long as you have an internet connection, you can play all your games via this website.
What is your privacy policy?
We don't store or ask for any private data. We only save your game data so you can load your previous states, as well as assist us in fixing bugs that might arise.
The less revealed about this game, the better. Best experienced with headphones at night.
頑張って
A vacation with the girls takes a scary turn into the unknown.
Find yourself at a farm unsure of why you're there, in this 8-bit graphical puzzle adventure.
Have a relaxing stay in this iyashikei 8-bit point-and-click adventure.
Step into an isolated MS Paint world inspired by a 90's childhood in this text-input graphical puzzle adventure.
A dreamy exploration of liminal spaces.
A whimsical point-and-click adventure with a cartoon-sketch style.
Making your way through the woods turns out to be trickier than you imagined.
An unfortunate car breakdown lands you in a strange hotel. But there's more to this hotel than meets the eye...
Currently in production...
You arrive at a run-down Victorian mansion. Find out why you're there as numerous mysterious occurrences unfurl before you in this text-only puzzle adventure.
Currently in production...