English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 22 July 2021, 10:12   #41
thairacerjp
Registered User

thairacerjp's Avatar
 
Join Date: Aug 2016
Location: FRANCE
Posts: 370
great job dudes ! still very impress, keep the good work
thairacerjp is offline  
Old 24 July 2021, 23:08   #42
utri007
mä vaan
 
Join Date: Nov 2001
Location: Finland
Posts: 1,288
Looks good. I would buyt this. Next game could be nice car game where you could use that same routine you use now to move field. There is very few "semi modern" car games for 68k amigas.

Does every 68k game require it's own memory management system? System routines are not good enough?
utri007 is offline  
Old 25 July 2021, 11:23   #43
Daytona675x
Registered User

Daytona675x's Avatar
 
Join Date: Apr 2021
Location: Germany
Posts: 20
@vulture
@thairacerjp
@utri007

Thanks guys

@utri007
Quote:
Does every 68k game require it's own memory management system?
Certainly not but in my particular use case it helps a lot right now. But that's also because it's all WIP, I simply don't know yet how much memory I will ultimately need for game-state X which is why I currently tend to release memory as soon as I don't need it anymore for a particular task, which in turn is the reason why I tapped into fragmentation issues in the first place... When it's all done I will know exactly how much memory I need in which precise situation, so this memory management may become obsolete later again.
Quote:
Next game could be nice car game where you could use that same routine you use now to move field.
No, this "engine" is designed for its current purpose only, it is not suited for racing games at all.
Daytona675x is offline  
Old 29 August 2021, 14:40   #44
Daytona675x
Registered User

Daytona675x's Avatar
 
Join Date: Apr 2021
Location: Germany
Posts: 20
New wip video #17
https://www.youtube.com/playlist?lis...yr1OhOssiA0axW

Even though this update maybe doesn't look like too much it actually shows the solution to one of the last major technical hurdles.

- Vertical ball physics added.

- The now eventually floating ball made it necessary to add a dedicated shadow. Actually it's now a black-flicker-shadow system prepared to be used with all objects but so far only the ball got one. Had to rearrange the player / ball palette a bit for optimal blitting performance.

- Occlusion detection (WIP). This is basically about chosing the cheapest blit-mode for the different entities based on aspects like zoom level and potential overlap. Not fully done but partially working already. If you take a close look you can see it selecting masked-blitting for the player at the ball and non-masked blitting for "less-important" objects. The occlusion detection will later also help to optimize the ball handling a bit more (see below).

- Special ball handling under the hood. Due to the whole display setup it is necessary to display the ball by either using a BOB or a sprite, depending on situation. If the ball is flying high enough it's actually leaving the physical playfield's bitmap area and therefore hasto be displayed as sprite. That's because the playfield (which in fact is some sort of 200 level parallax scroller with constant palette changes and the players and ball on top of it) and its bitmaps end where the visitor-crowd starts.
Also, if it's flying higher than some virtual 2 meters - which means that it's flying above the heads of all the players - it can eventually be displayed as sprite to save a blit. Eventually, because that won't work if it's around the bottom goal area because then the goal will overpaint it, thanks to the Amiga's fixed sprite priorities and the fact that I have to use sprite 0 for the ball due to that and other technical limitations (e.g. sprite palette selection). In such a case and in the general case the ball is drawn as a BOB to be correctly occluded by stuff that's in front of it. At least that's true for now, until the occlusion detection is not WIP anymore, then the ball will be displayed as sprite in even more situations. I also had to rearrange the screen's stats- / clouds- / sky- / city-silhouette-palettes so that those wouldn't interfere with the ball-sprite's colors.
At the moment you can spot if a BOB or sprite is being used: the BOB-ball is animated, the sprite is not (yet).

Cheers ?
Daytona675x
Daytona675x is offline  
Old 29 August 2021, 14:58   #45
apex
Registered User
apex's Avatar
 
Join Date: Apr 2010
Location: Amigaplanet
Posts: 596
I was a PlayStation 1 fan from day one to the last days. It was fantastic to see the improvements on the games over the years, without changing the hardware. Same here, it is impressive to see what is possible with this 30 years old chipset. Sadly it was not possible to have a Daytona anno 1992.
apex is online now  
Old 29 August 2021, 22:14   #46
utri007
mä vaan
 
Join Date: Nov 2001
Location: Finland
Posts: 1,288
Looks interesting. I donated few euros to you for this project. I actually looked Wings Battlefield to buy but is seems to be available only as physical copy and I couldn't find info what kind of games it is as a single player.
utri007 is offline  
Old 02 September 2021, 11:58   #47
Daytona675x
Registered User

Daytona675x's Avatar
 
Join Date: Apr 2021
Location: Germany
Posts: 20
@apex
@utri007
Thanks & cheers

@utri007
Was a pleasure to serve you, sir
Daytona675x is offline  
Old 02 September 2021, 13:59   #48
aros-sg
Registered User

 
Join Date: Nov 2015
Location: Italy
Posts: 80
Maybe it's too annoying to code, but a hw sprite does not necessarily need to have fixed gfx data. Theoretically you can at runtime clear to 0 (make transparent) areas in gfx data where other objects are supposed to be in front of the sprite using masks of this other objects. And btw, eventually != eventuell ;-)
aros-sg is offline  
Old 02 September 2021, 16:43   #49
Daytona675x
Registered User

Daytona675x's Avatar
 
Join Date: Apr 2021
Location: Germany
Posts: 20
@aros-sg
Quote:
eventually != eventuell ;-)
Thanks, I'll try to remember that - eventually

Quote:
Maybe it's too annoying to code, but a hw sprite does not necessarily need to have fixed gfx data. Theoretically you can at runtime clear to 0 (make transparent) areas in gfx data where other objects are supposed to be in front of the sprite using masks of this other objects.
It's not just annoying to code, unfortunately it's counterproductive too.

Consider the most simple case which is one player partially occluding the ball. Even for this case you'd first have to fetch the correct mask from the set of animations and zoom levels, then calculate the correct offset in relation to the ball, maybe do some extra stuff like clipping, then, with all that info, create a ball picture out of the original ball-data and the mask.

As you can imagine all this won't improve performance compared to the current BOB solution. Even worse, in reality you can easily have situations where multiple players are partially occluding the ball, so either you have to simplify and lose quality or lose even more performance. In contrast the current pretty trivial solution delivers best quality at low cost already.
No, that good old "mask sprite-date to simulate occlusion" trick really doesn't work here.

Also, the ball is only a very small BOB, so it doesn't really matter that much anyway. If I reliably get the info "ball is not occluded at all" during the quick (wip) occlusion-check then avoiding the BOB in such a case is a nice free extra-gain because I have that ball-sprite support anyway for the reasons explained before. Anything else is not worth it and will have a very hard time beating the simple BOB in terms of performance and qualiy.
Daytona675x is offline  
Old 02 September 2021, 19:29   #50
Havie
Registered User
Havie's Avatar
 
Join Date: Mar 2012
Location: UK
Posts: 1,315
Quote:
Originally Posted by Daytona675x View Post
@aros-sg

Thanks, I'll try to remember that - eventually


It's not just annoying to code, unfortunately it's counterproductive too.

Consider the most simple case which is one player partially occluding the ball. Even for this case you'd first have to fetch the correct mask from the set of animations and zoom levels, then calculate the correct offset in relation to the ball, maybe do some extra stuff like clipping, then, with all that info, create a ball picture out of the original ball-data and the mask.

As you can imagine all this won't improve performance compared to the current BOB solution. Even worse, in reality you can easily have situations where multiple players are partially occluding the ball, so either you have to simplify and lose quality or lose even more performance. In contrast the current pretty trivial solution delivers best quality at low cost already.
No, that good old "mask sprite-date to simulate occlusion" trick really doesn't work here.

Also, the ball is only a very small BOB, so it doesn't really matter that much anyway. If I reliably get the info "ball is not occluded at all" during the quick (wip) occlusion-check then avoiding the BOB in such a case is a nice free extra-gain because I have that ball-sprite support anyway for the reasons explained before. Anything else is not worth it and will have a very hard time beating the simple BOB in terms of performance and qualiy.
Similar issue with Target Renegade. Much as I would love to use sprites, it would be too complicated and time consuming to workout which image was to be put on the screen first and then copy the correct image data into it. Bobs are better, easier and in this case more efficient (in my opinion).
Havie is offline  
Old 02 September 2021, 22:02   #51
Gordon
Settler
Gordon's Avatar
 
Join Date: Feb 2007
Location: Serf City
Posts: 1,656
Nice! Hope you persevere with this
Gordon is offline  
Old 13 September 2021, 13:27   #52
Daytona675x
Registered User

Daytona675x's Avatar
 
Join Date: Apr 2021
Location: Germany
Posts: 20
@Havie
Yes. It may be an option in very restricted scenarios (like some classic 2D game character partially occluded by a static wall or so and if you're using sprites for that character anyway) but in this case (and in most other non trivial situations I can think of) it's no good IMHO.

@Gordon
Thanks, trying

@all
Small video update #18
Daytona675x 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
[WIP] Creeping Me Out! Mixel project.Amiga Game Factory 212 24 September 2021 12:28
WIP: Stormlord Ultron project.Sprites 5 25 January 2016 20:13
M.O.V.I.E. Spriteset - WIP invent project.Sprites 2 11 July 2014 04:58
PC WORLD calls sensible soccer the best soccer games of all times! pbareges Retrogaming General Discussion 11 28 June 2010 09:25
WIP-titles Tim Janssen Nostalgia & memories 11 15 January 2002 03:07

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 15:16.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Page generated in 0.15042 seconds with 15 queries