Isometry on the NES – again!

Antoine of Broke Studio (makers of Twin Dragons) asked me to experiment with how well i could hide the 16×16 attribute grid in an isometric view, for the NES. This worked out pretty well. The question is whether to come up with a mapper that does 8×8 attributing (a feature mmc5 cartridges had via exRAM), which would allow for more dynamic placement of map objects. This worked out pretty well even at 16×16 though, however, the idea of making 8×8 technically available again is enticing.

Update
To make it a bit more colourful, i borrowed in an old technique from one of my very first attempts at making NES graphics (talk about getting in the deep end – isometry doesn’t come easy on this console, especially when colour count and attribute clash avoidance competing design ends) – putting a forced perspective silhouette in the far background:

And here is the result:

On one hand, this becomes a bit more boardgamey – it becomes evident that the theatre of of the game is just props. On the other, it helps bring a sense of the surrounding theme to life. There are other technical considerations, like HUD method, scrolling, map size and such – all of which are features with strict requirements and conditions on the NES.

This one ”cheats” a little – by using aforementioned 8×8 attribute grid to smooth out a few details. That’s a maybe, if 8×8 gridding can actually come back into existence. MMC5 is not a readily available mapper any longer, but it is possible to have the same scheme on another PCB:

The 8×8 attributing It is probably underused here considering i started working on this assuming 16×16, but i expect the turnout to be in the details either way. Most of all, it might help make general map building easier as you can plan the layout more freely, which might be beneficial to the play experience. Way too early to tell, though!

Review: Trophy (NES, 2020)

I’m trying something new – a game review! Here’s Trophy, a new NES game by Gradual Games ; also responsible for the music driver that runs at the back of every other current NES homebrew game the last few years.

It’s on kickstarter right now for a few more days, so be sure to check it out!

Fair note: my screenshots look a bit empty. that’s because i need to shoot things before i can screenshot the scene, haha. So when you look at them, imagine the poor guy taking a well deserved rest. 😉

Trophy(Ellen)_000Trophy(Ellen)_018

Derek, programmer and the Gradual Games namesake, and Laurie, artist, are no newcomers to the modern NES scene. Earlier releases has been Nomolos: Storming the Catsle and Legend of Owlia, which reminded me of Willow. Both are formidable, medium length features.
This game is bigger, bolder and more well tuned overall. It makes no secret of being a love letter to the mega man franchise. You know the drill – good robot guy fights mad, toylike robots in all forms and shapes to save the day. True to the spirit of many nes games of old, there is a backstory, but you don’t need to sit it through to get to the goodies. It’s in the manual at your option. 
There are nine thematic stages; where of 8 are freely playable in any order. On each stage (i think), there is a powerup (a life meter expander or a weapon) hidden that you get to keep, even between game overs. A very nice touch here is that if you get beaten on a stage, you still get to keep any powerups you find. This means that if you find the going too tough, you can make it easier for yourself by finding more powerups and then go back to the stage where you had problems before, now better equipped.
Trophy(Ellen)_001Trophy(Ellen)_015

I want to applaud the care and effort that has been put into making the levels varied not only in theme, but also the gameplay! Each level seems to have something of a twist. Gravity changes (sometimes within a stage), and the concept of checkpoints is even thrown out the door on the train level; making it something of a gauntlet (but a fair one)! There are moving platforms, conveyor belts, deep snow, slick ice and deadly traps waiting for you. Some levels focus on climbing, some on platforming, and some on fighting. the priorities are subtle, but helps keep the experience fresh throughout despite the player character being very straightforward, with a simple control scheme that doesn’t change with the acquisition of powerups. 

Trophy(Ellen)_031Trophy(Ellen)_009
In true NES fashion, the location of mentioned powerups range from straightforward to sometimes cryptic. Exploring levels more keenly can sometimes lead to dead ends or even feel a bit suicidal. Trophy(Ellen)_012Take this screen for example: when you move up and down this ladder, you’ll see that it looks possible to go off-screen to the left. But if you jump to get there, a ”falling to your death” mechanism triggers because of the camera snapping. It’s not a big deal, but goes to show that just like most NES games, you must embrace the internal game logic to become fully successful – you need to game the game just a little bit. Likewise, be prepared to battle respawning enemies in true nostalgic fashion – something you can turn to your advantage if you wish, but i’ll leave it for you to find out how. 

UPDATE:
I’ve had news that some of the quirkier aspects that sometimes surface when you’re navigating the levels in a more exploratory, poking fashion are being ironed out in some places, and streamlined in others. So expect this aspect, to be smoother than i just described! Personally, i don’t mind it all that much, since you have an unlimited amount of continues, but some of you might! In that case, this is of course positive news.

I think that it’s also nice that all the powerups i’ve encountered seem to be increasing your chances only incrementally, whereas some powerups in games like castlevania (while fairly balanced in placement) basically set the difficulty mode all on their own and in of themselves. There seems to be no way to cheese your way through with powerups in this game, so it feels more gratifying when you beat that boss!

Speaking of bosses, they’re drawn on the background layer, which means they circumvent the sprite restrictions of the NES. They’re BIG. That’s always nice to see.
Trophy(Ellen)_006Trophy(Ellen)_017
These bosses above? Yeah, they’re the small ones… some are real screen fillers!

There are many nice little end polish features like how the camera snaps in some regions to a locked position to indicate something, blinking lights, waving sea grass, and so on. 
Lastly, the music is melodic, engaging, and rocking! The one that stuck in my head was the tivoli music, for some reason.
Gameplay: 7/10 – the game is very straightforward, and is good at what it does.
Variance: 8/10 – All levels have their own theme. There are enough enemy types and combinations to keep it varied throughout a session

 

Challenge: 6 / 10 – I think the challenge curve within a level can be a bit uneven, but given the nonlinear approach to how you progress it also doesn’t matter all that much. If you get stuck somewhere, you can always return later when you’re better prepared and more skilled. 

Would buy: Yes, and already did, despite getting a digital copy to review.
Would recommend: Absolutely!

In sum: It’s very early in 2020, but this might be one of the best games to launch for the NES this year!

Announcing Project Borscht

This has been in the works in one form or the other ever since i created an account on the nesdev bulletin board. Just wanted to show off a sudden fit of inspiration with these two new scenes.

maus6_Forest3

I also decided to give it a temporary work name, so it gets a bit easier to talk about. I decided on Project Borscht, because it’s my favourite soup; delicious, slavic, and red, much fitting the general aesthetics of this NES gothic romance/horror platformer.

This is a pet project. At this point don’t care how many years of spare time it takes to complete, as long as i get it right. This works for me, part because it helps creativity, and part because i have more pressing project to finish up first!

Going to set up a new project page for it when i can. Meanwhile, here’s a forum thread about it where i go into more detail.

_maus6_Forest3_300

Some older assets for the same project; all pending a bit of brush-up:
demonskullcastle_x2_3_2towerscroll

NESST 2.5 is out

Shiru has pushed another version of the perhaps most essential tool for making nes graphics, NESST. You can get it here. As a side note, the nifty tool NES space checker has been updated too.

So what are the differences? There are actually a lot of features added; too many to go over here. Some very useful, some occasionally useful and one that is perplexing to me.

Perhaps of most importance, there are several new import options, especially for converting PC bitmaps (bmp:s) to nametables and character tables. For instance, you now have the option to offset the imput 0-8 pixels, which can save you a lot of time searching for the leanest tile count.. this bodes well for drawing freehand, rather than tile-for-tile, in a tool more suitable for that sort of work (think cutscenes and such).

Another new feature i’m foreseeing i’ll be using quite a bit is palette copy/paste. It basically allows you to move-copy all 4 palettes between slots A, B, C and D. Practically, this means that you can quickly make a temporary backup of your preferred palettes, edit one of the copies, and A/B test them quickly against your background or metasprite.

This is something i’d normally do from time to time, but now it’s even more convenient. Thanks, shiru!

There is also a ”reset” option which restores all palettes to some preset slot. I’m imagining these are user configurable, but the readme won’t say how. The ”factory” presets aren’t too useful; being monochromatic within each subpalette.

Better documentation

The readme file has gotten some extra attention too. For example, a feature that was always there was the right-click drag and drop-sorting of tiles, but now it is properly documented! To check the two readme versions side to side, go here:
https://www.diffchecker.com/I5th2vBu

The new readme is to the right.

The meta sprite editor has become more user friendly, and versatile. It provides you a basic instruction for selecting and moving individual sprite tiles, which i suppose is one of the thresholds for starting to use this side of the tool. There’s also a snap to grid option now, which could be useful for games that imply sprite positions on an x8 basis, such as SMB and many others did. There’s also a new offset tool that lets you move around the metasprite as a whole entity relative to its anchorpoint. You could achieve the same end result before, but it has been made more convenient in this version!

Among the the many feature updates, one stands out as pretty odd: ”generate 4×4 chunks”. The readme describes it as follows:

”Generates a set of 4×4 chunks that contain all possible color combinations.
A very specific function that may come handy for some effects or blocky
graphics.”

In practice, it just replaces your CHR file with a set pattern that would be best provided as a .chr file separate to the program. I know it said specific, but this feels way too specific! The patterns themselves actually seem to be based on 2×4 chunks (a bug, maybe?). I can’t think of any use for it, and it adds to the drop down menu clutter, which has started to get a little encumbering in total.

pattern_generation

not quite sure how this new pattern generation could be useful

Nitpicks aside, there are several more minor additions to NESST, so be sure to go over the readme to find something that you think could be useful to your process!

Let’s end with a few quick NESST tricks. These aren’t new, but maybe not widely known either.

Nametable quick swaps
This isn’t new, but probably not widely known either.
Say you have several nametables using the same tiles and want to switch quickly between them. Maybe they’re cutscene keyframes or static levels or something.

In windows explorer, name them like so: myNametable_NNN.nam, where NNN is a three-digit ID.

In NESST, press ctrl + three digits on your numpad to call the nametable up directly.

Merge CHR tables
If you load a CHR file smaller than 4kB, it will start loading in from the position of your currently selected CHR tile. AFAIK, the size can’t be arbitrary – it must be at 1kB (quarter of a CHR table) or 2kB (half a CHR table). If you need finer control over cutting and merging binaries, i recommend looking at my ca65 example in this post.

Paint more fluidly.
Painting one tile at the time can be very resource efficient; which is something you need to be most of the time when drawing for the NES in the context of making an actual game. But sometimes you want to draw a bit more freeform-like.

To do that, click-drag on the tileset a square, empty portion of it. Ctrl+C. Then shift-click on the nametable, so one square is marked. Ctrl-V. Now an area corresponds to the marked tiles in your CHR table.

In the CHR editor, draw as usual and click on the sides of the upscaled tile to move to the next neighboring tile. You’ll see your result on the nametable directly, almost as if drawing free-hand.

That’s about all for now. If you’d like to support Shiru’s contributions to the nesdev scene, there’s a patreon where you can get news and details more frequently.

Accurate NES swatch for Photoshop, etc

swatches
Photoshop is great if you want to construct sprite overlays to your NES backgrounds or draw cutscenes and make use of layers or drawing tools while doing so.

Here’s a complete NES master palette swatch (each named after its NES colour ID)  so you don’t have to construct it from scratch.

Note that the two white swatches are there to remind you that the NES does have two identical whites in the 0 column, which can be used for preserving text whiteness while dimming the rest of screen, for example. It also helps to keep the colours tidy and easy to navigate in the swatch bar. While there are many black definitions (some with a minute difference in actual darkness) in the NES master palette, this one only keeps the one which is regarded ”safe to use” on all monitors and setups.

Tip: It is also possible to load the swatch as a palette index definition in indexed colour mode, which is often very useful and generally safer / less tedious to be in when doing NES graphics in photoshop.

Regrettably, adobe never thought to combine indexed mode with layering functionality, so i usually keep two work files side by side for carrying out actions in whatever mode is more suitable, and thereby preserve layers.

The swatch is modelled after Firebrandx ”classic nes” palette, which offers a great accuracy/neutrality while also maintaining the blues and greens identifiable, which is sometimes a problem with some palettes for some emulators and drawing tools out there.

For using the same palette in NESST 2.4, download firebrandx:s classic master palette here, and put the .pal file in your NESST root folder.

Firebrandx:s homepage with several additional palette captures can be found here.

Original Project Blue concept recovered

I was combing through my drive for materials for the upcoming Kickstarter campaign – oh that’s right, it’s coming this month just in time for Portland Retro Gaming expo! – and found the original concept art for the first zone in Project Blue, which i thought was long gone in a disk failure.
extended3
At the time, i had just read Cixin Lius’ Three Body Problem and was under heavy inspiration from its description of a fictional high-end, heavily computerized military-governed science base in rural 70s China. Maybe attributable to Liu being a plant engineer for a living, his descriptions felt so vivid and accurate i could almost touch them, even through the curtain of translation practicalities. This concept, of which most ended up in the game, is of course heavily sci-fied and cartoonized, and therefore somewhat remote from the source of inspiration. What the narrative of the game would be (which is pretty simple, NES style) was still fairly up in the air.  Little did i know at that point that we would situate the rest of the game in a not too remote location – a fictional, future version of Hong Kong called Neo Hong Kong.

Level design wise, Project Blue quickly took a sharp turn from a meandering doom-inspired metroidvania (you’d flick switches and find passkeys to open ways to new areas) to a more action-oriented pacing that worked better with the flick-screen handling of the ”camera” – with just a few alternate routes sprinkled here. Similarly, the original idea for the nesdev compo idea was to infiltrate the base and stop some computer maniac, but we eventually changed it to being a test subject escaping the clutches of a mega corporations’ shadier side of business.

Good news for backers around the world

Project Blue, the full version, will be manufactured and shipped from both the US and the EU. In addition to fewer backers being hit by customs fees, double VAT and other nasty things, it also means a handful of countries outside these regions will have a better shipping rate estimate than if shipped from the US solely!

finalArtboard 1.png

For more frequent updates, visit my twitter account!

The PAL luma mystery

On a NES PAL sytem, stylized horizontal gradient lines of the same brightness will blend into each other and create a richer colour presence, whether intended or unintended.

If two colours above/below each other are of opposite phase and equal brightness, the resulting colour should be gray.

However, i encountered a display quirk the other day – instead of a gray line, i got a black and white ripple. It seems as if *something* is causing the luma channel to oscillate between high and low.

comparison

before/after resolving the problematic effect

After a little experimentation, it turned out that this may be trigged or avoided depending on whether the change of colour is on an even or odd scanline.

I haven’t ruled out hardware deviance just yet, but simply nudging the border upwards solved the problematic effect.

PAL gamers will experience more colours in the sky for the ending scene of Project Blue. It wasn’t intended at first, but i think it looks quite nice.

Update before Campaign

Good news! All the programming is done, and the feature set thereby locked in. My next update will be in a new thread, and it will contain campaign and release info for sure.

We’re still working hard on level design and campaign materials, but it’s a downhill slide from here.

Here’s some sneak peeks (click for a slightly better view):

The following are from the level editors’ view from some screens i’m currently working on. The thin blue line on the first one is the bounding box for the inWater property, and is not shown in game.


Special Features

There’s normal and hard mode. Hard mode actually changes the layout of the levels a bit, not just makes enemies generically harder. It’s all about terrain and positions.

-but wait, there is more! There’s also a ”custom” game mode slot which loads in a user-created set of up to 4 levels, provided you’ve patched one such mod in to the ROM file or cartridge. We will release a level editor with a built-in patcher for your convenience.  

That’s all for now.

Ps.
I think we’ve got a clear picture on how we want to structure the campaign already, but let me know if there’s any add-ons, tiers or whatever that you’d really like to see. I won’t promise anything on that front (while we have some things in mind already, the game itself and its viability is the most important thing) but input is always welcome.

Contact me directly or write in the appropriate nesdev or nintendoage threads.