Finally i can proudly say that a demo is out in the wild!
Download it today from the top of this forum post!
Thank you for playing!
Title – Project Blue (NesDev Compo Edition)
By – Toggle Switch & Frankengraphics
Developed – 2017 (and ongoing)
Number of players – 1
Number of bosses – 2
Total level size counted in screens – 64
Description In the dystopian wasteland of Neo Hong Kong, help Blue escape from the evil clutches of the Omnicorp conglomerate.
Avoid robots, lasers, pools of toxic waste, and more as you fight your way out of a research facility and exact revenge upon your captors.
A to jump
B to fire projectiles
Ladders can be climbed, latched onto, and dropped from.
Here’s a little time-glimpse of some of my recent work.
Like a piece of wood to carve, or musical tune to write, everything you do is quite shite on your first go at it. And i don’t mean it like the first time you try something, but rather – regardless how many times you’ve done something – the first draft often looks disappointing and discouraging to your eyes. At least it does for me. The trick (which i learned way too late in life) is to not stop there. Continue carving. I like to think that each good song written started out as something banal or broken A clumsy tune piano keys, and worked from there into something interesting. Quality takes labour. Just sometimes you can get away with less, but for yourself, you know. Satisfaction comes first after you’ve tried, failed, and returned to try again. Before i continue sounding like an inspirational quote machine, here’s what i mean:
I had this giant/were-rat design which i was pretty satisfied with. It just needed to be able to jump & run.
First draft at a different pose:
I can’t decide if it’s sniffing the air, is dead or needs to pee
At 1-10% of your work:YUCK. Typically when i draw tiles for NES, something this icky always comes along first. Then it’s just a matter of chipping away, making better outlines, poses, masses, directions. But it starts with something simple – putting a few pixels in place. Doesn’t matter what it looks like, just put something there to improve on.
Second & 3rd draft:
It’s alive! …but, ugh. no.
Finally got all the tilework in place which is about 50% of the work, but the drafted animation is off:
The rat is stiff like and it looks a bit like it is jumping in its place. The timed duration of the cels were all over the place to compensate for the lack of proper tile placement and pixel pushing, and even then (or perhaps because of, it’s jittery.
75%: A movement to suggest a push
Sure, NES graphics _are_ jittery most of the time and thing would work well in most games. But it’s for an RPG so i’d really like to bring out the most of it. Let’s continue:
90%: Almost there
90%: A lot smoother, and to think – it is using one less tile than the 2nd draft. I’t all about placement and timing. It meant a near tripling of animation data, but it runs at a smooth 30fps over 11 cels & a consistent 2 frames per cel. Thinking of the spine and tail as a whipping chain; set in motion by two sets of pistons in the form of the rats’ legs. Once the body got fluid, the tails’ jitteryness really got noticable. We can’t have that. Fifth draft:
99% – because nothing is ever done.
Done? I think so.. we’ll see tomorrow with fresh eyes. Just wanted to show how something you eventually can be satisfied with often starts its life as an abomination.
I’m having this little auction over at Nintendo Age where a few cartridges with concept art i’ve made are given to the three highest bidders. I thought i might go the extra mile and at the same time brush up some format ”skills” i haven’t used in a long while.
We’re announcing Project Blue (a joint effort between me and Toggle Switch), a game that will enter this years’ NES dev competition which ends in January, 2018.
Help Blue through up to 64 screens of high-tech action platforming and measure your skills against combinations of a dozen or so different enemies, a big bad boss, and various traps and obstacles.
Disclaimer: What you see here is still subject to some changes
The in-game end result will look something roughly between this…
(the game in its actual current state)
(early concept screen not taking into account all the software priorities made both before and since).
Maybe the coolest thing, although it stays out of the compo itself, is the custom level editor application that toggle switch did, with which one can design levels for Project Blue without needing to know the first thing about assembly, or programming in general. I’m personally amazed that he made a tool that will let gamers modify this coming NES game relatively easily.
What’s up next?
The plan after the compo is finished is to expand this game to make it larger, to justify a commercial standalone release on a physical cartridge.
Just something i started working on in advance the other month. In advance, because we still have an unannounced game to finish before this can get serious.
On the other hand, not being too deep into the production yet allows for another type of creative flow. These make ample use of unique characters/tiles and the cartridge hardware will just have to comply (ie have a rather big prg-rom). For example, the parallax effect in the second screen requires x8 as many tiles as normal for the treeline background. Thankfully, the cost of a 512kB prg-rom NES cartridge is close to that of one with less. Program size is not even the most significant cost factor, up to that point.
While the previous is more colourful and works with contrasting colours, it sometimes felt hard to parse what’s solid and what’s distant background. This is because the four subpalettes get used for both to a large extent. To mitigate this potential problem, all solid rocks got a stronger/brighter outline to outshine intangible objects. Hopefully something along that way will do.
Next step is probably going over the distant background to separate it, in turn.
-Rock colouring is now regional, rather than random. A ”green” area is hinted at the bottom right, and there’s a single green ”milestone” in the bottom left quarter. While less colourful, my hopes is that things like that will help orientation in a larger, sprawling cave system.
-More distinctly diagonal shadows on the pillars in the bottom right quarter seems to help my depth perception.
-various details and decorations added. Some others might be cut in the future, but we still have half of the tile memory unused for this set, so there’s no hurry to rationalize.
Here’s something i’ve been working on. It could be seen as two projects, separated by theme. They both explore how to come up with cross-section perspective within the limits of the Famicom/NES. The first is a sci-fi/cyberpunk one, with emphasis on stealth. The ambitions for this design proved a bit much to chew within our the time frame we had set, so we shelved it for now and turned our attention to the second one, which is a gothic horror/fantasy theme more focused on exploration.
(click for pixel perfect view)
It’s easy to encounter perspective problems. While the whole cross section perspective is exaggerated, the trouble appears in seams between perspective shifts – you can only have a limited set of angles due to memory constraints, and ease of level management (which in turn ultimately is a storage constraint – you need to come up with a way to compress stuff and varying angles will not help). That pretty much means you may feel the need to justify the cross-section, fish-eyed perspective with something other than mere presentation.
In the sci-fi example room, it merely serves as depth for its own sake. In the fantasy one, it provides a factual z-axis that the game can as a mechanic for one-way passages which should be able to lend itself to themes of exploration, puzzle solving, and object/enemy interaction. It probably would lend itself to a sneak/surprise kind of game too, now that i write about it.
But with multiple levels of height, things get even trickier. In the animated gif example, certain planes are hard to parse in the lower room. Besides getting a perspective problem on the low-right corner less wrong, i had to cut away pieces of two platforms to show walls at an angle in order to properly tell the player/viewer what relation the neighboring planes had. Shadows alone just wouldn’t cut it.
The form is still not 100% set, but i’m getting there.
The theme of the gothic fantasy project was largely scavenged from the design documents i had made for one of my earliest attempts at doing NES graphics. The idea then was to make it a purely isometric experience; but because of the PPU:s limited ways of handling colour attributes, it makes for a somewhat more monochromatic experience. That’s why every room in games like Solstice have a unified colour scheme.
I was going to do a blog update about some few design points on this project, but unfortunately, the programmer recently had to cancel further development due to personal reasons. Well, who knows what the future might hold. I do hope this project will get resurrected at some point in some form, because the NES needs a game about a lonesome cowboy having a terrible idea.
Anyway, i learned a few things in the process and writing things down helps solidify those experiences. I might aswell share them – here’s something to listen at while reading/looking at the rest:
I’m fine with how the sprite animation ended up at this point, but the head could still need some position-domain alterations to make it seem more alive, as pointed out to me by the very skilled nes graphics maker M-tee.
The main thing i want to point out with the sprite animation is the technique for making teeth seem sharp. With a resolution and sprite size like this, you can only get square pixel blocks for teeth. But if the head is at an angle so that they line up diagonally, you can turn this downside of resolution into a feature. The edges of the pixels now become the pointy ends of the teeth! Admittedly, this effect gets distorted by some on a regular tv. You’d want a bright colour like white, off-white or pastell to keep them in line as much as possible on NTSC/PAL.
It was hand-drawn frame for frame (16 frames in total) and is run at a constant 10fps (for now). Hand-drawing is tedious but does provide a more organic feel compared to layer compositing (the other main mode of raster graphics animation).
The t-rex has a highlighted outline (rather than a dark one) partly out of style (nonrealism, cheery cartoonism), but also because it’s an ”avoid everything coming at you” type of game. Boundaries for hits need to be clear. What you see is what you hit.
The music was written with the following technical specs in mind: Since the game is NROM, there’s no irq to help with scanline counting. Since the game was meant to have some scroll splits for parallax effects, even timing was important. That meant the music engine shouldn’t produce workload spikes and work with a constant amount of cycles, lest the scrolling breaks. Luckily, pubby on nesdev had released such a music driver under MIT license. It comes with severe limitations. As such, this song doesn’t make use of FamiTrackers’ volume channel, nor any effects. The mixing is written into the properties of the so-called instruments. All in all, it takes 2,5kB of ROM space, but after conversion from FT to pubby’s format, i assume it would be somewhat larger.
Playfield layout While this isn’t to be taken as the final set of graphics, there’s one thing to note.
By limiting the height of the play field and keeping graphics simple at the top and bottom, you get a more widescreen-like field of play. This helps guiding the player’s eye towards what is important: the mid-right, where enemies and obstacles will appear as you run continously to the right.
Many thanks to El Seyf who wrote the code; including an ingame animation tester.
The code has been made open source, and can be found here. Especially the macros might be useful for other NES projects.
Here’s a concept screen for an untitled NES collaboration slowly taking shape.
I tried thinking material this time. I followed a certain order to work out the details.
First, define what ground looks like.
Put that in a context. Ok, so we’re in some sort of ravine or valley. I also added a contrasting look to the distant background to foreshadow another set, but that’s beside the point.
Establish what life forms would thrive there.
I went with two main vegetation strategies: something flourescent, moldy, creeping (thrives in the accumulated moisture of the shadows, may fit a symbiotic nische), and something striving to reach up, with a sensory organ (the eye-like thing) at its extreme. Those are meant to be animated and follow the direction of the closest moving object.
Last, introduce alien-made constructs. Since we’re dealing with a moist environment, piping seems fine. Maybe it’s some kind of managed mold farm? Or a drain system? A structural skeleton? It’s really up to the player*.
Tile/character usage-wise, it’s acceptably efficient (by designing tiles to be combinable in different ways on the meta-tile level), currently using up 38% of the background tile page. There’s plenty of room for animations, bg-based enemies, or a whole other set loaded at the same time.
For comparison, here’s a snapshot from somewhere halfway in the set-building process. It is preferrably uncrowded. Levels shouldn’t use every asset every screen, lest you oversaturate the experience.
I’m interested in critique. If you have any, please comment.
*The last step makes a point. For it to feel alien or strange, let it be vague. Example: What’s so great about Alien, the movie? You don’t get told what’s what. It hints at a much larger, wondrous, and horrific universe with schemes and designs beyond the human scope. What’s not so great about alien 3, resurrection, prometheus and onwards, apart from their individual failings? They do their best (worst) to serve the audience a digestible explanation of everything (a substitution for a solid plot), which sucks the life out of the fantasy.