Zeenginegp2x Preview


Optimus

Member
Joined
May 8, 2005
Messages
339
Age
44
Location
Greece
Website
optimus.untergrund.net
screenshot_cow.png


This is a preview of my 3d engine ported from GP32 to my new GP2X. I originally started coding it for a GP32 demo that is not yet released (maybe inside July ;P) and decided to port it in my brand new GP2X to check the speed improvement (it was 2X ;)). Still, it can be optimized much more I believe. This is just a quite small showcase of the true GP2X power imho. Enjoy!

Links:

http://www.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,38,1619
http://www.freewebs.com/optimus6128/ZeEngineGP2X.htm

p.s. More to come in the near future B)
p.p.s. YouTube videos provided by David Beoulve (Thanks!)
http://www.youtube.com/watch?v=Rua0Q7VEqSc
http://www.youtube.com/watch?v=ZEgaQeEYL04 (with music)
 
Last edited by a moderator:
Holy shit! Fantastic! I guess it does show a potential future for 3D games on the 2X, but too bad not enough people will venture into this area. I would, but whilst I can handle the texturing and (environmental) modeling part of it, I don't have sufficient programming skills..
 
Wow.... just... wow. That'sthe most impressive thing involving 3D I've seen since the first demo for Yeti came out some time ago. Well, except the gradual onslaught of PSX emulation, but that is not a good indication of what the console can do on its own. This is.

Is this planned to be open source, or open for free projects but cost to license, or are you planning to do something with it yourself or... what? Is there any chance of the engine being made into a TinyGL compliant one or something?

In any event, it's very good to see just what the GP2x *can* do given the chance.

Oh, and do you know how Beethoven's framerate fares if you invidivually colour the polys to make him look like he's a person as opposed to a statue? I assume adding individual textures would kill it, but hey, that's textures for you!
 
Holy shit! Fantastic! I guess it does show a potential future for 3D games on the 2X, but too bad not enough people will venture into this area. I would, but whilst I can handle the texturing and (environmental) modeling part of it, I don't have sufficient programming skills..
Anybody who ventures into doing 3D games on the gp2x is going to be in need of good models. For our purposes, a good model has the smallest possible triangle count. That's the absolutely critical ingredient. Modeling a car with 1000 triangles is okay, but for a gp2x racing game, the cars would much rather be 200 triangles. If you can do that and still make them look good, your work will be in demand!

Small textures are also desirable, but not as critical.

While a coder making a 3D engine can fire up people's imagination about what might be possible, an artist making a bunch of great looking low-poly models is equally inspiring.

Oh, I haven't checked out this engine demo yet but I can't wait to see it!
 
Last edited by a moderator:
Thanks for your comments!

I didn't have GPL in my mind when I first released this preview, but since someone mentioned it I'll have it in mind. I wouldn't mind about releasing the source, I'll just have to clean up some bits here and there and provide an easy implementation and one/two examples. That would be great for the community and I would be glad to see other projects based on this engine! =)

However there are still more to be done before I release the source, 1) the clipping routine is a stupid hack that crashes at several cases (I just made a carefully made demo with objects at the proper distance that don't crash, ok for demos but not for games ;P), I'd love to rewrite some rasterizer code in a diferrent way that helps me debug the whole thing and add proper clipping (the rasterizer code is shit!), maybe optimize it more. 2) Few more things to do, like finish a perspective correct mapping routine (the current version uses it for the enviroment mapping where it's not very noticable. But my non perspective texture mapper looks like an ass on a cube ;P). I'll think if I'll release the source soon or after fixing few problems first.

As for my current projects, I originally did this engine to finish a demo for GP32. I haven't done a software 3d engine before this one but I had experience in gfx programming and optimizations (mostly 2d effects) since my 8 year involvement in the demoscene. Most probably I'll also use it to finish a short demo for the GP2X demo competition. It would be cool though to switch a bit from demomaking and try coding some simple 3d games, I have some simple ideas in my mind that I may try in the near future. If I need some modelers/graphicians in the future I may post something in these forums.

But thanks again, I'll think positively about GPL these days and decide. Now I am thinking it, most probably (99%) I'll give the source away before the end of July because... .in August the greek army calls me and I'll be off from developing for a while :(
I just hope to find the time refining the code and correcting the bugs till then, but if I don't, someone else may fiddle with it and fix what I may have not I believe. Opensource is a good idea just for that..

p.s. Something irrelevant with GP32/2X coding but you may find it funny or interesting. In the link below you can check the PC port of this software 3d engine (with some stupid bugs) where I tried to load some extremely detailed objects of 60000 or 360000 polygons just out of curiosity!!! (3d scans from Stanford university, so detailed that simple gouraud rendering looks like it's bump mapping!)
http://www.freewebs.com/optimus6128/ZeEngine3D.htm
It's funny just to check it on your PC with dots/wireframe or solid modes and be impressed =)
No, I don't intend to try loading those beasts in my GP2X, except maybe from that porsche which would look neat in my next GP2X demo! B)
 
Wow.... just... wow. That'sthe most impressive thing involving 3D I've seen since the first demo for Yeti came out some time ago. Well, except the gradual onslaught of PSX emulation, but that is not a good indication of what the console can do on its own. This is.

I had a deep feeling a year ago that even the old GP32 could do much more if programmed properly, how much the new GP2X. I recall watching several classic demos in DOS on my 486 or a Pentium1 with not much Mhz, which is probably quite less powerfull than the current overclocked ARMs (except from the FPU), which not only featured smooth 3d object shows but even full blown 3d scenes with particles and real life characters. It really makes me awe watching those demos in DosBox and then trying to imagine what could be really done on GP32 (and now GP2X). It's a pitty there wasn't a good demoscene on GP32 and I hope this will change on GP2X. Those coders can really show you the real capabilities of the GP2X =) My engine is a shit in front of what might come in the future from the GP2X demoscene (will it ever come? More demoscene for the GP2X pleaz :))

Is this planned to be open source, or open for free projects but cost to license, or are you planning to do something with it yourself or... what? Is there any chance of the engine being made into a TinyGL compliant one or something?

I have a good friend who made a really great lib named MiniGL. Maybe he already has it somewhere as GPL (he is a great enthousiast of opensource). It's commands are nifty and are really close to the ones in OpenGL. Mines are not. The diferrence of my engine is that it's much faster than his own. It would be a good idea if we combined our sources. (We were discussing this for our planned demos). In any case, I'll think about releasing my sources for use via a convenient way for the game/demo designer or newbie programmer.

Oh, and do you know how Beethoven's framerate fares if you invidivually colour the polys to make him look like he's a person as opposed to a statue? I assume adding individual textures would kill it, but hey, that's textures for you!

Maybe it would be similar to the env-mapping rendermode. This one also uses the texture mapper upon the whole object and just changes the texture-coordinates of each vertex according to the normal in that point, projected to a texture plane that you don't see to produce the effect of environment mapping. So, most probably it would be the same (except if several textures in a scene would kill the cache or anything, I can't know before I try this). This one has around 5000 polygons and goes around 20-25 fps. A nice game engine could use less polygons if I'd also implement BSP trees or portals for it's game map. And maybe we wouldn't need so detailed objects too, rather than a good modeler/designer to make them look good. Still, I guess I'll have to download 3dslib and plug it in my engine properly so that the designer can provide the texture coordinates on a model and also script some 3d animations which will be played in realtime from my engine. Still a lot of work till this engine makes it into a fully usable engine for games..
 
Last edited by a moderator:
Impressive :) Even better that this is not optimized yet. As the PSX emulator shows ARM-asm coded stuff can get pretty much power out of the GP2X.
I'm not specifically a fan of 3d games, but I do think it's important for the GP2X to have some decent 'state of the art' looking 3d games
So keep up the good work (and go opensource) !!!
 
Very cool stuff :)

I hope this paves the way for some very decent GP2X 3D games :D
 
I created a screenshot using that very stupid screenshot timer utility. You can't take a screenshot when you WANT to, you have to wait for a timer. So this is what I got.

Optimus: Please put this pic in your starting post.

Original PNG:
screenshot.png


8-bit PNG:
screenshot_cow.png
 
Back
Top