HALCYON december update

Just taking some time cleaning up the main sprite sheet and made a new move for the player character. Now it can crawl though tight spaces. Falling flat on the ground may also be good for avoiding dangers, but you’re less agile while crawling. Another change is that while the player throws bombs in an arc while standing, ze is planned to roll them on the ground while ducking.

crawling

While i’m at it. Here’s a look at how sprites are organized when running. NES sprites are 8×8 pixels (unless the PPU – picture processing unit is in 8×16 mode, which is sometimes useful but not always). So mostly, you have to piece several sprites together to make a decently large and detailed character. For example, little mario is 2 by 2 sprites, side by side, and big mario is 2 by 4. But there’s no rule that states that sprites must be side by side. You’re entitled to free placement if your own code permits it.

I’m exploiting this fact to two effects:

  1. make the running animation smoother than most NES era games
  2.  sometimes have the character be fewer sprites in total.

The second point is sort of important because on the NES you have a sprite bandwidth of 8 sprites per scanline (that’s a horizontal line on the screen). If there are more than 8 sprites, the 9th and so on won’t show. Programmers quickly figured out that they could hack their way around the limitation by rotating the priority of sprites. That’s why you see flicker in a lot of NES games – which is still better than sprites being invisible.

Slimming the need for sprites on the same scanline means less flicker – and there will be flicker, because the player controls both a vehicle and a character, and then there’s projectiles, other actors, and so on. A side by side/mario style animation would in this case be a constant 2×3=6 sprites at any one cel, but instead in oscillating between using 5 and 3.

Tilespace-wise, it’s not very effective – the running alone is using 30 tiles if i remember correctly, though some of it can be reused for other actions. You can have 256 sprite tiles loaded in at the same time and that space has to be shared by enemies, items, HUD components and so on. Given that we’re using one quite agile player character and two vehicles ze can ride, that takes up some space. Luckily we can swap strips of it between rooms and areas so we can load in different enemies and items according to need, since the cartridge is using CHR RAM instead of ROM.

slowmo

Sprite boundaries shown in slomo. Individual movement of tiles lowers the need for unique ones and also sometimes helps keep the sprite count down occasionally. 

fg_h_running3

The animation is slightly dated. Nathan, the programmer, found that the engine would be more effective if all objects were anchored from the bottom left corner, and this animation has it’s origin at the center-bottom. That’s a quick fix for me, though.

PROJECT BLUE december update

Stuff is really getting really into place! Most assets have been done by now – my graphics and donnys’ music. There’s a fair bit of level design, wrapping-up and programming tidbits left to do but we’re getting closer to feeling really confident about launching this game as a kickstarter campaign with the promise of a very short delivery cycle. Basically, we wanted the game to be fully playable (& enjoyable) before launching it so backers could feel confident, and so that you can have the physical cartridge in your hands quickly after backing. Also we don’t feel like sitting on a pile of other peoples’ money without having a product that’s already solid and shippable. But the campaign is supposed to go live in the first quarter of 2019! Hoping to announce a more set date soon. Anyway, here’s a few game content WIP shapshots i’ve been meaning to show off.

Here is some work being done to the later levels in the game. You there’s no traps,  enemies or other objects on these screenshots, but they’ll be there for you for sure. 🙂

sample

Security desk and HQ lounge

flowofwater_nosprites

Ride the streams in the underground sewer system… guck!

Screen7Screen31

 

terrace

Catch your breath and get a look at the city centre from the HQ rooftop.

squat_ruins

A labyrinthine section of the slummy ruins of neo hong kong. 

Some few animation guides for various objects in the game:

submarine_fullspeedaheadwaterfall_mistgrab-o-coptersizzlinglasers

electric-arc2

Saving the biggest part for last. Textile artist Per Fhager did this amazing cushion stitch in wool, 36 x 31cm, depicting a scene from level 1 as presented in an interim build of the game between the nesdev compo entry and where we are now. The meticulous stitching is just breathtaking to me. Fhager is mostly known from doing large-format scenes of some of his personally memorable moments from games of  the 80:s and 90:s. Some of them are done as-presented ingame, while others have been stripped from foreground layers and sprites to show off the nice but often hidden qualities of some of these games’ background art. Be sure to check out some of his works here.

IMG_1494_mod

 

HUD for Halcyon

For the scifi themed vehicular/planetary exploration game i’m working on with Nathan Tolbert, i started sketching a HUD. It’ll be wholly sprite layer based, except for any text boxes.

To the left is the first draft, and to the right is something close to what i want to be in the game. It exploits the fact that at least three of the sprite palettes are fixed during action oriented gameplay – since i know what the colours will be, i can use them to a colourful advantage even in the HUD, which usually tends to get a bit monochromatic otherwise in many NES games.  I’m especially happy with the flourescent effect on the ”piechart” gauge. It is making good use of the NES:s Horizontal and vertical sprite flip features, which minimizes the need for too many unique sprites, though unfortunately the machine can’t do sprite rotations, so it’s not quite as resource effective as it would’ve been on later consoles (and on those, you didn’t really need to be this resource effective).

HUDHUD2

For the font for text notices and such, i was looking for a rounded sci fi look that’d help the game gain its own identity compared to the historical nes library, but it’s still big mono-spaced, mono-coloured letters.

newpower

 

Next up is a long delayed update on Project Blue.

 

 

 

 

Project Blue goes Textile!

Here’s a sneak peek of a pretty special Work In Progress…

CLOSEUP

Per Fhager, textile artist, interpreting Project Blue!

Someone who’s making an art form out of taking his game related childhood memories and turning them into finely crafted, large scale needleworks is Per Fhager, whose work i first saw as at the textile museum in Borås, where i was freelancing at the time.

So when he agreed to needlepoint a scene from Project Blue of his choosing, i naturally felt both starstruck and privileged. His work is at this point not only fondly chronicling the history of 80s and 90s gaming, but also the still-going effort to keep these old consoles alive with new titles.

Textile arts, crafts, and methods of production on one hand,  and retro computer art and graphics on the other, has a lot in common, when it comes to techniques, limitations, and expressions. How an industrial weaving machine is producing its pattern is eerily similar to how background graphics work in old computers like the atari 2600, NES and c64, making use of patterns and palettes (or interchangeable sets of spools) and line-for-line drawing/weaving, and it’s perhaps not as surprising when you think about the textile industry being the first significant broad scale application for programming. Once you zoom in, you will also notice similarities in how a raster of threads or pixels can  create the illusion of a bigger, more coherent picture, using very similar techniques. Patterns for text and needlepoint and early raster fonts share a striking similarity.

When i held a workshop for kids in designing retro graphics and game concept, a lot of older folks asked where they could download shiru’s NES Screen Tool – they wanted to use it to sketch and share needlework patterns.

IMG_5930

Next generation game designers? Photo taken for online publication with guardians’ permission

 

2001: A time odyssey

This particular song has been almost 17 years in the making. When i was about half my current age and still a teenager, i wrote a couple of songs on spanish guitar (with terrible playing technique) that were heavily inspired by how the castlevania franchise (especially earlier entries, and besides not too many were out back then) fused classical tensions and flavour with modern rock/blues sensibilities. I had noone interested in that type of sound to collaborate with in a band, so the songs got nowhere. Since they do me no good in the back of my head, i just recently elected to rearrange them for the NES. So in a way they’ve come full circle back to the musical medium that inspired me. Naturally, they’re for the gothic platformer project. This way, i’ve accidentally managed to expand the projects’ history retroactively from 2 to 19 years and going, haha.

The first rearrangement just got where i want it, so here it is.

As before, feel free to chime in with thematic associations and critique.

Edit: Replaced the old upload with a newer version which made a few things a bit clearer.

Three intentionally de-titled tracks

 

patreon

(Picture not descriptive of any of the tracks, either).

So, here’s track 16, 9, and 8 from the gothic platformer project as they currently are. They loop once before fading out. All are intended for levels.  I’ve chosen not to disclose working titles to free them of pretext. If anyone is taking the time to listen to them, i’m eager to hear what your associations are regarding theme, locale and setting to see if they match my intentions.

Below is a form to let me know directly what you think of each song. If you take the time to fill it out, i’m obliged! Many thanks.

Isometry should lend itself well to horror…

I’m happy and proud to say that i’ve started working with Orab Games on something that should be a bit of a rare bird to the NES library in two regards: A survival horror game… in isometric view!

You’ll explore the nooks and crannies of an institution for the criminally insane, uncovering bad things they’d rather keep away from public awareness.

Here’s a WIP preview of a few patient rooms. patient2_variant2b200patient1_new200

There are more or less a coat of paint over Tims’ original in-game graphics:
patient_original

Demo of Project Blue RELEASED!

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!

 

Quick Facts
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.

Controls
A to jump
B to fire projectiles

Ladders can be climbed, latched onto, and dropped from.

Credits
Programming – Toggle Switch
Music – Toggle Switch & Frankengraphics
Level Design – Toggle Switch & Frankengraphics
Graphics: Frankengraphics

Rats!

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:

blog

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:

halfdone

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.

 

75percentdone

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:

 

 

Fourth draft:

90percentdone

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:

asgoodasdone

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.