English Amiga Board


Go Back   English Amiga Board > Other Projects > project.Amiga Game Factory

 
 
Thread Tools
Old 09 August 2024, 13:49   #1
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,460
PolyNova3D - Software rendering a go-go

Not a game, more a tech demo...

Anyway, a very long time ago (30 years), I was into 3D coding and even created my own 3D engines based on a DOS 3D engine called AST 3D

I actually started off building simple 3D Dungeon Master style engines using QBasic before graduating to C++ and DirectX.

Some of my later engines were even used to produce game demos which is pretty cool

Anyway, I was very bored recently and thought I might try and port an older version of my engine (PolyNova3D) over to Amiga 68k. I believe the newer versions of polyNova are too heavy for software rendering.

I've still got some of my old engine's source code on floppy discs but it was all over the place and its taken me a long time to get something basically working on 68k.

I was having trouble rendering the triangles properly as my old engine used DirectX. This led me to looking into 68k OpenGL and Mesa. I then decided to port a newer version of Storm Mesa over to 68k (pure software, no hardware acceleration) and then add Mesa OpenGL to SDL.

Read all about it here -> Mesa OpenGL

I've also spent ages trying to get the collision detection working as I've forgotten a lot of this 3D stuff and can't read my own code

Anyway, I've attached the first demo worth releasing, it's still very very alpha

Keys are:

w = forward
s = backwards
cursor left/right to rotate
cursor up/down to look up and down
F1,F2,F3,F4 toggle the ceiling lights
escape to quit

It will be very slow (needs optimizing), only 16bit fullscreen 320*240 mode currently supported. Only PiStorm/WinUAE will be fast enough to run this engine.

My basic todo list:
  • Add the real-time lighting and light switches
  • optimize
  • use Opengl for the Z buffer
  • improve the collision detection
  • Add mouse support for the player

The scene is loaded from a level file, you can open it in a txt editor to see how it works.

My plan is to release a fully working demo (with real-time lighting) to Aminet and github and then maybe I'll then use the engine to create a simple space shooter that I've been thinking about recently.

Last edited by NovaCoder; 20 August 2024 at 07:56.
NovaCoder is offline  
Old 09 August 2024, 14:53   #2
pixie
Registered User
 
pixie's Avatar
 
Join Date: May 2020
Location: Figueira da Foz
Posts: 460
That's too much pink for a man to handle! xD
pixie is offline  
Old 09 August 2024, 15:37   #3
klx300r
Registered User
 
klx300r's Avatar
 
Join Date: Oct 2007
Location: ManCave, Canada
Posts: 1,676
Thumbs up

Thanks for this NovaCoder Looking forward to testing this out when I'm back in front of my Amiga
klx300r is offline  
Old 10 August 2024, 00:38   #4
Cherno
Registered User
 
Cherno's Avatar
 
Join Date: Dec 2011
Location: Dortmund, Germany
Posts: 1,059
Screenshots or a video would be nice
Cherno is offline  
Old 10 August 2024, 03:13   #5
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,460
Quote:
Originally Posted by Cherno View Post
Screenshots or a video would be nice
Yep good idea, I'll do some when it's worth looking at as there isn't much to see yet
NovaCoder is offline  
Old 10 August 2024, 11:13   #6
fxgogo
Also known as GarethQ
 
fxgogo's Avatar
 
Join Date: May 2019
Location: Twickenham / U.K.
Posts: 750
This sounds exciting. I would love to see a present day supported 3D engine for our lovely machines.
fxgogo is offline  
Old 11 August 2024, 23:25   #7
klx300r
Registered User
 
klx300r's Avatar
 
Join Date: Oct 2007
Location: ManCave, Canada
Posts: 1,676
Thumbs up

working nice and smooth on my PiStorm32-3A+
klx300r is offline  
Old 12 August 2024, 00:22   #8
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,460
Quote:
Originally Posted by klx300r View Post
working nice and smooth on my PiStorm32-3A+
Cool

Like I said, it's very early days.

I managed to get the OpenGL z-buffer working yesterday which is probably better than using my old software implementation (not that this particular scene even needs it due to the geometry layout but anyway, still nice to have).

My next release will have the lighting enabled, hopefully won't take me too long to get my old code working.
NovaCoder is offline  
Old 18 August 2024, 03:23   #9
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,460
I've managed to implement 2 of the 3 light sources (ambient and direct), next up will be the point light sources (the pretty ones).

It has been much harder than I expect to get this working, I've forgotten so much of this stuff

Anyway, in the attached scene every object surface color is pure white so all of the color comes from the lighting used. The global ambient light is set to half red and then a direct light set to green (which is pointing straight down). If you want to play around with the scene file yourself, be warned that there isn't currently any error checking so bad values will probably just crash it.

Collision detection has been simplified in this release because I'm trying to get the lighting working first.

Last edited by NovaCoder; 19 August 2024 at 03:40.
NovaCoder is offline  
Old 18 August 2024, 10:07   #10
tomcat666
Retro Freak
 
tomcat666's Avatar
 
Join Date: Nov 2001
Location: Slovenia
Age: 51
Posts: 1,708
Quote:
Originally Posted by NovaCoder View Post
Anyway, in the attached scene every object surface color is pure white so all of the color comes from the lighting used.
Here it is running on pistorm32 2.2Ghz:

[ Show youtube player ]
tomcat666 is offline  
Old 18 August 2024, 15:01   #11
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,460
Quote:
Originally Posted by tomcat666 View Post
Here it is running on pistorm32 2.2Ghz:

[ Show youtube player ]
Cool, thanx for doing a video


I've just increased the players max speed, looks a bit faster now.

Update, got the point lights working (attached)

Function keys to toggle (F1 to F4)

Only stuff remaining before I release to Aminet/Github is to optimize it and tidy up the code. It's pretty much feature complete I think.
I will probably add tooltypes to change the screen resolution and I would like to add mouse support for the player's movement if I get a chance.

There is some color banding of course, this is because it's only running in 16bit color depth (my old Windows version used 32bit depth with DirectX).
Attached Thumbnails
Click image for larger version

Name:	polynova_lights.jpg
Views:	88
Size:	26.7 KB
ID:	82950  

Last edited by NovaCoder; 23 August 2024 at 13:25.
NovaCoder is offline  
Old 23 August 2024, 13:26   #12
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,460
Update: Now getting some speed out of this thing

I'll try an upload it to Aminet next week for people to pay with.
Attached Files
File Type: lha PolyNova3D_beta2.lha (746.5 KB, 10 views)
NovaCoder is offline  
Old Yesterday, 10:23   #13
riker77
Registered User
 
Join Date: Oct 2012
Location: Germany
Posts: 25
Quote:
Originally Posted by NovaCoder View Post
Update: Now getting some speed out of this thing

I'll try an upload it to Aminet next week for people to pay with.
Did a short video of PolyNova beta2 running on an A1200 with PiStorm32lite on a CM4 with 2.2GHz.
A weird output resolution was chosen, or my monitor did not know how to deal with it. Looks like a vertical video.
https://magentacloud.de/s/F4xTNyRBgw3jjSM
riker77 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
Unstable bob rendering damex Coders. System 2 22 August 2023 10:57
Batch Rendering with the Blitter? Samurai_Crow Coders. Asm / Hardware 2 11 March 2019 20:49
octamed wav rendering potato request.Music 5 25 November 2014 16:32
rendering under wb 1.3 _ThEcRoW request.Apps 2 02 October 2005 17:23
Slow rendering of windows! please help! devilstar support.WinUAE 3 14 June 2003 10:13

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

Top

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