Another Star 2 Dev Logs #1: The 8-Bit Era

Let’s talk bits.

When throwing around the term “8-bit console”, it’s important to understand what that actually means. “8-bit” has come to refer to a style of art and music, usually that specifically of the NES, but it really doesn’t have that much to with a console’s graphics or audio at all. Instead, 8-bit refers to the console’s CPU, and it denotes that the CPU works with a single 8-bit byte at a time. Today’s machines are almost all 64-bit. They still work with 8-bit bytes, but they work with them in chunks of eight bytes at a time. 8 bits × 8 bytes = 64 bits.

Now, when people think of 8-bit consoles, they generally think of the two titans of the era: the Nintendo Entertainment System (a version the Japanese Nintendo Famicom, with slightly different specs), and the Sega Master System.

Some people think of the Atari 2600, the first real hit home console, and they’re not entirely wrong as the Atari 2600 was an 8-bit system (with the same base CPU as the NES, in fact). However, most people use the term to refer to the third generation of home video game consoles, and that’s what I want to touch on today since that’s clearly the generation Another Star 2 is pulling its inspiration from.

So, without further ado, let’s talk about the consoles that Another Star 2 is drawing on.

Nintendo Entertainment SystemScreenshots from the Nintendo Entertainment System
The NES was the clear winner of the third generation of video game consoles. It dominated the market in Japan and the United States. This is the game console that I grew up with. The NES has a limited palette, and sprites and tiles can only have three unique colors plus the background color or transparency, but these limitations combined with a rather incredible little audio processor gave it a unique look and sound that has remained iconic to this very day.

Sega Master SystemScreenshots from the Sega Master system
The Master System, on the other hand, got its major foothold in Europe, and in Brazil it was so big that it thrived well into the 16-bit era. Meanwhile, most of us Americans didn’t even realize that Sega had a console before the Sega Genesis (this is the name Sega in North America gave to the Mega Drive). The Master System allows for more detailed graphics by allowing sprites and tiles to use far more colors at a time than the NES, but its master color palette is excessively bright and it lacks the NES’s more subdued tones.

The Master System is the console that the original Another Star was most heavily inspired by. In fact, I almost switched to the Master System’s palette about halfway through Another Star’s production.

Atari 7800Screenshots from the Atari 7800
There were a number of other also-rans in the 8-bit era, all of which failed to really leave a mark.

The most recognizable of them in the United States is the Atari 7800, and it’s possibly the most unique of all the 8-bit consoles as far as its hardware goes. But it was doomed from the start by delays, cancellations, and contract disputes as the Atari brand switched hands in the middle of the system’s launch.

Amstrad GX4000Screenshots from the Amstrad GX4000
In Europe, there was the short-lived Amstrad GX4000. Under the hood, it’s basically a console version of Amstrad’s personal computer line. It came out about the same time as the Sega Genesis / Mega Drive. You can guess what happened to it.

Epoch Super Cassette VisionScreenshots from the Epoch Super Cassette Vision
Also of minor note is the Epoch Super Cassette Vision. Releasing around the time as the Japanese Famicom, it never gained a real market share, and just barely squeezes in to the third generation of consoles. However, it does have some interesting specs. Unfortunately, almost every document and article about it is in Japanese, and even Wikipedia just gives it a tiny section in the main Cassette Vision article.

There were a few other consoles that came out in this era, some of which lasted mere weeks before being pulled from store shelves. (Did you know Casio had a video game console? Casio had a video game console!) There’s also the handhelds, such as the original Game Boy and the Sega Game Gear, but Another Star 2 isn’t meant to be a handheld game so I won’t go over those here.

Finally, there’s one last console to talk about, and that’s the TurboGrafx-16 Entertainment SuperSystem, released in Japan and France as the PC Engine.

TurboGrafx-16Screenshots from the TurboGrafx-16
A joint venture between NEC and Hudson Soft, the TurboGrafx-16 had an 8-bit CPU combined with a 16-bit graphics chip. As such, it was a strange marriage of the 8-bit and 16-bit eras, like a console stuck somewhere between them but never fully planted on one side or the other. Though an 8-bit machine by definition, it kicked off the fourth generation of video game consoles, better known as the “16-bit era”.

While it never quite caught on internationally, it was the first home console with a CD-ROM attachment. Japanese developers did some really amazing things with that 8-bit system thanks to the incredible storage capacity of the compact disc. It’s a shame those of us in the west didn’t see more stuff like this on consoles in the 90’s:

The reason I bring all these systems up is because I don’t want Another Star 2 to be completely shackled to the limitations of an actual 8-bit console. If I wanted to make an real 8-bit game, the thing to do would be to learn 6502 or Z80 assembly and actually code an NES or Master System game. Both systems are well documented and have a thriving homebrew scene—especially the NES.

Instead, like many so many others, I want to evoke the feel of the era. Some, like Shovel Knight, do this by working fast and loose with the limitations of the era, which I think betrays the parts of the aesthetic that I like the most.

What I want to do as a developer is take the most recognizable and most interesting limitations of the 8-bit era and use those to build the game’s art style and gameplay. To do that, I need a sort of framework, a mishmash of multiple consoles that plays to the strengths of the era without getting too bogged down in its drawbacks.

In this quest, the TurboGrafx represents a sort of speed limit for the 8-bit era. As you can see from my earlier mock-ups, my vision for the game surpasses anything the NES was capable of thanks to the limited number of colors on that system, and it just beats out the Master System because it has larger sprites and a more vibrant 256 color master palette instead of the Master System’s limited 64 colors. However, it doesn’t quite reach the fidelity of the TurboGrafx. If it catches up too close, then I know I’ve gone too far and I’m getting too close to the style of the 16-bit era.

In my next entry, I’ll start to detail the “rules” of Another Star 2’s limitations by taking a look at the specs of all the consoles I just talked about. I’ll be spelling out exactly what Another Star 2’s limitations are, why I think they’re interesting, how they’ll impact the game and its production, and I’ll go over a little bit about how I plan to implement them.

It’s Official

A couple months ago I wrote about a bunch of screen mockups I made for a theoretical sequel to Another Star. I haven’t done any more mockups since then, but I have been working on other stuff. Specifically, stuff like this:

Another Star 2 design document (page 1 of 113).

Yes, I know you can make out the obscured text. It’s probably not going to be the game’s subtitle anyway.

Over the course of about a month I put together a very thorough design document that explains the world and story of a possible Another Star 2, along with an overview of the game’s mechanics that goes into detail about various changes that would be made compared to the first game. It topped out at a whopping 113 pages because I’m crazy, and also because I was greedy and didn’t want to leave out any possible ideas that seemed good at the time. As a result, I’m guessing half of what’s in this thing won’t see the light of day. To compare, Another Star‘s design overview was a mere six pages long.

So yes, just to be clear, as you’ve probably already guessed Another Star 2 is in production. Just keep in mind, it may not be Another Star 2 by the time it’s done. Also keep in mind that, unlike the first game, I will probably not be able to work on Another Star 2 full time like I did the original. My career and financial situation are nowhere near as stable as they were just two or three years ago, and that’s probably going to take a larger and larger toll as time goes on. Don’t expect to get your hands on this thing before mid 2017, if not later.

Anyway, one of the huge mistakes I made while doing Another Star was failing to share it. I wanted to keep everything under wraps until it was all done, in large part because I didn’t want to spoil the “twist” near the beginning where the story switches from a somewhat generic RPG world to a mix of fantasy and sci-fi. If you look at almost all of the early screenshots and promotional work for the game, Soel is never even mentioned. In the end, though, nobody really cared that much about the direction the narrative took. It’s a really simple game with a simple story, and trying to keep a lid on it backfired because I ended up having to release the game to absolutely no fanfare, all because I was afraid to show anything past the first half of the first dungeon. I never managed to build an audience for the game. This, it turns out, is absolute death for an indie title.

I do not aim to repeat that mistake with Another Star 2. Over the coming weeks and months, I’ll be showing off some of the tools I’m developing to make Another Star 2 a reality, and as time goes on I’ll be sharing a lot about the world and characters of the game. Sure, I’m going to keep lots of stuff up my sleeve for later, but I’m making it a point to publicly document the game’s progress.

I hope you’re looking forward to it.

RPG Concept Pixel Art

In my mind, I always tend to group Another Star with two other titles: Freedom Planet and Shovel Knight. All three came out around the same time, and all three take heavy inspiration from a past system; Freedom Planet from the Genesis/MegaDrive, Shovel Knight from the NES, and Another Star from the Master System. Freedom Planet and Shovel Knight are far more polished—and exceedingly more popular—than Another Star, so the comparison may seem a bit silly, but I just can’t help but consider them “sibling” games.

This past Christmas day, GalaxyTrail made a surprise announcement with a rather amazing trailer for Freedom Planet 2. For whatever reason, the exhilaration of the trailer mixed with seeing Another Star‘s sibling series make such a splash again made me feel more than a little nostalgic, and I couldn’t help but think about Another Star.

I’ve noted many times before when asked that there’s really no plans for a sequel to Another Star, and that much is still true for the most part. I’d like to come back to the game eventually and give it a spiritual successor to build on the battle system, if not necessarily a direct sequel. But I didn’t really want my next game to just be more of the same thing, and I didn’t want to get pigeon-holed as a retro-pixel-art RPG developer and nothing more. Yet in the nearly two years now following Another Star‘s 2014 release, I still don’t have much progress on a second game other than the few prototypes I’ve posted here.

Thinking about what little plans I’ve had floating around in my head for a direct follow-up to Another Star, my internal creativity insisted on expressing itself somehow and so I wasted my time cobbling together a mock-up of what I imagined the battle system of a theoretical Another Star 2 might look like. This is the result of that initial spark of imagination, which I originally posted on Twitter on the 27th of last month:

Battle Scene

Enemies approach with non-square pixels!

Again, keep in mind that this and everything else in this post are merely mockups and conjecture. No game and no gameplay exist. Right now they’re just concepts and ideas and nothing more, and they may well never be anything more than that.

Still, right off the bat it’s apparent that this looks a little more advanced than a Master System title. It’s quite a bit closer to the TurboGrafx-16 (aka the PC Engine), honestly. Ignoring the palette, which is based directly off the 8-bit master palette used to derive Another Star‘s mere 16 colors, the enemies are sprites instead of background tiles like most NES games have for RPGs. (The three player party members depicted against the black background would be tiles instead.)

The NES and Master System were both limited to, at most, eight sprites per scanline, and each sprite was exactly eight pixels wide. This is why so many 8-bit games have a huge problem with their sprites flickering. They’d end up on the same horizontal line of pixels and some of them would get ignored. However, the battle screen above has four enemies, and each enemy would be constructed of multiple 8×8 sprites. At their size (about 32 pixels wide), each enemy would need four sprites worth of width. Since the enemies are arranged horizontally, four enemies times four sprites wide means that you end up with sixteen sprites on a scanline. That’s twice the allowance for most 8-bit systems. It does adhere to the imaginary specifications of the imaginary 8-bit Vision Game System which supposedly ran the original Another Star, but I worry it could be a turn-off to those who were drawn to the original game because of the strong graphical resemblance to the NES Dragon Quest games.

Regardless, I ended up really liking how that mock-up turned out, especially the forest background which really exceeded what I thought I could accomplish. So I decided I’d do just one more concept mock-up.

In a Classroom

I never could decide how I wanted that door to look, or which tile the player would have to step on to actually exit the room.

This time I did an area map, to see how the characters might look moving about the world. Notice that they’re taller than the normal 16×16 pixel sprites of most NES overhead games. However, a couple of the later NES RPGs did use them (Crystalis and Lagrange Point, et al.), as well as the Master System’s own magnum opus Phantasy Star. On an 8-bit system, you’re using up more VRAM because larger sprites obviously take up more space, but since they’re not any wider they wouldn’t cause any extra flicker. And those extra pixels are surprisingly useful for making the characters really pop out and feel unique.

If you look closely, you’ll notice that the way the heads of the two students talking are done in the mock-up closely match the way I drew Tachi’s head in Another Star. I referenced the original game’s graphics quite a bit while doing these.

For some reason, I decided to do just one more area map.

Keeping Lookout

It’s supposed to be 8-bit, so there’s no fancy parallax scrolling for you here!

When I was nearing the end of production on Another Star, I decided that whatever the sequel or eventual spiritual follow-up to it may be, it would begin with a character in a forest, keeping watch in a look-out post. I didn’t decide why, or even what exactly they were watching for, I just knew that this was the scene I wanted to use to introduce the new hero or heroine of the game. This is a mock-up of that scene, which I decided would be more interesting in a platformer-style perspective than trying to top-down sprite an outpost tower, although I never did decide what they’re watching for, despite the character’s statement here that whoever it is, “they’re not coming back.”

(You may also notice that in this screen and most of the others there’s an extra line of spacing between the sentences, unlike the classroom. It’s something a lot of Japanese RPGs did on 8-bit systems, and I almost did this for Another Star. The extra line of tiles is for diacritical marks, which are unused in normal English but needed in Japanese and many European languages. When localized to English, some games removed those lines so they could fit more text on the screen.)

However, shortly after finishing and posting this mock-up, I realized that it would make more sense for this scene to happen at or near sunrise, because the light-skinned character still has to go home and get ready for the class she attends in the first area screen I did. So I tweaked the palette a bit.

Keeping Lookout

Can I just say that I really like this palette.

If you’re wondering what the green thing is that the light-skinned character is holding, it’s supposed to be binoculars, which would be more apparent in an actual game where the sprite could change so that she actual holds them up to her eyes from time to time.

Finally, here’s what it looks like without the dialog box cutting off a chunk of the screen:

Keeping Lookout

Honestly, it probably looked better with the dialog box in the way…

Anyway, while working on the two area maps I just went over, I started to think about the overworld map. When your sprites are 16×16 squares, they’re already sort of “symbolic” and don’t look that out-of-place when you zoom out to the world map with even more wacky scaling issues. But the taller sprites can look a bit jarring on an overworld map because they tend to appear more in-scale to the normal area maps.

Final Fantasy VI got around this by dazzling us with its fancy SNES mode 7 graphics, but I decided to play around with the Chrono Trigger route of actually making different, smaller character sprites for the overworld.

The Overworld Map

Whether it works or not is left up to the viewer.

I do like how it came out, even though it has some issues with how it tries to skirt 8-bit limitations. First off, as nice as the mountains look at that size, there’s a reason NES games tend to make a single mountain tile and just stamp it all over the place. The VRAM those mountains would eat up would be costly, and would mean less graphics for other things.

I really wanted actual sandy beaches for the coastline, but I couldn’t get it to look right while still being at least conceivably able to fit within the VRAM limitations of an 8-bit system. Still, the roundness of the coast is actually a pretty nice throw-back to the original Another Star. Really love how the bridge and little village turned out, too. The forest looks pretty good as well, although it’s a bit over-rendered in my opinion.

The river I have mixed feelings about, but I do like how there’s a shallow ford crossing near the top of the screen. That was a map feature that I originally had in Another Star that got cut fairly early on because of the tile limit. It was supposed to be used in areas that didn’t really have enough traffic to justify having a bridge built there.

After finishing this, I had three of the four main screens of a classic console-style RPG: a battle screen, an area map screen, and a world map screen. I just needed one more to complete the set: a menu screen.

Menu Screen

That thing on Dewey’s head is supposed to be a bandanna.

Here we finally find out the character’s names, even though they’re liable to change supposing I actually made this into a full-fledged game.

The layout is obviously taken directly from the original Another Star, but there’s a few things changed up. At the bottom is a “reserve” of extra party members. Another Star stuck you with three characters and set you off, but I want the player to have more power to customize their set up in any sort sequel. Combining multiple party possibilities with Another Star‘s omni-attack mechanics is an idea I’ve wanted to see realized for a long time.

I figured I’d stick the extra characters on the main screen instead of hide them, so that they don’t feel left out when they’re not in the party. And maybe the characters in the “reserve” could have some other sort of contribution somehow when they’re not in the main party?

It was at this point that I had planned to finally stopped, but there was one more thing I kind of wanted to work out, and that was how the player input their battle commands.

Battle Scene

Command?

The idea I had was that, at the end of each phase of battle, the screen would quickly scroll down to give the player their battle menu. The characters would also turn around to face the player, because I really like it when I can see who I’m playing as.

I forgot how much room Another Star‘s battle screen took up until I did this. You’ll notice the enemies are nearly pushed off the top of the screen. You’d lose even more to the overscan of a traditional television (or Another Star‘s CRT filter), and it’d even be more noticeable for big enemies like bosses.

Well, okay then, what if the screen didn’t scroll, and the menu was at the top?

Battle Scene

Okay, never mind then.

Yeah, that’s probably not going to work. Even if I set the menu tiles with a higher priority to appear above the sprites, that trooper’s head is going to be clipped and it would look just as tacky as being above it. We want to be able to see who we’re fighting, after all. What’s the point of having big, fancy enemy graphics if you can’t see them?

Well, since the game can probably only have four enemies at a time anyway if we stick with the pretend Vision Game System’s specs, maybe we could just have four lines and push the “flee” command off the bottom of the menu to make the box smaller?

Battle Scene

That’s better. Not perfect, but better.

It’s not ideal, but at least the trooper isn’t being squashed. Hopefully players would realize there’s more options, though. Ideally, the down arrow tile would be animated to go up and down a pixel so that it’d stand out more.

The trooper would probably not be the biggest enemy, though. What if we were fighting, say, some huge dragon? We’d be back at square one. Let’s try scrolling down again.

Battle Scene

Now’s as good a time as any to mention I like the forest background way more.

Okay, that’s not too bad. Especially tall or big enemies would still be lost to the overscan, perhaps, but it seems to give a lot of breathing room. I’d also really like to be able to display the player’s character’s names, but there’s hardly any room left as is.

I like this option the best, personally, but maybe you feel differently?

In any case, this is where I should have stopped, but I decided to make just one more in preparation to make this big, long blog post.

Non-Battle Encounter

The grass could use a bit of variation.

In Another Star I had a lot of self-imposed limitations when it came to the graphics, but not so much with text. Early on, one of my thoughts was that maybe not all encounters would be battles. Every now and then, when you accepted an encounter maybe you’d get some text describing how you’d just come across a wandering merchant instead. Or you’d chance across some other adventurers with news and the beginning of a side quest. Maybe it’d be a short scene describing how you came across extra loot, items, or some free EXP.

The idea was scrapped before I ever attempted to implement it, but it seems the idea has stuck with me. This concept mock-up illustrates the party chancing across a random merchant. The screen is the same as a battle, except that the party isn’t drawing their weapons. In another scenario, this setup could easily transition into a battle, though. Say you choose to help somebody, and they turn out to be bandits? It was just an interesting thought, and I wanted to see how it might actually look in-game.

In an actual game, I’m not sure how annoying these non-battle encounters could be while trying to grind, though. Then again, getting free items and EXP every now and then without having to fight could always make up for the occasional ones you have to stop and make a choice for, perhaps.

Well, that’s finally the last of the concepts I did. What are your thoughts? Is this something you’d be interested in seeing? Do you feel it strays too far from what Another Star was? How important are the 8-bit limitations of the original game to you?

Let me know in the comments!

Feral Warrior

A warrior with cat ears holding a sword.

Concept design for a playable class in my next game. Still deciding the exact art style and proportions I want to use, but this didn’t come out too bad considering how long it’s been since I’ve really sat down to do any drawing.

The boots came out a little too big though, I think, so it looks a little like something out of Kingdom Hearts.

Drawn and colored in Photoshop.
Time taken: 2 1/2 – 3 hours.

The Measure of Success

Talking about whether an indie game was successful or not is difficult, because you first you have to quantify “success”. It’s easier when talking about a game made by a big studio, because then you can break it down by the amount of money taken in, and then compare it to how much was spent to make it, advertise it, and distribute it. It’s harder with indie games, because often there isn’t really a budget. Sometimes the game is made in the developers’ spare time with free tools on equipment that was long ago bought and paid for. With other games the developers may be working on them full time, but they’re not putting money directly into finishing the game so much as just paying bills and buying groceries, and often with freelance work to back them up.

A cartoon of Ryder pointing at a sales chart.

“And if you look at the chart here…”

When Another Star came out, I said that the game needed to take in just 100 sales in the first three months in order for me to consider it a success. The game took about nine months on-and-off to make, so obviously 100 copies of a ten dollar game wouldn’t give me back the money it took just for me to exist during its production—let alone the extra six months that the version 3 update took! However, it would help me pay for some of the software and equipment specifically bought for game development (not to mention the $100 I sunk into getting the game into Steam Greenlight). More importantly, though, it would show me that there was an interest in what I was doing. If people liked the game and were willing to buy it, then that meant it was worth continuing on and making a second commercial game in the future.

Sadly, Another Star didn’t achieve even that. Despite a rocky but somewhat promising start, the game was a commercial flop. After a year, the game still only managed about 80 sales across all retailers, and most of those were not at full price. Granted, Another Star had over 2,000 sales in an IndieRoyale Bundle, but my share of each individual sale was literally tallied in cents. And then, of course, Desura’s new owner Bad Juju Games declared bankruptcy, so I never did even get the money from that. In excess of $500 dollars from Desura and IndieRoyale down the drain!

And then something magical happened. In March, I got a sudden email from Steam. By pure attrition, Another Star had made it through Steam Greenlight. It never did reach the top 100. (Just to give an idea of how low the bar to entry has continued to drop, as of this moment even the #20 game on Greenlight has less “yes” votes than Another Star ever did.)

Now, a lot of people say that indies don’t need Steam. That we can just put our game up anywhere and do just as well so long as our game is good enough. The numbers say otherwise.

In just over 12 hours on Steam, the game had outsold any other single retailer (not counting IndieRoyale), and at nearly full price. In less than 72 hours, it had outsold every other retailer combined (again, not counting IndieRoyale). By the end of the first week, the game sold enough that it had doubled its lifetime income (this time even counting IndieRoyale, though I’ll never see that money).

Another Star has been on Steam for about three weeks now. Whereas I used to count the number of days (or weeks, or months) between sales, now I am counting the number of sales per day. At this point, it’s usually only two or three, but they’re still continuing to add up quickly. Monday was my first day since launch without a single sale, and then I got five yesterday, as if to make up for it. As of this moment, Another Star has made just under 200 sales on Steam and is on over 2,000 wishlists. And I’d say a big part of the credit here goes to Valve’s Steam Discovery Update which, although terrible at its initial launch, has been improved greatly and even now puts the game in front of people by showing up on the main store page as a “recommended for you” title. People are not only playing the game now, they’re enjoying it, posting their screenshots on Steam, and even discussing it in the Steam forums.

There are a lot of people that claim that Steam is getting too crowded. However, even having to vie with all the other titles on the storefront for attention, Steam is probably the single greatest thing that’s ever happened to the game. No, the game isn’t going to generate enough for me to live on. If I’m lucky, it’ll at least cover the cost of the MacBook I bought to do the OS X version of the game. But now I can say, without a doubt or a hesitation, that the game is a success.

And, moreover, because of it, I can say that Vision Riders will be releasing another game.

A huge, huge thank you to each and every one of you that bought the game. You’re all amazing.

Another Star is Out on Steam!

It’s a big day today! After so long, Another Star is finally out on Steam! It’s even 15% off until this upcoming Tuesday!

Check it out:

Hopefully it does well enough that I can make another game to follow it up, even if I can’t work on it full time like I did Another Star. Only time will tell.