English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 23 July 2018, 12:00   #41
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Remember Liberation: Captive 2 on CD32 and A1200? It used a kind of fake texture mapping where it had pre-rendered textures at various angles and sizes and then just blitted them into place with a mask.

Looked a bit weird but kinda worked.
zero is offline  
Old 23 July 2018, 14:28   #42
ReadOnlyCat
Code Kitten
 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
Quote:
Originally Posted by ReadOnlyCat View Post
The proof-in-the-pudding being the "Walls" game (http://aminet.net/package/game/demo/walls17) which does exactly that and even adds some shading instead of purely being monochromatic: it runs at max FPS without trouble.
I actually am wrong there, the readme file for Walls states that it uses a raycasting engine, likely because it uses dithering to shade walls as a function of distance, something which can be done on a column basis.

This said, the speed comparison is still valid since Walls runs at max FPS already, so a solid rendering of the walls would be even faster.

Quote:
Originally Posted by zero View Post
Remember Liberation: Captive 2 on CD32 and A1200? It used a kind of fake texture mapping where it had pre-rendered textures at various angles and sizes and then just blitted them into place with a mask.

Looked a bit weird but kinda worked.
Yes, but outside of the scope of this thread, which is about implement proper vertical/horizontal span texture mapping.
ReadOnlyCat is offline  
Old 24 July 2018, 11:02   #43
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Is the source for Walls anywhere? I'd like to see how it is implemented.
zero is offline  
Old 10 August 2018, 17:38   #44
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Quote:
Originally Posted by Dunny View Post
In a raycasting engine (like Wolfenstein, similar to Doom) all the walls are perpendicular to the floor and there are no slopes to walk up or down. We can use this to our advantage - every texture strip we draw will be vertical.
Dunny, did you ever try anything on the Amiga in AMOS?

I've got 3 weeks of no work ahead of me and I'm thinking of putting some time in to a wolfenstein like game on the Amiga because no one else seems to want to do this.

I'm playing about in AMOS today just because it gives quick command access to the blitter etc. and easy FPS counter to see how fast it might run, then converting over what runs best to ASM.

Pretty much planning to precalculate everything I can, even wall heights, use the sprites for the gun, 4 colours for walls etc.

Might start a thread if there is any interest.
rothers is offline  
Old 11 August 2018, 02:11   #45
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Oh dear... I see the issue with doing a wolfenstein clone. Managing 4-6fps with most stuff precalculated... still though plenty of tricks to try.
rothers is offline  
Old 11 August 2018, 12:00   #46
Cobe
Registered User
 
Join Date: Jan 2014
Location: Belgrade / Serbia
Age: 41
Posts: 999
Quote:
Originally Posted by rothers View Post
Oh dear... I see the issue with doing a wolfenstein clone. Managing 4-6fps with most stuff precalculated... still though plenty of tricks to try.
On A500? Why not target A1200?
Cobe is offline  
Old 11 August 2018, 17:51   #47
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 1,978
@Rothers: Not on AMOS, no - I moved away from AMOS around the time the Doom clones came out, and was on the PC by then.

I have since however made a Doom clone in BASIC - but it's my own BASIC which has access to some very tasty graphical commands but is inspired (in part) by things AMOS can do:

[ Show youtube player ]

And it ran pretty well, but this is a 2.6GHz PC running an interpreted BASIC (no compiler).

I don't doubt that AMOS could do it, but it would require an accelerated Amiga or a very small window onto the game world.
Dunny is online now  
Old 11 August 2018, 17:59   #48
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Quote:
Originally Posted by Cobe View Post
On A500? Why not target A1200?
Because I want Wolfenstein on my A500. The Megadrive has it and so does the ST!
rothers is offline  
Old 11 August 2018, 18:01   #49
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Quote:
Originally Posted by Dunny View Post
I don't doubt that AMOS could do it, but it would require an accelerated Amiga or a very small window onto the game world.
Yeah, it's just an easy way to test techniques and ideas before converting to ASM. I'm precalculating the wall heights (in 4 colours so not too much memory actually), precalculating the ray scan and you can walk about in a 160*120 window and it's ok... it's slow but it's not bad for 1 days work.
rothers is offline  
Old 12 August 2018, 17:49   #50
pipper
Registered User
 
Join Date: Jul 2017
Location: San Jose
Posts: 652
You should give this thread a thorough read before you dive headfirst into this adventure:

Optimizing Wolf3D-style rendering
https://r.tapatalk.com/shareLink?sha...5&share_type=t
pipper is offline  
Old 12 August 2018, 21:34   #51
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Quote:
Originally Posted by pipper View Post
You should give this thread a thorough read before you dive headfirst into this adventure:

Optimizing Wolf3D-style rendering
https://r.tapatalk.com/shareLink?sha...5&share_type=t
I know about it and I've spoken to Britelite to see what he's planning with his engine.

I kind of want to make my own Wolf3d game just for fun rather than a proof of concept.

Although frustratingly FS-UAE crashed today and took all my work with it and the saves I'd made to the ADF seem to have been broken somehow, just keep getting 'file not found' when trying to load them.

It's ok though I was planning to re-write it now I've got a bit more performance knowledge. I might get out my real A500 and use that.
rothers is offline  
Old 12 August 2018, 21:43   #52
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
Which programming language will you use this time? Also, are you going to target Kickstart versions prior to version 2?
Samurai_Crow is offline  
Old 13 August 2018, 10:27   #53
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Rotate your monitor 90 degrees and use pre-scaled sprites to do wall spans.
zero is offline  
Old 13 August 2018, 15:27   #54
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Quote:
Originally Posted by Samurai_Crow View Post
Which programming language will you use this time? Also, are you going to target Kickstart versions prior to version 2?
Yeah It will run on any A500. I'll probably just jump straight in to ASM now I've got some idea of what I need to do.

@zero I am going to experiment to see if I can use the HW sprites somehow to speed things up, maybe throw 33% of the rendering at them if they offer any speed advantage. I'm doing the walls probably in 4 colours for speed anyway.
rothers is offline  
Old 13 August 2018, 16:10   #55
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Quote:
Originally Posted by rothers View Post
@zero I am going to experiment to see if I can use the HW sprites somehow to speed things up, maybe throw 33% of the rendering at them if they offer any speed advantage. I'm doing the walls probably in 4 colours for speed anyway.
If you designed the textures so that they could be drawn with lines and blitter vertical filled it might work.

You can do a blitter vertical fill in well under 1 frame. I can't remember exactly how long it took now but there was time left over to calculate and draw a nice logo with distortion.
zero is offline  
Old 13 August 2018, 18:10   #56
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
Can anyone give some insight on mirroring the lower half of the display and if this would be viable on the Amiga to essentially be 'free'? Will save me spending a while trying it.
rothers is offline  
Old 13 August 2018, 19:29   #57
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
Mirroring uses the display modulo register to skip backwards in chip RAM allowing pixels from the top half to be displayed again upside down on the bottom half.

You can't use non-sprite DMA to display objects in this mode because everything you blit to the top appears symmetrically on the bottom. Probably not worth the effort in an actual game.
Samurai_Crow is offline  
Old 13 August 2018, 21:13   #58
coder76
Registered User
 
Join Date: Dec 2016
Location: Finland
Posts: 168
Quote:
Originally Posted by Samurai_Crow View Post
Mirroring uses the display modulo register to skip backwards in chip RAM allowing pixels from the top half to be displayed again upside down on the bottom half.

You can't use non-sprite DMA to display objects in this mode because everything you blit to the top appears symmetrically on the bottom. Probably not worth the effort in an actual game.

Not necessarily. Stardust used this mirroring technique in the tunnel sequences with dualplayfield, so the objects were in a different playfield. But then you're limited to 3+3 bitplanes, which may not be enough in terms of colors, and 6 bitplanes would also slow down rendering.
coder76 is offline  
Old 13 August 2018, 22:55   #59
rothers
Registered User
 
Join Date: Apr 2018
Location: UK
Posts: 487
I am starting to consider dual playfield and screen mirroring after looking at stardust.

I don't mind too much about low colour if it's fast.

Being able to mirror for free should speed things up a huge amount if I can then use the other playfield for objects with a different palette.
rothers is offline  
Old 13 August 2018, 23:00   #60
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
A variation of the 'modulo trick' was used in the Sega Mega Drive version of Toy Story for the 'Wolvenstein 3D' sections. See here: [ Show youtube player ]
roondar 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
Tools and techniques for replacing graphics? earok project.Sprites 15 11 August 2014 23:58
Doom port where you can switch off floor and ceiling rendering vroom6sri support.Games 5 11 February 2014 09:38
Possible to port Alien Breed 3D maps to Doom? (I know AB3D has features Doom can't) dex Coders. General 2 21 January 2012 22:06
Chronology of Amiga Graphics Techniques DDNI Amiga scene 0 04 February 2008 20:50

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 00:24.

Top

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