New Software 2019

People are still making stuff for the Sinclair related machines. Tell us about new games and other software that runs on the Spectrum, ZX80/ZX81, Pentagon and Next.
Joefish
Manic Miner
Posts: 428
Joined: Tue Nov 14, 2017 10:26 am

Re: New Software 2019

Post by Joefish » Tue Apr 16, 2019 2:24 pm

Scrolling multicolour attributes is fairly easy - you have to redraw all the attributes every frame anyway, so changing what is drawn isn't usually much of a problem. My first multicolour demo scrolled. The trick is updating all the pixel data to match, which I didn't do - I just used a patterned background and let the attributes roll over it, with the occasional sprite drawn in during top-border time then erased in bottom-border time.

In this demo, it's only half the screen width (or less) like 8x1 multicolour, but it's actually 8x2 attributes. That means for every two lines of the screen being displayed, it can (a) change one line of attributes and (b) re-write one line of pixels. That achieves 8x2 multicolour with half the pixels re-drawn; the other half must be re-drawn during top & bottom border-time.

What inhibits scrolling is if all the addresses for each line of the multicolour routine are hard-coded; that makes them harder to change. Nirvana does this out of necessity, to have time to re-write the whole row of attributes. My River Raid scroller encoded the address of the next line of data after each row of attribute data, so it could be obtained with an extra POP. So you could point your multicolour processor to any line in the buffer, and it would not only display the buffer from that point on, but automatically wrap-around, from the bottom of the buffer to the top. But then it wasn't as wide a multicolour band.

As for terminating the colours conditionally, the Buzzsaw+ menu does something like this. It's a loop, and at then end of the colour buffer, the FLASH bit is set in a last dummy line of the attributes, which is POPped into AF, thus setting the SIGNED flag in F straight away, so a simple RET M will then exit. (Actually what I do is run onto a second multicolour routine, that splits the colours on the bottom row to show the high-score, then exit after that). But it's an efficient way of doing looped mutlicolour rather than unrolled as you don't need to DEC or even test a value - the flag is set during the POP of the colour data.
2 x

User avatar
djnzx48
Manic Miner
Posts: 398
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: New Software 2019

Post by djnzx48 » Tue Apr 16, 2019 10:27 pm

Thanks for the explanations, it's always intriguing to hear about stuff like this.

(Derailing the topic further) I was just reminded of this (mostly) full-screen multicolour scrolling demo that looked quite promising. Only the author pre-calculated everything on a PC beforehand and it's non-interactive. It would be really cool if something like that were able to run in real time, but I guess it would be too much for the Speccy to handle.

EDIT: Interesting game too, reminds me of Scuba Dive. And the tiny sprites are quite nicely designed.
0 x

User avatar
Ast A. Moore
Dynamite Dan
Posts: 1007
Joined: Mon Nov 13, 2017 3:16 pm

Re: New Software 2019

Post by Ast A. Moore » Tue Apr 16, 2019 10:59 pm

djnzx48 wrote:
Tue Apr 16, 2019 10:27 pm
It would be really cool if something like that were able to run in real time, but I guess it would be too much for the Speccy to handle.
Did you miss this?
0 x
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.

User avatar
djnzx48
Manic Miner
Posts: 398
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: New Software 2019

Post by djnzx48 » Tue Apr 16, 2019 11:10 pm

That's a different technique isn't it? The tech demo is using 28 columns of the screen and it's doing horizontal scrolling as well. Granted, it's not 8x2 multicolour or even 8x4, but surely it's a lot of work doing all that pixel scrolling at 50fps?
0 x

User avatar
Ast A. Moore
Dynamite Dan
Posts: 1007
Joined: Mon Nov 13, 2017 3:16 pm

Re: New Software 2019

Post by Ast A. Moore » Tue Apr 16, 2019 11:38 pm

Horizontal scrolling isn’t difficult as far as color attributes are concerned if the background is just solid black. You just need to swap the ink and paper colors at cell boundaries. The scrolling itself at 50 fps is pretty impressive, I agree, but the active window size is fairly small.

Hikaru made a truly impressive horizontal scrolling multicolor demo soon after we sorted out the floating bus business:



It’s interactive, too, if I recall correctly, that is, you can use keys to scroll in either direction.
0 x
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.

User avatar
DenisGrachev
Berk
Posts: 40
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: New Software 2019

Post by DenisGrachev » Wed Apr 17, 2019 2:11 am

Ninjaman is pretty simple, not sure why they need so complex approach with pc calculations. Look carefuly, only 1 attribute value per horizontal line with hole in center for hero sprites. Hero sprite always at center of screen.Very limited.

Also making a demo it's just a 10% of work, you still need to implement gameplay. It need to reserve some cpu power for gameplay otherwise it never become a game, just another uniteractive demo!

And my personal favourite is this one: https://zxart.ee/rus/soft/demoscene/skyscraper/
It does full screen vertical scroll. Unfortunately it's pentagon timings only :)

Cheers!
2 x

Ralf
Dynamite Dan
Posts: 1079
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: New Software 2019

Post by Ralf » Wed Apr 17, 2019 9:43 am

And my personal favourite is this one: https://zxart.ee/rus/soft/demoscene/skyscraper/
Very nice, funny demo. Thanks for mentioning it, somehow I missed it when it was released
0 x

Joefish
Manic Miner
Posts: 428
Joined: Tue Nov 14, 2017 10:26 am

Re: New Software 2019

Post by Joefish » Wed Apr 17, 2019 11:58 am

The problem with scrolling comes when you want to add sprites.
In Cobra, the screen is redrawn directly from the level map using fast PUSH techniques, then sprites are drawn in before the raster comes round again.

With multicolour, that catches you out. You could draw the colours for the scrolling scenery live in step with the raster, based straight off the level map, but then you can't fit the sprites in with their own colours. You could skimp on details and make all your sprites use the same bands of colour, then define that as your 'empty' map cell, but your cheapness would show! The other way round it is to paint the colours to a buffer, then add the sprites, then render the multicolour from the buffer, but that takes twice as long to do all the attributes.

On the other hand, with horizontal scrolling, you only need to completely scroll the scenery attributes once per whole character that is scrolled, so you might have four or eight passes through your routine to redraw the background attributes in a new buffer, then switch over to it instantly. To add moving sprites to that though, you need to be able to add them then delete them and restore the bit of the buffer where they were, while you work on building up the new buffer.
0 x

User avatar
g0blinish
Microbot
Posts: 101
Joined: Sun Jun 17, 2018 1:54 pm

Re: New Software 2019

Post by g0blinish » Mon Apr 22, 2019 8:16 am

1 x

User avatar
Alessandro
Manic Miner
Posts: 340
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: New Software 2019

Post by Alessandro » Mon Apr 22, 2019 10:33 am

Rade Blunner, a platform made with the Churrera V1.
1 x

Post Reply