Jump to content

5

Elite 3D graphics


87 replies to this topic

#26 iwan-iwanowitsch-goratschin OFFLINE  

iwan-iwanowitsch-goratschin

    Progressive Pornobär

  • 6,281 posts
  • You met me at a very strange time in my life!
  • Location:good old GERMANY

Posted Sat Jan 2, 2010 5:37 AM

View PostThomas Jentzsch, on Sat Jan 2, 2010 2:18 AM, said:

View Postiwan-iwanowitsch-goratschin, on Fri Jan 1, 2010 7:12 PM, said:

View PostThomas Jentzsch, on Fri Jan 1, 2010 6:28 PM, said:

Just a cart displaying some ships? How boring! :)

NOW WE HAVE AN ANNOUNCEMENT!!!!!!!!!!!!!!!!!!!!! :love:
Wishful thinking. That was a negative announcement. :)


NOPE!!! THE POSITIVE VIBES ARE PALPABLE, I CAN FEEL IT!!! ;)

#27 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 22,607 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Sat Jan 2, 2010 5:44 AM

It won't be complete until there is 3D nudity.

#28 lapetino OFFLINE  

lapetino

    Moonsweeper

  • 339 posts

Posted Sat Jan 9, 2010 2:00 PM

Wow, this is very impressive! Are you going to continue updating in this thread, or so we have to switch over to your blog?

#29 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Tue Jan 12, 2010 3:43 PM

View Postlapetino, on Sat Jan 9, 2010 2:00 PM, said:

Wow, this is very impressive! Are you going to continue updating in this thread, or so we have to switch over to your blog?
Here, obviously. :)

I did some (mainly) speed optimizing over the last days. Nothing too dramatic, but for me as a programmer very satisfying. E.g. I managed to utilize the free kernel time to clear part of the double buffer for the next frame and gained 10-15% more fps from that alone. And I optimized my flexible task scheduler so that it now works very efficiently.

Also fixed some bugs (with a little help from good friends ;)). Now the binaries should run on real hardware without problems too. But I didn't switch to more accurate math yet.

Finally I added a few ships, with the Gecko being my current favourite for testing. It displays at ~16 fps NTSC and ~21 fps PAL (PAL has more free CPU time).

Attached Files



#30 LS_Dracon OFFLINE  

LS_Dracon

    Moonsweeper

  • 452 posts

Posted Tue Jan 12, 2010 4:06 PM

Thomas....
You rule!

15 fps is the snes star fox frame rate!
Everthing up to 12 is very good. Assuming you will need much time to calculate the radar and the frame rate should decrease...
Personally, it's the best thing I ever saw on 2600 hardware, after interlacing chrono color. :)

#31 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,295 posts
  • Location:Michigan

Posted Tue Jan 12, 2010 4:12 PM

Looks amazing :thumbsup:

#32 Albert OFFLINE  

Albert

    Greetings, Avatar!

  • 28,722 posts
  • Location:Sosaria

Posted Tue Jan 12, 2010 4:55 PM

Wow, that looks fantastic!  You should make a version that lets you select between the ships by pressing fire or something.  :)

..Al

#33 Nathan Strum OFFLINE  

Nathan Strum

    Quadrunner

  • 5,318 posts
  • Gradually catching up. Again.
  • Location:Newhall, CA

Posted Tue Jan 12, 2010 5:41 PM

Incredible... :-o

#34 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Jan 13, 2010 2:45 AM

View PostLS_Dracon, on Tue Jan 12, 2010 4:06 PM, said:

15 fps is the snes star fox frame rate!
Everthing up to 12 is very good. Assuming you will need much time to calculate the radar and the frame rate should decrease...
Yes, a decrease of frame rate sure will happen if this is turned into a full fledged game. It's not only the radar etc. but also the AI and resulting movements of the world around you which has to be calculated. But that shouldn't be too bad (just one transformation per object to position it relatively to the player's view port). And some background stars to illustrate the player's ship is moving are also missing. :)

Also there are still a few 3D calculation optimizations possible:
- skipping point transformations if they belong to an already known hidden polygon, you only need 3 transformed points to calculate the surface normal of a polygon).
- some kind of intelligent hidden surface detection based on previous frames, which would allow skipping a lot of point transformations. If e.g. the previous frame's surface normal of the polygon was off from visibility by 60° and the object was only rotated by less than 60°, then the polygon still has to be invisible.
- Or defining and transforming the surface normal of each polygon before doing its point transformations. (I think I will try this one first.)

Also the line drawing still has a little bit of optimizing potential, but I am running out of space in the only possible bank. And I still have to implement line clipping.

Quote

Personally, it's the best thing I ever saw on 2600 hardware, after interlacing chrono color. :)
Thanks. :)

#35 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Jan 13, 2010 2:47 AM

View PostAlbert, on Tue Jan 12, 2010 4:55 PM, said:

Wow, that looks fantastic!  You should make a version that lets you select between the ships by pressing fire or something.  :)
Yes, that would be a logical next step. :)

#36 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 3,671 posts
  • Atari 7800 Dev
  • Location:SouthWest Florida

Posted Wed Jan 13, 2010 5:21 AM

Two words: Battlezone Arcade!!! ;)


Looks awesome, Thomas - you are truly innovative with the things you come up with. :)

#37 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Wed Jan 13, 2010 7:47 AM

View PostPacManPlus, on Wed Jan 13, 2010 5:21 AM, said:

Two words: Battlezone Arcade!!! ;)
Bah, where's the 3rd dimension? ;) Something like NetWars sounds much closer.

Quote

Looks awesome, Thomas - you are truly innovative with the things you come up with. :)
Nothing really innovative, IMO. And not even my idea. It was just waiting to be done eventually.

#38 Albert OFFLINE  

Albert

    Greetings, Avatar!

  • 28,722 posts
  • Location:Sosaria

Posted Wed Jan 13, 2010 7:51 AM

View PostPacManPlus, on Wed Jan 13, 2010 5:21 AM, said:

Two words: Battlezone Arcade!!! ;)
Shhh!  I'd rather see a space combat game.  :P

..Al

#39 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Jan 15, 2010 2:42 PM

Decission time!

I am about to remove the perspective projection (right difficulty switch) inside the ship itself from the 3D calculations. While it is pretty nice looking for close objects, I think we could live without it too. The ship would simply be zoomed as a whole instead.

<technical rant>
The reason for this is, that this kind of projection makes it much more complicated to detect if a surface is visible or not. With perspective, you have to calc three (which means almost all if not all points of the polygon) points (X,Y and Z) and then the Z-value of the surface normal from those three points. Without perspective, I can use a predefined surface normal and calculate the Z-value from that one (if anyone knows how to do this with perspective projection, please tell me). This is obviously much faster.

And if a surface is invisible, its (remaining) points (as long as they do not belong to a visible surface too) do not have to be calculated. That way you can save calculations for of up to 50% of the points (maybe 25% on average here). Currently I am not even removing those points from calculations, because the polygons are usually pretty simple (~4 points on average) so the savings are very small (just ~1 point on average) and eaten up by the additional required logic.

I hope this all makes sense. :)
</technical rant>


So what do people think? Try experimenting with the Gecko posted above with or without this feature, also at varying distances to get an idea of the difference and let me know.

BTW: Does anyone how Elite does it? With or without this extra projection?

#40 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 22,607 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Fri Jan 15, 2010 2:49 PM

View PostThomas Jentzsch, on Fri Jan 15, 2010 2:42 PM, said:

BTW: Does anyone how Elite does it? With or without this extra projection?
Why don't you ask the guy who coauthored the original game:

http://www.iancgbell...maths/index.htm

#41 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Fri Jan 15, 2010 4:38 PM

View PostRandom Terrain, on Fri Jan 15, 2010 2:49 PM, said:

View PostThomas Jentzsch, on Fri Jan 15, 2010 2:42 PM, said:

BTW: Does anyone how Elite does it? With or without this extra projection?
Why don't you ask the guy who coauthored the original game:

http://www.iancgbell...maths/index.htm
It's not THAT important. And I can look at the released source code any time.

#42 TROGDOR OFFLINE  

TROGDOR

    Chopper Commander

  • 160 posts
  • Why Yes, I Have Played Atari Today.
  • Location:Strongbadia

Posted Fri Jan 15, 2010 10:51 PM

Excellent work Thomas.  I have to admit I'm a little bummed.  You've already implemented what I had hoped to achieve.  Still, it's nice to see a clear demonstration that this technology is possible on the 2600.  Hopefully we'll see some 3D vector games spawned from this engine.

Edited by TROGDOR, Fri Jan 15, 2010 11:34 PM.


#43 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sat Jan 16, 2010 1:34 AM

View PostTROGDOR, on Fri Jan 15, 2010 10:51 PM, said:

I have to admit I'm a little bummed.  You've already implemented what I had hoped to achieve.
You deserve the credits for having the idea. After reading your blog I got interested. Then nothing happened there for a while. And having some rare, free time over Christmas, I decided to have a look at the possibilities myself. Originally I only wanted to code some fast line drawing, but then I couldn't stop. :)

I hope you are not too disappointed. And if you want to do it yourself or cooperate with me, you are welcome.

Quote

Still, it's nice to see a clear demonstration that this technology is possible on the 2600.  Hopefully we'll see some 3D vector games spawned from this engine.
That would be cool. Since I have no imminent plans to turn this into a full fledged games, I will share the finished engine code with anyone interested.

#44 TROGDOR OFFLINE  

TROGDOR

    Chopper Commander

  • 160 posts
  • Why Yes, I Have Played Atari Today.
  • Location:Strongbadia

Posted Sat Jan 16, 2010 1:58 AM

It's no problem.  I've moved on to another ambitious experiment.  I'll be posting it soon, probably this weekend.

View PostThomas Jentzsch, on Sat Jan 16, 2010 1:34 AM, said:

Since I have no imminent plans to turn this into a full fledged games, I will share the finished engine code with anyone interested.

I will likely take you up on that at some point.  I've had a game in mind for quite some time that I was debating whether to implement in 2D or 3D.  That's what started me on the Elite research.

#45 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sat Jan 16, 2010 4:56 AM

View PostTROGDOR, on Sat Jan 16, 2010 1:58 AM, said:

I'll be posting it soon, probably this weekend.
Don't be afraid, I am busy now. ;)

BTW: Any opinion about my "decision" post above?

#46 Glenn Jupp OFFLINE  

Glenn Jupp

    Star Raider

  • 87 posts
  • Location:London, Ontario, Canada

Posted Sat Jan 16, 2010 8:48 AM

View PostThomas Jentzsch, on Fri Jan 15, 2010 2:42 PM, said:

I am about to remove the perspective projection (right difficulty switch) inside the ship itself from the 3D calculations. While it is pretty nice looking for close objects, I think we could live without it too. The ship would simply be zoomed as a whole instead.

...

So what do people think? Try experimenting with the Gecko posted above with or without this feature, also at varying distances to get an idea of the difference and let me know.

BTW: Does anyone how Elite does it? With or without this extra projection?

To my eyes, the loss of perspective is acceptable.  I don't notice the perspective until the ship is rather close to the point of view.  In play, a ship that close to the POV doesn't stay in the field of view for long.  If going to flat scaling gives enough cycles for a playable game, then I say play on.

After a brief play of Elite (PC version), it looks like it used perspective.

I didn't yet say how impressive your work is, did I?  Well, it's very much so.

#47 ilmarque OFFLINE  

ilmarque

    Space Invader

  • 25 posts

Posted Sat Jan 16, 2010 9:50 AM

Wow... that's pretty impressive :)
I've done something a bit similar myself but i used playfield instead of sprites.
Also i haven't used any extra ram so the resolution is pretty low.

I'm looking forward to reading the source code.

#48 TROGDOR OFFLINE  

TROGDOR

    Chopper Commander

  • 160 posts
  • Why Yes, I Have Played Atari Today.
  • Location:Strongbadia

Posted Sat Jan 16, 2010 2:25 PM

View PostThomas Jentzsch, on Sat Jan 16, 2010 4:56 AM, said:

BTW: Any opinion about my "decision" post above?

I didn't notice much visual difference between the two modes for the Gecko.  I'd say remove it and reclaim the cycles and archive the more accurate perspective as a code thread.

#49 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash

  • 17,487 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Tue Jan 19, 2010 2:48 PM

One for the show. :)

BTW: The original Elite definitely uses perspective projection. You can see it when looking back after launching from the Coriolis station. While you are close, it has eight corners and it turns into a square when moving away.

I turned perspective projection off for now, but it did not give me as much speed up as I had hoped for. So maybe I will eventually add it again.

Attached Files



#50 Random Terrain ONLINE  

Random Terrain

    Visual batari Basic User

  • 22,607 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Tue Jan 19, 2010 3:08 PM

Give that thing a constant forward motion and a 3D Star Raiders style star field to match the movement and many pants would be pooped.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users