Graphic enhancements in games!
(this message was also posted at http://www.retroremakes.com/forum/viewtopic.php?f=6&t=12431)
Hello to everyone!
A couple of years ago I tried to develop an idea to "recolor" old (mainly ZX Spectrum-based) games to give them new look and make them more attractive. It would be easier than to make a full-fledged remake. At least for Speccy, in many cases gameplay and sound are already adequate, but graphics does not look good enough anymore.
Now I would like to announce the first attempt to organize semi-automatic game recoloring. It is created thanks to UnrealSpeccy emulator and the idea of its author SMT on sprite search/replace.
Have a look at the pictures below ([I, Ball II game -- original and retouched):


I recolored only this level, and not yet completely. Maybe, the coloring is too agressive sometimes, but I just wanted to show clearly the potential of the technology.
The (recolored) game itself can be downloaded here:
Rapidshare
Onlinedisk
(just depack and run src.exe)
How it works. The emulator is given two sets of pictures -- "original" and "new". Before producing the next frame, the program looks for the pictures from the "original" set and subsitutes them with pictures from "new" set. That's it.
The "new" pictures" are created in double resolution (screen size 256*2 x 192*2), so the graphics will be not only better-colored, but also smooth. To create them, I used the filter, proposed by Head Over Heels PC creators.
Sure, this approach cannot be applied everythere (clearly, we need a sprite-based game, not ELITE or Stunt Car Racer). Also, there are problems with overlapping sprites, color collisions, etc. But for many problems I can find an appropriate solution.
Probably, the many problem for now is performance. The game now works fine on my PC, but generally by increasing the number of sprites we can considerably slowdown the process.
I have some thoughts about possible optimizations that can make the process two or more times faster.
Also, UnrealSpeccy has a "magic" parameter "t-states/frame -- number of tacts in a frame" that can (as I feel) take out all the problems, but I am quite infamiliar with it yet (maybe someone knows better!)
So, that's all. I am waiting for the feedback! If someone wants to color some game, I will share the technology with great pleasure, since I am much better programmer than a painter, so there is no reason to expect many cool-looking colorful games from me ;)
Hello to everyone!
A couple of years ago I tried to develop an idea to "recolor" old (mainly ZX Spectrum-based) games to give them new look and make them more attractive. It would be easier than to make a full-fledged remake. At least for Speccy, in many cases gameplay and sound are already adequate, but graphics does not look good enough anymore.
Now I would like to announce the first attempt to organize semi-automatic game recoloring. It is created thanks to UnrealSpeccy emulator and the idea of its author SMT on sprite search/replace.
Have a look at the pictures below ([I, Ball II game -- original and retouched):


I recolored only this level, and not yet completely. Maybe, the coloring is too agressive sometimes, but I just wanted to show clearly the potential of the technology.
The (recolored) game itself can be downloaded here:
Rapidshare
Onlinedisk
(just depack and run src.exe)
How it works. The emulator is given two sets of pictures -- "original" and "new". Before producing the next frame, the program looks for the pictures from the "original" set and subsitutes them with pictures from "new" set. That's it.
The "new" pictures" are created in double resolution (screen size 256*2 x 192*2), so the graphics will be not only better-colored, but also smooth. To create them, I used the filter, proposed by Head Over Heels PC creators.
Sure, this approach cannot be applied everythere (clearly, we need a sprite-based game, not ELITE or Stunt Car Racer). Also, there are problems with overlapping sprites, color collisions, etc. But for many problems I can find an appropriate solution.
Probably, the many problem for now is performance. The game now works fine on my PC, but generally by increasing the number of sprites we can considerably slowdown the process.
I have some thoughts about possible optimizations that can make the process two or more times faster.
Also, UnrealSpeccy has a "magic" parameter "t-states/frame -- number of tacts in a frame" that can (as I feel) take out all the problems, but I am quite infamiliar with it yet (maybe someone knows better!)
So, that's all. I am waiting for the feedback! If someone wants to color some game, I will share the technology with great pleasure, since I am much better programmer than a painter, so there is no reason to expect many cool-looking colorful games from me ;)
Post edited by rg_software on
Comments
Looks nice. But I'm not interested, thanks.
I like to play my games as I did back then. No enhancements, no nothing. I'm not even interest on remakes. I'm on this thing for the feeling of playing a ZX Spectrum game and get transported back to those days. And while I'm keen to take a look at new games still being produced, they have to run on one of the ZX Spectrum machines with no strings attached, or I'll loose interest.
I do have a fondness for retro-looking games though. But these have to be original and are most for the late 80s and early 90s PC. An example is the work from Jeff Vogel (http://www.spiderwebsoftware.com/)
It's the same situation as the 256 colour Spectrum games that EmuZWin can run (see:
http://www.yantragames.com/ZX256.html
http://spectrummagic.emuunlim.com/Spectrum%20Magic%20256%20Games.htm
and
http://home.earthlink.net/~zx_makeovers/id2.html
for screenshots and downloads). Some of these games are really well done, but of course only EmuZWin (and the very basic Spec256) can run them, so I can't use them on my PSP or XBox, sadly. If FUSE ever gets the ability to run coloured games like yours and the others I've mentioned then I will definately use them, but for the moment there's no practical way for me to.
Still, some people no doubt love them on the PC based emulators (UnrealSpeccy, EmuZWin, etc) so please keep at it and let us know of your progress. Instead of using Rapidshare or whatever, you should really set up a WWW site with your recoloured games, to show what you've done, and this will hopefully encourage emulator authors to add the ability to run these games to their emulators.
Well, that's perfectly fine, but this does not mean that nobody is interested :)
There are, at least, retroremakes.com and retrospec.sgn.net communities that specialize on remakes, and they are quite active.
I think, your method has only one advantage comparing to Spec256 - slightly easier to make recoloring. But it also has many new problems and limitations.
No, that's not right -- in Spec256 you are still limited to 256*192 screen resolution.
With my idea, it is possible to use 2x screen (or even 3x, 4x screen, why not -- if 640*480 resolution is not enough -- there is no inherent limitations to 640*480).
Processing power is also not THAT important -- if the game can be run on the average hardware.
As of other limitations -- you are right, they do exist.
But if we have a look at actual remakes (not hypothetical ones), many of them are faithful enough, and do not extend gameplay, scrolling or movements. Say, already mentioned Head over heels, which is IMHO nice. Also (if I remember correctly) Sir Fred, Highway Encounter, etc. remakes are nearly the same as originals, except much better graphics.
They do sound good but i must admit i prefer to play the games in their 'natural' state
The whole "256 colour games are the greatest thing since sliced bread" lasted about a month before people realised that an old game with improved graphics is just an old game with graphics worse than an modern game. I don't see why this is actually any different...
1) hi-color games IMHO do have sense. At least, I enjoyed Head over Heels, Sir Fred, and Highway Encounter remakes, and I was not the only one ;) All these pieces of software are basically recoloring works.
2) "Spec256-styled" technology indeed can be extended. But it is harder to use, and, more important, I don't see anyone who is ready to upgrade Spec256/EmuZwin for higher resolutions.
3) Automatic graphic filters are fine, but that's a separate niche... They will not turn black-and-white game into a colorful one...
If you can make a nice utility for coloring Zx Spectrum games, and I don't care for high resolution here, just coloring is enough, I will appreciate it for sure. Todays we have 15 years old Spanish Dos emulator and buggy EmuZwin editor. I would love to see modern, stable, easy to use tool to color Spectrum games. I would personally use it for sure.
When I asked Kladov, he replied that extending the graphics processor emulation would be computationally demanding, slowing down the emulator.
I am not sure that's the case.
I think, Ralf is right -- I also found "spec256" approach being rather hard for wide use.
Anyway, thanks for the feedback! I'll see what can I do next :)
Palettes also can be nice, but if the original sprite is, say, black-and-white, no filter will give it ten colors :)
Interesting question. I checked Wikipedia:
The word emulation refers to an ambition and effort to equal, excel or surpass another; to compete or rival with some degree of success, especially through imitation.
According to this definition it is emulation.
There are also games which are called simulations where you fly X-Wing, Tie Fighter or even a dragon. It is also simulation of unexisting object :)
It is, at best, simulating a non existing machine.
EDIT: And I think Karingal's question was only rhetorical, to call the attention to a possible logic mistake.
I am interested in your graphical enhancement method and will definitely take a look at some of the finished enhance products, but if it could be picked up and included in Fuse or something else widely ported it would have a much wider audience.
Here are some screenshots:
I may finish it one day, but don't hold your breath. There are several problems too with that.
I think that If you, Rg-Software would like to work on 256 color games you have two choices:
-write a new emulator from scratch
-write a plugin for existing emulator
I thnk personally that second approach could be better. You have less work and more chances to succeed that way. I would like to see 256 color emulation as a part of stable Windows emulator like Spectaculator or SpecEmu.
I don't know what the emulator authors would say about it but maybe it's worth to ask.
Yup. I agree that's nitpicking. Some level of extra features not directly linked to the core emulation make all sense. Otherwise we would also have to question the fact a Z80A emulator uses buttons and windows, something a Z80A machine couldn't do. Or worse... fastloading would have to go :)
Of course these presents us with the obvious problem; What then is acceptable and what is not? And who says?
I think the question is easier than it might seem. An emulator, to be a respectable emulator, must emulate the target machine to the best of its abilities. No problems there (argumentatively. Not programmatically, hehe).
This means, that an user must be able to use the emulator while ignoring any extra features and this will give them the closest possible experience to the real machine. If this is achieved, then we have an emulator.
Then it's up to the author if they want or not to present the user with additional features. As long as they don't conflict or hinder the emulaton experience in any way, there's is nothing stopping them from being implemented. While I may not personally welcome these features (because I'd rather prefer time had been spent on the emulation and not eye candy) they don't shock me. If Fuse, Spud, Spin or Spectaculator were to implement 256 color simulation (this is not emulation), as long as I kept being able to use them without it enabled, who really cares?
https://twitter.com/bobsstuffgames
https://www.facebook.com/bobs.stuff
http://www.bobs-stuff.co.uk
Who gets to determine what is "acceptable" is incredibly easy. In the case of Fuse, it's me (and the rest of the Fuse team). In the case of Spin, it's Dunny, Marko and Woody. In the case of Spectaculator, it's Jon. Anyone who doesn't like what we determine to be "acceptable" in our software is more than welcome to use software which does meet whatever arbitrary criteria you're putting on it.
I don't agree 100% with that, as a great game with properly recoloured graphics is a great game with better graphics. I think the final result depends on the quality of the gameplay and original graphics combined with the skill of the person doing the recolouring. Some of them, such as Head over Heels and Jetpac looked amazing. I'd like to see FUSE gain the ability to run these recoloured game, but given how few they are (aparently it's quite hard to do, and limited to 48K games (although most of the best Speccy games were 48K), I don't know how resource intensive running these games are) then it's not exactly a priority. Plus, being Speccy owners we are used to (so presumably accept) little colour in many games, and in fact done properly, monochrone graphics can look great.
Ralf, your recolouring of Renegade looks excellent - I'd love to see it finished.
Brave words.
I guess some manner of user feedback is acceptable... or not really?
I hear this type of argument quiet often. It's quiet curious that is almost always from the emulating scene. I'm not sure what happens around here. But people tend to be more assertive of their work. *shrug*
While I can understand part of the reasons, I don't really see why it shouldn't be accompanied with a little disclaimer. Unless, of course, there isn't any. But in that case, I wonder why are our users then asked to test new features, help with bug reporting or suggest improvements. Cattle?
Most emulator authors have designated beta testers, they just don't advertise the fact. If you check the Emulators forum you'll see numerous threads for bug reporting, feedback and feature suggestions.
Dunny is very receptive to suggested features but as with all emulators, he being the author has the last word on whether or not he chooses to implement.
Remember, writing an emulator is a labour of love and the author more often than not receives nor asks for any financial recompense. It is written primarily for the author and if anyone else enjoys the fruits of labour then that is a bonus.
They can then even redistribute their version also under the terms of the GPL.
So, if you just wanted to change something minor in an emulator that was otherwise 99% suitable for your needs, you are welcome to implement the changes and you don't have to write an entire new emulator from scratch again.
At work, I have occasionaly taken GPL'd software and modded it for our specific on-site requirements.
This is in the spirit of true freedom allowed by the GPL.
So if the question is "I don't agree with the direction you are taking your emulator in, what can I do about it?"
Then the answer is "Fork off".
And I mean that in a polite way. :D