Jump to content



5

Wich one of these two Prince of Persia you prefer?

Prince of Persia

746 replies to this topic

Poll: Sprites and colours&luminances (can be others) apart, what of these two Rocks type you think look better designed/better looking: (38 member(s) have cast votes)

Sprites and colours&luminances apart(can be others), what of these two Rocks type you think look better designed/better looking:

  1. PC original looking (6 votes [15.79%])

    Percentage of vote: 15.79%

  2. C64 remake looking (32 votes [84.21%])

    Percentage of vote: 84.21%

Vote Guests cannot vote

#701 Eagle OFFLINE  

Eagle

    Chopper Commander

  • 135 posts
  • Location:Manchester

Posted Wed Nov 9, 2011 9:00 AM

You have to do a special mask for each animation.
If you make them bigger by one pixel then you will get black outline.

Posted Image


But it will cost a lot of memory.

Eagle

#702 Jacques OFFLINE  

Jacques

    Chopper Commander

  • 181 posts
  • Location:Wrocław, Poland

Posted Wed Nov 9, 2011 9:01 AM

Memory shouldn't be a problem? It's working on 512 KB cart on C64 after all ;)

#703 Rybags ONLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Wed Nov 9, 2011 9:07 AM

C64 doesn't do softsprites so the masking is saved there.

Masks for softsprites = same memory again as the softsprites themselves use.

But if there's sufficient RAM free, those masks can be constructed from the softsprite data although cutouts (eyes) would need extra data and processing. Although all that's going to do is save ROM space. With a 1 Meg cart, ROM space probably won't be an issue.

#704 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 9:15 AM

View PostRybags, on Wed Nov 9, 2011 8:41 AM, said:

PMs don't have "background colour", the "0" data is always transparent.

You get "forced background colour" in softsprites by having it defined in the mask data.

That was my way of explaining...
But you can say that you still have it.

For example:
GFX byte 01,10,11,01
SPRITE byte: 00,(01,00,10) inside '()' are the sprite shape where I'll have the PM overlay
SPRITE Mask: 11,(00,00,00)
And I want SPRITE over GFX

GFX. byte: 01,10,11,01
<AND>
SPR MASK: 11,00,00,00
_____________________
Resulting in: 01,00,00,00
<OR>
SPRITE byte:00,01,00,10
_____________________
Final result: 01,01,00,10

Exactly the soft sprite over GFX and with the (00) on it's shape that would have the PM colour overlay.


EDIT: This is that MASK on Eagle guy's picture, I think...

Edited by José Pereira, Wed Nov 9, 2011 9:19 AM.


#705 Eagle OFFLINE  

Eagle

    Chopper Commander

  • 135 posts
  • Location:Manchester

Posted Wed Nov 9, 2011 9:16 AM

Yeeeee, but they don't need preshifted soft sprites and masks.

Approx: 110 animation * 200 bytes each * 4 preshifted * 2 (masks) =176k
And this is just the beginning. :-o

#706 Rybags ONLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Wed Nov 9, 2011 9:23 AM

And add the PM parts to the mix.

Even though it's a fair bit less data, there's still masking requirements (piers) that are different to how PF is done, although a table lookup could suffice but will be slower.

PMs, less data but each animation will probably need offset/length information.

#707 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 9:25 AM

View PostEagle, on Wed Nov 9, 2011 9:16 AM, said:

Yeeeee, but they don't need preshifted soft sprites and masks.

Approx: 110 animation * 200 bytes each * 4 preshifted * 2 (masks) =176k
And this is just the beginning. :-o


Can I understand 'preshift' like 'pre-done' with all possible soft sprite bytes interaction/combination with screen gfxs?

If it's this it would be thousands of shapes/impossible, I think?

Edited by José Pereira, Wed Nov 9, 2011 9:27 AM.


#708 Eagle OFFLINE  

Eagle

    Chopper Commander

  • 135 posts
  • Location:Manchester

Posted Wed Nov 9, 2011 9:35 AM

View PostEagle, on Wed Nov 9, 2011 9:16 AM, said:

Yeeeee, but they don't need preshifted soft sprites and masks.

Approx: 110 animation * 200 bytes each * 4 preshifted * 2 (masks) =176k
And this is just the beginning. :-o
I forgot to mention that these are the calculations for only one direction.
This means that it will take twice as much memory for character animation.
176k*2= 352k !!!! :D :D :D

Edited by Eagle, Wed Nov 9, 2011 9:36 AM.


#709 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 9:37 AM

View PostJosé Pereira, on Wed Nov 9, 2011 9:25 AM, said:

View PostEagle, on Wed Nov 9, 2011 9:16 AM, said:

Yeeeee, but they don't need preshifted soft sprites and masks.

Approx: 110 animation * 200 bytes each * 4 preshifted * 2 (masks) =176k
And this is just the beginning. :-o


Can I understand 'preshift' like 'pre-done' with all possible soft sprite bytes interaction/combination with screen gfxs?

If it's this it would be thousands of shapes/impossible, I think?


Stupid I was, of course that if shifting is the outside Area of a soft sprite untill it's again on the next byte boundary then it would need to be this:
http://wordpress.ani...hifting-sprites

Edited by José Pereira, Wed Nov 9, 2011 9:39 AM.


#710 Jacques OFFLINE  

Jacques

    Chopper Commander

  • 181 posts
  • Location:Wrocław, Poland

Posted Wed Nov 9, 2011 9:45 AM

View PostJosé Pereira, on Wed Nov 9, 2011 9:37 AM, said:

Stupid I was (...)

Yoda? :D

#711 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 9:49 AM

View PostJacques, on Wed Nov 9, 2011 9:45 AM, said:

View PostJosé Pereira, on Wed Nov 9, 2011 9:37 AM, said:

Stupid I was (...)

Yoda? :-D

Can't find the translation for what you are calling me in any language...
It sure isn't a good thing :woozy:

#712 Eagle OFFLINE  

Eagle

    Chopper Commander

  • 135 posts
  • Location:Manchester

Posted Wed Nov 9, 2011 9:52 AM

Yoda => Star Wars

#713 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 10:08 AM

View PostEagle, on Wed Nov 9, 2011 9:52 AM, said:

Yoda => Star Wars

I would never think in that guy... but what he is related with me?
Oh, forget...
At least I went to Yoda character explanation in Wikipedia and discouver there's a Dark side, A Darth one called 'Sid...'.
No war, it's not me but probably the Author was 'Anti C64/SID'...

"In Star Wars Episode III: Revenge of the Sith, set three years after Attack of the Clones, Yoda leads the Jedi Council in pursuing the mysterious Sith Lord Darth Sidious"
:D

Yoda vs Dart Sid...:
Yoda.jpg darth_sidious_5.jpg

Edited by José Pereira, Wed Nov 9, 2011 10:16 AM.


#714 emkay ONLINE  

emkay

    Quadrunner

  • 6,489 posts
  • What's up?
  • Location:Holy Grail ;)

Posted Wed Nov 9, 2011 10:16 AM

View PostJosé Pereira, on Wed Nov 9, 2011 10:08 AM, said:

View PostEagle, on Wed Nov 9, 2011 9:52 AM, said:

Yoda => Star Wars

I would never think in that guy... but what he is related with me?

Grammar irrelevant is!

#715 Eagle OFFLINE  

Eagle

    Chopper Commander

  • 135 posts
  • Location:Manchester

Posted Wed Nov 9, 2011 10:18 AM

No. I see that you were not a fan of Star Wars.
Yoda spoke in this way. "Stupid I was" instead of "I was stupid."

#716 popmilo OFFLINE  

popmilo

    Dragonstomper

  • 614 posts
  • Location:Senta, Srbija

Posted Wed Nov 9, 2011 10:25 AM

View PostEagle, on Wed Nov 9, 2011 6:49 AM, said:

You do not have to explain what it does? :D
No, not really :)

It all comes down to amount of data that needs to be processed...
Not really many shortcuts that we can take...

Zero page and self modifying code can save few cycles if used appropriately.

I noticed one thing though:
Simple LDA sprite , ORA screen, STA screen doesn't look that bad with Prince's background graphics.
As most of Prince's color is white, we could choose colors for bitpair 11 to be white so that even when prince walks over large piece of colored background it would still be white.

Turns out that maybe masking for prince is not needed - what do you think ?

ps. Masking for PMs would be needed for certain colors off course.
But as that is special case already (1 bit per color pixel -> 1 byte of PM = 2 bytes of screen) we can work at it separetly.

pps. Masks for soft sprite parts could also be made with lookup tables - no need for 2x data...
For every pixel that is 00 mask would be 11 and for any other it would be 00.
Black color can be achieved with masks for PM parts ...

Now, this is all coming from perspective of my wish to fit something like this into my unexpanded 800Xl.
If there is no need to save memspace - unroll everything !

ppps. Or something like that - I'm just brainstorming and throwing ideas here ;)

#717 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 10:27 AM

View Postemkay, on Wed Nov 9, 2011 10:16 AM, said:

View PostJosé Pereira, on Wed Nov 9, 2011 10:08 AM, said:

View PostEagle, on Wed Nov 9, 2011 9:52 AM, said:

Yoda => Star Wars

I would never think in that guy... but what he is related with me?

Grammar irrelevant is!

Exactly that 'Grammar irrelevant is' :thumbsup:
And I was thinking 'calling a name to me someone was' :D

#718 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 10:32 AM

View Postpopmilo, on Wed Nov 9, 2011 10:25 AM, said:

As most of Prince's color is white, we could choose colors for bitpair 11 to be white so that even when prince walks over large piece of colored background it would still be white.


Psst... Don't do that that as it would turn the Enemy get a skin colour impossible ;)
See if the White can be one of the other bit-pairs...

#719 popmilo OFFLINE  

popmilo

    Dragonstomper

  • 614 posts
  • Location:Senta, Srbija

Posted Wed Nov 9, 2011 10:37 AM

View PostJosé Pereira, on Wed Nov 9, 2011 10:32 AM, said:

Psst... Don't do that that as it would turn the Enemy get a skin colour impossible ;)
See if the White can be one of the other bit-pairs...
I'm just thinking - maybe we don't need to mask whole 100% of large sprite ?
Only the parts with 'special' colors need masking.

ps. "Front" of background is another topic - pillars and grid are "other" kind of soft sprite. They need to mask everything behind them - even PM.... That should be interesting to code :)

#720 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 10:42 AM

View Postpopmilo, on Wed Nov 9, 2011 10:37 AM, said:

View PostJosé Pereira, on Wed Nov 9, 2011 10:32 AM, said:

Psst... Don't do that that as it would turn the Enemy get a skin colour impossible ;)
See if the White can be one of the other bit-pairs...
I'm just thinking - maybe we don't need to mask whole 100% of large sprite ?
Only the parts with 'special' colors need masking.

ps. "Front" of background is another topic - pillars and grid are "other" kind of soft sprite. They need to mask everything behind them - even PM.... That should be interesting to code :)


Be free to think.
But White would not be (11) right?
That would be the great trouble that I can't think how to...

#721 José Pereira OFFLINE  

José Pereira

    River Patroller

  • 2,461 posts
  • Location:Lisbon - Portugal

Posted Wed Nov 9, 2011 10:48 AM

Don't know if this helps (or probably would even get things hard, but it's the reality we have now):

The guys soft sprite in their 'real shape and where's also could be or not PM(s) overlay(s)' use:
PRINCE: 00,01,10
ENEMY: 00,11,10
If having White as (10) but white can be also (01)...

This way PRINCE never use (11) and ENEMY never use (01)

#722 popmilo OFFLINE  

popmilo

    Dragonstomper

  • 614 posts
  • Location:Senta, Srbija

Posted Wed Nov 9, 2011 3:35 PM

View PostJosé Pereira, on Wed Nov 9, 2011 10:42 AM, said:

But White would not be (11) right?
That would be the great trouble that I can't think how to...
You are right Jose. I forgot about combinations needed for prior0 to work...
Have to think about it... Till than I'll implement masking and see how it works...

#723 pseudografx OFFLINE  

pseudografx

    Moonsweeper

  • 419 posts
  • Location:Czech Republic

Posted Thu Nov 10, 2011 1:36 AM

Finally, Mr.Sid has released the disassembled Apple II sources of PoP: http://www.twinbirds...ple2_disasm.zip

#724 STE'86 OFFLINE  

STE'86

    Moonsweeper

  • 252 posts
  • Location:West Mids, England

Posted Thu Nov 10, 2011 7:34 AM

You shouldn't need any masks for the sprites. the transparent separators for the legs etc will work perfectly adequately without masks, as they do on the c64 version, because, predominantly the sprite is drawn over colours darker than itself (black usually). The eye can be got around in the same manner that Andreas did it, presumably. by making the hair and the eye dark brown instead of yellow.

Steve

#725 Rybags ONLINE  

Rybags

    Quadrunner

  • 10,314 posts
  • Location:Australia

Posted Thu Nov 10, 2011 7:43 AM

They'll most likely be softsprites, so masks needed for all of them in that case.

The OR method just won't work with this game - there's the possibility of the kid moving over any possible playfield colour. The only way it'd work is if only the clothes colour is Playfield and PMGs are used for all other aspects of the kid.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users