News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_fano

SHINOBI Gfx restoration

Started by fano, 12:40, 27 March 13

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

arnoldemu

Quote from: RichAplin on 17:12, 16 April 13
Scrolling;


Most CPC games (and most of mine) used 'software scrolling'


"Fly Spy" used hardware scrolling on the CPC but it's a significant pain because
a) the 6845 doesn't let you split the screen into scrolling/non-scrolling areas; i.e. you can't raster-split it (see FlySpy where I blanked the top portion of the screen when scrolling)
It is possible to split it into a section that hardware scrolls and a section that is static. It's a well known technique now, probably not so well known back in the day.

It's called "rupture". It involves changing the screen height with r4 and turning off vsync generation (r7>r4) for one section, then for the lower section, turning back on vsync (r7<r4).

It's a bit more tricky that if we had a real programmable raster interrupt and a screen split facility (which the amstrad plus has both of).

but worse;


Quote from: RichAplin on 17:12, 16 April 13
b) once you h/w scroll, your video memory is no longer linearly mapped, i.e. it has a point where it wraps around, which is a real PITA because then all your sprite/display routines etc have to be able to cope with potentially drawing half a sprite in one part of memory and half in another. This makes shit a lot more complicated and fiddly (+ potentially slow). 
yes, this is true. Where it wraps really is a pain.


Quote from: RichAplin on 17:12, 16 April 13
c) with software scroll you obviously have two options;
c1) you can either copy+move the display memory with an LDIR or similar (although a series of LDI's is faster, bizarrely) and then fill in the new gfx around the edges...
c2) or you can redraw the whole display each time from the tilemap. 


Many people ended up doing (c2) because it has a number of advantages;
it's easier to implement, runs about the same speed regardless of which direction (or how fast) you scroll, you can animate tiles easily, and most usefully of all you don't need to erase any sprites because you're redrawing the whole screen each time.  The constant-speed thing was quite important for games.
Yes, redrawing the tiles is much easier, I've done that for a couple of my games.

Quote from: RichAplin on 17:12, 16 April 13

As for your actual question - the frame rate? It depends how big your display area is and how much you optimize the tile drawing code.  :-)


In Shinobi specifically I recall that several of the end-of-level bosses just used a single-colour background (maybe with a simple floor) which meant I had that much more time to draw the sprites, but the main in-game backgrounds were just regular maps.
nice trick.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

RichAplin

#101
Quote from: Puresox on 17:15, 16 April 13
What is your opinion of the Amstrad CPC464/664 6128 etc... Rich? I would be interested to know. What work are you involved with at the moment,if you don't mind me asking?


I have fond memories of the CPC;
a) the rgb colour monitor was so much nicer than a TV modulated output
b) nice keyboard on 464, generally reliable hardware all round
c) excellent firmware
d) 16 colour display mode was nice
e) 3" disk drive was reliable and reasonably fast, 6128 was nice machine (yucky keyboard tho)
basically a pretty solid piece of hardware... a little pedestrian in design and a bit slow in some ways (display size to CPU power ratio was low) ... but a perfectly likable, mass-producable system with less corners cut than the Spectrum and overall and a very professional hardware design job.


I have to say in terms of the aesthetics of the hardware design, there was a lot to admire in the Amiga; such a clever, ambitious design. :-)


Nowadays I do a few different jobs; either bare-metal firmware stuff (e.g. wireless headphones etc for Astro Gaming) or mobile-phone server stuff (usually Python) e.g. I wrote the server for my friend's company Munkyfun, currently driving a fairly popular (~25M) horse-ownership game on iOS/Android amongst other titles.
Right this second I'm working on the server for an as-yet-unlaunched social app.

Puresox

Deleted , Previous post was corrupted!

Gryzor

Beige? Ambitious? :D


PS Sorry, instead of hitting 'quote' I hit 'edit' and edited your post, hence the note at the bottom...
PS2 Maybe that's what confused you, Puresox?

Puresox

Thanks for taking the time to answer Rich. Thanks for some great games in the past too!

Yves Rizoud

Fano, here's a attempt to take into account Sigh's palette and mission 1 tiles.
I organized the palette order to be as close to older one as possible, so that most non-converted graphics will still look good. All bitmaps are in 8-bit palette mode, should re-import exactly as you exported them.
Map1 relies on exactly the same tilemap as older one, it imports as much new tiles as possible.
Sprites are only recolored version, at this step I didn't want to introduce mis-alignments. File sprites_1_baby.bmp is a variant with the modified hostage, if you really want to something new.

Sprites colors use up all colors from 1 to 11. As you told me, 0 is mandatory black due to technical contraints; 12 is free. Maybe the green might be freed up too, at the moment it's mostly used for colored ninjas, and the original game has them in all primary colors anyway.
Colors 13-15 are set to colors used by the level 1 tiles.
Palette in CPC colors should be :
0, 9, 19, 27, 23, 15, 25, 3, 0, 20, 1, 10, (any), 12, 17, 5


Yves Rizoud

I've checked while running the game to see how the sprite parts are used. Only the 2 colored ninjas are still todo. So far, three sprites are offset (by 2 pixels) compared to legs, they are :
- shinobi shooting
- punk punching
- knifeman striking.
All other sprites are displayed exactly one atop the other.

The result is the attached sprite sheet that shows which combinations are used for what.
The second file integrates the walk cycle made by sigh.
If you open these files in Grafx2, set grid to 12x24 and activate Tilemap mode, painting on any sprite will copy the changes on all places where it's used.

sigh

That's good work and very interesting.

There are a couple of spots on the sheet that says "unused". Is is possible to add some extra sprites in those places? I had drawn the shinobi in his crouching stance a while ago and using the reference from the arcade. The arcade version is much longer horizontally and the walk cycle in crouch looks different from the CPC version.

Like with the legs on the kick and death, they are separate sprites and I want to try and do the same thing with the crouch and jump.
I really dont like how the current crouch and jump looks.

Carnivius

Interesting to see what you're doing here but I have to disagree with some choices.  The new brick tiles are far too clean and overly bright and visually overpowering taking my eye's focus away from the sprites.   I have a similar problem with several magazines and websites these days with all that damn 'white space' taking my eyes's attention away from the text I'm trying to concentrate on.  The lack of texture on the brickwork makes it look too artificial and unconvincing and in that ways I far prefer the brick tiles of the original CPC version (although they could be a bit better refined and the colours better used).

On the player sprite he use of the gray makes the sprite look rather washed out and bland when compared to the somewhat more pleasant look of the saturated darkish cyan the CPC version originally went with.. The CPC's gray is just a tad too light for a ninja. 

Nice work on converting the walk cycle over.  Problem is the one in the original arcade game is pretty bad to begin with.  Shinobi was never a particularly great game to look at and I have to question trying to make the CPC version look like the really rather dated arcade game instead than playing to the CPC's own strengths and 'style'.

That's my just my opinion anyways.
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

sigh

#109
Quote from: Carnivac on 10:53, 22 April 13
Interesting to see what you're doing here but I have to disagree with some choices............

We'll see when when it's running in the game.

Quote from: Yves Rizoud on 01:21, 22 April 13
I've checked while running the game to see how the sprite parts are used. Only the 2 colored ninjas are still todo. So far, three sprites are offset (by 2 pixels) compared to legs, they are :
- shinobi shooting
- punk punching
- knifeman striking.
All other sprites are displayed exactly one atop the other.

The result is the attached sprite sheet that shows which combinations are used for what.
The second file integrates the walk cycle made by sigh.
If you open these files in Grafx2, set grid to 12x24 and activate Tilemap mode, painting on any sprite will copy the changes on all places where it's used.


Whoops! I thought I had put the shinobi shooting sprite in! I also didn't realise the crouch walk was only 2 frames!
Hmmm - maybe I could try and combine the crouch walk frame and death legs frame together somehow...

Carnivius

Quote from: sigh on 11:38, 22 April 13
We'll see when when it's running in the game.

ok...
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

TotO

The arcade game look like that...
Sure, it's always better to add nice pixel art texturing inside to look more "Renagade or Gryzor" but, is the existing tile set allow that ?
If yes, why not in a second time, when all the GFx was recolored are drawn properly.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Carnivius

Quote from: TotO on 11:58, 22 April 13
The arcade game look like that...
Sure, it's always better to add nice pixel art texturing inside to look more "Renagade or Gryzor" but, is the existing tile set allow that ?
If yes, why not in a second time, when all the GFx was recolored are drawn properly.

I don't understand what you're saying here but actually no the arcade game doesn't really look like that. I also feel the highlights on these now yellow tiles really need to be toned down.  Far too much white on them.  No idea why you mentioned Renegade or Gryzor as they've nothing to do with this.   My point with the brick tiles is that even the original CPC version's attempt at least looked like the bricks of a building (and the use of the pink against the orange is a good idea to be able to give some detail without too much contrast)  and helped give me the impression that ninja is standing in a city.  The overly yellow/white revised tiles do not.  Apart from the brightness they're far too tidy and look sterile...    Also the use of that dingey greenish colour (the one that's usually about 127,127,0) should be done in moderation.  It's easily the ugliest colour in the entire CPC palette. 
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

TotO

#113
Quote from: Carnivac on 12:13, 22 April 13
I don't understand what you're saying here but actually no the arcade game doesn't really look like that. [...]
My point with the brick tiles is that even the original CPC version's attempt at least looked like the bricks of a building (and the use of the pink against the orange is a good idea to be able to give some detail without too much contrast)  and helped give me the impression that ninja is standing in a city.  The overly yellow/white revised tiles do not.



Please, where do you see attempt to make real bricks on the arcade version ?
No, orange and pink are not a good idea to redone the arcade background. (and you can saw the result on the previous version)

Definitively look great on your Robocop mock-up, but here, it's not the wished design.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Carnivius

Quote from: TotO on 12:47, 22 April 13
Please, where do you see attempt to make real bricks on the arcade version ?

Uh, I see right there some attempt to give a slightly wethered texture to the bricks...  They're not totally clean and devoid of shading.


I did a very quick edit to show if you 'mix' colours you can get details in there without them being overlay contrasting.


Could use some refining but the point is the overall brightness level isn't too high and it matches the arcade's more accurately, there is textured detailing with some use of dither, and it's of suitably low contrast (maybe a smidge too low contrast but hey it was a quick edit) that the foreground items still stand out without any problems.   Ok I slightly edited the player sprite too to use slightly more interesting shading  and make him 'pop' a bit more.
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

TotO

Quote from: Carnivac on 13:10, 22 April 13
Uh, I see right there some attempt to give a slightly wethered texture to the bricks...  They're not totally clean and devoid of shading.
I did a very quick edit to show if you 'mix' colours you can get details in there without them being overlay contrasting.

Could use some refining but the point is the overall brightness level isn't too high and it matches the arcade's more accurately, there is textured detailing with some use of dither, and it's of suitably low contrast (maybe a smidge too low contrast but hey it was a quick edit) that the foreground items still stand out without any problems.   Ok I slightly edited the player sprite too to use slightly more interesting shading  and make him 'pop' a bit more.

I understand well that adding "texturing" inside the background bricks allow to drop the hilight effect of the CPC hilighted colours, but that no more look "Shinobi"...
But, nice skill on your Ninja design, the sprite get more "life" looking like that.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Carnivius

#116
Well I was using the actual Shinobi bricks for reference (I had this pic
open which had been posted earlier in the thread while I making that brick tile) so it's about as close as you're going to get with the CPC palette and it's wide pixels.  The CPC just doesn't have that exact colour used in the brick tiles of that arcade game. Some compromises have to be made.


edit:  How odd.  I just noticed in that screenshot from the arcade that one of the Monroe posters has her beauty mark in the middle of her forehead?  What was that about?


@fano, sigh, everyone:  I hope you don't feel like I'm trying to hijack your topic or project.  I'm really not.   I just wanted to offer some suggestions is all.  You don't have to take any of them on board, but they're there if you want. 
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

Yves Rizoud

Quote from: sigh on 11:38, 22 April 13
Whoops! I thought I had put the shinobi shooting sprite in!
You did draw one, but it's a full figure and bends a lot forward. The current engine constraint need a single 12px-wide torso that has to fit well with : the 4 walking legs, the 2 crouching legs, and the jumping legs.
Quote from: sigh on 11:38, 22 April 13
I also didn't realise the crouch walk was only 2 frames!
Even worse, the crouch walk also borrows the jumping legs!
Sorry if these are big constraints, but Fano wanted to invest only in a sprite-replacement... Hopefully it limits the required work on graphics, but it also means the graphic change have to be less ambitious.

Carnivius

Heh.  Just read this on the wiki page of the game.  This bit refers to the Xbox 360 and Wii releases of the original arcade game.
"The backgrounds in Mission 1-2 and 1-3 also featured Andy Warhol-style posters of Marilyn Monroe. However, without consent from the Monroe estate, these images had to be removed"  So careful about the Monroe poster tiles.   ;)

edit:  oh, copy pasting that bit copied the those wiki-links intact?  I didn't intend or require that but that's kinda neat.
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

rexbeng

This is such an interesting topic! So, since you guys are already arguing (in the productive sense) on prefered styles and pixeling techniques, how about turning this into a little graphics compo?

Some people have provided easy to use sprites' and tiles' sheets, so everyone could just pixel over them to make Shinobi the way they believe it "should look on the CPC". I suppose Fano wouldn't mind making, ehm, a dozen variations of the game. Would you Fano? Perhaps each one could also make his own versions of the general screens and static graphics.

This could end up being rather amusing as I suspect that some people will try to make their version faithful to the arcade original while others could go overboard and change everything. How about a female ninja hero, or a ninja turtle, or... the Terminator?

rb

fano

Quote from: Carnivac on 13:25, 22 April 13@fano, sigh, everyone:  I hope you don't feel like I'm trying to hijack your topic or project.  I'm really not.   I just wanted to offer some suggestions is all.  You don't have to take any of them on board, but they're there if you want.
Nope, every opinion is welcome as long they can add creativity to this subject   ;)
Btw, i prefer to let graphists do their job as long they fit in technical requirements and original game spirit.

"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

fano

Quote from: rexbeng on 16:08, 22 April 13Some people have provided easy to use sprites' and tiles' sheets, so everyone could just pixel over them to make Shinobi the way they believe it "should look on the CPC". I suppose Fano wouldn't mind making, ehm, a dozen variations of the game. Would you Fano? Perhaps each one could also make his own versions of the general screens and static graphics.
Why not ? that's a good idea.
"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

sigh

Quote from: rexbeng on 16:08, 22 April 13
This is such an interesting topic! So, since you guys are already arguing (in the productive sense) on prefered styles and pixeling techniques, how about turning this into a little graphics compo?

Some people have provided easy to use sprites' and tiles' sheets, so everyone could just pixel over them to make Shinobi the way they believe it "should look on the CPC". I suppose Fano wouldn't mind making, ehm, a dozen variations of the game. Would you Fano? Perhaps each one could also make his own versions of the general screens and static graphics.

This could end up being rather amusing as I suspect that some people will try to make their version faithful to the arcade original while others could go overboard and change everything. How about a female ninja hero, or a ninja turtle, or... the Terminator?

rb

Yep. (Though personally I'd like the ninja to remain a guy to keep the shinobi spirit.)




SyX

I like your idea rexbeng :) The artists must have fun too :)

I enjoyed the c64 Rambo competition, and we should have one of this in cpc, for example remaking bad screens as Victory Road  ;D
[attachimg=1]

TFM

Hmmm... or doing something new
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod