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,456
PolyNova3D - Software rendering a go-go

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
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.
Attached Files
File Type: lha PolyNova3D.lha (740.4 KB, 20 views)

Last edited by NovaCoder; 15 August 2024 at 00:13.
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: 458
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,456
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: 748
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,456
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 Today, 03:23   #9
NovaCoder
Registered User
 
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,456
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.
Attached Files
File Type: lha PolyNova3D_2.lha (742.2 KB, 5 views)
NovaCoder 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 08:20.

Top

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