project-image

The New 8-bit Heroes: New NES game and creation documentary

Created by Joe Granato

Latest Updates from Our Project:

The Strange Lineage of *Mystic Searches*...
over 9 years ago – Sun, Jul 10, 2016 at 04:51:29 PM

Everyone who is reading this is most likely aware that the game being created for The New 8-bit Heroes is entitled Mystic Searches.  I wanted to take a moment to share an anecdote that I think is ironic and validating about Mystic Searches' realization.  I don't want to go too deep...let's save that for the documentary.  But I thought this was neat and ironic and I wanted to share.

i first concocted the base concepts for Mystic Searches circa 1987, and ended up 'designing a game' in the summer of 1988.  A neighborhood friend and I spent our summer playing those formative NES games like Zelda, Contra, Megaman, Castlevania, but also sketching concepts for our own game.  If you've been following the project, this is all information you probably know.  But what you may not know is really what happened to the game-world in the time between then and now.

In 1992 (I remember Wayne's World being all the rage, for context), I wrote my first piece of *long fiction*.  I was twelve, and I adapted some of the ideas we'd had for Mystic Searches into a story for a class project.  This was around the same time that I was transitioning from reading RL Stine and Christopher Pike books to Stephen King and Tolkien.  I was compelled to tell my own narrative adventure, and I went a bit overboard.  Tucked away in the corner of my bedroom in my snowy pocket of Central New York, I etched out a *60 page* fantasy story that, in retrospect, had a flavor of steampunk long before steampunk was a thing.  The English teacher gave me accolades for creating the story, and even had me read it aloud to the class, chapter at a time, on Friday afternoons.  Predictably, this did not bode well for the growing nerd-stigma that followed me, but a few friends really latched on to this world, and they kept my interest in it and passion for it alive.

A few years later I was in my sophomore year of high school.  It was the mid-nineties. My passion for video games had pretty much completely yielded to my interest in music.  I'd been able to convert my nerd-energy to 'alternative'...whatever that meant, but it was a cultural shift to where Trek and RennFests were appreciated rather than laughed at.  Grunge was in full effect, and I'd say it couldn't have been too long after Kurt Cobain's death that I made the decision to redraft *Mystic Searches*...to update it to slightly more mature sensibilities.  Every stormy day that summer, I plugged away at morphing the iconography from a silly child's fantasy story to something more compelling.  My personal world experience had grown, and I started to work in some heavy handed metaphors, some characters based on friends, undertones of unrequited teenage love...and by 16, I had written my first novel, Mystic Searches.

A few years later I went away to college.  Three things happened in relatively quick succession.  First, the computer that stored the entire existing digital copy of Mystic Searches crashed.  Only one copy remained...a hard copy.  Two, I'd matured to a level where I considered the Mystic Searches novel juvenile and self indulgent...so in a fit of alcohol fueled, introspective vulnerability, I burned the last existing manuscript in a campfire at Darien Lake, destroying all but a few pages.  Three, I began taking a collegiate level fiction writing course with the enigmatic Greg Seagle, whose approach and guidance completely changed my perception of writing and what it could be.  

While I was neck deep in reading King's The Dark Tower series, I began yet again to reconstruct Mystic Searches, though the name carried almost no relevance anymore.  At 19 years old, in 1999 (which are both truly ironic dates for anyone who knows the Dark Tower series) I wrote a draft of a few chapters for a story called Beyond the Veil.  They were disconnected stories that sort of fit in this Twilight Zone like universe, but each carried familiar threads of Mystic Searches lore despite no longer resembling proper fantasy.

In 2004, I wrote what I consider to be my first work as an actual writer.  It was the autumn after I'd toured the country performing with the band Eat Your Neighbors, and three months of self reflection on long drives all over the country, surrounded every day by my creative brothers-in-music, sharpened my ambition to a fine point.  

What spilled out of me upon returning home was a strange fiction story set in a fantastic world (not traditional fantasy, but certainly a far cry from reality).  It was a redux to Beyond the Veil, and I was very proud of it.  In fact, to this day, I consider it as strong as I did then.   I had finally sort of grew into my own proverbial shoes.  I'd found my voice as a writer.  Unfortunately, I never got farther than the first 80 pages or so.  It was shelved, and I never got back to it with that same level of intensity.  Occasionally I'd pick at it, but honestly it was a snapshot of a certain place and time in my life, and I just could never recapture it to finish the story to my satisfaction. 

Years passed.  I became a "grown up", for all intents and purposes.  In 2011, life went through a major shake up, and it led me to a new environment.  I spent a lot of time writing during that period, and the nature of this story's purpose in my life became very evident to me.  In the fall of the next year, understanding what this story was really about on an emotional level for me, I set out to truly write Beyond the Veil.  

I finished the novel, or at least its first full draft, on February 4th, 2014.

Four months later, I returned to where the adventure started, dug up the 1988 concepts for an 8 year old's fantasy tale Mystic Searches, and began working on The New 8-bit Heroes.  

It's fun to see the blossomed narrative of Beyond the Veil that was seeded by an 8 year old kid in Mystic Searches, and how we've retconned this iteration of Mystic Searches to tie in some of the iconography and ideas that ended up making it into the various novel drafts throughout the years.

And just to add a bit of irony...I had a very particular soundtrack to writing the novel of Beyond the Veil.  On repeat during pretty much every writing session was a very obscure album by Folk Implosion titled simply "The New Folk Implosion".  Some may remember Folk Implosion as that band from the 90's that did the song Natural One.  Lou Barlow, frontman, put out an album called The New Folk Implosion in 2003, and it was critically panned, not received well by audiences, and disregarded by his label...and it became one of my favorite albums; personal, vulnerable, passionate...a unique sonic landscape that felt introspective and cynical and summed up my own creative journey perfectly.

Lou Barlow has, in turn, given permission to use songs from this album in the documentary soundtrack.  I can't quite articulate the interesting punctuation mark that puts on the strange lineage of Mystic Searches, but I think there is some cool relevance there.  I write a story, it evolves over almost 30 years, I finally find the sonic wallpaper that helps me realize the story in my adult life, I design a documentary about rediscovering the original story, and the sonic wallpaper used to finally complete the 30 year journey ends up at as soundtrack to the story of the rediscovery of that seed originally planted in my youth.  

Just neat.  

Anyhow, that's a little behind-the-scenes story that I thought some of you would appreciate.  I wonder, how many of you who support this project would be interested in someday reading Beyond The Veil?  

Why coding for the NES is frustrating, reason #52196
almost 10 years ago – Mon, Jun 06, 2016 at 03:34:16 PM

I hit a spot of frustration today, and I figured that while I let my subconscious work on the problem (and the coffee invade my veins), I would explain the conundrum.

For those of you who may be interested in programming for this beast of a system, I have good news and bad news.  

First, the good.  ASM really is not very challenging a language to learn.  Sure, it has its quirks.  Sure it's a bit unintuitive and restrictively rudimentary if you're used to having the extensive APIs of modern programming languages.  But with only a small subset of possible commands, once you start to figure your way through the syntax, it's actually very logical.  In fact, going back to a modern language after working almost exclusively in ASM for the past 18 months, I found myself reflexively wishing I could use some of the simpler syntax to achieve some things.  I feel like I've mostly mastered the language over the course of this project, and I feel like anyone, even with zero coding experience, could do the same.  That's the good news.

But there is also bad news.  Just because you understand the language does not mean you will be able to translate that knowledge to practical application problem solving when designing your NES game.  For those of you who don't code and want a more concrete explanation, it's like this...I understand verb conjugation in Spanish.  I know a lot of words, and I understand how word gender rules work.  However, just because I understand the fundamentals of the language doesn't mean I'm prepared to write my Spanish-language novel.

Bottom line, knowing the language doesn't necessarily prepare you for the issues that arise.  I could write encyclopedic volumes on all the times in the last 18 months where this has been the case.  But I'll just use what vexes me today as an example.  Welcome to a peek inside my brain...

So, Mystic Searches is an adventure game, right?  It has some really fun mechanics that I feel will really make it stand out and make for a very unique yet familiar gaming experience (all to be revealed soon).  Like most NES games, Mystic Searches is very tile-centric.  Tiles have their own properties - this 16x16 tile is walkable, this one is solid, this one can be struck by your melee weapon and changed, this one can be hit with magic to reveal a secret, this one spawns monsters, etc.  The game has a lengthy amount of tile types and lots of ways to interact with the world, and we hope the experimentation fuels feelings of adventure and exploration.

I'm about to show you how a simple idea gets convoluted and turns one's brain (and one's code) into swiss cheese...

Today, I am working on what I am calling *trigger* tiles.  These sorts of tiles have become standard in games since the NES days - you flip all the switches with your melee weapon and the door opens.  Light all the torches and the boss appears.  Douse the flames and the bridge becomes passable.  

Conceptually, this is incredibly easy.  Simply go through the current screen and check the data for every tile.  Add up all of the tiles that are *on triggers*.  If the result is zero, do the thing and stop counting the switches.

But here's where we start running into snags.  On any given screen in our game, there are 240 tiles (16 tiles across, 15 down).  Stopping to count all of the tiles in a single frame of the game takes a long time in NES terms, and to do so would begin to cause the game to slow down.  This was notorious in some NES games, where the frame rate seemed to lag terribly.  Even classics such as Legend of Zelda suffered from this when there were too many monsters on a screen.  

So while the concept is simple, and would be an almost mindless exercise to write a routine for in an environment for modern hardware, writing that same routine for the NES is just as possible and easy, but too taxing on the hardware to actually do practically in game.  

This is when knowledge or even mastery of the programming language begins to mean less than nothing.  I can easily construct the routine mentioned above, but it doesn't do me any good.  I have to begin to think around the problem.

So then I get a new idea.  What I could do is make a table of data...each screen could be represented by a single byte, and that byte would represent how many triggers there are on a screen.  Brilliant!  When the screen is loaded, it puts that number into a variable, and every time a trigger is hit, it subtracts one from that variable number.  When that number is zero, the game does the thing.

Except...that would eat up 512 precious bytes in the ROM...one for each proposed screen.  And mostly, this would be memory wasted because many screens won't even have triggers.   

So what if I made a maximum of 4 triggers per screen...then each byte could represent 4 screens!  For the byte number #%00000000, could essentially be split up into four 'quadrants'...#% 00 - 00 - 00 - 00.   The first two bits (the first two zeros) could be made to make 4 possible values (00, 01, 10, or 11), the next two the same, the next two the same, and the last two the same, then I could write a routine to determine what screen I'm on, divide it by 4 (since every fourth screen would be a new byte), figure out the remainder, which would determine which bit set I was using, and use THAT to set up my trigger counter and populate my 'howManyTriggersAreLeft' variable!  That would only use 128 bytes, and wouldn't give me the problem of slowdown, since all of this calculating would happen on screen load and never interfere with game play!  Yeah!.....

Except that's a pretty complicated routine to write and the routine to do all that figuring would end up taking up plenty of ROM space too...maybe even more than if I just used 512 bytes for the tables!  Plus...this idea has the flaw of limiting triggers to only 4 per screen.  What if I want more?  What if I want a screen to be full of triggers for some reason?  Do I really want to limit myself in that way, when with the other methods, I wouldn't have to?

What if I went back to the FIRST idea, but didn't try to read all of the screen in a single frame?  Frames happen very quickly for the NES...if I were to split the reads over, say, 15 frames...read one row of triggers per frame, and after reading all 15, tabulated the number to see if there are any triggers left...that work the same without overtaxing the amount of things happening at one time and hopefully avoid slow-down.  But I'd have to make a series of RAM variables to make that work in order to keep track of how many tiles I'd checked, and RAM space is also precious right now.  What variable-dependent things would I have to sacrifice in order to use this method?  Or what horrible frankensteinian re-use or sharing of other RAM would I have to do, inviting the possibility of bugs resulting from erroneous, mistimed reads?

And so here I sit, pondering.  I have not only conceived of a way to do this...I have conceived of multiple ways to do this.  All of which will work.  And I can probably conceive of half a dozen more methods if I sit here long enough.  But all methods will have some sort of compromise to the actual game play.

The moral of the story is, considering the limitations for the NES is not only about, say, the limited color scheme or the limited voices of the music.  Those are part of the aesthetic charm.  It's not the language itself.  That actually becomes fairly intuitive once you get the hang of it.  What really slows development and kills morale are these memory management issues, the ROM and RAM constraints, issues with the timing and speed of the hardware.

You can make the NES do a lot of things.  The question inevitably becomes, what things do you have to give up in order to do those things, and which side of the compromise is more valuable to the end product.

Welcome to a small glimpse into my brain when programming Mystic Searches.  I hope you have enjoyed your stay.  Come back any time.

Boss battles -
almost 10 years ago – Sun, May 15, 2016 at 10:23:14 PM

Boss battles are a common trope in gaming vernacular, but it wasn't always the case.  Truly, this is a convention that became a standard during the NES days.  

There was a significant shift in the intended experience between the arcade game and the home console game.  In the early days of arcades, the high concept purpose was for an end user to continue to pump in quarters, and their ultimate aim was most often to achieve a high score.  This led to the gaming convention of escalating threat, where games grew more and more difficult the longer a user played.  A 'winner' would get to input his or her name, usually in three initials, and it would yield bragging rights to the other patrons of the arcade.


And early consoles ported many of these arcade games directly, but neither the buy in nor payoff translated.  People weren't paying quarters to try to one-up their personal best, and the winners names didn't have the promise of being up in lights for other gamers to see.

So developers for new IPs on consoles like the NES (and subsequent consoles even to this day) rethought the entire paradigm, and instead began to craft narrative containers for the games.  Rich worlds.  Stories.  Protagonists, antagonists, some definable goal that would feel to the player like its own reward.  A high score on a Donkey Kong cabinet, while certainly something to boast about, never gave me the same satisfaction as, say, defeating the boss at the end of a particularly challenging level of a game, which then gave me a glimpse at the larger narrative story in which I was participating.  And I think much of the success of the NES, and thus the ubiquity of video games that followed, can be attributed to this; adding a level of complexity to stories, whose advancement through felt like an adequate reward to the player.

Boss fights were an integral part of that.  Take a game like MegaMan.  The boss battles are perfect in their simplicity.  You play through a game stage that thematically resonates with the boss you'll find at the end.  That boss is a formidable opponent with a power related to his title (Spark Man, Cut Man, Snake Man, Needle Man, etc).  Upon defeating these antagonists, you gain the ability to use whatever power they used against you, which can be used strategically to make boss battles against the other bosses a bit easier.  By defeating all of them, you can battle the story's overall antagonist.  It's pure and simple.  The story is not very complicated, but in all respects, is perfect in terms of how narrative design becomes an outgrowth of game mechanics.  

Today, Austin and I challenged ourselves to conceptualize the behavior of the bosses that inhabit our fantasy world.  Unlike the simplicity of the story of MegaMan, the complexity of our narrative falls more in line with RPGs of that era.  

However, Mystic Searches is *not* an RPG.  It's absolutely a fast paced action/adventure game.  Even still, we did not want our boss battles to feel like gratuitous slugfests.  We want to specifically use the mechanics of those battles (not just on-screen dialog or cut scenes, but the game mechanics themselves), to imply and convey important story points.  We want to create a scenario where the actual method that must be used to face or fight an adversary is thematically pertinent and really drives the story rather than just the player demonstrating hack-and-slash proficiency with some sort of learned mechanic or input behavior.  

I think we came up with some great ideas today.  Every day, I grow more and more excited for you to meet some of these characters and explore their world...

Join me for a quick adventure...
almost 10 years ago – Thu, May 12, 2016 at 07:22:58 AM

**DISCLAIMER**

What you are about to view is *NOT* the documentary.  It is simply a behind the scenes look behind the proverbial curtain at the type of adventures that have gone into making the documentary.

Over the course of this project, it has been important to us to travel to meet many of the individuals making new NES experiences.  Our ambition to do so has led us all over the country; from Miami to Seattle, from Syracuse to Los Angeles.  Here is a map of cities we've visited to this point while on our quest to chronicle the post-market development community for the NES.

This past weekend took the project to Pensacola, FL to meet Kevin Hanley (KHAN Games).  Unlike most of these adventures, this was a solo trip; a long, solitary drive to the west end of the Florida panhandle.  I decided to turn on the cameras and take you with me.

The video below represents a microcosmic look at this sort of adventure.  They are exhausting emotional rollercoasters.  The experience tends to range from the manic excitement of the open road to the inevitable consequence of existential self reflection that often results.

I don't have much time to make this pretty, but I hope this rough and raw short behind the scenes video offers some insight into what filming The New 8-bit Heroes has been like, and I hope that this glimpse at the process excites you for the documentary to come.  We are certainly excited to share it with you this fall.

Now, back to coding!

The light at the end of the tunnel...
almost 10 years ago – Sun, May 08, 2016 at 03:10:03 PM

The project has begin to solidify some dates, and wanted to share them with you.  These are just some of the things happening, but I wanted to lay them out while I had a moment.

The first official premiere of the film will be here in Sarasota, and it will be the weekend of Sept 24th.  So many people from the Sarasota area have been such an integral part of the project's development that we want to first show it right here where the game was actually created. 

For about 8 weeks that follow, we will be visiting various conventions around the country, showing the film, hosting panels on NES development and behind the scenes look at our process, and giving people a chance to play early previews of the game.  I will be posting a list of our appearances soon.

The release event for the game itself will be the weekend of November 5th in Syracuse, New York at RetroGameCon. This will be a very special event for me personally.  This will held in the area where I grew up.  The project will come full circle, returning to my home town where the ideas first germinated, now with a finished game in hand.

At that point, we will likely only have a limited run of cartridges that we have hand-flashed ourselves.  The first run of official cartridges will be in the process of being duplicated, and the plan is, pending unforeseen natural disaster, to have them under everyone's Christmas tree to open on Christmas morning (or before, if you just can't wait!).  

**Just an FYI to anyone who ordered the PAL version, it may be slightly longer.

Other rewards will hopefully begin appearing this August as we ramp up to the release of the project!