Retail Clerk '89 started as a personal exercise to learn Sega Genesis programming. It's now a nearly finished game demo. Although originally inspired by Phantasy Star II and III it morphed into more of an interactive fiction / casual adventure game. It's not especially fun but has a complete story.
It is written in 68000 assembly language and is open source under The MIT License. Some third-party code is under different licenses. For the latest source code pay a visit to the GitHub project page. For the latest release hop on over to the releases page.
This idea dates back to 1995. For a long time I've wanted to write an adventure game and have a pile of unfinished projects going as far back as the Apple ][ to prove it. This one though I plan to finish because it also addresses another longtime goal - learning how to program an old console game. The 16-bit era is my favorite and 68000 assembly looked pretty straightforward so I went with the Genesis.
The play style of Retail Clerk '89 is inspired by 16-bit RPGs like Phantasy Star II-IV, Final Fantasy IV-VI, Chrono Trigger, and Shadowrun. There are no character statistics or leveling so it's not an RPG. In terms of genre, it's whatever genre To the Moon is in. While developing this I played through most of Falcom's Kiseki series and there are some obvious story influences from it. Being a solo project by someone who's never written a 16-bit game it's not nearly as polished as the aforementioned games.
Retail Clerk '89 is set in Bayhurst Mall which is loosely based off malls I either worked in or frequented. It started as a mini mall in the 70s and slowly expanded through the 80s. It has two anchor locations, one is a trendy new sporting goods store that opened recently. The other is vacant due to an unexplained fire over the summer that destroyed most of the interior. Yes, that is part of the plot and not me being too lazy to design another large store.
My earliest plans had the mall being roughly 15x the size of Mall of America so clearly I cut it down to something I can feasibly build. If this game actually works out then maybe the mall will undergo an expansion in later years.
Here's how it looks in screenshot form:
Here are the main characters in the story:
From left to right they are:
I'm calling him D.B. instead of giving him a full name. There's a backstory to that which might make it into the final game. This is his first week working at the mall.
Dani - Older sister of the previous character, stuck driving him home every night. She's been working at the mall for four years now and is planning to move after finishing her last semester of junior college. She and D.B. are the two playable characters.
Grunberg - An NPC but an important one. He's the manager of the Video Buffet store where D.B. works and is responsible for handing out assignments.
Every mall needs a cast of employees:
They all have names and shallow backstories, I won't try to cover them all here.
The mall is a little light on shoppers:
The story centers more around the interaction between employees. I don't think I'll add many more shoppers.
Progress (as of July 2019)
The rough status of game is:
Basic game engine - 100% complete
Scene design - 100% complete
NPC design - 100% complete
Game script - 100% complete... unless I make some last minute additions
Testing & debugging - I could go with any number between 1% and 99%, I feel like it's closer to 99% but maybe I find some catastrophic bug that takes a month to fix
This relative complete lack of progress isn't stopping me from releasing periodic builds. Here's the approximate roadmap:
Real Sega Genesis hardware: The regular builds work just fine, the builds for AtGames devices do not work. Builds prior to the February 2019 unstable demo do not work.
Gens r7 on Linux: This is what I use for all development and testing so all builds have to work on here first before I try anything else.
Gens 2.12b on Windows: Works fine. I haven’t played the entire demo start to finish but it starts, the controls work, and music plays. That pretty much covers all the things that might crash.
BlastEm 0.5.1: Compatible, starting with the "Mall Walker Demo" and later builds. Earlier builds crash before the title screen loads.
Genecyst X: Compatible, same notes as Gens Gens 2.12b on Windows.
AtGames portable Genesis clone (aka Firecore): The builds for AtGames devices are fully functional. It took a lot of debugging to get there. This means it's likely to work on other AtGames clones but no guarantees. The versions for actual Genesis hardware will play but have degraded music.
MD.emu: The regular builds work just fine. The builds for AtGames devices have an unusually long pause before the title screen loads. Everything works after that. It's safe to assume other derivatives of Genesis Plus have this problem. Just don't use the AtGames builds except on their devices.
This applies to the most recent release, previous releases are only guaranteed to run on Gens on Linux. You probably aren't downloading those anyway.
Never Asked Questions (NAQ)
I'd like to take a moment to answer some questions nobody asked:
When will this be on Kickstarter?
Never. I've been doing software development professionally since 1998. Every company I've worked at had rules against moonlighting. They've all been fine with employees contributing to non-competitive non-commercial open source projects in their spare time though. Everything I do on this site fits that criteria and this project won't be the exception. I have no plans to ever make this into a commercial project. Also, if I were to crowdfund a game then suddenly people would have expectations that I actually deliver something decent.
Can I contribute to this project?
Of course, that's why the source is available on Github. In particular I'd appreciate help in these areas:
Testing & debugging, which I know is a painful job.
Music composition. I'd like to have some kind of ambient background music for when the player is exporing the mall, think Breath of the Wild but more mall-y. No progamming is required for this because .XM files can be converted to work with the Echo sound engine.