A Homebrew Draws Near!
A blog series by @Scrobins
Episode 39: Lion Mancala
The greatest gift to our community is the emergence of a new developer with fresh ideas, bringing games to our consoles that make us exclaim “I can’t believe we’re only just now getting a game about X!” I keep an eye out across the internet in order to stay on top of homebrew news, trying to stay apprised of progress to games I'm aware of, and learn about new games as well as people who may mention the arrival of friends onto the scene. And I cast a pretty wide net, though I’m hardly the be-all and end-all of what’s out there. But there’s always the opportunity for a surprise, one where I learn about a developer fully-formed, game ready for purchase, and in-demand. I’m just learning they exist and already I have to worry about missing out; good for them! So for this December holiday post, I want to share this talented dev and her game with you, because she is a holiday treat.
For this entry, I’m covering Lion Mancala, a board game adaption for the NES by Shallow Enigma. As of the time of the writing, the game is available to download, and physical copies of the game can be purchased from their itch.io page here.
The Physical Edition CIB
Lion Mancala emerged from its den with a gameplay demo shared on YouTube on August 26, 2023. Tabytha then posted on a number of sites, including NESdev, AtariAge, and Reddit on August 31, 2023 regarding the game’s initial release on itch.io. The teaser post also noted the existence of the first CIB physical copy, hinting at the production of more copies, should demand present itself. Well, demand certainly manifested, thanks to Tabytha’s promotional efforts and subsequent word of mouth, as she produced several batches of the game to keep up with continuing demand.
Screenshot from Lion Mancala
Lion Mancala is a video game adaptation of a two-player turn-based strategy board game, While this cartridge brings us kalah, regarded as the most popular modern variant, which gained prominence in the U.S. in the 1940s and which is derived from the congkak variant of the game popular in Southeast Asia. Derived from the Arabic root word “naqala,” which translates to “to move,” mancala is among the oldest known games still widely played today. Evidence of the game has been found as far afield as Eastern Europe, East Africa, and Southeast Asia, and as far back in time as Ancient Egypt and Neolithic dwellings in Jordan circa 5,870 B.C.
Controls are simple, the challenge lies in your strategy! Use the D-pad to move the hand cursor, and the A-button to select. The goal is to place as many seeds (small dots) as you can into your store (the large pit on the right edge of the game board (Player 2’s store is the large pit on the left edge of the board)). Each move consists of “sowing,” choosing one of the houses (one of the six smaller pits on your side of the board: Player 1’s houses are along the bottom, while Player 2’s houses are along the top of the board), taking all the seeds of the selected house, the “sowing” by placing one seed into each pit (house or store) counterclockwise to the originally selected house until you have sown all of the seeds (while sowing includes placing seeds into your opponent’s houses, you do not sow seeds into their store). You receive an extra turn if the last seed sown lands in your store. Additionally, you can capture your opponent’s seeds if the last seed sown lands into one of your empty houses and is directly across from an opponent house which contains seeds. If there are any seeds in that opponent house, they are captured and placed into your store, along with your last sowed seed. The game ends when one player can no longer move because all of their houses are empty. Whoever has the most seeds in their store wins.
Villagers playing mancala in Nigeria
Lion Mancala is an easy-to-learn strategy game that was a new experience for me. Board games are not a common genre in video games, but are a good way to satisfy fans looking to have a multiplayer experience but cannot field additional flesh and blood opponents. Given its ancient roots, playing mancala also felt like connecting with history; I can only hope this heralds more ports of old historically significant games such as faro. Playing Lion Mancala is straightforward, and I felt the manual effectively explained the rules so even a novice like me could jump in and survive. The various strategies, difficulty levels, and the option to select which player makes the first move ensure an endlessly replayable game.
The game’s graphics feel like you’re playing in a casino with an understated elegance: the game board is functional and easy to distinguish all of its component parts, but there are enough flourishes (especially at the edges) that communicate a beauty to your environment. The title screen has a fun theme that invites you to play, like a carnival barker luring you into the tent. But once in the midst of the game, you are met with silence so you can focus on your strategy (or perhaps some trash talking).
I decided to venture out into the jungle and interview the developer of Lion Mancala, and learn how one of the world’s oldest games made its way to our favorite gaming console…
-Before we dive into Lion Mancala, I would love to talk about your background. What first inspired you to become a homebrew game developer? What is your origin story? What is the story behind the name Shallow Enigma?
I have been programming since I was 12, when my dad helped me to buy my first computer, a Commodore VIC-20. He agreed to pay for half if I could come up with the other half. Well, I finally had enough to get the machine and a tape unit, and off we went. I had literally nothing more saved to get games or anything else. I was working part time playing the organ, and soon had enough money to buy some games, but my dad always claimed he was too busy to take me. Eventually, with nothing else to do, I learned enough Basic to program a game (a clone of Dragonfire for the Atari 2600). Once he saw I had programmed something, he suddenly had plenty of time to take me back to the store lol. I've been programming ever since. I love how my dad handled that situation.
I was a professional programmer for decades, mainly working in the financial industry towards the end. One thing I worked on that some people may remember was LimeWire. I mostly worked for another part of Lime though, Lime Brokerage, in Manhattan. We shared the same building. Thru the years, I programmed professionally in FORTRAN, C, C++, Smalltalk, Java and C#.
Most programmers have a list of things they'd like to program one day. One of those items for me was an asteroids clone, which I did when smartphones were first getting started. Another was to program the AI for a board game, and now I can check that off my list as well! The closest I had come was writing small c++ programs to solve the chess puzzles in 'The Seventh Guest' back in the day.
I'm retired now, but needed to work a bit to help with medical costs. Shallow Enigma provides me with the opportunity to work 1-2 days a week on something I truly enjoy without any of it becoming too
I chose the name Shallow Enigma because I find it slightly humorous, and I like being able to abbreviate my company name as ShE!
Screenshot from Dragonfire for the Atari 2600
-Who are your influences? And whose work are you watching closely now?
Technically, I am highly influenced by the designers of the Unix operating system and design philosophy, including the C language, specifically Dennis Ritchie, Ken Thompson and Brian Kernighan. Also the object-oriented pioneers behind the Smalltalk language, especially Alan Kay and Dan Ingalls. Kent Beck has been very influential as well, along with Charles Petzold and his ability to explain complex things
simply and well.
Musically, by J.S. Bach, Jimmy Smith, Jimmy Page and Rush.
I like big chunky pixels I can SEE, lol. I will always love 8-bit computing.
-How would you describe your design aesthetic, and what to you are hallmarks of a game designed by you?
I try to keep things relatively simple and elegant, with a consistent design, aesthetic and user interface. I tend to like to make games authentic to the time period a console was first designed and released.
-What tools do you use to code and create?
For LION Mancala, I used the C programming language, cc65, emacs, bash, neslib, Mesen, yychar, FamiTracker, NES Assets Workshop, paint.net, Swift Publisher 5, Windows 10/11, Ubuntu Linux, Mac OS 13, Coke Zero and MOD Pizza!
-What encouraged you to make games for the NES?
My love for the 8-bit era, the availability of tools and parts to make new cartridges, and the relatively large amount of learning material available on the net. I also enjoy playing games on my NES!
-As a woman in the gaming and development scenes, what are your observations on diversity in these communities?
Well, those scenes do seem to be overwhelmingly male, don't they? lol. That said, the needed tools are free or cheap and everything necessary can be learned online. homebrew game development is accessible to most everyone who might enjoy doing it.
-As you note on your itch.io page, Mancala is the world’s oldest continually played board game, with origins tracing to 3rd Century Ancient Egypt. What about this game resonates so strongly with you? What inspired you to port this game to the NES, and what is the significance of adding the lion?
First of all, that MIGHT be true, lol. Others point towards Go for that honor. All of the marketing is intentionally a bit over the top and tongue in cheek, to be consistent with what I perceive as being
typical for the 1980's. I selected mancala because I like it, and there wasn't already an implementation out there for the NES, unlike say chess, which has at least 2 I'm aware of.
Mancala is heavily associated with the continent of Africa, and so that seemed like an appropriate esthetic theme for the entire package. The lion fits with that, and I just really liked the sound of 'LION
-Any tips for players struggling to win at Mancala?
Take the first move, as it conveys a huge advantage. Try to end turns putting a seed into your store, as that immediately gives you another free turn. Play against the computer at the easiest AI setting
(novice) and turn up the AI as you win games. Soon, if you are careful you should be able to beat the computer every time if you have the first move.
If you want to see if you are really better than the computer at a given AI level, play 2 games taking turns going first. Then, and add up the score from both games to determine the overall winner.
-What elements are crucial for a fun board game? What other board games do you enjoy?
For me, I tend to like classic style board games that you could write all the rules for on an index card. Easy to learn, hard to master. I also enjoy backgammon, Othello, checkers, Hive and Quoridor.
A Quoridor game board
-What aspects of Lion Mancala are you most proud of?
How well the AI plays on the NES, the animation of the moves, the intro screen music, and how I successfully avoided adding too many options to the game!
-What new challenges or surprises surfaced in developing Lion Mancala? What lessons did you learn that you would like to share with the people who aspire to follow in your footsteps?
I was surprised at how much support is out there for making NES homebrew! From the documentation, to the cc65 compiler, neslib, nesdoug tutorials, FamiTracker for music, etc. and the easy availability of parts for making physical cartridges, it was amazing to see how much has already been done to make this as easy as possible.
This is the first time I've written specifically 8-bit chip tune music, and it was fun!
Most programmers already know this, but I suggest building something complex by making something very simple that works, that touches on all the main areas of risk, and iterating and evolving that simple
thing until you are done.
And knowing when to stop is important. In a sense, a game is like other kinds of art, in that it always feels like you could add more, but ultimately it has to be "abandoned" lol.
And I think it's good to keep in mind there are 2 ways to improve anything - to add to it, or take away from it. More is not always better
If you'd like to learn to program in C, I recommend reading and working your way thru the exercises in 'The C Programming Language', by Kernighan and Ritchie.
-Are there any other projects you have lined up on the horizon, NES, or otherwise? Any plans to publish more board games? Any dream projects?
I plan on releasing a version of checkers for the NES, and then a game based on the gameplay of Quoridor. After that I want to port everything over to the Atari 7800, which may be a challenge as many of the tools we have available for NES homebrew are not available for the 7800, or if they are, I'm not yet aware of them. Beyond that, I may work on an original 80's arcade style action game at some point.
-Are there any homebrew games in development that you are excited to play?
I admire the achievements of games like Micro Mages, and From Below, but I tend to spend most of my time programming, or playing games released in the 80's.
-I really appreciate you taking the time to talk with me and share your experiences. Is there anything else you would like to tell readers and fans?
I would like to offer thanks to all who made my game possible, especially Shiru for the neslib game library, and nesdoug for the excellent tutorial blog posts. On the hardware side, Mouse Bite Labs
and Muramasa Entertainment for their excellent PCBs, and akirzz for the software used to replace the CIC lockout chip with a modern equivalent.
My partner Donna has been very supportive, and she along with my friend Lorelai have supplied useful comments during development. Thank you!
And to everyone who has bought a copy, THANK YOU SO MUCH!
Thanks for tuning in to this latest episode of the series that gets deep into the weeds of your favorite new homebrews. What are your thoughts on Lion Mancala and its developer? What homebrews are you hoping to find under your Christmas tree? Perhaps you’ll see it here soon when…A Homebrew Draws Near! Command?