Retail Clerk '89 is a personal project to learn Sega Genesis programming, it might even turn into a real game someday. 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.
Retail Clerk '89 is, or will be, an adventure game that pays tribute to late 80s mall culture. It also pays tribute to Sega Genesis RPGs from 1989, at least stylistically.
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. Being a solo project by someone who's never written a 16-bit game it's not nearly as polished as the aforementioned games. If it had a box the tagline would be "It's like if Chrono Trigger was set in an 80s shopping mall and poorly executed!"
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 so far:
As the demo story expands there will be at least a couple more shoppers in the mix.
Progress (as of May 2019)
The rough status of game is:
Basic game engine - I'd say 90% complete because it has all the features I planned. It's missing saving and loading. The demo isn't very long so there's always a chance I'll scrap that.
Scene design - 100% complete
NPC design - 90% complete
Game script - roughly 87.5% complete, there are eight days planned in the story and seven are complete.
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 versions 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 this is the only thing I guarantee it will work on as expected.
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’s pretty much all this demo does anyway.
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 have degraded music.
MD.emu: There's an unusually long pause before the title screen loads. Everything works fine after that. It's safe to assume all other derivatives of Genesis Plus have this problem.
This applies to the most recent release, previous releases are only guaranteed to run on Gens on Linux.
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.
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.