Nodes of Yesod for the ZX Spectrum Next

The ZX Spectrum Next in the flesh!

How it started

In May of 2017, I committed to deliver a remade version of Nodes of Yesod as part of a £620K stretch goal for the successful (the campaign raised £723,390 in total!) first ZX Spectrum Next Kickstarter campaign, something Victor Trucco (originator of both the ZX Spectrum Next design and the TBBlue predecessor) tweeted about:

How it's going

Let's talk about that. 

In between May 2017 and the date of this post I have made not one but two major job changes, entailing moving between cities hundreds of miles apart. Twice. Perhaps understandably, the side-project of creating a remake of Nodes took second place to these new IRL priorities. Yeah, excuses. Pretty good ones though, as these things go.

That said, some progress has been made, and the update is that I have recently picked up the project again and will start to post the occasional update here (and on my @stevewetherill Twitter) as and when there is progress to report.

For now, here's a couple of bullet point updates (all subject to change as and when I run headlong into the brick walls that will inevitably present themselves!)

  • The Spectrum Next version of Nodes will be written in C (with optimized Next Z80  assembler as and where needed). The reasons for this are severalfold, but my thinking is that 1) the Z80 source code for the original game has long since been lost, and 2) I already have high-level language versions of Nodes in Objective C++, Java (as an Applet, a J2ME Midlet, and even an unfinished but playable Android version), and Flash. In fact, I have already completed a clean port of all the Nodes of Yesod code into vanilla C, it is non-functional because none of the Next specific integration is done (input, graphics, sound, etc), but the compiled size of the binary is encouraging: it is less than 128KB of code and data, not including graphics data or audio data in Next format. Plus, the Next has fast CPU modes and graphics hardware, so I'd rather focus on delivering a complete game vs eking out every last Z80 T-state. I've done enough of that in my life, and personally find it a ton of fun, but it is not the fast track to completing a project!
  • Clearly, 128KB + media data is more than a 48KB or even a 128KB Spectrum has, and so I'll need to employ memory bank switching to make this work. The good news is that using the Z88DK C toolchain, I have run successful bank switching tests using the approach outlined here. So this is good news, and the fact that all ZX Spectrum Next devices have 1MB of RAM gives me a good level of confidence that everything will fit.
  • I am currently working on a custom tool to convert the Nodes of Yesod art from the various other versions I've developed back into a ZX Spectrum Next compatible format. In a way, this means that the art has come full circle, but one thing I can confirm is that I will be using per-pixel colored art for all the in-game graphics (so, no color clash) and that the game will have 2 modes, a "classic" mode (with the original ZX Spectrum look and feel, albeit without the color clash) and an "enhanced" mode featuring colorful graphics, a few little gameplay improvements including a map, giant moon worms and a save game feature. At the very least, these exist in other versions of the game I've created and will appear in the ZX Spectrum Next version if humanly possible.
  • So far, I've been using a Mac exclusively for development purposes, along with the .NET version of CSpect (one of the two leading ZX Spectrum Next emulators). So far, so good. The latest version of CSpect is running great on my Macbook Pro.
Astro Charlie, ZX Spectrum Next

Once complete, I will make this version of the game available for all Next owners in order to fulfill my original commitment to the Kickstarter stretch goal. Do note that this is not my primary work - I am co-founder and CTO at Overland Bound and primarily focused on that work - but as I said I have now picked up Nodes of Yesod for the ZX Spectrum Next again as a side-project, and my goal is to sprinkle in updates here amongst the other biographical stuff I have been posting and will continue to post.

Check out this trailer for the (now no longer available) iPhone version (from 2010!) to get an idea of what the Next version will hopefully look like in classic and enhanced modes. Also, I know there's no RAM pack wobble, sigh.


Marc said…
Glad you're back!

Please don't make Nodes too Amiga, try to keep a bit of Speccy in the enhanced version. Maybe using only the 15 Spectrum colours (but without colour clash) as did Melkhior's Mansion so perfectly.

PS. did you ever got your Orel BK-08 to work (if I remember correctly)?
Steve said…
If I can pull it off, there will be two modes. First is Spectrum style colors but without the color clash. Second is more colorful graphics. We’ll see how that goes!
Steve said…
Though, I may also (or alternatively) try the Heartland mask effect for the "classic" mode. Hmmm.

Popular posts from this blog

Odin Computer Graphics Part One : 1985

Nodes of Yesod : ZX Spectrum Next : Update #4

Software Projects : 1984