Jump to content



9

Anyone thirsty for some PoP?


482 replies to this topic

#26 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 1:22 PM

New PoP demo. I'll try to attach a screenshot...

This one has the same PF setup as the demo I posted immediately before :reflected PF2 (the center), asymmetrical PF1 and blank (unused) PF0 (the edges).

Changes:
Striped platforms which allows:
Both sprites to show on screen without flicker. Move one with joystick 1, the other with joystick 2. Use joystick button to activate sword. For two swords you would have to flicker (the ball in this case).
Sprites are 8 pixels wide.
One of the sprites can be multi-colored - the other is monochrome.
Since there is only time to turn on/off the sword every other line, the sword will only appear (when pressing the button) if the Prince is on an even-numbered line. Or odd...? Every other one, in any case. And when the sword does appear, it will be drawn for two scanlines.
Also, since I only draw the PF every other line, this cuts the amount of data required in half :)

Thoughts?

(I'll post my code if anyone is interested, but I figured nobody would be. But if anyone can optimize it, that would be fantastic!)

Attached Thumbnails

  • popstriped.jpg

Attached Files

  • Attached File  pop.zip   631bytes   157 downloads


#27 StanJr OFFLINE  

StanJr

    Web-slinger

  • 13,908 posts
  • Eater of Pizza, Taker of Naps
  • Location:Louisville KY

Posted Fri Feb 18, 2005 1:28 PM

I am liking a WHOLE lot thus far! This is really coming along nicely.

#28 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 2:06 PM

Here is a quick mockup hack of #3.

There still is plenty of space for players and maybe (partial) asymmetrical PF graphics.

Attached Thumbnails

  • pop001.png

Attached Files



#29 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 2:27 PM

Thomas Jentzsch said:

Here is a quick mockup hack of #3.

There still is plenty of space for players and maybe (partial) asymmetrical PF graphics.
:) :)
Pretty!

#30 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 3:35 PM

I have a problem with the player graphics.

They have a 2LK resolution, so VDEL would work perfectly here. But its also required to change the colors, which are not vertical delayed.

So now we have some options:
A: single line resolution, but that would require more cycles
B: imperfect coloring, which might look odd
C: 2LK without VDEL, but then we would also have 2L positioning
D: ...

And on top of that, any non-single line solution will make 1L resolutions for the PF also quite hard (e.g. that thin bright stripe on top of the platform would have to become 2 lines)

Any ideas?

BTW: Are the enemy objects vertically restricted? Or can they move between platforms?

#31 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Fri Feb 18, 2005 3:54 PM

Thomas Jentzsch said:

I have a problem with the player graphics.

...
So now we have some options:
...
C: 2LK without VDEL, but then we would also have 2L positioning
...

I think option C is the best choice for this game. All vertical motion in the game is jumping and maybe gates opening and closing. The motion should be so quick that single line vertical motion is overkill, IMO.

Nice demo BTW.

#32 Tom OFFLINE  

Tom

    Moonsweeper

  • 449 posts
  • Location:Switzerland

Posted Fri Feb 18, 2005 4:29 PM

Thomas Jentzsch said:

BTW: Are the enemy objects vertically restricted? Or can they move between platforms?

the enemies didn't jump or climb by themselves, but it was possible to drop them down ledges (during fights, when they retreat)

#33 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 4:38 PM

Thomas Jentzsch said:

I have a problem with the player graphics.

They have a 2LK resolution, so VDEL would work perfectly here. But its also required to change the colors, which are not vertical delayed.

So now we have some options:
A: single line resolution, but that would require more cycles
B: imperfect coloring, which might look odd
C: 2LK without VDEL, but then we would also have 2L positioning
D: ...

And on top of that, any non-single line solution will make 1L resolutions for the PF also quite hard (e.g. that thin bright stripe on top of the platform would have to become 2 lines)

Any ideas?
You seem to have this well in hand :) , but since I worked this up already, thought I'd post one more demo w/ screenshot:

This displays one sprite onscreen at a time (so multiple sprites would require flicker) with sword, no stripes, PF color can change, and this is the same partially asymmetrical PF that was in my last demo.

Attached Thumbnails

  • popnostripes.gif

Attached Files

  • Attached File  pop.zip   628bytes   133 downloads


#34 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 4:53 PM

Tom said:

the enemies didn't jump or climb by themselves, but it was possible to drop them down ledges (during fights, when they retreat)
I suppose it wouldn't be a big problem then, if they had some minor glitches while falling down. Or would it?

#35 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 4:56 PM

vdub_bobby said:

You seem to have this well in hand :)
Oh no, carry on please. I am just playing with the kernel and might loose interest after (or even before) it is finished.

Since I want to avoid flicker for the player, the sword might become a problem. It will probably have to share the color with either the player or the enemy.

#36 Tom OFFLINE  

Tom

    Moonsweeper

  • 449 posts
  • Location:Switzerland

Posted Fri Feb 18, 2005 5:08 PM

Thomas Jentzsch said:

I suppose it wouldn't be a big problem then, if they had some minor glitches while falling down. Or would it?

I don't think so. As somebody else said, vertical movement is usually very fast anyway.

I only know the PC version. There the enemies behave just like the prince when they're falling: If they fall high enough, they lose energy, and if they fall even higher they die.

#37 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 5:19 PM

vdub_bobby said:

This displays one sprite onscreen at a time (so multiple sprites would require flicker) with sword, no stripes, PF color can change, and this is the same partially asymmetrical PF that was in my last demo.
Looks good so far. :thumbsup:

Instead of flickering the players, how about a flickering striped background?

One frame would display PF even lines, the other one odd lines. And by not showing the even or odd lines, you could mix the (different) colors of odd and even line frames.

#38 salstadt OFFLINE  

salstadt

    Chopper Commander

  • 198 posts
  • Location:Glendale, CA

Posted Fri Feb 18, 2005 5:55 PM

Both demos look great so far. :)

BTW: Are the enemy objects vertically restricted? Or can they move between platforms?

Single-platform. And even beyond that, enemies were usually fought in really basic rooms with few or no platforms. Basically you would enter a room and fight a guy, then move onto the next screen for more platfoming. So screens with enemy battles might not even have any color changes per line.

- Adam

#39 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 6:14 PM

Thomas Jentzsch said:

vdub_bobby said:

This displays one sprite onscreen at a time (so multiple sprites would require flicker) with sword, no stripes, PF color can change, and this is the same partially asymmetrical PF that was in my last demo.
Looks good so far. :thumbsup:

Instead of flickering the players, how about a flickering striped background?

One frame would display PF even lines, the other one odd lines. And by not showing the even or odd lines, you could mix the (different) colors of odd and even line frames.
Taking a cue from your comments about a 2LK...if I make the sprites with a 2-line resolution, then I can get both players onscreen with no flicker plus PF color changes. For two swords (i.e., during battle) I would have to flicker the swords, since I am using the ball for the sword - on the other hand, using the ball means I can get an independently colored object for the sword, as long as there is no PF on the same scanline(s).

Here's my latest and greatest.

The huge, huge advantage of yours, Thomas, over mine is that yours uses vastly less ROM space for data - mine reads 4 bytes of data for every scanline. But your version uses a lot more RAM. Tradeoffs...

Oh, and as a reminder: the sword won't work if you use PCAE.

Attached Thumbnails

  • pop2lk.gif

Attached Files

  • Attached File  pop.zip   684bytes   131 downloads


#40 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 6:18 PM

Thomas Jentzsch said:

And on top of that, any non-single line solution will make 1L resolutions for the PF also quite hard (e.g. that thin bright stripe on top of the platform would have to become 2 lines)

Any ideas?
What I did is write to the PF every line but write to the players every other (alternating) line. Double-line resolution sprites with single line resolution PF.

#41 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 6:47 PM

vdub_bobby said:

What I did is write to the PF every line but write to the players every other (alternating) line.  Double-line resolution sprites with single line resolution PF.
But then you get a little problem with the player alignment. One of them will always fly above the ground.

Though maybe this can be compensated by a slight redesign of the PF graphics.

#42 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 6:57 PM

Thomas Jentzsch said:

vdub_bobby said:

What I did is write to the PF every line but write to the players every other (alternating) line.  Double-line resolution sprites with single line resolution PF.
But then you get a little problem with the player alignment. One of them will always fly above the ground.

Though maybe this can be compensated by a slight redesign of the PF graphics.
Yeah, I noticed the same thing, and I figured that you could have one player stand in the 'floor' (the bright stripe above the platforms) and the other player stand on it.

Or you could make the 'floors' bigger, for more of a pseudo-3D look. Like this:

Attached Thumbnails

  • pop3dfloor.gif


#43 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 7:06 PM

vdub_bobby said:

Or you could make the 'floors' bigger, for more of a pseudo-3D look.  Like this:
Yup, that's what I figured too.

#44 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Feb 18, 2005 7:11 PM

vdub_bobby said:

The huge, huge advantage of yours, Thomas, over mine is that yours uses vastly less ROM space for data - mine reads 4 bytes of data for every scanline.  But your version uses a lot more RAM.  Tradeoffs...
Yup, and wouldn't that be actually 5 bytes every scanline (incl. color)?

That would result into about 1000 bytes/screen, thus allowing only 3 screens/bank (+ kernel code and player graphics). Or just less than 50 screens inside a 64K cart.

I suppose we have to accept some RAM tradeoffs. ;)

#45 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Fri Feb 18, 2005 8:22 PM

Thomas Jentzsch said:

vdub_bobby said:

The huge, huge advantage of yours, Thomas, over mine is that yours uses vastly less ROM space for data - mine reads 4 bytes of data for every scanline.  But your version uses a lot more RAM.  Tradeoffs...
Yup, and wouldn't that be actually 5 bytes every scanline (incl. color)?

That would result into about 1000 bytes/screen, thus allowing only 3 screens/bank (+ kernel code and player graphics). Or just less than 50 screens inside a 64K cart.

I suppose we have to accept some RAM tradeoffs. ;)
:D
Well, I'm doing 3 PF writes per line (PF1, PF2, PF1 again) plus one color write.
Right now the playing area of my demo is 100 lines tall, so one screen takes 400 bytes.
Figure all overscan/VBLANK in one bank, so just kernel, PF graphics, and sprite graphics in other banks...you could fit almost 10 screens per 4K bank. :) And if you you could probably make the PF double line resolution which would help things out a bunch. But yeah, it is really data-heavy. Maybe too heavy.

On a related subject...

Going along with my apparent preference for data-heavy code, I added the ability for the sword to be other than a horizontal line. Unfortunately, the method I came up with requires at least one ~200 byte long table full of mostly zeros (since I am writing to HMBL every other line and HMOVEing every *other* line).

But it looks pretty :)

Attached Thumbnails

  • popswordup.gif
  • popsworddown.gif

Attached Files

  • Attached File  pop.zip   727bytes   123 downloads


#46 StanJr OFFLINE  

StanJr

    Web-slinger

  • 13,908 posts
  • Eater of Pizza, Taker of Naps
  • Location:Louisville KY

Posted Fri Feb 18, 2005 8:43 PM

yes. Please, Thomas and bobby, team-up on this, kick its ass, and then we'll all celebrate the fruits of your labor. With both of you wokring on this, it is guaranteed to be one amazing game!

#47 Out_of_Gas OFFLINE  

Out_of_Gas

    Dragonstomper

  • 745 posts
  • Boogie down with the "Bit Corp" Disco man!
  • Location:West Virginia

Posted Sat Feb 19, 2005 1:13 AM

This is turning into an incredible project. If this gets made into a cart, I will DEFINATELY get this one! :D

#48 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sat Feb 19, 2005 5:07 AM

vdub_bobby said:

Well, I'm doing 3 PF writes per line (PF1, PF2, PF1 again) plus one color write.
Oops, my fault. I thought you where doing a completely asymmetrical PF. IMO that's about the only chance for recreating a faithful PoP.

Quote

Right now the playing area of my demo is 100 lines tall, so one screen takes 400 bytes.  
Figure all overscan/VBLANK in one bank, so just kernel, PF graphics, and sprite graphics in other banks...you could fit almost 10 screens per 4K bank.  :)  And if you you could probably make the PF double line resolution which would help things out a bunch.  But yeah, it is really data-heavy.  Maybe too heavy.
The main kernel should become at least ~180 pixels tall, so even with a 2LK for the playfield you end up whith 360 bytes each screen. I haven't counted the screens of PoP yet, I suppose there are a few hundreds of them.

But they are repeating, so we might be able to recylce some whole screens or at least stripes of them. But then we still have the problem with the dynamic parts of the screens. Those have to be done in RAM for display (bookkeeping of all changes is another RAM related problem). Fortunately the dynamic areas are vertically quite small, so probably a mixture between RAM and ROM based graphics will be the optimal solution,

Quote

Going along with my apparent preference for data-heavy code, I added the ability for the sword to be other than a horizontal line.  Unfortunately, the method I came up with requires at least one ~200 byte long table full of mostly zeros (since I am writing to HMBL every other line and HMOVEing every *other* line).
Couldn't you just use a fixed HM value for the sword? And then calculate back to the top of the screen and position it? Inside the kernel you only had to HMOVE it then.

Hm, that would pretty much limit the possible angles. How about drawing the sword like the player graphics? That shouldn't cost any extra cylces over your current solution, but save a lot of ROM, allowing for multiple angles.

#49 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sat Feb 19, 2005 5:25 AM

For reference reasons, maybe we should try coding the very same screen, using salstadt's style.

The initial screen as displayed below, already contains a lot of major elements (asymmetry, gates, traps, maybe I'll add an gate opening switch).

Attached Thumbnails

  • prince.jpg


#50 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!

  • 16,745 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sat Feb 19, 2005 11:01 AM

Here is a 1st coarse mockup. Fully asymmetrical using a striped PF.

The gate could be done either by the ball or (if possible) by the 2nd player.

Attached Thumbnails

  • pop003.png





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users