Jump to content
IGNORED

Last Ninja - the making


Recommended Posts

Hello to all.

 

 

This new topic it's where I will put all my questions, ideas and whatI've done on the port of this game.

It's here, that I also want to here your ideas, comments and anwers to my questions.

 

 

so, here come my first questions:

 

- I see the many diferent sprite shapes of Ninja and enemy. My idea is:

Ninja - P0 and 1 for upper body: (head-P0-black and eyes-P1) and (main body-P0-black,hands and weapon P1 (with this, different weapons will have diferent colours, with weapon on horizontal position, then P1 on double size).

Then with an interrupt I can have P0 and P1 for the legs in black. Why, because I need 2 sprites wide for the movement of the legs.

 

 

Enemys - P2 and P3 for upper body: (P2-head and main body-1 colour, eyes-P3, clothe - P2/P3 overlap, hands-P3.

Then with an interrupt, same as Ninja for the legs.

P4 gets PF3 colour and it will be for weapon.

The Enemy body will be a diferent colour of Ninja, not black on both, like C64.

 

 

And weapons will be diferent colours, depends the weapon - sword will be one grey, the other I don´t remember now the name, brown, and so on.

 

 

 

 

I think I can use two different P0/P1 and also two diferent P2/P3. Why because Upper body of each character will never be on the same line as the lowwer body.

But my real problem it´s the collision detection. My original idea was using one Missile on Ninja foot to do the collision between him and PFs. All the Ninja could be over or under PFs. but when that foot encounter the desired PF or PFs. don´t enter there - for example: will only go on the way - light grey(PF0).

But if I need to use all the Missiles to create the 5th sprite for enemy weapon, how will I get the collision. I have an idea, if in one foot I overlap P0/P1, then when he is in PF2, for example, the collision will be only when this 3 come together on the same place. Am I right? Or someone as another idea.

 

 

 

 

Another idea, more oldest, was to use missile on hands, the player and enemy will have more pretty design (more two pixels wide on upper body. Then enemy PM2-body and weapon as PM3. And it was here the change. The enemy clothe have to be a software sprite (one PF. colour). My question is: Will it be hard to create this clothe with a PF and change the PF place, everytime the enemy moves? With this, the Ninja and enemy will be more, many more atractive design. I would prefer this one, if you told me it will not affect many of the game sppeed. Only one Pf, in the enemy clothe, will be used in the PMs shapes.

 

As always, I would like to listen you.

Thanks.

<José Pereira.

Link to comment
Share on other sites

Don't get me wrong, I appreciate your idea of converting Last Ninja to the A8.

 

But, really, you think of starting again as thousands others did that retired finalising the game because they ran out of resources.

 

Look: You start to think about using two players for one object. How will you ever reach something more than a 4 colour screen with that?

 

If you really want to start a project that has to find a lucky end, think about moving objects using the playfield colours and NOT the player missile graphics. Those could be used directly for colour enhancement on the fixed objects and for some visual enhancements.

 

My sorrows are also about collision registers. Forget them! Use direct calculations of the real playfield positions instead.

 

Well, the screen doesn't scroll and the moving objects are rather small. Sprites via software really should do well for ALL LN versions.

Edited by emkay
Link to comment
Share on other sites

In my idea only two sprites were used, for Ninja.

 

Only 1/2 of the 130 screens have enemy on them.

So I have 65/70 screens to use the sprite overlaped for objects. Also, many screens lines don't have the Ninja &/or enemy on them. In this places I can use 2 or the 4 sprites.

In many parts I have DLIs to use. I said this, because I have all the screens, and study eachone.

I think it's possible to do like this. In a screen P2/P3 to enhance colour graphics and in that screen, other lines, where the enemy walks it will be for him the P2/P3. The same apllys to Ninja's P0/P1.

 

But I accept your idea, and all ideas. What I want to say, it's that using players as Software sprites could be difficult, changing the playfield eachtime the Ninja and enemy moves.

What you said it is more simple, because black can be one of the PFs colours. Can someone explain the idea and how simple or difficult would be creatin Ninja and enemys as Software sprites (including priorities and collisions).

 

 

Thanks.

José Pereira.

Link to comment
Share on other sites

i agree with emkay about pm use, anyway the port should be easy to do, look at my test screen

 

tln1.gif

G2F version

 

COLBAK: gray as a neutral color

COLPF0: black

COLPF1: whie

COLPF2: green in the case of TLN1

COLPF3: brown medium

 

all the PM are used to color the background, so the engine have to:

 

1. draw 4 colors background graphics

2. update 5 color inversing selected chars

3. create alpha channel that cover players using simply z-buffor

4. drawing PM as underlay fill gfx

5. draw animated players using COLPF0 - COLPF3 covering them with created alpha before

 

really easy to port ;)

Link to comment
Share on other sites

What you said it is more simple, because black can be one of the PFs colours. Can someone explain the idea and how simple or difficult would be creatin Ninja and enemys as Software sprites (including priorities and collisions).

 

 

Collisions are not needed. You can set the ranges with calculated x and y coordinates. It's as complex as count 1+1 = 2 :)

 

Priorities you could set with the PMg . If the software sprite has to go behind a pillar just give the pm built pillar the high priority :)

Btw: EOR Sprites would be the easiest and fastest way. And it looks interesting in some cases.

Link to comment
Share on other sites

i agree with emkay about pm use, anyway the port should be easy to do, look at my test screen

 

tln1.gif

G2F version

 

COLBAK: gray as a neutral color

COLPF0: black

COLPF1: whie

COLPF2: green in the case of TLN1

COLPF3: brown medium

 

all the PM are used to color the background, so the engine have to:

 

1. draw 4 colors background graphics

2. update 5 color inversing selected chars

3. create alpha channel that cover players using simply z-buffor

4. drawing PM as underlay fill gfx

5. draw animated players using COLPF0 - COLPF3 covering them with created alpha before

 

really easy to port ;)

 

 

Not to forget

 

G2F does not support all possible GPRIOR features. This means the screen can be much more colourful with the same cpu usage.

Link to comment
Share on other sites

Not to forget

 

G2F does not support all possible GPRIOR features. This means the screen can be much more colourful with the same cpu usage.

 

agree

 

but don't forget that the most important thing is to create the level design procedure, that copy all elements creating also alpha channel like c64 does using only chars. Than all other improvements like PM / DLI will be welcame to make gfx even better.

Link to comment
Share on other sites

Not to forget

 

G2F does not support all possible GPRIOR features. This means the screen can be much more colourful with the same cpu usage.

 

agree

 

but don't forget that the most important thing is to create the level design procedure, that copy all elements creating also alpha channel like c64 does using only chars. Than all other improvements like PM / DLI will be welcame to make gfx even better.

 

[off topic]

 

No.. the most important thing is to finish OM&TS !!! :)

 

[/off topic]

Edited by MaPa
Link to comment
Share on other sites

Not to forget

 

G2F does not support all possible GPRIOR features. This means the screen can be much more colourful with the same cpu usage.

 

agree

 

but don't forget that the most important thing is to create the level design procedure, that copy all elements creating also alpha channel like c64 does using only chars. Than all other improvements like PM / DLI will be welcame to make gfx even better.

 

[off topic]

 

No.. the most important thing is to finish OM&TS !!! :)

 

[/off topic]

 

hehe

 

still working on levels, animated elements map and panel, will be ready... i'm not sure when, but the things surely were gone too far to leave them! :)

Edited by lizard
Link to comment
Share on other sites

Thanks Lizard. In this particular screen, and others, I have a problem, the way you have the colours are right. I have take this screen from various places. All of them, I get black as Bakgr. I can change that, but the real problem it´s that I get black on Ninja and black on wall and you get black for Ninja and gray for wall (2 different PFs.). I'm I stupid or what?

But this its not a problem(change PF0«-»Backgr.) . What I real want to know it's how do the screens. Do them on G2F. OK! But 1st how to erase Ninja and enemys from screen (I only want to change the screens to A8 mode and here i will not have the problem I said above)? Other thing, I will only do the play area (160x144)? The game will first load the status/energy part of the screen. And then it will download each play screen area? Is this? Or do all the screen(like you)?

 

What is that "Alpha channel that covers players using simply z-buffor"? and "draw them with created Alpha before"?

 

 

Lizard, what project is the OM&TS?

 

Thanks,

José Pereira.

Link to comment
Share on other sites

I discover how to remove the Ninja and enemy from screen. In G2F zoom mode (change PF colours using keys "Q" and "W"). It is also possible to change pixels to put more objects, or change colours to get desidered PF3 colours. But it's a lot of pain.

 

But If someone see this, I still wait for the other questions on the mail above. (Alpha...)

 

José Pereira.

Link to comment
Share on other sites

Not to forget

 

G2F does not support all possible GPRIOR features. This means the screen can be much more colourful with the same cpu usage.

 

Emkay, not forget, Powrooz used only ONE GPRIOR value and is better then you and you GPRIOR possibilites

 

less talking, more drawing

Link to comment
Share on other sites

Have you considered the approach of Fake Borders where Color3 is black and hence the combined missiles as a fifth player also get this colour and are used to mask the left and right borders over the background colour?

 

This would help with the Ninja but I suppose is only of benefit if all game screens contain a good degree of use of the colour black. You are still left with the 4 players for extra colouring or effects.

Link to comment
Share on other sites

Above and beyond getting color on the screen there are issues in the isometric system LN uses. It is not designed around the same principles as Knighlore et al...

 

LN on the C64 is a totally fake isometric system, using stored bit masks to punch holes thru the sprites so background graphics APPEAR to be in front of the characters.

 

If you spend your PMG on colors how will you get the same effect on you and enemies on screen, and properly cued in the isometric world??? If you go software sprites I think you will get a pretty big performance hit.

 

sTeVE

Link to comment
Share on other sites

Thanks Lizard. In this particular screen, and others, I have a problem, the way you have the colours are right. I have take this screen from various places. All of them, I get black as Bakgr. I can change that, but the real problem it´s that I get black on Ninja and black on wall and you get black for Ninja and gray for wall (2 different PFs.). I'm I stupid or what?

But this its not a problem(change PF0«-»Backgr.) . What I real want to know it's how do the screens. Do them on G2F. OK! But 1st how to erase Ninja and enemys from screen (I only want to change the screens to A8 mode and here i will not have the problem I said above)? Other thing, I will only do the play area (160x144)? The game will first load the status/energy part of the screen. And then it will download each play screen area? Is this? Or do all the screen(like you)?

 

What is that "Alpha channel that covers players using simply z-buffor"? and "draw them with created Alpha before"?

 

 

Lizard, what project is the OM&TS?

 

Thanks,

José Pereira.

 

Hi José,

 

think that COLPF0 must be black and used for both background elements and software sprites as a normal color. COLBAK has always the lowest priority and it is covered in all of the cases by any color. The concept of the alpha channel from other post is wrong because some elements can be behind or in front of the ninja and opponents - depends on their positions, so it should be generated dinamically.

 

OMATS is my game that is still in development phase... hope to finish it soon :)

Link to comment
Share on other sites

I saw this when I ask for WCL some days ago. Your idea are right. On right side (the panel) and in some screens, probably all (just changing some objects pixels on G2F to give black the PF3). But if I see the things on the right way the Ninja will only have 8pixels wide, NOT POSSIBLE, I NEED AT LEAST 10 FOR UPPER BODDY (when Ninja punchs); 12 FOR LEGS (WHEN KICKING), AND 12 OR 16 WIDE (using arms). I can assure you, I try many ways of designing the Sprites. If you see BBC version, just go to you Tube, you have there LN1 & 2.

The Ninja and enemys are 10/11 pixels on BBC, and doesn't look good. You need at least 2 more pixels. And the weapons are horrible. To do a good port, you have to use all the diferent weapons available on C64 version.

Also, If I understand you, If I use 5th sprite for Ninja, I will have to create software sprites for weapons, Enemy and his weapons and other objects (bird, fountain, waterfall,...).

 

If all the players would be software sprites. And I have something that says it will slow down the gameplay. If I'm right, everytime Ninja moves on screen you have to change:

2chars horizontal x 5chars vertical Ninja shape (Ninja dimensions) + outside Ninja shape, what left on the screen graphics. Then, put again the screen chars on that place and do again for another Ninja position.

And the same for the enemy.

 

Many times, someone talked here, he was trying to do some kind of a software sprite engine. I don't remember who... but I remember, listen his project has some years old, and...

 

 

It's why I make up in my mind that a screen full of graphics chars, changing with PFs of software sprites would be difficult to do, and probably turn the game very slow.

 

But if someone proves it can be done with only software sprites movement, I prefer.Very simple. All 4 sprites to enhance PFs (with diferent priorities)+DLIS, each screen will have the same or even more colours than C64 version. And probably more right ones, with a perfect colour choose.

 

I'd rather prefer, in this way, to sacrifice 1 Player to have 1 diferent colour for the enemy clothe. Like C64, you can have a different colour clothe in different screens.

 

 

José Pereira.

Link to comment
Share on other sites

José,

 

it's possible to achieve 50 - 25fps for the game like TLN1 i'm sure.

 

- start off topic -

 

Look at OMATS full scrolling game, sprites without mask not perfect, i know, but still 50fps! I used 3 Atari players to give 3 more color in horizontal line (the last player with four missiles are used to cover the left / right border). So using DLI you can have about 20 (or even more) colors on the screen and a fast game :)

 

omats-town-2.gif

OMATS in Action!

 

- end off topic -

Link to comment
Share on other sites

I had a good look at the Last Ninja and Last Ninja 2 for the BBC on Youtube...

 

They are completely awful!

 

A massive cheat, nothing comes in front of the sprites, they are always in front of all the playfield graphics - there is no iso masking, a complete crock!

 

sTeVE

Edited by Jetboot Jack
Link to comment
Share on other sites

Also, If I understand you, If I use 5th sprite for Ninja, I will have to create software sprites for weapons, Enemy and his weapons and other objects (bird, fountain, waterfall,...).

You mis-understood, the Ninja would be soft-sprite as you stated below, the 5th player just sets the left/right borders black.

If all the players would be software sprites. And I have something that says it will slow down the gameplay. If I'm right, everytime Ninja moves on screen you have to change:

2chars horizontal x 5chars vertical Ninja shape (Ninja dimensions) + outside Ninja shape, what left on the screen graphics. Then, put again the screen chars on that place and do again for another Ninja position.

And the same for the enemy.

OK, but surely if the ninja moves this is animated and so will require some resetting of the P/M data area so your losses in using soft-sprites aren't not so great in that respect. Check out Palace's Barbarian on the C64, these are soft sprites over a background, even International Karate and the work-in-progress IK+ use them.

Link to comment
Share on other sites

Ok. So I start doing the screens. PFs. with PM to enhance colours. Ok! +DLIs. the simple way. PMs. can be used to be above or under software sprites, with right pririty.

But no one answer me, in one thing. Do just the playing area. Because the status/energy area will always be the same.

 

The idea is

1st / Load status area.

2nd/ Load screen area.

3nd/ The program increase and decreases energy and weapons

4nd/ Load another screen area.

 

In this way, now I will only do changes in playing area /120x144 pixels.

Am I right

 

Thanks.

Jos]e Pereira.

Link to comment
Share on other sites

A massive cheat, nothing comes in front of the sprites, they are always in front of all the playfield graphics - there is no iso masking, a complete crock!

 

JJ is right, there are some simplifications. But this does not affect playability, I think.

 

If you leave out masked objects as the BBC version does I am quite sure Atari 8-bit can handle Last Ninja (1, 2) - a crippled Last Ninja game though, but prolly better than the BBC version with respect to colors and music. In my opinion, there is a realistic chance to convert it (Ninja and opponent being software sprites, weapons being hardware sprites). Wouldn't that be a task for the great XXL who gave already brilliant conversions from BBC to the Atari community?

Edited by R4ngerM4n
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...