ZX Recoloring project

Share graphical tips, notes and queries related to our favourite screen layout and its editors.
Ralf
Dynamite Dan
Posts: 1161
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: ZX Recoloring project

Post by Ralf » Tue Jul 02, 2019 9:32 am

I'm sure he could try to patch every particular issue
Yes, if such project should be successful, it can't be "release and forget" thing. The tool author should cooperate with people trying to make games and address problems they encounter.

And I agree also with Andy that
It's always pitched as something that is easy, requires no programming experience and that will produce great results
You know, when people hear about colouring black and white pictures they immediately think of 5 years old kids in a kindergarten ;)

But no, adding colour to Spectrum games isn't a job for 5 years old kids. You must be good at pixel art. You never work at whole object like houses or tree but rather on small tiles and sprite parts. And yes, you need some understanding of assembler as well.
0 x

hikoki
Manic Miner
Posts: 381
Joined: Thu Nov 16, 2017 10:54 am

Re: ZX Recoloring project

Post by hikoki » Tue Jul 02, 2019 9:47 am

I may be wrong but this project is different. If you open the sample you'll find the original sprite and the modern one. So the process tries to be transparent to the user as for searching and replacing entire sprites.
It may be a proof of concept which doesn't work on every case yet, but the idea of the author is in there, just replace every sprite by yours. Besides, I understand the modified emulator allows to place any sprite without taking account of any limitation like colour clash or the number of colours.
0 x

geecab
Berk
Posts: 18
Joined: Sun Jun 23, 2019 11:44 am

Re: ZX Recoloring project

Post by geecab » Wed Jul 03, 2019 12:31 pm

Hi there! I decided to register with this forum after I read this thread as am really interested in modifying the graphics on certain speccy games (I've been playing around with emuzwin v2.5, changing the graphics on Fairlight and Amaurote. I'd like to modify MAME to do something similar but that is a subject for a new thread :p).

Anyways, I decided to try out the Iball2 game the developer modified (I downloaded the iball2_remake.rar from his website). It looks and works pretty well. I've read the WOS thread too, it's a real shame he was hit by such harsh/bitter/unfair responses. I think his idea could have gone places, even just for prototyping new colour schemes for old games. I think the configuration (settings.txt) for the modified sprites is clever too (When 2 sprites collide, you can configure which modified sprite should be in the foreground, and which should be in the background).

I think with a game like Iball2, where sprites don't often collide or hide behind each other, then this pixel find/replace method can give good results.

I think this sort of approach lends itself best for games like Rebelstar/Rebelstar2 (Where the graphics are pretty much stationary and never overlap). Might have a go a modifying Rebelstar2 myself...

Something else, but I'd recommend keeping the new sprites the same pixel resolution as the old sprites they are replacing (I.e. Just modifying the pixel colour of the new sprites). Mainly because when sprites overlap/collide (And the emulator has trouble identifying a match), it is less obvious when the old sprites are momentarily displayed (You hardly notice it). Also, keeping everything at the same resolution also looks more faithful to the original game (You look at it and think "wow, that's cool speccy graphics", rather than "This clearly isn't a spectrum game"), but I understand this might just be my personal preference.

:)
0 x

Bedazzle
Berk
Posts: 8
Joined: Sun Mar 24, 2019 9:03 am

Re: ZX Recoloring project

Post by Bedazzle » Fri Jul 05, 2019 4:29 am

geecab wrote:
Wed Jul 03, 2019 12:31 pm
I've been playing around with emuzwin v2.5, changing the graphics on Fairlight and Amaurote.
Fairlight will be a problem, cause some graphics is procedure generated.
0 x

geecab
Berk
Posts: 18
Joined: Sun Jun 23, 2019 11:44 am

Re: ZX Recoloring project

Post by geecab » Sat Jul 06, 2019 12:48 pm

Bedazzle wrote:
Fri Jul 05, 2019 4:29 am
Fairlight will be a problem, cause some graphics is procedure generated.
Thanks Bedazzle! Good to know.
0 x

geecab
Berk
Posts: 18
Joined: Sun Jun 23, 2019 11:44 am

Re: ZX Recoloring project

Post by geecab » Sat Jul 06, 2019 1:15 pm

I've been playing around with the recolouring stuff a bit more. I really like it! It’s very easy to use and I am hooked now. I think it’s really worth trying if you haven't done so already :)

I decided to have a go at recolouring Aquaplane as there aren't many sprites in the game. I've recoloured quite a few of the sprites, it didn't take too long and I'm pretty happy with the way things are looking (See screenshot below). There is an occasional 'flicker' problem with the original sprites in Aquaplane. I have a suspicion the flicker is because Aquaplane does not synchronise its video memory writes with the video interrupt. As the original sprites occasioanly flicker, then so do the new/recoloured sprites, which looks a bit odd. Not sure what can be done about this.

I've also started recolouring Stormbringer (Currently, I've only recoloured the main character/hero sprite. See screenshot below). Things looks great/smooth and there is zero flicker. Something is a little odd though, if say on the screen below, I move the hero character under the big tree or under the green handle of the sword, the emulator fails to recolour the sprite. Move anywhere else and its fine.

I've zipped up everything I've done here incase anyone fancies taking a look:-
https://drive.google.com/open?id=1Ml8vP ... sAV3WvOAsi

Aquaplane screenshot

Stormbringer screenshot

:)
2 x

User avatar
druellan
Manic Miner
Posts: 369
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: ZX Recoloring project

Post by druellan » Sat Jul 06, 2019 2:42 pm

Simon Owen's projects are also interesting, using a similar approach: the original codebase working on background, and a new graphic layer on top:
https://simonowen.com/spectrum/augmentinel

Image
0 x
Un buen día me puse a probar juegos de ZX Spectrum a ciegas en Youtube, terminó siendo:
📺 Retroarqueología en Youtube

AndyC
Manic Miner
Posts: 236
Joined: Mon Nov 13, 2017 5:12 am

Re: ZX Recoloring project

Post by AndyC » Sat Jul 06, 2019 9:23 pm

geecab wrote:
Sat Jul 06, 2019 1:15 pm
I've also started recolouring Stormbringer (Currently, I've only recoloured the main character/hero sprite. See screenshot below). Things looks great/smooth and there is zero flicker. Something is a little odd though, if say on the screen below, I move the hero character under the big tree or under the green handle of the sword, the emulator fails to recolour the sprite. Move anywhere else and its fine.
This is the problem with trying to solve it with image recognition techniques. The relatively low resolution of the image, plus the inherently quirky colour clashing artifacts will most likely cause it to fail at times and end up with a somewhat unsatisfactory result. You could possibly tweak the algorithm to better suit some games, but doing so will likely cause others to behave worse.
0 x

User avatar
ZXDunny
Microbot
Posts: 167
Joined: Tue Nov 14, 2017 3:45 pm

Re: ZX Recoloring project

Post by ZXDunny » Sat Jul 06, 2019 9:59 pm

You need an emulator that reads and writes memory using shadow RAM images.

When a memory read is performed, you read from three extra copies of the 64k that's paged in - and store them in shadow registers. When writing, you either write just the 8 bits you read from main memory (in the case of a general memory write), unless you're writing to the screen in which case you extract 8 bits for PAPER and 8 bits for INK and combine those to a screen that can handle 256 colours. If you have 7 extra banks of RAM, you can easily make graphics that are 256 colours per pixel.

Of course, you can't load games from tape this way, but snapshots are really useful. All you need then is an editor that allows you to identify graphical objects in memory and pre-load those regions with 256 colour representations of their 1s and 0s.

This has already been done, btw, many years ago. But it never gained any traction at all, despite being very simple for the average user to mess around with. You don't need to do image recognition, no need to trap screen display routines.
0 x

hikoki
Manic Miner
Posts: 381
Joined: Thu Nov 16, 2017 10:54 am

Re: ZX Recoloring project

Post by hikoki » Sun Jul 07, 2019 12:58 am

@geecab
Thanks! You may want to send your work to the author, RG_Software, and tell him about the issues you mention.
Do you think it'd be possible to take the Jet Pac Advance Mod and put Scuba Dive's sprites instead? Using Horace everywhere could also be fun. I'd like to see a different Bruce Lee sprite. Another kind of game to mod could be those with 3d graphics like Ant Attack to use baddies from other Spectrum games giving them a 3d look. What about Double Dragon? there were graphics out there for a remake that never was finished. One could also think of using Renegade graphics for Double Dragon, or take one of these beatemups and give them a Christmas theme like making the Three Wise Kings fight with burglars disguised like Santa Claus. In general it'd be interesting to mod good early games with UDG or simple graphics. Another idea would be making demakes of modern games, Mario sprites from Gabriele Amore comes to mind. Aberrations like these may not deserve to be in the form of real Spectrum game, that's why I see these experiments like any other modern game for PC.
0 x

Post Reply