Jump to content
IGNORED

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


José Pereira

Recommended Posts

3 hours ago, emkay said:

I'd agree with : Finest looking scrolling demo on the A8. 

You actually did something, others didn't before: The PM overlay on the sprites …

 

This could change things , as you now could use the collision registers of the PMg wich would make complex software collision routines needless.

 

 

 

 

But nothing was possible, and I only post things that can't be done, right?

?

 

  • Haha 1
Link to comment
Share on other sites

10 hours ago, rensoup said:

Well I think I'm done with this test...

 

Only 7 sprites but all of them have a PMG overlay for extra color... and it's almost interactive (you can move the sub!).

I think you'll agree this is the finest looking non violent shooter on the A8 ?

 

subh_190911.png.772f2c77176f7fbbbacb799855a8bb2c.png

 

source is uploaded as well.

 

subh_src190911.zip 49.68 kB · 12 downloads subh2exo_190911.obx 10.58 kB · 20 downloads

Simply AMAZING!  50fps also.  Wow, this could be the basis of a nice game engine.

 

You've outdone yourself rensoup!  This was a fun thread to read.  Nice work.

  • Like 1
Link to comment
Share on other sites

17 hours ago, Faicuai said:

Fair enough, then!

 

How much CPU bandwidth is left at current state? Still enough for game-logic, SFX, etc.?

Not a lot obviously ?

 

Not that it requires much power to do collision detection or respawning enemies. SFX, I have no idea because I've never tried on the A8 ?

There are various problems to make this a real game, nothing difficult but lots of grinding work. Memory is a problem but I stuffed too many different sprites compared to the C64 version which I think only has 2 types per level(but has animations). Overall, I wasn't particularly careful about how I spent memory. There are lots of tiny fragmented blocks of free mem but it's difficult to use them.

Then there's loading which also requires space,...

 

It's a challenge but not a particularly interesting one.

 

  • Like 1
Link to comment
Share on other sites

12 hours ago, emkay said:

I'd agree with : Finest looking scrolling demo on the A8. 

You actually did something, others didn't before: The PM overlay on the sprites …

...and a parallax too.

 

12 hours ago, emkay said:

This could change things , as you now could use the collision registers of the PMg wich would make complex software collision routines needless.

 

yeah HW collisions should work but software collisions on 7 sprites are reasonably fast too (but don't take my word for it).

Problem with HW collisions is that the PMGs don't cover the whole sprite

Edited by rensoup
Link to comment
Share on other sites

9 hours ago, popmilo said:

Awesome pm overlay example !
 

ps. What is that "dmsc's SAPR music player" ? Never heard of it.

 

Yay José ?

 

I wonder what it would have looked like with prior0 though ( 5 colors instead of 3 ). The problem with prior0 is that it would have required double width sprites. It may still have looked good with software sprites underneath though.

Right now the PMGs are just 8 pixels while the software sprites are about 12 or more ususally.

 

As for dmsc's player, you should head over to the programming forum more often ?

 

 

Basically it's a player for SAP raw tunes compressed with LZ4. He made 3 versions, each with different buffer sizes. The biggest buffers take the most memory (9*256 bytes +tiny player code)  obviously but yield better compression ratio on the tune.

The tunes can end up being smaller than the original and play from faster to much faster!

 

It may be possible to optimize it and certainly make it play 100/200hz tunes.

 

it's the future and hopefully everybody will use it?

 

Link to comment
Share on other sites

8 hours ago, TheNameOfTheGame said:

Simply AMAZING!  50fps also.  Wow, this could be the basis of a nice game engine.

 

You've outdone yourself rensoup!  This was a fun thread to read.  Nice work.

Thanks again ?

 

As for it being the basis of a game engine... not sure really... I kind of butchered my nice precompiled  sprite generation code to take the parallax into account. the plane demo is probably a better basis.

 

Link to comment
Share on other sites

29 minutes ago, rensoup said:

...and a parallax too.

Obviously. 

There are games that use PMg over/under the moving objects. The Parallax makes it "new".

 

 

29 minutes ago, rensoup said:

yeah HW collisions should work but software collisions on 7 sprites are reasonably fast too (but don't take my word for it).

Problem with HW collisions is that the PMGs don't cover the whole sprite

That's where software scrolling with fixed and straight computable positions will get their advance. 

Link to comment
Share on other sites

On 9/11/2019 at 2:32 AM, rensoup said:

Well I think I'm done with this test...

 

Only 7 sprites but all of them have a PMG overlay for extra color... and it's almost interactive (you can move the sub!).

I think you'll agree this is the finest looking non violent shooter on the A8 ?

 

subh_190911.png.772f2c77176f7fbbbacb799855a8bb2c.png

 

source is uploaded as well.

 

subh_src190911.zip 49.68 kB · 20 downloads subh2exo_190911.obx 10.58 kB · 40 downloads

Incredible! Full horizontal overscan! Parallax effect. Seven three-colors sprites.

Thank you very much!

Moreover, with that engine, many nice games could be done!

Regarding memory issues, nowadays that's not a problem: cartridges/multicarts up to 1MB could be used, we have memory expansions... 

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

37 minutes ago, Philsan said:

Incredible! Full horizontal overscan! Parallax effect. Seven three-colors sprites.

Thank you very much!

Moreover, with that engine, many nice games could be done!

Regarding memory issues, nowadays that's not a problem: cartridges/multicarts up to 1MB could be used, we have memory expansions... 

 

You shouldn't be too euphoric. 

The Engine is using a lot (if not too much) CPU cycles. RAM expansions need engines with lesser CPU usage. 

IF you really want to see "new" games, Engines needed to move much more objects around. And they had to act like Sprites, not just moving objects, if you understand. 

Sprites mean to be moving objects and a usable Position detection. Without that, you only get "non violent shooters" ;)

 

What type of games would you think, were possible?

  • Sad 1
Link to comment
Share on other sites

The nuts and bolts of this and it's example can lead to optimizations and other tweaks to make it possible for a games use... the coloration method does make for pm detections... these are good bones and a nice demo. Please don't talk it down like so many times that people walk away or give up... that happens too often... much later someone may discover parts of it and make something nice but the 5 year delay because it's all impossible being beaten into peoples head really doesn't help us much...

  • Like 3
Link to comment
Share on other sites

36 minutes ago, _The Doctor__ said:

The nuts and bolts of this and it's example can lead to optimizations and other tweaks to make it possible for a games use... the coloration method does make for pm detections... these are good bones and a nice demo. Please don't talk it down like so many times that people walk away or give up... that happens too often... much later someone may discover parts of it and make something nice but the 5 year delay because it's all impossible being beaten into peoples head really doesn't help us much...

Please , go and read a book of what the Atari is . 

I have to admit that rensoup did something new. But it is far away of your dreams , and it is in the frame of the expected.

You simply cannot get additional stuff, if already all lemons are pressed. 

Rensoup used all available Resources, AND it looks already like more than it really is. The moving objects are not Sprites, if you understand. 

Link to comment
Share on other sites

2 minutes ago, _The Doctor__ said:

I see, it would seem now what's been done is new and surprising, but expected?...

 

Doing the PM Overlay really was something that should have been done in 1979 already. 

Finally someone did the "missing". Which means , a lot of available game could have been looking better. 

 

2 minutes ago, _The Doctor__ said:

all along saying how it's not going to be... and as usual it came to be...

Don't think I've stated any dreams, and there is more that can be done... look into the code... it takes some time to save a byte here or a cycle there, refactoring and spreading something out here while condensing something there...

stop trying to put everything in a jail cell of what you think is possible and let people explore, discover, and create. So many forks in the road ahead, some can be dead ends... luckily most people know how to back up the car or turn around and try another fork.

 

Total nonsense. I'm not putting something into jail. There are Resources that cannot be outdone.

The amount of available, and independent moving objects is restricted. 

Some games got possible due to restrictions of the game that luckily fit somehow to the Atari's features. 

As an example "Yie Ar Kung Fu" . That game uses 320 K of RAM and only was possibly by the fact that the protagonist isn't jumping. 

320K for some fluent animation, while no moving Software Sprite crosses a detailed background.

 

 

Link to comment
Share on other sites

2 hours ago, Philsan said:

Incredible! Full horizontal overscan! Parallax effect. Seven three-colors sprites.

Thank you very much!

Moreover, with that engine, many nice games could be done!

Regarding memory issues, nowadays that's not a problem: cartridges/multicarts up to 1MB could be used, we have memory expansions... 

 

Thanks and nice to see it on real HW ?

 

I prefer to stick to what was available during the 80s and with just a stock 130XE, quite a bit more could be done: lots of animations/ easy loading and perhaps more optimizations (though not a lot).

 

dmsc's music player is pretty fast but perhaps there's more that could be done... I don't know, I've never really looked into it.

 

The PMG clearing is pretty optimum too and doesn't take a lot but you don't really need to clear anything but the line where the PMG isn't located anymore so you could pretty much discard the clear routine completely.

 

Those are possible mini savings.

 

Plus while my core asm loops tend to be quite optimized, I'm really not that experienced with 6502 so I might have made some glaring mistakes.

 

 

Edited by rensoup
  • Like 5
Link to comment
Share on other sites

My main takeaway is:

 

If you need speed, don't use char mode (mode4). Mode4 is a lot more hassle/complex. You get that extra color but PMGs can give you extra colors too.

 

bitmap mode(modeE) requires more memory ( or a lot more if you use 256 bytes wide lines ) but the speed increase and the simpler code are worth it especially if you target 128KB. Combined with precompiled sprites, it's a winning combo.

 

My guess is that a lot of games use char mode.

 

btw: my 20 planes demo uses plain rectangle clearing because I couldn't figure out a good way to clear just the plane shape but perhaps there's something that could be done there to squeeze in one or two more planes (not going to try though ?)

 

 

  • Like 1
Link to comment
Share on other sites

25 minutes ago, _The Doctor__ said:

You've done a wonderful job. We already get to play with a sub.

You ever see the fish tank screen saver back in the ole pc graphics card upgrade days?

The subs could be fish too! Tap the space bar and things change. Not overly complicated to do something simple like that since you already have some press a key to change the number of subs or frame rate display etc under your belt... I'm just now starting to look at the newest installment of the demo...

haha, hell no I'm not going to try to redo the fishtank screensaver, I am done with this test ?

  • Like 1
Link to comment
Share on other sites

19 hours ago, rensoup said:

My main takeaway is:

 

If you need speed, don't use char mode (mode4). Mode4 is a lot more hassle/complex. You get that extra color but PMGs can give you extra colors too.

 

bitmap mode(modeE) requires more memory ( or a lot more if you use 256 bytes wide lines ) but the speed increase and the simpler code are worth it especially if you target 128KB. Combined with precompiled sprites, it's a winning combo.

 

My guess is that a lot of games use char mode.

 

btw: my 20 planes demo uses plain rectangle clearing because I couldn't figure out a good way to clear just the plane shape but perhaps there's something that could be done there to squeeze in one or two more planes (not going to try though ?)

 

 

In fact good results can be achieved using bitmap modes (Antic D and Antic E alternated).

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Philsan said:

In fact good results can be achieved using bitmap modes (Antic D and Antic E alternated).

 

If you start to consider that more than one SPRITE is needed for such games, you might recognize that the "good result" isn't a "good result". 

Seems, there is a chance to get Sub Hunter working for the Atari (I still see a lot restrictions). But there are a lot games that need much more than just horizontal scrolling : Real Parallax , and about 30 Sprites , not just moving objects, would be a nice start. 

If the most complex Level of Sub Hunter was there , and playable, you wouldn't need more to show that the whole Game is possible.  

 

You NEED Character Mode for that, to compensate the missing amount of real Sprites, for this type of games. 

Link to comment
Share on other sites

I fired up this demo example on the Atari 800XL - and most of the elements seem to be working fine - fantastic even...

However I don't think the dark strip in the middle is working?  What is it meant to be?

I would try out lightening it up instead.

 

The current overall impression - doesn't have me thinking it is underwater though...  you'll need some random bubbles appearing and then rising.

To give the impression it is underwater...

I would guess that any kind of randomised rippling effect over part of the scene - would be out of the question - that would tie up too much CPU time, etc.

 

Harvey

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