English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 04 February 2023, 08:48   #81
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,540
Very nice colors

Quote:
Audio issue
Looks like sometimes AUDxPT is updated, audio DMA started, then AUDxPT is updated again, before Agnus/Alice has got first DMA request from Paula (which also copies AUDxPT to internal pointer), causing audio DMA to start from "updated again" pointer, skipped the original one. This delay is up to 1 scanline due to way audio DMA requests works.

WinUAE by default in fast CPU modes "fix" these problems (and logs messages) because audio DMA wait problems are too common. chipset_hacks=8 in config file disables audio fixes.
Toni Wilen is online now  
Old 04 February 2023, 10:32   #82
Gzegzolka
Registered User
 
Join Date: Feb 2014
Location: Warszawa / Polska
Posts: 1,861
Very impressive demo, I hope You will manage to finish it
Gzegzolka is offline  
Old 04 February 2023, 11:46   #83
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,329
Looks like 24-bit colors! very well done. I wonder why we didn't get those kind of colors in games back in the day (yes, we were told that HAM was only for pictures)
jotd is offline  
Old 04 February 2023, 12:33   #84
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,481
Quote:
Originally Posted by jotd View Post
Looks like 24-bit colors! very well done. I wonder why we didn't get those kind of colors in games back in the day (yes, we were told that HAM was only for pictures)
Because moving objects in these conditions is a nightmare

And I'm not just talking about blitter objects that should be built exactly like the tiles in this demo, but also sprites that are restricted in movement if they want to be recolored (and amount per line limitations..).

Instead this engine is PERFECT for such a game, but only for this genre, it's not a small condition.
ross is offline  
Old 04 February 2023, 13:05   #85
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,822
Quote:
Originally Posted by ross View Post
Instead this engine is PERFECT for such a game, but only for this genre, it's not a small condition.
I guess games like Chaos Engine and Smash T.V. would be possible in this way?
TCD is offline  
Old 04 February 2023, 13:21   #86
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,481
Quote:
Originally Posted by TCD View Post
I guess games like Chaos Engine and Smash T.V. would be possible in this way?
I don't think so, too many things that move freely and overlap.
But I'll be happy if it proves to be otherwise
ross is offline  
Old 04 February 2023, 13:38   #87
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,822
Okay, let's see what remz will create then
TCD is offline  
Old 04 February 2023, 14:42   #88
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 140
Quote:
Originally Posted by Toni Wilen View Post
Very nice colors



Looks like sometimes AUDxPT is updated, audio DMA started, then AUDxPT is updated again, before Agnus/Alice has got first DMA request from Paula (which also copies AUDxPT to internal pointer), causing audio DMA to start from "updated again" pointer, skipped the original one. This delay is up to 1 scanline due to way audio DMA requests works.

WinUAE by default in fast CPU modes "fix" these problems (and logs messages) because audio DMA wait problems are too common. chipset_hacks=8 in config file disables audio fixes.
Thank you Toni, much appreciated any insight of this: I tried and failed to debug this issue yesterday: Indeed in Winuae I am seeing tons of DMA hack warnings n the log whenever I used an amiga faster that A500. I will investigate more and find the problem!
remz is offline  
Old 04 February 2023, 19:43   #89
Evillord68
Registered User
 
Join Date: May 2021
Location: Euerbach/Germany
Posts: 74
Wow, it looks very good. Great job.
Evillord68 is offline  
Old 05 February 2023, 05:13   #90
DisasterIncarna
Registered User
 
DisasterIncarna's Avatar
 
Join Date: Oct 2021
Location: England
Posts: 1,221
Quote:
Originally Posted by ross View Post
Because moving objects in these conditions is a nightmare

And I'm not just talking about blitter objects that should be built exactly like the tiles in this demo, but also sprites that are restricted in movement if they want to be recolored (and amount per line limitations..).

Instead this engine is PERFECT for such a game, but only for this genre, it's not a small condition.
Wonder if the old Valhalla games from Vulcan could have worked using this kind of method? They were pretty basic topdown rpg/adventure games with pretty much nothing moving around except the player.
DisasterIncarna is offline  
Old 05 February 2023, 06:17   #91
carlosgod
Registered User
 
Join Date: Oct 2021
Location: boston
Posts: 22
Quote:
Originally Posted by ross View Post
Because moving objects in these conditions is a nightmare

And I'm not just talking about blitter objects that should be built exactly like the tiles in this demo, but also sprites that are restricted in movement if they want to be recolored (and amount per line limitations..).

Instead this engine is PERFECT for such a game, but only for this genre, it's not a small condition.
Okay, I've been really fascinated with this project ever since it was first posted in August last year, and had a hard time grasping how all this was achieved and why it couldn't be done with other amiga games.

So I get that each of the 16*16 tiles are in HAM 6 bitplane (greyscale) and presumably blitted across the screen, and the tiles are arranged in such way to avoid fringing effects and there is some sort of shading trick depending on light source...

But what I don't get is how there could be so many sprites (104 max) - some of them animated. I presume this is heart of the innovation of this engine.

But there has to be another reason why other tile-based top-down OCS games (Gauntlet, Alien Breed etc) don't do this... For example, does this engine require that all the sprites (except the main character) have to stay stationary. If they are made to move then the whole thing falls apart? If so then it would limit the use case of this game engine.

Thanks and would appreciate if anyone can clarify!
carlosgod is offline  
Old 05 February 2023, 09:10   #92
Tigerskunk
Inviyya Dude!
 
Tigerskunk's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,785
Love this project.
Shows how innovative you can still get with the good old OCS hardware.

I had a go at HAM mode a few years ago when I was still working deeply on Inviyya, but it never went anywhere unfortunately.
Want to create a little game demo, but then other things happened and never went back to it.

Happy though you pulled this off. Looks amazing!
Tigerskunk is offline  
Old 05 February 2023, 09:24   #93
Tigerskunk
Inviyya Dude!
 
Tigerskunk's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,785
Quote:
Originally Posted by carlosgod View Post

But there has to be another reason why other tile-based top-down OCS games (Gauntlet, Alien Breed etc) don't do this... For example, does this engine require that all the sprites (except the main character) have to stay stationary. If they are made to move then the whole thing falls apart? If so then it would limit the use case of this game engine.
I think this has more to do with the sprite sizes plus the palette recoloring of all these objects.

Doing this in a dynamic copperlist that gets rendered each frame and where you have to do an y pos sort is quite CPU intensive if you want to have these many objects on screen.

I am using only a lame bubble sort in my sprite multiplexer, but with that this gets exponentially more heavy in CPU load when you have more objects.

There are sort methods that are much more efficient for this, though.

But then, you still have to render that huge copperlist each frame.
Tigerskunk is offline  
Old 05 February 2023, 11:32   #94
JoeJoe
Registered User
 
Join Date: Feb 2020
Location: Germany
Posts: 188
A really very impressive technical demo. I'm already looking forward to the finished game. I would have one small comment though. Couldn't you display the font from top to bottom.
JoeJoe is offline  
Old 05 February 2023, 12:21   #95
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,481
Quote:
Originally Posted by DisasterIncarna View Post
Wonder if the old Valhalla games from Vulcan could have worked using this kind of method? They were pretty basic topdown rpg/adventure games with pretty much nothing moving around except the player.
Yes, most likely this engine could be used.

Quote:
Originally Posted by carlosgod View Post
But what I don't get is how there could be so many sprites (104 max) - some of them animated. I presume this is heart of the innovation of this engine.
Not that in the Amiga there are any limits in the use of sprites, as long as they are not more than 8 on the same video line, so if you limit their vertical movement and set a maximum per line...
ross is offline  
Old 05 February 2023, 15:57   #96
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,188
Re:sprites
HAM mode doesn't use all of the palette registers so the sprites have the second bank of color registers to themselves. The copper helps even more as a result.
Samurai_Crow is offline  
Old 05 February 2023, 16:35   #97
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 140
Quote:
Originally Posted by ross View Post
Yes, most likely this engine could be used.


Not that in the Amiga there are any limits in the use of sprites, as long as they are not more than 8 on the same video line, so if you limit their vertical movement and set a maximum per line...
And even that limit of "8 sprites per video line" is not entirely accurate. The copper is fast enough to 'reset' sprites during the line, allowing you to reuse a sprite several times on the same line.

As an example, one of my early iterations on this tech demo was displaying 340 sprites on the screen, with up to 48 colors each. See this screenshot:



You can see it explained in great detail here in this video by Dutch Retro Guy where the copper is 'racing the beam' horizontally to render a fullscreen layer of sprites:
[ Show youtube player ]
Attached Thumbnails
Click image for larger version

Name:	rogue_amiga500_screenshot.png
Views:	715
Size:	107.8 KB
ID:	78018  
remz is offline  
Old 05 February 2023, 17:40   #98
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,188
Re:horizontal sprite mux
To multiplex sprites horizontally takes so much bandwidth that there's nothing left for the CPU unless there's real fast RAM or no blitter usage. That's one of the reasons BitBeamCannon used the effect so sparingly on Metro Siege and limited the display to 4 bitplanes.
Samurai_Crow is offline  
Old 05 February 2023, 18:42   #99
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 54
Posts: 4,481
Quote:
Originally Posted by remz View Post
And even that limit of "8 sprites per video line" is not entirely accurate.
Yeah, I should have added 'with data fetched by a DMA channel'.

But I deliberately avoided mentioning the possibility of using horizontally multiplexed sprites (and I very well know how to use them ).
I simply didn't want a general user to think that miraculous things can be done with your engine.

It's already as good as it is and for what it has to do it's excellent, let's not exaggerate.
The limitations with horizontal multiplexing are too many to use extensively in a game for objects with freedom of movement (background or some overlay panel are not a problem and are used in many games).
And in fact you didn't rightly use it in the demo you posted.

The screenshot with the screen full of sprites is nice but nothing more
ross is offline  
Old 05 February 2023, 18:48   #100
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 140
Quote:
Originally Posted by ross View Post
Yeah, I should have added 'with data fetched by a DMA channel'.

But I deliberately avoided mentioning the possibility of using horizontally multiplexed sprites (and I very well know how to use them ).
I simply didn't want a general user to think that miraculous things can be done with your engine.

It's already as good as it is and for what it has to do it's excellent, let's not exaggerate.
The limitations with horizontal multiplexing are too many to use extensively in a game for objects with freedom of movement (background or some overlay panel are not a problem and are used in many games).
And in fact you didn't rightly use it in the demo you posted.

The screenshot with the screen full of sprites is nice but nothing more
You are absolutely correct. I had to make a choice between smooth horizontal scrolling and horizontally multiplexing sprites at some point.
remz is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Menace - HD Tech Demo - Vampire Remake invent Amiga scene 45 01 August 2022 18:22
Turrican MSX WIP 4 (video and playable tech demo) thegeps Retrogaming General Discussion 2 03 February 2022 02:42
Mispronounced game/game company/tech stuff names lilalurl Nostalgia & memories 50 12 January 2021 00:28
SVLCVSS Side Track Test Run Tech Demo Cobe project.Amiga Game Factory 19 10 September 2019 21:38
LN2 tech demo gimbal project.Amiga Game Factory 63 02 October 2008 20:22

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 13:50.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.12111 seconds with 14 queries