English Amiga Board Amiga Lore


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 24 November 2006, 15:22   #1
Steve
Senior Member
Steve's Avatar
 
Join Date: Jul 2001
Location: Castelnovo ne Monti/Italy
Age: 36
Posts: 1,842
Question Amiga 3D game programming

Hi

I may have a go at programming a 3D Amiga game in the future once I've completed a few 3D demos. What I want to know is how well the Amiga can process filled and filled/textured polygons. For example how many filled polys can the standard A500 handle compared to a standard A1200. Anyone know?
Steve is offline  
AdSense AdSense  
Old 24 November 2006, 23:07   #2
musashi5150
move.w #$4489,$dff07e
musashi5150's Avatar
 
Join Date: Sep 2005
Location: Norfolk, UK
Age: 33
Posts: 2,261
Filled polys are ok - but textured ones? Unless you have a heavy-accelerated Amiga or want to use a Coppertrick (Alien Breed 3D) then you should be able to make a cup to tea between frames

If you are using the Blitter to draw filled polys, there won't be a world of difference between A1200 and A500. The A1200 will do the math faster and maybe render slightly quicker due to the enhanced bitplane DMA fetching - but actual polygon rendering speed is the same as A500 as the blitter isn't ANY faster.

Having some fastram in the machine will help a lot for sure - as it will keep your code out of chipmem
musashi5150 is offline  
Old 25 November 2006, 14:55   #3
Photon
Moderator
Photon's Avatar
 
Join Date: Nov 2004
Location: Hult / Sweden
Age: 100
Posts: 4,038
Yeah, if you're using an accelerator with Fast RAM the CPU is faster. The blitter just trundles along at its base MHz. Check out the end part of Arte by Sanity for a 3D routine which makes use of accel.

Forget about textures I say. I doubt 20 textured polys of like 40x40 pixels gives you 1 fps on an A500. Few programmers have succeeded in real texture mapping at all, one exception might be Virtual Intelligence by Horizon. It doesn't seem to use perspective though, i.e. isometric 3D, might be wrong (hard to see).

I think TEC/Cryptoburners made a nice shaded filled poly routine, I'm sure the source is available somewhere. Never did get any of the demos with those routines to work on an OCS A500 though. Probably a small bug like relying on some content of a blitter register that isn't there in OCS.

The Amiga chipset has its limits, but it also allows for creative possibilities. So have a think how you could trick the hardware to save chunks of time.
Photon is offline  
Old 25 November 2006, 19:07   #4
Doc Mindie
In deep Trouble
 
Join Date: Sep 2004
Location: Manchester, Made in Norway
Age: 42
Posts: 818
While we're wandering down the limited Amiga Hardware line.....

In todays world, you just throw a faster processor into the system..... while on the amiga, you use programming tricks to recieve a good result. IMO, you make a better coder when you have to use tricks and circumventions, than just throwing some more horsepower at your code to be able to run it at adequate speeds.

YAY for tricky coding
Doc Mindie is offline  
Old 26 November 2006, 20:18   #5
musashi5150
move.w #$4489,$dff07e
musashi5150's Avatar
 
Join Date: Sep 2005
Location: Norfolk, UK
Age: 33
Posts: 2,261
Quote:
Originally Posted by Doc Mindie
In todays world, you just throw a faster processor into the system..... while on the amiga, you use programming tricks to recieve a good result.
Indeed Ghz machines today take the brains out of coding. Get a machine running only a few Mhz with limited RAM and we can see who the good coders are That's one of things I love most on Amiga... clever coding tricks
musashi5150 is offline  
Old 27 November 2006, 00:43   #6
Galahad/FLT
Going nowhere

Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 41
Posts: 5,584
Quote:
Originally Posted by musashi5150
Indeed Ghz machines today take the brains out of coding. Get a machine running only a few Mhz with limited RAM and we can see who the good coders are That's one of things I love most on Amiga... clever coding tricks
One of the reasons why so many Amiga demo coders were snapped up to write on SNES and Megadrive
Galahad/FLT is offline  
Old 27 November 2006, 01:14   #7
Frog
Junior Member

Frog's Avatar
 
Join Date: Aug 2001
Location: France
Posts: 1,185
if you want to see some mapping on A500 :
Blitter Disaster / Storm http://www.pouet.net/prod.php?which=14569
Cube'o'Matic / SPREADPOINT http://pouet.net/prod.php?which=5849

or BlitterMiracle / BRS http://pouet.net/prod.php?which=5853

BTW why not make "Stencil vector" like in Mental Hangover ? with some good maps it can look pretty nice.

@Proton : didn't know Virtual Intelligence / Horizon , i'll watch it http://pouet.net/prod.php?which=19102
Frog is offline  
Old 27 November 2006, 02:15   #8
Photon
Moderator
Photon's Avatar
 
Join Date: Nov 2004
Location: Hult / Sweden
Age: 100
Posts: 4,038
Photon! I'm a cool zippy light particle, not a measly nucleus pea.

Well it's not really texture mapping as we know it if it's a special case that can't be put on a poly of your choosing. It seems the Brainstorm one and the Storm one are non-perspective blitter routines, too. I liked the Spreadpoint one, they seemed to do it right, and they had shading, too. Horizon put that on a bunch of objects, but I'm not sure I saw a texmapped poly that was a tri, only quads?

Stencil vectors look good if you have many small polys, i.e. don't get close to objects. It would probably look not so good in a Dungeon Master type game
Photon is offline  
Old 27 November 2006, 10:14   #9
P-J
EAB veteran... Honest!
P-J's Avatar
 
Join Date: Mar 2001
Location: Warwickshire, England
Age: 34
Posts: 1,144
Send a message via MSN to P-J
Quote:
Originally Posted by musashi5150
Indeed Ghz machines today take the brains out of coding. Get a machine running only a few Mhz with limited RAM and we can see who the good coders are That's one of things I love most on Amiga... clever coding tricks
...and limit your target audience to a handful. No thanks.
P-J is offline  
Old 27 November 2006, 11:20   #10
Steve
Senior Member
Steve's Avatar
 
Join Date: Jul 2001
Location: Castelnovo ne Monti/Italy
Age: 36
Posts: 1,842
Hey great comments.

I was more thinking along the lines of writing a 3D game. Maybe an updated version of Castle Master or Legends of Valour for the AGA Amiga's. That would be pretty sweet. The Amiga is certainly very capable of texture mapping. You only have to look at games like Gloom Deluxe and the amazing looking Breathless. Even Legends of Valour had a bit of texture mapping and that was an Amiga 500 game. I'll probably start with a 2D game though.
Steve is offline  
Old 27 November 2006, 15:53   #11
Photon
Moderator
Photon's Avatar
 
Join Date: Nov 2004
Location: Hult / Sweden
Age: 100
Posts: 4,038
Hey Steve, tried them and well... remembered I played LoV back then. Looks good but it's a 100x50 pxl screen and 4 fps? If that's what you want but speeded up for AGA, sure. But texture mapping at least resembling what we're used to in games now or maybe 6 years ago is tricky on an Amiga. I will never say anything is impossible on Amiga. Never. Maybe a cool project for the lucky A1260T owners out there?

Breathless was pretty much the same as LoV, twice the screen size but twice as big pixels Better FPS though, but it's AGA of course. Gloom Deluxe - tiny screen again, good FPS but if you ran fullscreen you got gigantic pixels :'( Only tried the demos though, maybe full version is better?

About your 2D game: Yeah, if you're not an Amiga Ace texture mapping is not the easiest start Will be interesting to see how your programming comes along!
Photon is offline  
Old 27 November 2006, 15:56   #12
Photon
Moderator
Photon's Avatar
 
Join Date: Nov 2004
Location: Hult / Sweden
Age: 100
Posts: 4,038
Quote:
Originally Posted by P-J
...and limit your target audience to a handful. No thanks.
Hey P-J, what do you mean by that???
Photon is offline  
Old 27 November 2006, 16:06   #13
Steve
Senior Member
Steve's Avatar
 
Join Date: Jul 2001
Location: Castelnovo ne Monti/Italy
Age: 36
Posts: 1,842
Quote:
Originally Posted by Photon
Hey Steve, tried them and well... remembered I played LoV back then. Looks good but it's a 100x50 pxl screen and 4 fps? If that's what you want but speeded up for AGA, sure. But texture mapping at least resembling what we're used to in games now or maybe 6 years ago is tricky on an Amiga. I will never say anything is impossible on Amiga. Never. Maybe a cool project for the lucky A1260T owners out there?
Basically I'd like to do a full screen version of a 3D classic like Castle Master or LoV. I wouldn't want them to run in a tiny little screen like the original versions though. An upgraded A1200 should easily be able to handle a fullscreen AGA version of LoV.

Quote:
Breathless was pretty much the same as LoV, twice the screen size but twice as big pixels Better FPS though, but it's AGA of course. Gloom Deluxe - tiny screen again, good FPS but if you ran fullscreen you got gigantic pixels :'( Only tried the demos though, maybe full version is better?
No, no, no! You must have tried the games in their default 2x2 'chunky' pixel mode. You can change the display settings in both games so they render in 1x1 pixel mode and look very nice indeed. The pixels are more noticable nowadays (in 3D Amiga games) because modern games use texture filtering which the Amiga can't do.

Quote:
About your 2D game: Yeah, if you're not an Amiga Ace texture mapping is not the easiest start Will be interesting to see how your programming comes along!
Well I write 3D games for a living so I reckon I've got half a chance. lol. I'm really still learning about the inner workings of the Amiga though. I might have a go at making a version of Gloom Deluxe for the DS. I think the DS would be perfect for a game like that. What do you guys think?

Last edited by Steve; 27 November 2006 at 16:11.
Steve is offline  
Old 27 November 2006, 21:08   #14
P-J
EAB veteran... Honest!
P-J's Avatar
 
Join Date: Mar 2001
Location: Warwickshire, England
Age: 34
Posts: 1,144
Send a message via MSN to P-J
Quote:
Originally Posted by Photon
Hey P-J, what do you mean by that???
The smiley face says it all
P-J is offline  
Old 27 November 2006, 23:17   #15
Frog
Junior Member

Frog's Avatar
 
Join Date: Aug 2001
Location: France
Posts: 1,185
Quote:
Originally Posted by Photon
Photon! I'm a cool zippy light particle, not a measly nucleus pea.
oops sorry Photon...
Frog is offline  
Old 28 November 2006, 03:47   #16
Kalms
Registered User
 
Join Date: Nov 2006
Location: Stockholm, Sweden
Posts: 129
Just a word or two regarding performance...

The total number of pixels displayed by a copperscreen display is limited by the speed of the copper itself.
The copper can do approx. 57 MOVEs per scanline in normal 15kHz PAL/NTSC resolutions.

This means that if you want to have chunky-pixels that are 2 scanlines high, you can have up to 114 chunky-pixels horizontally.
If you want to have chunky-pixels that are 3 scanlines high, you can have up to 128 chunky-pixels horizontally. (You'll stop at 128 since you're double-buffering the palette.)
This means that the best resolution you'll get for a full-screen copperscreen is 2.5x3 pixelsize.

If you have a copperscreen at a high resolution, the copper will consume a lot of your chipmem bandwidth too. If you target 68030+ then you are probably better off with a C2P based solution.

Chipmem write bandwidth: ~7MB/s
Fastmem read bandwidth, Blizzard 1230: ~30MB/s
Fastmem read bandwidth, Blizzard 1260: ~35MB/s

You'll want to do all rendering to a temporary buffer in fastmem, and once that is done you c2p convert the result into chipmem. (You can do some improvements on the scheme, but that's the gist of it.)

Let's presume that you want to render 320x200 chunkypixels, at 1x1 pixelsize.

320x200x8bpl of graphics data = 64000 bytes of data.
Copying 64kB of data fast->chip takes roughly 15ms (i.e. 75% of a frame).
35MB/s read speed for fastmem translates into 700kB/frame. Considering that you will be reading & writing 64kB just for the *screen writes* (assumiung no overdraw), you are going to consume considerably more bandwidth than that on datacache misses for the texture accesses.

That's why you haven't seen a lot of really smooth 1x1 full-on 3d graphics in games on the miggy. [In demos it's easier, since there you can tweak the camera and the environment until the performance target has been achieved.]
Kalms is offline  
Old 28 November 2006, 11:01   #17
Steve
Senior Member
Steve's Avatar
 
Join Date: Jul 2001
Location: Castelnovo ne Monti/Italy
Age: 36
Posts: 1,842
Interestig stuff Kalms. Thats certainly worth reading a few times (till it has sunk in - still early in the morning).

I'm now wondering how many of the textured Amiga games are really true 3D environments. I think Alien Breed 3D II is but I'm not so sure about Gloom Deluxe and Breathless and all the other 'Doom clones'. Are these games using the same type of rendering technique as Wolfenstein 3D and Doom by basically cheating a 3D display?

How can you tell if a game is rendering a true 3D environment (like Quake does)?

What do you think is the difference in CPU expense between true 3D and fake 3D games?
Steve is offline  
Old 28 November 2006, 17:07   #18
DDNI
Targ Explorer

DDNI's Avatar
 
Join Date: Mar 2006
Location: Northern Ireland
Age: 40
Posts: 4,926
Send a message via ICQ to DDNI Send a message via MSN to DDNI
Steve, if its slooooooooow its full 3d, if it jerks rapidly its pseudo 3D...
DDNI is offline  
Old 28 November 2006, 17:22   #19
musashi5150
move.w #$4489,$dff07e
musashi5150's Avatar
 
Join Date: Sep 2005
Location: Norfolk, UK
Age: 33
Posts: 2,261
Quote:
Originally Posted by DDNI
Steve, if its slooooooooow its full 3d, if it jerks rapidly its pseudo 3D...
Nicely explained
musashi5150 is offline  
Old 29 November 2006, 01:14   #20
redblade
Zone Friend

redblade's Avatar
 
Join Date: Mar 2004
Location: Norge
Age: 30
Posts: 965
hmm code a HAM update of FA-18 Interceptor

does any one know what the Flight simulator was that Jay Miner saw?
redblade is offline  
AdSense AdSense  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming a Simple A500-Compatible Game (Beginner) - Any Advice? Oktai-Wanda Coders. General 11 28 July 2013 00:26
Game Programming for Teens, 3rd Edition Book Amiga Forever MarketPlace 3 28 February 2011 20:19
Andre Lamothe's Tricks of the 3d game programming gurus Anding Coders. General 1 18 December 2010 10:58
The wrong attitude over bedroom programming and legendary game developers! manicx Retrogaming General Discussion 51 10 January 2004 14:09
GBA Game Programming Project CHiEF Retrogaming General Discussion 6 15 November 2002 00:15

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 22:38.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Page generated in 0.22504 seconds with 11 queries