MODULE & PLUGIN: Ags 3d v1.20

Started by Kweepa, Sun 11/09/2005 23:45:01

Previous topic - Next topic

Kweepa

Ok, here's version 1.14.
The changes are:
- uses a combination of a module and a plugin.
- has a zbuffer - so intersecting shapes are possible.
- has a TexCube primitive which can have textures applied to all faces.
- the cube primitive can have a texture applied to the front face.

http://www.steporg.com/step/ags/games/ags3d_v114.zip

Steve
Still waiting for Purity of the Surf II

GarageGothic

#21
The interesenting shapes are quite impressive. I don't remember even seeing a first person shooter engine that handled them so well! Didn't see a single clipping error even after adding tons of primitives on and within eachother. Great work.

Haven't checked out the texture mapping yet (but it tends to look pretty horrible in low-res, so I might wait to play with it until a hires version comes along). Also, there seems to be some funky stuff going on with the Yatzheebrand sign. The text disappears when seen from certain angles (from outside the bar).

Edit: Holy crap, it's fast as well. I just kept on adding primitives to the scene (you can do some awesome looking trees with clusters of spheres by the way), and the framerate didn't drop until just before the engine crashed (and still at 33fps!).

Kweepa

#22
Quote from: GarageGothic on Sun 02/10/2005 23:21:18
The interesenting shapes are quite impressive. I don't remember even seeing a first person shooter engine that handled them so well! Didn't see a single clipping error even after adding tons of primitives on and within eachother. Great work.
Hmm, anything that uses a graphics accelerator will do the same. Probably better than this, because they adjust the z buffer range.

Quote
Also, there seems to be some funky stuff going on with the Yatzheebrand sign. The text disappears when seen from certain angles (from outside the bar).
That's due to the resolution of the z buffer I think, and the zbuffer compare function that allegro uses (less than rather than less than or equal). I should just change that yellow box so the text is on it.

Quote
Edit: Holy crap, it's fast as well. I just kept on adding primitives to the scene (you can do some awesome looking trees with clusters of spheres by the way), and the framerate didn't drop until just before the engine crashed (and still at 33fps!).
I really should fix that crash. I can remove the arbitrary limit to the number of primitives now. I can probably speed it up a fair bit - it's still basically the script code in a cpp file. It's about 20x the speed of the script.
Still waiting for Purity of the Surf II

DoorKnobHandle

Looking awesome!

It seems like the yahtzeebrand sign gets cut off when you are standing to far away from it...

Anyways, it's really really fast as GG stated before - I could add an (almost) unlimited amount of sphere objects without ever seriously noticing a frame drop (of course I had myself centered with spheres and had to disable collisions by then but that's another story ;D ). Also I love the textures house and can't wait to see it in higher resolution.

Thanks, Steve.

EDIT: Steve was faster...

Gregjazz

Try rotating the building with the texture map. It's flipping amazing. Great job!!

Kweepa

Glad you liked it!
Here's a little update:



Push the objects with the right mouse button...

Steve
Still waiting for Purity of the Surf II

Gilbert

#26
It's fast but you cheated using plugins! Also plugined version won't work with 640x480!

* Gilbot V7000a knocks SteveMcCrea unconscious to stop teh awesomeness.

TheYak

Damn.. that's impressive.  Is it frame-locked at 40fps?  Can physical attributes be assigned such as friction & mass?  I thought it was cool enough when I hit the cylinder but the boxes rebounding from each other, that's cool-looking (even if they are obviously empty boxes).  The cylinder rolling is a nifty touch.   So, is the physics module a plug-in? 

Gilbert

Quote from: YakSpit on Wed 05/10/2005 12:18:00
So, is the physics module a plug-in?Ã, 

Well, since there're files called NxPhysics.dll and NxFoundation.dll I'll expect the answer to be, unfortunately, yes...

DoorKnobHandle

He used the Novodex physics SDK, so yes, you are right.

Anyways, you actually managed to use Novodex with this? Awesome!!! This just keeps getting better and better. Unbelievable, really. Now only model support ( .obj, .3ds or.x or something) and it's perfect!


Kweepa

Should have mentioned I was using Novodex. :=
I've played around with it before and it's really easy to get going - and lightning fast.
Still waiting for Purity of the Surf II

GarageGothic

Despite using an SDK, this is friggin' amazing! Now all that we need is a gravity gun, and Valve will be out of business! I can't believe it's so much fun just rolling that cylinder around the square!

Regarding the boxes, can all primitive surfaces be texture mapped seperately now?

Gregjazz

#32
As mentioned before is the issue of UVs... right now I believe it's just assigning textures to single faces.

Kweepa

Right now, only the Cube and TexCube can have textures, and as Geoffkhan says, you can't adjust the UVs.

I'm not sure what to do about the other primitives. I'd prefer it if everything was scriptable and you didn't have to rely on an art package. It's getting pretty limiting though.
Still waiting for Purity of the Surf II

GarageGothic

Ok thanks. I was also wondering, with this plugin, is it possible to have flat (non-facing) sprites? What would happen if you assigned a texture with transparency as surface on a primitive?

Kweepa

Quote from: GarageGothic on Wed 05/10/2005 20:17:12
Ok thanks. I was also wondering, with this plugin, is it possible to have flat (non-facing) sprites?
Not exactly right now. You can have sprites that rotate to face the camera, but they only rotate around the up axis.
It would be easy to add support for billboards.

Quote
What would happen if you assigned a texture with transparency as surface on a primitive?
The transparent bits would be.... transparent!

Here's a new version that loads .obj files.
[EDIT] Forgot to mention there's a 500 vertex/face limit.
It also works properly when you change the resolution, although it's very expensive to do so.



http://www.steporg.com/step/ags/games/ags3d_v116.zip
Still waiting for Purity of the Surf II

DoorKnobHandle

Awesome!! Finally I got my model importer...

It crashed when I tried my own file, though.

Code: ags

---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x10003CDC ; program pointer is +31, ACI version 2.71.886, gtags (62,256)

AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and notify CJ on the Tech forum.



Most versions of Windows allow you to press Ctrl+C now to copy this entire message to the clipboard for easy reporting.
---------------------------
OK   
---------------------------


Nevermind,  I probably broke the 500 limit... ;)

GarageGothic

QuoteIt also works properly when you change the resolution, although it's very expensive to do so.

Alright, so I played it in 640x480. What do I owe you? ;)

Seriously though, I didn't experience any frame rate hits after raising the resolution.
This is awesome. I'll play around with the import mode soon, but for now I have stuff to do on Shadowplay.

Rui 'Trovatore' Pires

Great work. Two questions, though:

1 - What kind of program can I use to make those "obj" files?

2 - I found it a pity that after kicking the boxes, entering Scid's and then getting out, the scene was totally reset. So I looked in the manual for a "GetPrimPosition" thing, which would solve that. But I didn't find one...
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Kweepa

Quote from: Rui "Brisby" Pires (a Furry) on Sun 09/10/2005 21:14:05
1 - What kind of program can I use to make those "obj" files?
Blender will make 'em. Most 3d packages can export to .obj.

Quote
2 - I found it a pity that after kicking the boxes, entering Scid's and then getting out, the scene was totally reset. So I looked in the manual for a "GetPrimPosition" thing, which would solve that. But I didn't find one...
There's GetPrimX(), GetPrimY(), GetPrimZ(), GetPrimHeading(), GetPrimPitch(), GetPrimBank(). Or something like that.
Good point though. Perhaps I should save the state automatically.
Still waiting for Purity of the Surf II

SMF spam blocked by CleanTalk