News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Shinobi Remaster - Released

Started by Fmtrx, 17:31, 08 February 20

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TotO

One thing looking strange is the missing frame when the player fire bullets because there is no shotgun into his hands.  ;D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Fmtrx

Quote from: TotO on 11:15, 14 February 20
One thing looking strange is the missing frame when the player fire bullets because there is no shotgun into his hands.  ;D


But this feeling...it was something else huh?? to have a hero that sends bullets on fire with his bare hands!
It was like a super hero from Marvel!  ;D  You felt you were very special when playing from a cpc!


Seriously, I tend to think that it was a bug in code that the sprite was not displayed ? They already had designed the sprite
if you see the attached image. Who knows? Only R. Aplin could enlighten us. IF he remembers after 30 years!
Regarding the frames of flying blue ninjas, i understand that they were not used because they could not include the AI routine for the movement, maybe because they did not have the time to finish this.


@sigh, it would be nice to have the proper magic. It may need some coding though. The arcade provided an animation of the a group of sprites moving diagonal. I think the cpc just displays the frame randomly. The other two spells...it is a different story...
For sure it would be nice to include as many as possible of the missing frames for the main character. it gives a better overall experience in the gameplay.






bugpat

 :o Wow a remastered Shinobi !!! Thanks guys, will try it this evening on my 664 ;D
Sinclair ZX Spectrum 48K+/128K+/128K +2/+2A/+3/+3,14/+4 (homemade)
Amstrad CPC 464 + DDI-1/664/6128
Atari 800XL/65XE 128ko & integrated Sio2SD/1040 STF/4160 STE
C64 integrated Sd2iec, C64C + 1541, MSX Canon V20/Oric Atmos/Amiga500/...

Mr. DVG

#53
I tried both versions thoroughly (V1.01 and V1.02) and to be honest despite the dithering (the one inserted in the yellow bricks and columns of the V1.01 version) gives some optical nuisance, I find that it is aesthetically very more beautiful than that of the orange bricks (they seem too "empty") of version V1.02 (I speak of the first three stages of course). Another thing is the strange bug in the level of the second boss (the flicker in the pavement and on the main sprite), which was not present in the original version. Excellent the new sprite of the Gundao Warrior and the new loading screen with the selections that Fano and Toto have made, they will surely give an extra touch to the whole ensemble. There is still ample room for "graphic" improvement even without having to patch / hack all the original code in my opinion ... for the details then we'll see!  ;)

I leave the link of the longplay I made of version V1.01 (my favorite currently):


https://youtu.be/4vcHNU-RhSo

Thanks again for all the work you have already done! ;D

GUNHED

Nice GFX, but I can't jump on the roof.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Fmtrx

#55
I would like to thank you all for the support. From the beginning I already knew that this modification i do, for every person that likes it, there will be 3-4 people that will not match their taste. This was expected, the taste is always subjective. Here we have a similar case that some people like the clean look, while others like the dithering. Personally i like them both. They both work for me, and i can see the sprites. Not easy to choose.


*saying that the sprites can be seen easily, i just found out that one type of thug, instead of black shades has transparency! Which means that he blends with the background and could be the one of the reasons that some people noticed that sprites are not easily seen.


With the bricks in mission 1 we have the dilemma: Either use the clean look of the bricks that arcade presents, using the pink color (V1.02) or apply some dithering to get a color that is closer to the arcade (but loose the clean look)


I tested a dithered version but removed the highlights of the bricks that i believe that it was the main reason that many people found these stages too bright.
See the middle screen in the attached picture.
Again i am not sure which route to follow here, i guess i will have to play the game a few days more and take a decision.

For the error in colors in mission 2 i will have to check it out. I suspect that i accidentally applied gray color in L2-4 palette.

Jump up should be done if you  press fire and UP simultaneously.


irrelevant: This bonus stage needs an update. The same applies for the running ninjas there.

Mr. DVG

At the moment this would seem the most suitable choice of colors + dithering! It should be seen in the game, but I already like it a lot (always personal taste of course)! It is nonsense, but in my opinion, adding a splash of water to divers who come out of the sea in level 2-3 would give another extra touch to the game (ok I stop I swear)! ;D

Fmtrx

it would be the easiest thing if they had associated a particular frame for the diver when he appears as he comes out of the water. I would just modify graphics.
But they use a single frame that performs the whole jump - (jump?, this is not a jump, this is a LIFT OFF from canaveral), so there is no way to be done by just modifying graphics.

Sykobee (Briggsy)

If there's a way to stick some grey into the bricks they will look a bit more muted like the arcade version.


But let's be honest, the CPC was all about bright colours :)

Mr. DVG

#59
I understand, there are limitations imposed by the code because that's how it was originally programmed by Richard Aplin, so these factors are not modifiable unless you hack / patch the original code to be able to modify them, is it correct or wrong?

I find it was a shame to give the code so little "freedom of action" (maybe it was planned to run in that period, or who knows), also because Aplin was very talented in that period (maybe he still is, although I don't know if he always deals with programming) and has made conversions of a good standard and for different systems.

This Shinobi for Amstrad CPC (in its original version) proves to have excellent cards on the table (in-game sound, non-jerky scrolling and feeling very similar to the arcade one) and therefore I hope that in the end it will be possible to change everything 100% to make it a remastered even more accurate ... It is the best wish I can do!  ;)

I don't understand anything about programming in general, but a little tutorial would be nice to understand how you are modifying the graphics of this game and if you can apply the same principle to other games that maybe need a "revision"! In a short time I will have many months of freedom from work and maybe I could study a little and give support for some future project!  :D

In the final sentence there is another sprite that should be modified in my opinion, namely that of death (but only to me it seems that Joe is taking a nap with his hands behind his head?)! The arcade one is slightly different and the position of the arms is fundamental to make it clear that Joe is lying on the ground!

Curiosity: in the table of the sprites used for Amstrad there is also a sprite with Joe seen from the front, but when is this sprite used? does anyone know?  :)

Another small note of this version (and which denotes the haste with which the games were programmed in that period) is the total absence of the final boss who is sincerely inexplicable (the game is practically everything, why omit this?)!  :(

Fmtrx

#60
I would say that the limitations we have in modifying the game has to do with its state. We have the BIN file only, and no source code. Which means that an experienced person in assembly has to do the tedious job to reverse engineer and understand the code, find critical addressed, correspond areas of code with an action they perform etc.

For this remaster, the possibilities for now are restricted to update the graphics of the tiles. No reorganization of tiles, no chance of inserting NEW tiles/sprites, no possibility of changing the tiles/sprites size. As a matter of fact, even if we could add tiles, this would be almost impossible due to memory limitations.

However even with what we have in our hands, which is named texture update, can still make a big difference in visuals.
New graphics are embedded in the game with a tool created by Fano and is specially designed for this game.

The sprite you saw is indeed one more case of an unused sprite.
The death sprite, i will see what i can do to put the missing hand. I feel the original designer's concerns.
He had to work in a narrow 24x24 sprite width for an horizontal position of the body :/ .

At this stage of the game it is good to check the ratio: big visual update / effort in hacking.

Apart from the Chinese warrior sprite update, i believe that there is no other sprite that needs update at its current stage. Unless i am wrong.
So there maybe a couple of texture refinements, some of them are already done in my unreleased build and put the new title screen, and an updated bonus stage in the next version.

A future update could include music update.
The last step which would be the most difficult is to put missing frames in unused sprite slots, and have the assemblycode modified to use these new sprites.

But music update, new frame usage require change in assembly code.

@sykobee to put gray, i need to find which color i have to sacrifice. It is not an easy task, as they are all needed.
But let's see how it would look like with pink and gray dithering:

Carnivius

#61
Hope you don't mind but I had a go at that brick wall stage and made the poster closer to the arcade's one too.
hm why does posting it here make it a lil squished?  Weird.

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

Fmtrx

i like it. you used yellow i see for the bricks. You modified the palette organization of the mission 1? because as it is now yellow is in different indexes among stages in mission 1 and it gets corrupted.

Carnivius

thanks. No I didn't intentional modify the indexes, that's just what happened when I saved out as a 256 colour indexed PNG instead of 16.8 million colour PNG. :PWhat's the correct palette order?  I can easily swap the colours around in my image.
Favorite CPC games: Count Duckula 3, Oh Mummy Returns, RoboCop Resurrection, Tankbusters Afterlife

Mr. DVG

#64
As I follow the project I also understand the limitations and why some things happen ... the transparency of the first enemy is probably due to the fact that he uses the same sprite as Joe's legs (and vice versa) and this certainly has generated one "decompensation" in the color palette ... but ... LOL! :D

Seriously, I don't think it will be easy to solve this problem! :picard:

Fmtrx

Quote from: Carnivius on 13:16, 15 February 20
thanks. No I didn't intentional modify the indexes, that's just what happened when I saved out as a 256 colour indexed PNG instead of 16.8 million colour PNG. :PWhat's the correct palette order?  I can easily swap the colours around in my image.


it has to do with the palette of the game, i cannot use the yellow color currently because it exists only in stage 1 palette.
I will have to modify palettes of stages 2 and 3 and include it there and with the same index. Otherwise bricks will be colored with other color instead of yellow.


@MrDVG, i fixed the transparency issue, i had accidentally applied transparent black to black shade.

Mr. DVG

#66
Quote from: Fmtrx on 18:55, 15 February 20

@MrDVG, i fixed the transparency issue, i had accidentally applied transparent black to black shade.
Great!!! Then the thugs' legs have deceived me!  ;D

I have idea that the V1.03 release will be nice full of news! :P

Carnivius

Quote from: Fmtrx on 18:55, 15 February 20

it has to do with the palette of the game, i cannot use the yellow color currently because it exists only in stage 1 palette.
I will have to modify palettes of stages 2 and 3 and include it there and with the same index. Otherwise bricks will be colored with other color instead of yellow.
Weird. By yellow do you mean the sorta darkish tone of yellow (rather than the bright one)?   I used to hate that colour but then one day I realised it's one of the most useful colours in the entire CPC palette and should rightfully be in almost any game's palette.  Especially great in adding a more realistic and gritty look to things as well as being a great buffer colour in various hue ramps too helping with a smoother transition between certain colours.  I would certainly recommend trying to fit it into the palettes of other stages as with the more 'earthy' look of the arcade game's palette I think it could be of great use. :)

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

Fmtrx

#68
Yes the dark yellow. I could not agree more regarding the usefulness of this color. As a matter of fact i have included in Mission 3, in order to recolor the brown stones. Next is mission 1.


I am trying to collect as many corrections as i can before i release something. Even if it takes a while.

Mr. DVG

Is there any news for updating to the new version? I do not deny that I am anxiously waiting, but I would like to know even if you are experiencing difficulties of some kind in the update! (maybe someone maybe could help or give support). ;D

Fmtrx

#70
Quote from: Mr. DVG on 19:13, 29 February 20
Is there any news for updating to the new version? I do not deny that I am anxiously waiting, but I would like to know even if you are experiencing difficulties of some kind in the update! (maybe someone maybe could help or give support). ;D


Hey man, I have updated some BG textures, but the major work was done with the main sprite.
I have drawn almost all missing frames, more specifically the inclination of his body when he crouches, jumpup and fall off frames, updated crouch ower frames, shooting position when crouching, shooting position when shooting bullets both standing and crouching and maybe a few more that i cannot now recall.
The only frames that are not designed are the sword frame and the frames when he jumps high to different platforms.
But i did not have sprite slots. Fano told me that he could find a solution with this.


Also i have to bote that i could not match the crouching position 100% because the shooting of shurikens in the arcade version when crouched, is at a lower position than the cpc. So i had to make him crouching at a higher height - or else he would shoot shurikens from his mouth when crouched ;D . But even with higher crouch position, it is quite close to the arcade in my opinion.

I have updated the BIN file with the new frames, but i will definitely need help regarding the hacking of the code, as someone needs to :
example for the crouch frame of the upper part:
a)identify the part in code that e.g. when he crouches, the code just display the upper frame of the walk frame.
b)change the address of the sprite with the new one i designed and it shows the proper frame.

Fano is already helping with this, but his time is restricted.
From my part after taking a look in the code, i found the parts where the sprites addresses frames are loaded.
But this is only the start of the woven ball.


The problem here is that my path was  : Basic->c->c++->java->.NET.  No assembly in this flow.
The only case i had written some code was in university classes during a semester.
They taught us basic knowledge of ASM. (and it was 8085, not Z80)

Obviously this is not enough to accomplice the task here!
We would appreciate if someone helped in this section !  ;D

Next in the list is the retouch of the ninjas. I had already included a first version in the download, but the retouch was done to make them feel more robust. Version 2 will focus on redesigning to look like the arcade as much as i can.

Apart from the frames, i experimented with tilestudio, and changed  the reorganization of the tiles.
So the turquoise bricks in Level 4-1 are removed from this section and replaced with orange bricks that match the rest.
The ability to move tiles wherever we want helps in improving some graphic details of the game - only the BG details though, not objects with collision detection info.
(i hoped that  game designers had associated collision info and sprite addresses which this would help us rearrange even objects;
I experimented with this, but this was not the case. )

I continued with Level 2-1 and applied some 'tile economy' in order to improve graphics.
'tile economy'... catchy title in our era of worldwide crisis huh? . This means that I pinpointed tiles that offer little to detail of the scene, and allocated them as textures for the boat at the end of the level, and as texture for the big column and avoid using the four columns.
The tiles that were sacrificed were tiles with sky stars and a couple of others. (Not even the arcade had stars in L2-1 if i rememer well, so two tiles for ... STARS was a total waste!)

Then I hit the wall. While modifying tile organization in L4-1 worked exceptionally, in L2-1, game start showing corrupted graphics. I tried various things to identify where the problem is and even by importing the map, and exporting without changes with the tilestudio had as a result to corrupt graphics.
It seems that tilestudio corrupts specifically  the map file of level 2.1 for some unknown reason. Thus Level 2-1 will not be updated unless a solution is found.

Meanwhile i will change tile organization of mountains 4-1, 5-1. 
Doing so, i will break the randomness that they are placed so that i will be able to use shadows and highlights more effectively, by designing tiles for these roles.


Then i will pdate the ninja sprites.
I have asked a guy if he is interested in doing some updated music. I have not received an answer yet.

I feel that i opened the can of worms with this remaster, but i am determined to continue.

Mr. DVG

Thanks for the prompt reply and wow ... damn ... with all this work maybe it was better to redesign it from the beginning (joke of course)!

These jobs should be stimulated in some way ... I would like to offer you a beer or a dinner in some way ... (could you make a site to support the project with a donation perhaps?)  ;)

In any case, I hope to be able to play before the Coronavirus ends us definitively (unfortunately the situation in Italy regarding this problem is not the best)!  :picard:

Fmtrx

#72
Quote from: Mr. DVG on 20:41, 29 February 20
Thanks for the prompt reply and wow ... damn ... with all this work maybe it was better to redesign it from the beginning (joke of course)!

These jobs should be stimulated in some way ... I would like to offer you a beer or a dinner in some way ... (could you make a site to support the project with a donation perhaps?)  ;)

In any case, I hope to be able to play before the Coronavirus ends us definitively (unfortunately the situation in Italy regarding this problem is not the best)!  :picard:


we are in a bad situation here in Greece as well. We also have 7 cases of Covid, and the worst is the situation with thousands of refugees pushing to enter our country by FORCE. It is like we are in a war here. I hope that this madness will end soon. we are all sad and extremely upset regarding the future of our country.

Anyway, regarding the remaster, to tell you the truth i have never thought about it, regarding the donations. I am not sure.
I will give it a better thought, as i see that it is a common practice.
My main motive when publishing this was because i wanted to share this with people that have common passions with me, which in this case is CPC and shinobi.

Thank you for you kind offer i appreciate it, i am glad that you enjoyed it.

Regarding the corruption of L2-1 from the tilestudio, i found a solution. I dida diff in hex editor, and found these bytes that were written by tilestudio and caused this issue.
So each time i save the level in tilestudio i will have to do some hex editing in order to be recognizable from the game  :picard:
I could write a short patch in C to write these bytes in the file, but i could not care less. I will just update manually.

I did some tile rearrangement and refined some graphics in mission 4.
I attach some comparisons of all versions to have a better look of the progress.
here is a snapshot where i deployed tile rearrangement along with texture updates:


Mr. DVG

Quote from: Fmtrx on 21:21, 01 March 20

we are in a bad situation here in Greece as well. We also have 7 cases of Covid, and the worst is the situation with thousands of refugees pushing to enter our country by FORCE. It is like we are in a war here. I hope that this madness will end soon. we are all sad and extremely upset regarding the future of our country.

It is a moment of global crisis for everyone, we hope that this emergency will soon pass, so that we can face the future with more serenity! ::)

Quote from: Fmtrx on 21:21, 01 March 20
Anyway, regarding the remaster, to tell you the truth i have never thought about it, regarding the donations. I am not sure.
I will give it a better thought, as i see that it is a common practice.
My main motive when publishing this was because i wanted to share this with people that have common passions with me, which in this case is CPC and shinobi.

Thank you for you kind offer i appreciate it, i am glad that you enjoyed it.

If you need to make a donation campaign, don't hesitate to let us know ... I will be very honored to contribute!

Quote from: Fmtrx on 21:21, 01 March 20
Regarding the corruption of L2-1 from the tilestudio, i found a solution. I dida diff in hex editor, and found these bytes that were written by tilestudio and caused this issue.
So each time i save the level in tilestudio i will have to do some hex editing in order to be recognizable from the game  :picard:
I could write a short patch in C to write these bytes in the file, but i could not care less. I will just update manually.

Excellent, a rather complex solution, but in the end you found a clever way to solve it. I don't know what you're actually improving in level 2 (it already seemed perfect to me in the V1.02 release), but if you managed to solve the "flash" bug of the flooring to the second boss it's a great thing!

Quote from: Fmtrx on 21:21, 01 March 20

I did some tile rearrangement and refined some graphics in mission 4.
I attach some comparisons of all versions to have a better look of the progress.
here is a snapshot where i deployed tile rearrangement along with texture updates:

The new updated tiles / texture of mission 4 are nothing short of exceptional, not only do they differ a lot from the original version programmed years ago by Richard Aplin, but it almost doesn't look like the same game! In addition, the new coloring brings them very close to the original arcade version! (just don't see the Japanese writing above the door, but it's really a small thing compared to the general majesty)!

Excellent! ;)

Fmtrx

#74
Thank you!


Regarding the writing on the door, i have been thinking about it since yesterday. Two tiles are spent for the writing above the door... Which it cannot even mimic the original as the pixels are too big and few. So i am still thinking of removing them and allocate these two tiles as extra tiles for the ground.
They could help imitate the pseudo 3d proportion of the arcade : grass  is more sparse at the front, and thicker on the back.
So removing detail that the player sees for a second, the writing, we allocate to the ground, and give more detail, where the player is watching for the whole stage while playing.

Powered by SMFPacks Menu Editor Mod