Retail Clerk '89 started as a personal exercise to learn Sega Genesis programming. It's now a complete, albeit short, 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. In the extremely unlikely event you tried this demo, got stuck, and actually want to finish it - here's a spoiler-free walkthrough.
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 finished because it also addressed 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.
In terms of content, this demo would likely have an ESRB rating of E. I also intentionally tried to keep this free of any political commentary or offensive content. I realize we live in an era where everything is offensive to someone so I'm certain something I considered mundane will bother at least one person. The language and themes are definitely E-rated though.
To see how this idea evolved over time please see these Sega Genesis programming articles I wrote along the way.
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:
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. Maybe some future version or sequel will have more shoppers, probably not.
Map & status screen
Getting busted by the security guard
Drama at the Video Buffet store
Wandering the hallway
Progress (as of August 2019)
The rough status of game is:
Here's the release history:
Things this has been tested on:
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. Even though I consider the game done I'm happy to accept bug fixes or improvements that can be used in future games.
Why doesn't this game support interlace mode?
Mostly out of laziness I guess. The game breaks pretty badly when it's enabled, here's a screenshot for proof of that.