English Amiga Board


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

 
 
Thread Tools
Old 08 February 2023, 22:42   #1
Rst7
Registered User
 
Join Date: Jan 2022
Location: Kharkiv
Posts: 48
Simple 3D engine tech demo

Hi all!

I want to share a small technical demo for you.

This is a simple 3D engine that I tried to get the most out of the stock configuration of the A1200. Yes, it's inspired by Dread, of course Thanks to KK/Altair for the "move.b ...,(a7)+" idea.

At this moment, 68020+AGA is enough to run the engine.
It is also possible to run on 68020+ECS+FastRAM (for example, A3000), but this has not yet been implemented.

This is how it looks in the emulator:
[ Show youtube player ]

I know that WinUAE does not emulate the 68020 quite correctly and on real hardware the performance is about 20% lower, but fps is still quite reasonable.

There have been many attempts to optimize all the important routines so that they fit into the 68020 instruction cache. Otherwise, nothing would have happened, just a slideshow

But yes, the presence of at least FastRam significantly increases fps.

Something I want to say about the graphics mode. Engine use Hires HAM6 + a very simple single-pass c2p to produce 160*100px 64 colors, unfortunately, without palette, only two bits per R, G, B.

You can see the source code here - https://github.com/Rst7CBSIE/SDDDE

In the attached archive - compiled executable code + the necessary data.

I almost forgot. The 3d model for this demo is taken from the famous Omniscent 4k intro.
But if you have a fastram, you can build from the sources a version with a 3d model from Spyro The Dragon.
Unfortunately, it is too big to fit in a chipram.
Attached Files
File Type: zip target.zip (115.9 KB, 223 views)
Rst7 is offline  
Old 08 February 2023, 22:57   #2
grond
Registered User
 
Join Date: Jun 2015
Location: Germany
Posts: 1,918
Amazing! Well done!
grond is offline  
Old 08 February 2023, 23:14   #3
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,474
Very good job!
ross is offline  
Old 08 February 2023, 23:16   #4
Tigerskunk
Inviyya Dude!
 
Tigerskunk's Avatar
 
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,774
Simply WOW!
Tigerskunk is offline  
Old 08 February 2023, 23:31   #5
Rst7
Registered User
 
Join Date: Jan 2022
Location: Kharkiv
Posts: 48
3D model from Spyro The Dragon

[ Show youtube player ]

Run in WinUAE, A1200 + 4Mb FastRam

So, I have a question - does anyone want to take part in bringing this to something interesting?
Attached Files
File Type: zip target_spyro.zip (898.7 KB, 85 views)
Rst7 is offline  
Old 08 February 2023, 23:41   #6
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,606
Quote:
Originally Posted by Rst7 View Post
I know that WinUAE does not emulate the 68020 quite correctly and on real hardware the performance is about 20% lower, but fps is still quite reasonable.
In video it is 5-6 FPS, so a real 68020 would run it at 4-5 FPS?
TCD is offline  
Old 08 February 2023, 23:47   #7
Rst7
Registered User
 
Join Date: Jan 2022
Location: Kharkiv
Posts: 48
Quote:
Originally Posted by TCD View Post
In video it is 5-6 FPS, so a real 68020 would run it at 4-5 FPS?
This number is not fps. This is render time in frames, so fps is 50Hz/counter, about 10 fps, but this is worst case.

Of course, if you mean the number under the picture on the video.
Rst7 is offline  
Old 08 February 2023, 23:51   #8
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,606
Quote:
Originally Posted by Rst7 View Post
This number is not fps. This is render time in frames, so fps is 50Hz/counter, about 10 fps, but this is worst case.
Ah, okay. Then it is pretty impressive indeed Can you guys make a lo-fi Wipeout game? That would be swell

Quote:
Originally Posted by Rst7 View Post
Of course, if you mean the number under the picture on the video.
Yep, I do
TCD is offline  
Old 09 February 2023, 00:02   #9
remz
Registered User
 
Join Date: May 2022
Location: Canada
Posts: 139
This is incredibly amazing! It gives so much Descent vibes.
Amazing that you obtained such speed on a stock A1200.
remz is offline  
Old 09 February 2023, 00:04   #10
vulture
Registered User
 
Join Date: Oct 2007
Location: Athens , Greece
Posts: 1,842
Congratulations man, very impressive work!
vulture is offline  
Old 09 February 2023, 01:02   #11
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,884
Great tech demo.
Reminds me "Descent"
malko is offline  
Old 09 February 2023, 02:39   #12
Tsak
Pixelglass/Reimagine
 
Tsak's Avatar
 
Join Date: Jun 2012
Location: Athens
Posts: 1,032
Mindblowing!!!

What about objects e.t.c. Biltting, sprites?
Tsak is offline  
Old 09 February 2023, 06:08   #13
nikosidis
Registered User
 
Join Date: Jan 2020
Location: oslo/norway
Posts: 1,607
Whow! This would be very cool to at least see in Amiga scene demos.
There are very few demos for standard A1200 configuration.
nikosidis is offline  
Old 09 February 2023, 09:12   #14
skan
Dream Merchant
 
skan's Avatar
 
Join Date: Sep 2007
Location: Dreamlands
Posts: 530
Quote:
Originally Posted by tcd View Post
ah, okay. Then it is pretty impressive indeed can you guys make a lo-fi wipeout game? That would be swell
This.
skan is offline  
Old 09 February 2023, 09:15   #15
ppill
CON: artist
 
ppill's Avatar
 
Join Date: Feb 2006
Location: Poland
Age: 43
Posts: 1,250
Remarkable stuff.
You're in Kharkiv right now? Stay safe!
ppill is offline  
Old 09 February 2023, 09:29   #16
Reynolds
Alien Breeder
 
Reynolds's Avatar
 
Join Date: Dec 2007
Location: Szigetszentmiklos / Hungary
Age: 46
Posts: 1,096
Amazing. Wish to see it on my Amiga screen boosted with interactions.
Reynolds is offline  
Old 09 February 2023, 10:54   #17
Rst7
Registered User
 
Join Date: Jan 2022
Location: Kharkiv
Posts: 48
Quote:
Originally Posted by Tsak View Post
What about objects e.t.c. Biltting, sprites?
I'm still thinking about the best way to implement this.

Much depends on how the engine will be used. If 6DOF is not going to be used, then the best solution is to draw scaled sprites instead of real 3D objects (as in Doom, for example).

Also, you may have noticed that far surfaces are rendered without mapping. This is done for speed, but there is room for some optimization. Perhaps after this optimization, the use of 3d objects will not be so expensive.

In any case, a good result can only be obtained by finding compromises between the design of models and the capabilities of this extremely low-end engine.
Rst7 is offline  
Old 09 February 2023, 11:37   #18
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,165
Very impressive! Does it use some affine texturing tricks for polygons closest to the player? I see some wobbling.
Karlos is online now  
Old 09 February 2023, 11:50   #19
Rst7
Registered User
 
Join Date: Jan 2022
Location: Kharkiv
Posts: 48
Quote:
Originally Posted by Karlos View Post
Does it use some affine texturing tricks for polygons closest to the player? I see some wobbling.
Yes. All polygons are rendered with affine texture mapping, but nearby polygons are tessellated to a visible size of about 20*20 pixels. This is a compromise for speed. Tessellation + affine texturing is faster than classic render with U/Z, V/Z interpolation along edges and N*1px slices, but still with reasonable results.

For example:
result.png - visible image
tesselated.png - what really happened with polygons
Attached Thumbnails
Click image for larger version

Name:	result.PNG
Views:	352
Size:	147.1 KB
ID:	78070   Click image for larger version

Name:	tesselated.PNG
Views:	350
Size:	116.2 KB
ID:	78071  
Rst7 is offline  
Old 09 February 2023, 12:05   #20
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,165
That's brilliant.
Karlos is online now  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Tech demo of my game remz Coders. Asm / Hardware 199 18 February 2024 03:16
Menace - HD Tech Demo - Vampire Remake invent Amiga scene 45 01 August 2022 18:22
Writing a simple physics engine Ernst Blofeld Coders. General 1 02 February 2021 18:44
Simple AGA first person engine [Prototype only] earok project.Amiga Game Factory 8 01 May 2017 22: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 03:15.

Top

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