Jump to content
IGNORED

SUB HUNTER on C64, now ported to CPC... When A8 version?


José Pereira

Recommended Posts

(Tezz just saw you here: remember the work you started at the Ghost and Pac-Man, do you remember that the 'Eat points were Yellow PF3? And that I was a little worried because it could turn into clash (PF2 was on the Walls...)?
I'll dig out the old planning notes tonight and send you a pm José :)
Link to comment
Share on other sites

Jose, can you please post the G2F file? I want to have a closer look as since the Pacmania Tests I am still not 100% familiar with the Prio#0 stuff.

 

-> Bitmap Mode 4colours.

-> DLIs.

-> PRIOR0

 

-> Colours:

PF0- (pair nº colour, luminances 2or10)

PF1- White (0,14)

PF2- Dark Gray (0,4)

Backgr.- any colour, any luminance

 

-> PMs and PRIOR0:

PM0- The shooot or 'guys to rescue':

PM0 colour ( 15,8 ) 'ORING' get PF0->(15,10)/PF1->(15,14)

 

PM1- Our Sub:

PM1 colour ( 14,8 ) 'ORING' get PF0->(14,10)/PF1->(14,14)

 

PM2 & PM3: Enemys can have many colours and luminances 'by Oring' because PF2-(0,4), you can have any PM2&PM3 colour with Luminances 0,2,8,10.

 

 

STATUS AREAS: 1Charset in ANTIC4 40bytes wide Mode (no need any PMs. overlays or underlays here).

Edited by José Pereira
Link to comment
Share on other sites

Me again...

 

Was just answering Sack at Format War regarding Sub-Hunter could run or not at 50fps.

Don't need to write it all here again, soo please enter here and say if my Arithmetics are or not true, but also about this ruinning at 50fps.:

Sub-Hunter 50fps and cycles using

 

 

 

Thanks.

José Pereira.

Link to comment
Share on other sites

Lots of shapes just to show the 'PRIOR0' to get any colours/almost all luminances possible on Enemys:

post-6517-0-22637100-1314956063_thumb.png

:cool:

 

 

F-SICK (!)

 

Like the "warmer" look of the ocean's floor (more red on it), the overall Luminance-level chosen and the Sprites' color. MUCH better-looking than the C-64 version.

 

 

Bring it on!

 

F.

Link to comment
Share on other sites

Lots of shapes just to show the 'PRIOR0' to get any colours/almost all luminances possible on Enemys:

post-6517-0-22637100-1314956063_thumb.png

:cool:

 

 

F-SICK (!)

 

Like the "warmer" look of the ocean's floor (more red on it), the overall Luminance-level chosen and the Sprites' color. MUCH better-looking than the C-64 version.

 

 

Bring it on!

 

F.

 

 

Just to get the differences:

-> A8 and C64:

post-6517-0-91386000-1314973035_thumb.pngpost-6517-0-33760700-1314973030_thumb.png

 

-> Now C64 and A8 different screens Grounds Gfxs. (there's always 5colours/luminances of each Stage):

post-6517-0-62074900-1314973167_thumb.png

post-6517-0-43014700-1314973122_thumb.gif

 

 

post-6517-0-54654500-1314973189_thumb.png

post-6517-0-58881900-1314973208_thumb.gif

 

 

post-6517-0-66606000-1314973300_thumb.png

post-6517-0-80062600-1314973232_thumb.gif

 

 

post-6517-0-44788500-1314973309_thumb.png

post-6517-0-90466600-1314973252_thumb.gif

 

 

post-6517-0-60401300-1314973317_thumb.png

post-6517-0-22062400-1314973279_thumb.gif

 

 

:cool:

Edited by José Pereira
Link to comment
Share on other sites

A8 and C64:

post-6517-0-68645500-1315043220_thumb.pngpost-6517-0-94295900-1315043326_thumb.png

 

One more screen gfxs. type that have 5colour/luminances different, as usual:

post-6517-0-10974500-1315043360_thumb.png

post-6517-0-45980200-1315043412_thumb.gif

 

post-6517-0-08121700-1315043369_thumb.png

post-6517-0-45243600-1315043420_thumb.gif

 

 

post-6517-0-26840500-1315043374_thumb.png

post-6517-0-12785900-1315043651_thumb.gif

 

post-6517-0-96517300-1315043381_thumb.png

post-6517-0-12477300-1315043663_thumb.gif

 

post-6517-0-79002800-1315043388_thumb.png

post-6517-0-64807300-1315043669_thumb.gif

 

For this type of stages there's one more type:

post-6517-0-89423900-1315043817_thumb.gif

 

And then this ones:

post-6517-0-27798600-1315043883_thumb.gifpost-6517-0-18578000-1315043903_thumb.gifpost-6517-0-57233700-1315043959_thumb.gif

This weekend I'll have all the screens Masters with colours/luminances and Tiles/Charsets.

Then it's time for the Sprites :arrow: ...

 

 

:P

José Pereira.

Link to comment
Share on other sites

post-6517-0-44788500-1314973309_thumb.png

post-6517-0-90466600-1314973252_thumb.gif

 

 

post-6517-0-60401300-1314973317_thumb.png

post-6517-0-22062400-1314973279_thumb.gif

 

 

:cool:

 

 

...Not sure about the games' entire range of screens, but this last pair looks simply excellent. NICE job!

 

The mix of colors, saturation and luma "gradient" (if we could use this term) looks pro-grade. The sprites are easy to see, and blend relatively well wih the environment.

 

F.

Link to comment
Share on other sites

post-6517-0-44788500-1314973309_thumb.png

post-6517-0-90466600-1314973252_thumb.gif

 

 

post-6517-0-60401300-1314973317_thumb.png

post-6517-0-22062400-1314973279_thumb.gif

 

 

:cool:

 

 

...Not sure about the games' entire range of screens, but this last pair looks simply excellent. NICE job!

 

The mix of colors, saturation and luma "gradient" (if we could use this term) looks pro-grade. The sprites are easy to see, and blend relatively well wih the environment.

 

F.

 

 

Say that to the coders... I even get back to School to do some Arithmetics...

Sprites can go over that Gfxs. and there are cycles for that... something that I've learn about 6502 cyles Arithmetics...

;)

Link to comment
Share on other sites

This and others to come are just to some people that don't realize the true...

That's just simply 4colours and DLIs.

That just think that A8 just get this and 4PMs.

 

If that's it then CPCs. just don't get anything... because they just don' have Hardware sprites.

 

PMs. are to be used, but on A8, please, please, put that PMs. above soft sprites :P

Our Pallete and more cycles would do what's left...

;)

Edited by José Pereira
Link to comment
Share on other sites

This and others to come are just to some people that don't realize the true...

That is just simply 4colours and DLIs.

Think that A8 are getting get this with just four colours each scanlines and DLIs.

 

If that's a problem, then CPCs. just don't get anything... because they just don't have Hardware sprites.

 

PMs. are to be used, but on A8, please, please, put that PMs. above soft sprites :P

Our Pallete and more cycles would do what's left...

;)

Link to comment
Share on other sites

my concern is that it's not just how many cycles - that assumes you can do whatever you want at any point during the screen refresh and it'll work out fine. If you're dumping stuff into a double-buffered bitmap then that's a good enough way of looking at it.

 

when you start racing the bean and adjusting things on the fly it's also a matter of *where* the cycles are available too. That's the bit I was a little bit unsure of.

 

but as I say - if what is in that screenshot can be animated and turned into a game then that's a pretty great piece of work.

Link to comment
Share on other sites

Time to go into those Darkest stages where lots of Sharks 'flying around':

post-6517-0-91979800-1315289287_thumb.png

And lots of Sharks means that some clever way to get the Large Sharks and also the Normal ones where only the two Normal wide ones can use PMs ;) .

The idea of this stages it's to seem darker than the previous ones, only Ground(s) change, as there are always 5stages->5colours/luminances... This 'redish' it's just one of them.

Edited by José Pereira
Link to comment
Share on other sites

my concern is that it's not just how many cycles - that assumes you can do whatever you want at any point during the screen refresh and it'll work out fine. If you're dumping stuff into a double-buffered bitmap then that's a good enough way of looking at it.

 

when you start racing the bean and adjusting things on the fly it's also a matter of *where* the cycles are available too. That's the bit I was a little bit unsure of.

 

but as I say - if what is in that screenshot can be animated and turned into a game then that's a pretty great piece of work.

 

Please 'don't concern yourself'...

Something that even if I am not acoder I maybee soneohne(s) behind...

 

This is just as clean as a 'SKIP' or an 'ARIEL' clean of clothes ;)

There isn't any 'abuse' of DLIs., just a single one, just one DLI per scanline but clever that in all screen height there are only 14or15DLIs. most of them in Background colour Registers... and in un-used Blank scan-Lines

 

What you see here it's cllever (or stupid... ;) ) 4colours Bitmap on ecah scanline...

And this is saying that almost the cycles are free for the Soft Sprites.

 

This seems, looks so good but there's nothing special, even not so many DLIs. as you may think of:

post-6517-0-63067700-1315338306_thumb.png

:P

Edited by José Pereira
Link to comment
Share on other sites

I think what sack's getting at is that if you are drawing the foreground graphics outside vertical blank then you may get tearing on them if the current raster line falls within a graphic. Say if one of the fish is moving horizontally and the current raster line is halfway through its vertical range, you would get bottom half of the graphic offset slightly, and possibly from a different frame of the animation. The options to work around this are:

 

  • draw all the graphics in vertical blank (probably a non-starter given the amount that needs to be drawn)
  • double buffer the screen so you're always drawing to an offscreen buffer, which obviously uses twice as much memory for the game area - 130XE banking is ideal for this but obviously not compatible with 64k machines or some other RAM upgrades
  • drawing the softsprites in vertical order and using vcount to delay modification if the beam is in the region you're drawing to
  • not giving a crap about it and just doing it as fast as possible

 

All of these approaches have their merits (including the last one :evil: )

 

Cheers,

 

Simon

Link to comment
Share on other sites

  • draw all the graphics in vertical blank (probably a non-starter given the amount that needs to be drawn)
  • double buffer the screen so you're always drawing to an offscreen buffer, which obviously uses twice as much memory for the game area - 130XE banking is ideal for this but obviously not compatible with 64k machines or some other RAM upgrades
  • drawing the softsprites in vertical order and using vcount to delay modification if the beam is in the region you're drawing to
  • not giving a crap about it and just doing it as fast as possible

 

 

 

On the A8 it should be no problem to use VCOUNT or a DLI on the wanted position for starting the drawing routine on dedicated rasterlines.

If 50Hz is wanted (and reachable) , the graphics just have to be drawn immediately -after- the screenrange has been handled by the displaying hardware. It's almost like double buffer, without double buffer.

 

I'd still like to see how fast Rescue on Fractalus can be without "Double Buffer" by just drawing the graphics as fast as possible. I'd bet, we would occure tearing, because the graphics were calculated faster than the VBI happens.

 

 

 

But softwaresprites with different scrolling speed ranges, we really should drop off our thoughts....

 

When using parallax scrolling, we always could multiplex the PMg..... Or, doing all in software by using a double scanline mode. ;)

Edited by emkay
Link to comment
Share on other sites

But softwaresprites with different scrolling speed ranges, we really should drop off our thoughts....

 

When using parallax scrolling, we always could multiplex the PMg..... Or, doing all in software by using a double scanline mode. ;)

 

I think it's doable, but there'd be a lot of lookup tables and indirect Y addressing or self modifiying code involved. I would suggest having preshifted horizontal sprite data and a set of lookup tables for the scroll range, so for each band of parallax you can convert an x position and the current scroll offset (fine and coarse) to an offset, do a 16 bit pointer addition to add it to the LMS address for the start of the line then write the data. I'd have to actually do it to see whether it could be done in the time required though :ponder:

 

actually I'd completely forgotten about tearing. I was too focused on timing-dependent register changes.

 

but I'm guessing that's a relatively small game in terms of memory footprint - I'm sure you could spare a second buffer...

 

Ah well, I can carry on putting words into your mouth if it's useful for the discussion though ;) In terms of screen architecture it looks ok to me, I would probably redo the status bits so they're squished a little vertically to give more VBLANK time but apart from resetting HSCROL and a couple of playfield color changes it doesn't look like there's too much going on. If I was writing it I would probably put an LMS on each line for flexibility in laying out the screen RAM but that's just force of habit, I'm not sure it's necessary.

 

José, can you post the sizes in pixels of the repeating bands of background and I can try some calculations to see whether it's easy to fit in 64k with two buffers? They look like they'd be good candidates for RLE for the ones that aren't displayed currently, so they could be uncompressed to the buffers at the start of each stage.

 

Cheers,

 

Simon

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...