Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Running Games and Apps.

Star Wars 3D Gamepage  1 2 3 

Thierry Atheist

Posts 644
28 Nov 2017 12:26


Gunnar von Boehn wrote:
- The VAMPIRE is excellent for doing 2D games.

- The Vampire also offers a lot more 3D power than a PLAYSTATION one did had.


WOW... That's what I want to hear.....

Castlevania: Symphony of the Night is STILL a HIGHLY REGARDED game!!!!

And an equivalent SHOULD be possible! How COOOOL is THAT?!?!!

(It's ALSO a so VERY VERY befitting title to "resurrect" (dig up?).... 4 .... the v/Ampire(ss)!!!!!!!)


Markus Horbach

Posts 35
28 Nov 2017 18:37


"the expectations need be realistic"
unrealistic dreams lead to disappointment. (ASIC, ARRIA, ...)

"The VAMPIRE is excellent for doing 2D games."
I totally agree. With SAGA, 128MB RAM, high memory bandwidth and a DMA Controller, you can create 2D games with good visuals.

Lets do the 2D math:
1280x720x16bitcolourx60Hz = 105 MB/s
You need to read and write every pixel, so 210 MB are needed.
Gunnar showed 660MB/s in Benchmarks, no bottleneck and a lot of room for sound, game logic, etc. Enough room for pixel overdraw and fancy effects.
 
"a lot more 3D power than a PLAYSTATION one did had."
CPU wise i agree, the Vampire will run circles around the PS1 CPU.
3D graphics, i doubt if the Vampire could match up with the PS1.
The PS1 has a discrete texture rasterizer. not very accurate but fast. I doubt that the Vampire can catch up the pixel throughput. Or does SAGA include something similar (in future)?
The 586er PC only could catch up the PS1 with a voodoo1 card.

Lets do the 3D math:
800x480x60fps = 23 Mio Pixel
If you only use 4 clock cycles per pixel, you need 92 MHz.
4 clock cycles for vector calculations, Z-sort, texture mapping, illumination, even if only 1/4rd of the screen is only covered with polygons, you have only 16 clock cycles, @30fps 32 clock cycles.
Tough target to achieve or did i make a mistake in my calculations ?

The math to rotate only one vector point is like this:
angle wx,wy,wz
vector(xo.x,xo.y,xo.z)

double a = Math.toRadians(wx);
double b = Math.toRadians(wy);
double c = Math.toRadians(wz);

double x = COS(b)*(xo.x*COS(c) - xo.y*SIN(c)) + xo.z*SIN(b);
double y = COS(a)*(xo.y*COS(c) + xo.x*SIN(c)) - SIN(a)*(xo.z*COS(b) + SIN(b)*(xo.y*SIN(c) - xo.x*COS(c)));
double z = COS(a)*(xo.z*COS(b) + SIN(b)*(xo.y*SIN(c) - xo.x*COS(c))) + SIN(a)*(xo.y*COS(c) + xo.x*SIN(c));

How many clock cycles would a hand tuned 68080 ASM code take for his ? You may use float instead of double.
You need 3 vectors to describe one triangle, group 4 triangles out of 4 vectors to form a solid body, sort the triangles to avoid pixel overdraw, fill the triangles with a colour.
Look at Quake1, a masterpiece on the Vampire. Look at the resolution and fps, compare to the screenshot at the beginning of this thread.

I prefer a high-res 194x, R-Type, Turrican or Gianna Sisters optimized for the Vampire.


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
28 Nov 2017 18:54


Markus Horbach wrote:

  "a lot more 3D power than a PLAYSTATION one did had."
  CPU wise i agree, the Vampire will run circles around the PS1 CPU.
  3D graphics, i doubt if the Vampire could match up with the PS1.
  The PS1 has a discrete texture rasterizer. not very accurate but fast. I doubt that the Vampire can catch up the pixel throughput.
  ...
  Lets do the 3D math:
  800x480x60fps = 23 Mio Pixel
 
  Look at Quake1, a masterpiece on the Vampire
 

Actually PS1 games do not run in 800x480x60fps
 
PS1 games are very comparable to Quake1/Quake2 running in 320 lowres.
 
So if a machine can run Quake 1/2 fine - then it in the "power-range" of other PS1 games.


Markus Horbach

Posts 35
28 Nov 2017 19:20


your initial screenshot is not in 320x240.

320x240@25fps = 1,9 Mio Pixels
with 92 MHz - 48 cycles per pixel

I still prefer 2D games in high res.
old 3D graphics do not age very well,
old 2D games are still good looking.


Niclas A
(Apollo Team Member)
Posts 219
28 Nov 2017 20:49


Vampire beats PS1.
PS1 is the console that has aged the least graceful.

I wasn't even that impressed with it when it came out.
The low res and huge polygons makes everything look bad.

The few 2D games looked the best. It wasnt until PS2 / Xbox that 3D started to look ok on consoles... IMHO.


Nixus Minimax

Posts 416
28 Nov 2017 20:51


The sines and cosines for the vector operations are constants for one frame which is why only a few multiplications remain. Filling polygons is something you can easily do in less than four clock cycles per pixel. This being said, I do agree that 2D games can be much more interesting than some 1st person shooter stuff...


Artur Jarosik
(Apollo Team Member)
Posts 94
29 Nov 2017 08:05


Markus Horbach wrote:

  Open Tyrian 68k has for example no transparent clouds, the PC version has transparent clouds as an option for Pentium MMX.
  Maybe add AMMX support for transparent clouds ?

Thant is not true. You can select Pentium quality in game Options.


Thellier Alain

Posts 141
29 Nov 2017 09:20


@Markus
>The math to rotate only one vector point
This part can be optimized for AMMX for sure ... but this is NOT the problem (as a single triangle/face may occupy a large part of the screen)
In fact what will cost the more cpu power is truly DRAWING the triangle : I mean IMHO
for each triangle pixel
  interpolating the x y z u v w values
  do the z buffer test/update
  get the texture pixel (texel)
  get the background pixel
  blend pixel and texel (if transparent face)
  blend with color (lighting)
  draw the pixel to screen
Certainly this will cost at least 10-30 cycles per pixel
So 640*480 at 20 fps will need around 61-184 Mips

IMHO: I mean Vampire will certainly be right for 3D retro gaming at low resolution (like PSX 3D games in FPSE ) but not for recent top 3d games




A1200 Coder

Posts 74
29 Nov 2017 10:03


Niclas A wrote:

Vampire beats PS1.
  PS1 is the console that has aged the least graceful.
 
  I wasn't even that impressed with it when it came out.
  The low res and huge polygons makes everything look bad.
 
  The few 2D games looked the best. It wasnt until PS2 / Xbox that 3D started to look ok on consoles... IMHO.

PS1 textures look ugly because the hardware uses simple affine texturemapping. It's the same with typical AGA Amiga demos, those shaky textures in low resolution. I implemented years ago a simple affine texture mapper for A1200, it was slow and not pretty, I got 12 FPS with a few faces on a 68030/50 MHz, the code wasn't well optimized for inner loop, when interpolating u,v-coordinates in fixed point, so should be possible to get it faster. The c2p I used wasn't probably the fastest around either. But everything was coded is asm. Such affine texturemappers were used on Pentiums as well, as the tutorial I followed was done for Pentiums.



Gunnar von Boehn
(Apollo Team Member)
Posts 6207
29 Nov 2017 10:11


A1200 coder wrote:

  PS1 textures look ugly because the hardware uses simple affine texturemapping. It's the same with typical AGA Amiga demos, those shaky textures in low resolution.
 

 
You are right. Those PS1 textures look really ugly.
But we can easily use higher TEX resolution
and do BILINEAR FILTERED Texturing on VAMP.
This will give you a texture quality more like PS2.


Manuel Jesus

Posts 155
04 Dec 2017 17:43


If I remember correctly the hi-res screens on PS1 were used for title screens on some games. Never saw a game run in hires.... BLEEMCAST for the Sega Dreamcast actually emulated PS1 games and promoted them to a 640X480 screen. But the Dreamcast was much stronger hardware than the PS1.


Manuel Jesus

Posts 155
04 Dec 2017 17:45


If I saw a 3d PS1 styled Star Wars game running on vampire using my graphics I think I would fart with joy at such a sight.


posts 52page  1 2 3