MODULE & PLUGIN: Ags 3d v1.20

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

Previous topic - Next topic

Kweepa

This is a module to create and manage three dimensional rooms.
A picture is worth a thousand words:





The module includes a player movement controller (keyboard and mouse, collisions).
Full interaction with objects and characters is possible.
The zip file includes the module, plugin, and documentation.
Rooms can consist of sprites, cuboids, cylinders, spheres, pyramids and tetrahedra.

Download v1.20 (Requires AGS v2.71 or higher.)
(Now also uses a plugin for speedup!)
Mirror v1.20 (Thanks Neole & Rui)

Thanks to Jan Simon for the basis version, "AGS3D".
Still waiting for Purity of the Surf II

HeirOfNorton

Useful tidbit I noticed while playing around with this. If two primitives are directly next to each other (ie, they have two faces on the same plane) it can cause some sorting errors, however, if even the tiniest space is left between them (0.001 units, say, too small for the gap to be seen) then they will be sorted properly.

HoN

Kweepa

Can you provide an example of the sorting errors?
I don't have problems like that, and I'd like to fix it - it shouldn't be that fiddly.
Still waiting for Purity of the Surf II

HeirOfNorton

I'll include the one I've had (commented out) in my Ags3d modification I'm posting later this evening. In brief, though, I have an indoor sceen with several hallways, and a single cuboid as the ceiling. Sometimes the ceiling is drawn in front of the walls, and putting the miniscule gap there fixed it. (I would imagine that CalcSplitPLanes works better with a gap than with primitives that are touching, but that's just a guess.)

One other thing, though. The engine cannot handle flipped sprites (in character views) properly. Not sure if it's possible to fix, as I have been unable to find any way to find out in the script if a particular frame is flipped. (Hey, CJ, how about another GetGameParameter?)

HoN

Kweepa

Quote from: HeirOfNorton on Fri 16/09/2005 01:14:58
In brief, though, I have an indoor sceen with several hallways, and a single cuboid as the ceiling. Sometimes the ceiling is drawn in front of the walls, and putting the miniscule gap there fixed it.
If it's a ceiling in an indoor scene, why not just make it one of the unsorted prims? It should work anyway, but the unsorted prims are essential for speed.

Quote
(I would imagine that CalcSplitPlanes works better with a gap than with primitives that are touching, but that's just a guess.)
Not really. It handles slightly overlapping prims pretty well (usually!). I'll be interested to see your example.

Quote
One other thing, though. The engine cannot handle flipped sprites (in character views) properly. Not sure if it's possible to fix, as I have been unable to find any way to find out in the script if a particular frame is flipped. (Hey, CJ, how about another GetGameParameter?)
I hadn't noticed that. There's an obvious workaround, though. :)
Still waiting for Purity of the Surf II

HeirOfNorton

Quote from: SteveMcCrea on Fri 16/09/2005 01:25:24
If it's a ceiling in an indoor scene, why not just make it one of the unsorted prims? It should work anyway, but the unsorted prims are essential for speed.

There are other parts of the scene that are higher than this ceiling, so they would sometimes appear THROUGH the ceiling.

Quote
Not really. It handles slightly overlapping prims pretty well (usually!). I'll be interested to see your example.

Hmm, now that sorting error's back again. Maybe I imagined the change helping (arrghh).

Quote
Quote
The engine cannot handle flipped sprites (in character views) properly.
There's an obvious workaround, though. :)

Heh, yeah, but you might want to mention this in the docs, so that people know it's a limitation in AGS itself, and not a mess-up on their part or a bug in the module (like I thought at first)  :)

Anyway, new version's up in the other thread. Check it out.

HoN

Kweepa

#6
Thanks strazer :)

I worked on the plugin (not the module) some more...



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

[EDIT] Fixed url. Damn server requires capitalization.
[EDIT] Added alleg42.dll.
[EDIT] This version is using a plugin and a module combined... for extra ease of use.
Still waiting for Purity of the Surf II

GarageGothic

Wow, so you've actually managed to do all the texture perspective deformation that can't be done in-engine?

Kweepa

Sort of. I let Allegro do it :)
It was painful to get right though. Texture maps have to have power of two widths and heights, so I had to create a texture cache. And, AGS's Allegro version is old, so the BITMAPs aren't interchangeable.
Still waiting for Purity of the Surf II

GarageGothic

Oh ok, so this isn't a technique I should look into for my dynamic shadow script then (based on dynamic sprites, so no caching)? Nevertheless, I'm looking forward to try this out, if the internet works when I get back to the hotel.

Kweepa

#10
I could add a function to invalidate the cache for a sprite.
I could also add transparency if you need it.
Still waiting for Purity of the Surf II

GarageGothic

#11
Wow. This is quite impressive indeed. I can't believe how far you've come just in the last two months. Didn't the old plugin support 640x480 res though? When I try it here I only get a 320x200 window in the upper left corner with corrupted graphics.

Edit: Ah, I see. I could have sworn that the previous version of the plugin (not module) supported it though - I've been running all the AGS3D tests in hi-res to see what kind of frame rates I got. Still, this is beginning to look like an actual game. I especially loved the ringing phone - I see great potential in the plugin/module.

Kweepa

#12
I forgot about 640x480.
With the module, it was all handled automatically by AGS.
I need to write specific support for it in the plugin.

[EDIT] The previous plugin called AGS functions to draw the triangles, so yes, you're right, it did support 640x480.
Still waiting for Purity of the Surf II

Gregjazz

#13
Wowies! :o

So would I be correct in assuming that a completely texture-mapped world using this new AGS3D would be possible?

Rui 'Trovatore' Pires

Extraordinarily impressive, and it reminded me of something I wanted to ask for. I know that we can make the camera move as we will, and thus create effects like the "swinging out of bed" one, but that'd involve rather a bit of "Set Camera Position to XYZ, Wait, Set Camera Position to XYZ, Wait, Set Camera Position to XYZ..." and so on, no?* What would be the chances of functions that did it for us?


*If not, I'd be interested in knowing how you did those effects - i.e., if there's a more user-friendly way
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Kweepa

A fully texture mapped world would need just a little more work...
Presently you can only assign a texture to one face of a cube, or to a sprite (which is essentially one face of a cube). I'm not sure what the best interface would be to extend that. A fully textured cube? Texturing all primitives (but how to assign UVs?)? I want this to still be scriptable...

For the swinging out of bed, I played the game, writing out the camera positions as script commands, then cut and pasted those into script. Spline support would be a nice addition, but it's difficult to set up a spline without visualizing it. I guess I could add splines to the editor.
Still waiting for Purity of the Surf II

Gregjazz

For the short term, a one-texture-per-face wouldn't be all that bad. After all, that's what DOOM had, right?

IceMan

Now this really is something - well done!
The idea of recording your own camera movements, then plugging them back in, is a brilliantly simple one.Ã,  Right now I'm wondering how this can be used to create 3d effects in 2d games.Ã,  That is, if the detail of 3d rooms reaches a certain point, you can "fool" the player into thinking they are looking at a 2d background in a cutscene, and then WHAM!Ã,  The camera actually SPUN ABOUT THE PLAYER!!!!!

Aw, yes!Ã,  ;D

Rui 'Trovatore' Pires

#18
Heh, interesting. I say, that recording, was it done manually or did you add something to the plugin that helped you along? If the latter, will you keep it for general release?

EDIT - You know, the things you've been achieving with the plugin and the sheer speed stability (stability non-existant with the module) make me wish you wouldn't scrap the plugin. I mean, you could release both. People who'd care about cross-platforming could use the module, other people could use the plugin.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Kweepa

#19
Don't worry, I've decided to release the plugin/module combo too. Worst case, I get 40FPS with 25% CPU usage. So I can add a lot more detail to the RON town square, for example. The plugin might be faster with a z-buffer - if so much more complex models exported from 3d packages are possible. And animated models...

It's going to be a pain to keep both versions "in sync" with bug fixes and common features but such is life.

I added something to the module to start and stop camera movement recording, so I could trigger it from scripting. In my case, during PlayerEntersRoom. For the release, I'll call it Ags3d.StartCameraRecording(String filename);

IceMan, I had a similar idea for IVSpy - the intro dream sequence will be 2d, then bam, 3d gameplay.
Still waiting for Purity of the Surf II

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

Rui 'Trovatore' Pires

I do know about getting the camera's XYZ, heading, pitch and bank. But if there is a Prim version it's not documented.

::) BTW, you'll still share your "record camera movement" thingy with us, won't you? ::)
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 23:15:37
I do know about getting the camera's XYZ, heading, pitch and bank. But if there is a Prim version it's not documented.
Oops, quite right.

Quote
::) BTW, you'll still share your "record camera movement" thingy with us, won't you? ::)
But of course! Let's just say it's not top of my priority list.
Still waiting for Purity of the Surf II

Gregjazz

I'm astounded by the latest developments in AGS 3D!

Are there any plans for more complex texture mapping?

Kweepa

#43
Why yes, here's v117:
- fully textured models, no vertex or face limit
- loads png, jpg, bmp, pcx, tga from an optionally specified directory
- fixed primitive overflow bug (no longer crashes if you try to exceed 256 prims in a room)

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

Steve
Still waiting for Purity of the Surf II

magintz

Has anyone got a demo game or something so I could just see for myself what ths is like, the screenshots only show it so much.
When I was a little kid we had a sand box. It was a quicksand box. I was an only child... eventually.

Elliott Hird

Look a few posts back.

magintz

HOLY POTATOES BATMAN!!!!!! :O:O:O

I'm speechless.....

How do you create the rooms for this? I have to download this and have a play.
When I was a little kid we had a sand box. It was a quicksand box. I was an only child... eventually.

Kweepa

I presume you have already downloaded it... :)
Load up the example game and look at the room scripts.
There's some basic documentation (in RTF format) in the zip, but the walkthrough part doesn't cover some of the later additions (physics, models).

Cheers,
Steve
Still waiting for Purity of the Surf II

magintz

Yea, just had a look. That looks rather... complex. Having to draw absolutley everything using code, but the effect is very impressive. I can only hope to look forward to something being completed using this. I may attempt to make a room or something this month.
When I was a little kid we had a sand box. It was a quicksand box. I was an only child... eventually.

Redwall

The next OROW should be with this.
aka Nur-ab-sal

"Fixed is not unbroken."

Jay

Quote from: magintz on Thu 13/10/2005 20:06:34
Yea, just had a look. That looks rather... complex. Having to draw absolutley everything using code, but the effect is very impressive. I can only hope to look forward to something being completed using this. I may attempt to make a room or something this month.

It's not all code - don't forget the in-game prim editor. I made a couple rooms without touching the code.

Elliott Hird

#51
Yeah, then use the save scene feature and copy the code in :).

kadok

I've check the exaple, and on my spec;

cel 433mhz
192MBram
riva tnt 16MB
win98se

I'e had between 17-25 fps


sorry for may english... it's not my native language so I may make some mistake's

Akumayo

Just a question, is the module free-lanced, like AGS.  Ya' know, no boundries or copyright fines?
"Power is not a means - it is an end."

Kweepa

#54
Quote from: Akumayo on Tue 18/10/2005 01:06:47
Just a question, is the module free-lanced, like AGS.Ã,  Ya' know, no boundries or copyright fines?

Sure. It's released under the LGPL, which you can find at www.gnu.org/copyleft/lesser.html.
You can do whatever you want with it, but I'd appreciate a credit.
Of course, Novodex probably has a rather stricter license. You should check that.
Still waiting for Purity of the Surf II

kadok

is this module cross-platform like AGS or is only for a windows ???

and what you can do in it, only FPS games or also somethink else like top-down view games???
sorry for may english... it's not my native language so I may make some mistake's

Gilbert

Well the pluginless version was cross platform (V1.13 or earlier), since current version uses plugin I think it works only in window$ (unless of course, Steve compiles the plugins for MAC, I think the Linux engine does not support plugins at the moment).

Kweepa

I can't make a Novodex (physics) enhanced version for mac, but everything else should be possible.
The plugin source code will be available in case drevil decides to support Linux plugins.
Still waiting for Purity of the Surf II

Afflict

I just want to know is it possible to create a grim fandango kind of game?

Haddas

if you somehow manage to lock the view and have a 3D model, I don't see why not. Might be hard, might be easy. ignore me. I have no idea what I'm talking about, but since we've already gotten this far. Also, any updates?

Kweepa

I've been taking a coding hiatus (watching Lost amongst other things).
I was in the middle of speeding up the engine, making it more flexible, converting to C++ classes, and so on, so it might be a while before there's anything new.
Still waiting for Purity of the Surf II

Elliott Hird

#61
For the GF-type game, look at the new Character3D plugin.

Ishmael

I tried it with AGS 2.71 RC3, and this comes up when I start the game after doing what the manual says (as in, I should have the green plane there).

----
Illegal exception
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x01EC3BB5 ; program pointer is +31, ACI version 2.71.889, gtags (0,1)

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.
----

Also, is the doc missing chapter 6? :=

SSH

Would it be possible to have a function equivalent to FaceLocation, to make the camera point towards a particular point?
12

R4L

#64
So with his new module, you could create a DOOM game?
Also, is this easier than other 3D programs out there(ex. Dark Basic,Blender, etc..)?

EDIT: WOW! AMAZING! Although the 3D objects were static, this is definately the best module i've seen so far. Great 3D! Runs pretty smoothly too! Although the frame rate falters when I go behind Scids.

Kweepa

Quote from: Ishmael on Tue 08/11/2005 15:38:08
I tried it with AGS 2.71 RC3, and this comes up when I start the game after doing what the manual says (as in, I should have the green plane there).
Hmm, I'll have to upgrade and see what's up.

Quote
Also, is the doc missing chapter 6? :=
Is it? Dang.

Quote from: SSH
Would it be possible to have a function equivalent to FaceLocation, to make the camera point towards a particular point?
Yes. Yes it would.
I might even consider it. Snap or blend? What do you want it for?

Quote from: Rap4Life42o
Although the frame rate falters when I go behind Scids.
Really? What are your processor & clock speed?
Still waiting for Purity of the Surf II

stuh505

Hey Steve, I have only checked out the screenshots but it looks VERY cool.

Maybe you could post some screens in 800x600 res?

I'm afraid to open my mouth on what you should add next, so I'll just say keep on chugging :P

R4L

Quote
Really? What are your processor & clock speed?

I'm on a library computerÃ,  :)

SSH

Quote from: SteveMcCrea on Thu 10/11/2005 00:55:01
Quote from: SSH
Would it be possible to have a function equivalent to FaceLocation, to make the camera point towards a particular point?
Yes. Yes it would.
I might even consider it. Snap or blend? What do you want it for?

Rotating the camera around  a 3rd person char or NPC, while continuing to look at them. Think Matrix bullet-time.
12

Rui 'Trovatore' Pires

#69
I've noticed that pluginizing it made it less customizeable. Specifically, I'd like to make something similar to RealMYST for a template - holding left mouse button goes forward, clicking makes actions, holding right mouse button goes backward, clicking it makes another action. But now it seems all I can do is set 4 movement keys - I have no function for moving forward/backward. I could have done it in previous versions, but not any more. Do you think you could look into it, please? Pretty please?

And let us know at least the code for moving the camera around like in your ISpy3D demo even if you don't get around to including it in the module. ;D

EDIT - Yeah, I can use setcameraposition all I want, but I like your acceleration/decceleration effect and would like to benefit from it...

EDIT 2 - I tested out adding these two lines:

Code: ags
if (keycode==65) Ags3d.SetCameraRotation(Ags3d.GetCameraHeading()-2.0, Ags3d.GetCameraPitch(), Ags3d.GetCameraBank());
  if (keycode==66) Ags3d.SetCameraRotation(Ags3d.GetCameraHeading()+2.0, Ags3d.GetCameraPitch(), Ags3d.GetCameraBank());


The results weren't what I had hoped for - a camera that moved more to the side as I pressed the key. ANd testing it it seems that it might be because the mouselook isn't actually changing the camera's rotation? I don't know. Try it yourself.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Kweepa

Yikes, has it really been over a month?
I'll certainly put back any lost functionality.
And I'll release the code for the cutscene camera movement.
Still waiting for Purity of the Surf II

Rui 'Trovatore' Pires

#71
While we're at it, would it be too much to ask for a way to get the object/character under the mouse cursor as well, as opposed to the one in front of the camera? ::)

EDIT - Or - I'm not picky - just a way to get whatever's in front of the camera via coordinates. For instance, being able to get the coordinates of whatever the camera's looking at, so I can, say, move the character to that spot.

On that note, I don't suppose it's possible to make it so that characters also detect collision? Or is that something quite harder?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

sim.ka

I followed the tutorial in the manual, and when it says there should be a green block in the middle, when I try to save that room it says

"There was an error compiling your script.The problem was
In:'Ags3d header'

Error (line 106): PE03: parse error at 'Ags3d_Filter' "

I found the same line in the demo game, but the demo game works normal.
What should I do?

Kweepa

What version of AGS are you using?
What version of the module are you using?
Post your room script here.
Cheers!
Still waiting for Purity of the Surf II

sim.ka

I'm using AGS 2.71 final
AGS 3d 1.77

And my room script is the same as in the tutorial in the manual

comicguy

Great, seems you got texturing working...I hope it can import also external meshes, like in obj or something.

Kweepa

#76
sim.ka, go to the Game menu, select Plugin Manager, and check Ags3d plugin. That should allow it to build.

I tried it on this computer (I'm away from home for Christmas) and it crashed with an illegal exception 0xC0000005 but I'm not sure if that's just this computer.

Give it a shot and let us know.
Still waiting for Purity of the Surf II

strazer

#77
Steve, please make sure that the first post always contains a link to the latest version. Thank you.

sim.ka

Now, when I try to test the game another window pops out saying:

---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x10003BB5 ; program pointer is +31, ACI version 2.71.894, gtags (2039,18)

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.

What the hell is wrong




Kweepa

Ah, I was afraid of that.
It looks like Ags3d is incompatible with the latest version of AGS. I'll have to take a look at that when I get home - in the new year.
Still waiting for Purity of the Surf II

SSH

CJ changed Allegro version, so I dunno if that's it...
12

Rui 'Trovatore' Pires

sim.ka, could you try and find out what makes it quit like that? I can compile and test the demo game that comes with the module/plugin even with the latest AGS myself...

This module/plugin came with it's own Allegro file. Are you using that one, instead of another one?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

sim.ka

You mean alleg42.dll?

If yes, then i'm using the one wich came with the plugin.

Rui 'Trovatore' Pires

Out of curiosity, can you compile/test the demo game?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

sim.ka


Rui 'Trovatore' Pires

Right-o, ok. I daresay Steve has enough info to look into it, but I'd also advise you to try and figure out what part of your code is causing the crash. Even if it means commenting it all out and restoring commands one by one. It could wield interesting info - if you can compile and run the test game, it must be something specific to what you have. ANd since you're following the tutorial, this is something to be looked into, indeed.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Revan

I've downloded the winzip file, but winzip tells me it is an invalid archive file and to try to download it again. So i have 3 times, with same results

Candle

#87

Revan

#88
Thanks but why is it opening in Media Player?

Candle

It's a rar file . you have to unrar it . you have something to unrar it?
http://www.snapfiles.com/get/quickzip.html

Elliott Hird

I find the official client at http://www.rarlabs.com/ to be much better.

Candle

#91
But it isn't free, is it?

monkey0506

WinRAR is free for evaluation.  After the evaluation you have to buy the software.  Of course, you don't lose any functionality if you choose to continue using it after the evaluation period.  You're just not legally allowed to.

Kweepa

Ok, I finally got back to working on this.
I decided to make some big changes:
* converted parts of the engine to c++ and stl for readability and safety
* added multiple ambient, point, directional and cone lights (they still only act on the vertices)
* switched the coordinate system to x = right, y = forward, z = up
* removed the Novodex support since it was a bit of a gimmick
* updated to AGS 2.71

If anyone is developing a game using Ags3d, the most obvious and painful change is probably the coordinate system switch. It seems arbitrary, but I decided to do it to make the internal matrix representation more sensible, which makes working on the engine less confusing. The easiest way to convert any existing rooms is to create some functions that swap y and z and call the Ags3d.Add/Set functions.

I don't have a release yet - I'm still checking for bugs - but it should be relatively soon.
Still waiting for Purity of the Surf II

HeirOfNorton

Quote from: SteveMcCrea on Tue 28/02/2006 15:09:57
* removed the Novodex support since it was a bit of a gimmick

Right. You should go with ODE instead.    ;)

HoN

DoorKnobHandle

That's great news, Steve. Sounds really good, I can't wait to take a look at the next release version. :)

Besh

Hi Steve,

In the list of changes/news you don't mentioned shadows. Shadows make all more realistic. If you are interested, I wrote a simple piece of code that simulate the StencilBuffer that I use to implement ShadowVolume technique (I would want to use it also for myplugin but: 3Dchar + 2Droom = where display the shadows??)

Good work.

PS: astonish our eyes again
"Spread our codes to the stars,
You can rescue us all"
- Muse

Kweepa

Thanks for the offer - but I think I'm going to just polish up what I have and then get on with writing a game with it. I should be able to release something this weekend. It won't look too different from the last version - just a bit faster hopefully.
If I was going to add anything it would probably be a blender model importer so that I could create rooms in blender. That'd be useful, since the current system is hard work.
Still waiting for Purity of the Surf II

IceMan

Now there's an excellent idea!  Blender's a fantastic tool - hope you implement it, and congrats on a superb module!

KANDYMAN-IAC

#99
Is a 640 x 480 version possible? Or maybe have the 3d area only 480 x 320 covered by Gui around the edge like the Tex Murphy interactive movies. I'm curious if it would be possible to emulate a few rooms along those lines to get the feel for the potential of a system like this.

It makes me want to make an interactive movie.

is lighting a possibility???

Funny thing is you could also use this system to make a first person shooter as well.... not that you'd want to of course.
"Don't lose the bluecups they may be our only hope....!!1!!!1"

"I'm jealous of all of you guys, which means. I love your work, I just hate you as a person.... wait thats not right."

Kweepa

Quote from: KANDYMAN-IAC on Fri 10/03/2006 02:49:43
Is a 640 x 480 version possible? Or maybe have the 3d area only 480 x 320 covered by Gui around the edge like the Tex Murphy interactive movies.
That's already supported. As is lighting. It's just flat shaded right now though.

As for a FPS - the slightest thought hadn't even begun to speculate about the merest possibility of crossing my mind.
Still waiting for Purity of the Surf II

monkey0506

I haven't looked at this in a while.  It's come a long ways since the plugin was added.  SOOOO many FPS (compared to what I remember anyway).  And the brick textured building proves that the system is capable of more than just colorful blocks.  I think it would be cool if someone released a demo using this and the Character3D plugin.  If someone was so inclined.  Me and myself don't really know how (and don't really have the time) to bother with doing it.

DoorKnobHandle

I just played around with this. It's still really great, Steve, however I have one question:

It seems like GetCameraX/Y/Z ( )  as well as GetCameraHeading/Pitch/Band ( ) always return 0.0f! I display those values inside the room's rep_ex_always function and they all stay at absolutely zero. Is there something wrong with how I am doing this? Could you check this?

Apart from that, it's great, really. :)

Kweepa

Still waiting for Purity of the Surf II

DoorKnobHandle

Sorry to be such a pain -- but did you manage to find anything yet?

Another note: I tried it several times to set up an own project with AGS3D. I added the module and the plug-in and did everything that the manual told me to do. It would compile flawlessly, but then, as soon as I used this code from the manual:

Code: ags

int i = Ags3d.AddCube(0.0, -5.0, 0.0);        // adds a cube for the ground at x,y,z
  Ags3d.SetPrimScale(i, 500.0, 10.0, 500.0);    // stretches it out to cover more space
  Ags3d.SetPrimColour(i, 0, 255, 0);            // makes it green
  Ags3d.SetPrimFilter(i, Ags3d_Filter_All);     // makes it visible and collidable


It crashed with an exception. I can recreate the error message numbers if you or CJ need them. So, when I did everything and commented out those lines above, it would compile and run, but only show one color in the background, the ags standard mouse on LOOKAT mode (?) and a static image of the cursor that I told AGS3D to use with the SetEditorCursorSprite ( int slot )-function, but using wrong colors or the wrong palette. All this was in 320x240 and 16-bit color depth. I then changed to 32-bits and all of the sudden one half of the screen was completly pink and no AGS mouse was displaye (but no AGS3D mouse cursor either). And -- of course, once I added those lines from above in, it would crash again.

So, to get a project started, I actually took your demo game and got rid of all the code and replaced it with mine and it suprisingly worked!

Thus, this is not such an important issue, but to ensure newbie-friendliness with AGS3D you should take a look at this as well, if you can find the time.

td

3D looks great! How i undarstand AGS engine get objects from Allegro.ddl for 3d? But here is the question for autor (or not).
Can i use my own flat background at first and then change flat image into cylinder (panorama). Well can i make game like Myst with this plugin?

Ubel

Hey Steve. Today I finally got myself to try really using this thing to make something. Well, I followed the instructions in the readme file and made myself a nice little scene using primitives. But when I pressed F4 to write the scene into a .txt file, it only wrote this:

Quote
Ã,  int i;
Ã,  // index 0
Ã,  i = Ags3d_AddCube(0.0, -5.0, 0.0);
Ã,  // index 1
Ã,  i = Ags3d_AddCube(0.0, 50.0, 90.0);
Ã,  // index 2
Ã,  i = Ags3d_AddRoof(0.0, 150.0, 90.0);
Ã,  Ã,  Ags3d_SetPrimScale(i, 100.0, 100.0, 100.0);
Ã,  Ã,  Ags3d_SetPrimRotation(i, 0.0, 0.0, 0.0);
Ã,  Ã,  Ags3d_SetPrimColour(i, 255, 0, 0);
Ã,  Ã,  Ags3d_SetPrimFilter(i, Ags3d_Filter_All);
Ã,  // index 3
Ã,  i = Ags3d_AddCube(0.0, 45.0, 40.0);

So basically it left out some really important information about the scaling and positions of the primitives. I hope you will try to find a way to fix these problems because I really want to start learning to use this thing. :)

Kweepa

#107
Quote from: td on Sun 09/07/2006 06:34:15
3D looks great! How i undarstand AGS engine get objects from Allegro.ddl for 3d? But here is the question for autor (or not).
Yes, I'm using allegro functions to draw triangles.

Quote
Can i use my own flat background at first and then change flat image into cylinder (panorama). Well can i make game like Myst with this plugin?

Yes, that's possible. Lock the player in place inside a textured cube, with each face of the cube a rendering with a 90 degree field of view looking forward, back, left, right, up, down. See this thread:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=25492.msg327790#msg327790

Pablo,
Perhaps the problem is that you have locked the .txt file and AGS can't open it for writing, so you're looking at an earlier version. Try closing it before pressing F4. I've been using the export for ages without problems.
If that's not it, let me know.

dkh,
I'll take a look soon, I promise :)
Still waiting for Purity of the Surf II

Ubel

Nope that didn't happen. As I said, it was just written like that in the text file when I pressed F4. I tried many times afterwards and always there was some primitive's information missing in the file.

Kweepa

#109
v1.18 is up!
This version is a big change from the previous version. The main changes are:
* swapped Y and Z axis! This is a painful change, but necessary to make the mathematics consistent with certain matrix and vector conventions
* added support for as many lights as you want (there's a performance cost, of course)
* removed Novodex physics (it was a gimmick that I didn't want to support)
* big internal rework of the plugin code base to support the lights, and get some speedup
* fixed a few bugs with the F4 code (nothing that would cause Pablo's problems I don't think)

I also updated the documentation to better reflect setting up a demo game. I worked through the instructions and successfully got a game going this time :=

Cheers,
Steve
Still waiting for Purity of the Surf II

DoorKnobHandle

Ah, great! I am downloading right now, but it sounds cool. ;D

Ubel

When I try to compile (well, actually save a room):

Quote
---------------------------
Compile Error
---------------------------
There was an error compiling your script. The problem was:

In: 'Ags3d header'



Error (line 139): PE03: Parse error at 'Ags3d_LightType'



Do you want to fix the script now? (Your room has not been saved).
---------------------------
YesÃ,  Ã, NoÃ,  Ã, 
---------------------------

Kweepa

Hmm... did you add the module and the plugin as described in the help text?
Sounds like one of them is old.
Still waiting for Purity of the Surf II

Ubel

Heh, sorry I made a silly mistake. I DID do everything described in the help file. BUT I still had the older AGS3d.dll in my agseditor folder. So it works now. Also the F4 problem seems to be gone, but I'll report if it returns again. Thanks. :)

Ali

I'm having trouble with 640x480, the same problem Garage gothic mentioned earlier in the thread. At high-res I just get a 320x240 window in the top left of my screen. I remember an earlier demo that worked in 640x480, but the documentation for the new version says it's still supported.

I'm interested in the QuicktimeVR-ish possibilities you've demonstrated Mr McCrea, so high res would definitely be preferable. Also, would it be possible to alter the size of the 3D window within a game, so a player could choose based on the speed of their PC?

Sorry for all the questions, but my understanding of how this works is minimal, I just think it's pretty and fun.

Kweepa

I'm sitting in a hotel lobby right now, so I can't check on 640x480, but it's perfectly possible to change the 3d window size in game. (You could load up a complicated scene and change the size until the frame rate is acceptable.)
I'd be interested in seeing a decent render in Ags3d-QTVR. My modelling, texturing and lighting skills are all just about non-existent. Let me know how you get on.
Still waiting for Purity of the Surf II

Ali

I discovered the SetWindow function, it's pretty nifty. With 640x480 I either get a tiny window in the top-left, a tiny window constantly spinning(this happens in a number of resolutions) or an error. I'm not on my home machine either, so I'm afraid I don't have the details.

One new problem I've had is that the third 'Ray Hits' float goes off the edge of my screen so I can't read it and just have to estimate where objects should go. Also, in a QTVR context it would be very useful to be able to change the filter for all objects at once in-game, and possibly to position them. This would make it very easy to position objects to act as hotspots, then make them invisible.

Hope you're enjoying what sounds like a holiday/sitting in a hotel lobby for no reason. Feel free to relax and not bother dealing with my ungrateful whining.

fred

WOW! It's been ages since I checked the Technical Archive threads, but still unbelievable that the 3d-plugin evolved this rapidly. Awesome work!

I'll have to completely rethink my year-old game project now...  :D

abibliophobe

I'm also getting the problem with using resolutions larger than 320x200 putting the screen in the corner (sounds like a common thing), but also another thing with the colour depth - 16-bit works fine, but 32-bit colour makes the screen squash the 3d viewing screen thing to one side and sticks my sky background on the other side. And if I use 16-bit it just puts in a (default?) blue sky instead of the one I made.

Sunwalker

Nice module but I meet the same problems like Ali and Zirconius : Impossible to use 640x480 resolution and 32 bits colour depth. This resolution worked in v1.17 but not in this one. 32 bits colour never worked even in the other version. What's the solution to these problems ?

Kweepa

Ok, sorry for the delay.
I finally got around to investigating these problems.

32 bit - I'm not sure this has ever worked, now that I look at the plugin code. I'll see what I can do about it for the next version, but for now, you'll just have to use 16 bit, which works fine.

Sky - I seem to have commented out the code that draws the sky, so it's always a default blue sky. Sorry about that. I'll put it back for the next version.

Resolution higher than 320x240 - You need to use the Ags3d.SetWindow function to position and size the 3d window. I didn't want to make the plugin automatically resize the window depending on the room size because you might have called the SetWindow function. I suppose I could check for that, but it's not really all that necessary because it's much easier not to and not obvious what's happening behind the scenes.

Not sure when I'll have time to release another version, but it probably won't contain much more than these fixes.
Still waiting for Purity of the Surf II

Sunwalker

Thank you Steve, that works perfectly! In any case I await the new version impatiently. There are some functionalities which I would like much to see in one of your future versions:
- The use of the characters in 3D with plug-in character3D.
- Possibility of having a character in front of the camera for a play in third person view.
Of course, that is only suggestions and you does of them what you want. Continue your super job!

Kweepa

Ok, I updated to v1.19.
http://www.steporg.com/step/ags/tech/Ags3d119.zip
Now, 32 bit works fine, as does the sky (which must be the same colour depth as the game).
I also replaced the "editor cursor sprite" with a crosshair because I was having trouble rendering the sprite in 32 bit.
Still waiting for Purity of the Surf II

Sunwalker

Good, I tested the new version of Ags3d, Steve. Thanks to the SetWindow command, I could put the game in 640x480 without problem. On the other hand impossible to go beyond without bugs. Just to know, it is normal that we cannot ? Did you voluntarily limit the resolution ?

With regard to the pallet in 32 bits, the bug disappeared, replaced by another! Indeed, as soon as I launch my game with this mode of color, it plants and is closed immediately. It is not really a big problem because 16 bits is already sufficient.

Besides, they is always cool. I tested the loading of models OBJ and it goes perfectly. On the other hand, it is necessary really to optimize the number of polygons to the maximum if we doesn't want it lags. A question about models OBJ: How do you make to import some with textures in your game ? I use 3dsMax and at the time of export, I do not see exactly what it should be done so that texture appears on the model concerned. A tutorial could be useful in this case. A small problem with certain models: I pass through the walls by places and at others I block straightforwardly whereas one must be able to reach it. I do not know from which the problem comes (Perhaps an adjustment of the box of collision of the hero ?)

Another question: I do not understand well the operation of the SetFirstPersonStepDown command. I put various values, but I do not see any change. With what that is used and how to make use of it? Is it what makes it possible to define the value from which, the hero will be able to go up on objects? (like the steps of a staircase)

Here, I will stop there for the moment with my questions. I hope not to annoy you with all that but I like much work that you made with it plug-in and I try to understand the least details of them before using it to do something of concrete.

Ubel

In the new version the shadows aren't similiar to those in the screenshots anymore, which bugs me a lot. For example, if I make a box, two of the sides that should be shaded with a darker color are now plain black. I might be just missing something, but if I'm not, could you please fix this? :)

Kweepa

Quote from: Pablo on Sat 07/10/2006 15:22:45
In the new version the shadows aren't similiar to those in the screenshots anymore, which bugs me a lot. For example, if I make a box, two of the sides that should be shaded with a darker color are now plain black. I might be just missing something, but if I'm not, could you please fix this? :)
Oh, yeowch. I'll take a quick look and get a fix out.
Still waiting for Purity of the Surf II

IceMan

Apologies if this has already been covered, but does this support sprites that only face on direction (i.e. don't always face the camera)?

Thanks

Sunwalker

You have the function Ags3d.SetObjectSpriteUseHeading (oObject, bool). You put the name of your object at the place of oObject and you replace bool by true if you want that your sprite stay fixed and false if you want that it always faces the camera (what it does by default). Of course, it is necessary that your sprite is an object which you created in AGS and not simple a sprite. I did not find a command doing that directly on a sprite. Finally the difference between a sprite and an object is small.

IceMan

Great stuff!  Thanks sunwalker.

Sunwalker

Steve, could you make available variable X, Y, Z of Ray Hits please? It would be very useful to develop a FPS.

Kweepa

I've added a bunch of new accessor functions and updated to version 1.20.
See the first post or get it here: http://www.steporg.com/step/ags/tech/Ags3d120.zip

Pablo, I don't see the problem. The lights were updated several versions ago - perhaps you need to add an ambient light?
Still waiting for Purity of the Surf II

Sunwalker

Steve, I tested some of the functions (GetRayHits and GetPrimPosition) but they always return me a float equal to 0.00. I think there is a problem somewhere, no ?

DoorKnobHandle

Quote from: Sunwalker on Mon 23/10/2006 10:35:28
Steve, I tested some of the functions (GetRayHits and GetPrimPosition) but they always return me a float equal to 0.00. I think there is a problem somewhere, no ?

In this context I'd like to re-mention the problem with the functions that should return the camera position values and returned 0.0f always as well. I think those problems still exist, if I didn't miss anything.

Great work with version 1.2 though, it's getting better and better with each and every update! :)

Kweepa

#133
Ok, I fixed the float return values, and reuploaded v1.20.
I should have done a forum search to find this answer (rather than poring over calling conventions and the AGS source code): :)

Quote from: Pumaman on Mon 10/10/2005 18:47:05Floats are a bit special in the AGS scripting system. This is because most compilers such as GCC and MSVC always convert floats to doubles (64-bit) when passing to and from functions, whereas the AGS script actually uses them as 32-bit floats.

This is an extract from the AGS Source Code on how the engine deals with this problem. It's not pretty.

#define SCRIPT_FLOAT(x) long __script_float##x
#define INIT_SCRIPT_FLOAT(x) float x = *((float*)&__script_float##x)
#define FLOAT_RETURN_TYPE long
#define RETURN_FLOAT(x) return *((long*)&x)

int FloatToInt(SCRIPT_FLOAT(value), int roundDirection) {
  INIT_SCRIPT_FLOAT(value);

  int intval = (int)value;

  return intval;
}

FLOAT_RETURN_TYPE IntToFloat(int value) {
  float fval = value;

  RETURN_FLOAT(fval);
}


Above are some examples of a (stripped-down) version of FloatToInt and IntToFloat to demonstrate how the macros are used.
Still waiting for Purity of the Surf II

Sunwalker

Thank you Steve. It seems to work. Excellent job. ;D

abibliophobe

Okay, so this is probably something stupid, but when I try and rotate an object by putting in Ags3d.SetPrimRotation(i, 20, 0 ,0) [where i is the int value thingy for a cube as in the default code in the manual/readme/thing] it comes up with a scripting error - "Type mismatch: cannot convert 'int' to 'float' ".

Normally I would assume it was something wrong with my coding but if I change "Rotation" to "Colour" or "Scale" or any of the other parameters it works fine...

DoorKnobHandle

Quote from: Zirconius on Wed 15/11/2006 11:49:12
Okay, so this is probably something stupid, but when I try and rotate an object by putting in Ags3d.SetPrimRotation(i, 20, 0 ,0) [where i is the int value thingy for a cube as in the default code in the manual/readme/thing] it comes up with a scripting error - "Type mismatch: cannot convert 'int' to 'float' ".

Normally I would assume it was something wrong with my coding but if I change "Rotation" to "Colour" or "Scale" or any of the other parameters it works fine...

Untested, but you should try it with:

Code: ags

Ags3d.SetPrimRotation ( i, 20.0, 0.0 ,0.0 );


The ".0" means you're passing floats instead of ints, and this function seems to expect floats!

abibliophobe

Thanks dkh, that seems to work ;D

Gareth r 07

hi.
    (before you say anything, i know this probably doesnt belong in this forum, but i dont know where else to post it!)

ok, i have tried all different versions of ags3d with all different versions of ags, but keep being bombarded with errors. i can fix some, but then i get struck with another. the one i am stuck with at the moment says;

---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x01E13BB5 ; program pointer is +31, ACI version 2.71.894, gtags (2039,18)

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   
---------------------------



i am totally stumped because the demo works fine. can somebody please help me... i cant even start making a new game.   :(

Kweepa

Did you use the tutorial? At what point did it stop working for you?
Still waiting for Purity of the Surf II

Gareth r 07

i followed the tutorial.... then i got some error saying parse error. i selected the tick box in the plugin manager, and that got rid of that error. i can now save the game... but when i go to test it, i get that error that i stated above. i have tried a combination of versions of ags and ags3d, so its not a compatability issue. i am stumped. can you help?

Rui 'Trovatore' Pires

#141
I don't know whether it's an AGS2.8 issue or a plugin issue, so I chose to post it here:

---------------------------
Adventure Game Studio
---------------------------
There was an error loading plugin 'ags3d.dll'.



System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

   at AGS.Editor.NativePlugin.AGS_GetPluginName.Invoke()

   at AGS.Editor.NativePlugin..ctor(String fileName)

   at AGS.Editor.Components.PluginsComponent.LoadPluginIntoMemory(String fileName)
---------------------------
OK   
---------------------------

I get this error when opening AGS (the 2.8 beta 2 version). And naturally, as a result, the plugin isn't even on the available list.

So, think this is an AGS or plugin issue? Or is it just my PC? Using the 1.20 version, naturally.

EDIT - Quick test, it seems to run on 2.72.
EDIT2 - But I'd like it to run on 2.8...  ::)
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Rui 'Trovatore' Pires

#142
Steve seems to be away, or something...

I hope he comes back eventually, or else compatibility of this great piece of work is trully broken. Did anyone get it to work with AGS 2.8?

Edit:

Here's a mirror: http://www.2dadventure.com/ags/Ags3d120.zip

Anything else you need, just ask. I got tons of modules and plugins in my hard drive, packrat that I am.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

strazer

Well, since you're asking, Steve is absent and all his links are broken, so we also need the Panorama module v1.4 and the OtherRoom plugin.

Rui 'Trovatore' Pires

#144
Consider it done!

EDIT (in reply to the next one, no need to make a new post) - No worries!
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.


.M.M.

#146
Some plugins are on http://www.rudolphuebe.com/ags that link- pnorama too! :)

Edit by strazer: Don't double-post. Use the Modify button to edit your post to add info!

Monsieur OUXX

At the beginning of this thread, Steve said that he would maintain both the module+plugin combo AND the standalone module. But then, people only seem to talk about the module+plugin combo. is the standalone module still existing somewhere?
 

Kweepa

The standalone module is defunct. The last version that was just a module was 1.13, but I don't have a link to that handy. I'll see if I have it around somewhere if you need it.
Still waiting for Purity of the Surf II

Rui 'Trovatore' Pires

Yay, Steve's back!

...can you adress the little issue I had? ::)

Quotedon't know whether it's an AGS2.8 issue or a plugin issue, so I chose to post it here:

---------------------------
Adventure Game Studio
---------------------------
There was an error loading plugin 'ags3d.dll'.



System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

   at AGS.Editor.NativePlugin.AGS_GetPluginNa me.Invoke()

   at AGS.Editor.NativePlugin..ctor(String fileName)

   at AGS.Editor.Components.PluginsComponent. LoadPluginIntoMemory(String fileName)
---------------------------
OK   
---------------------------

I get this error when opening AGS (the 2.8 beta 2 version). And naturally, as a result, the plugin isn't even on the available list.

So, think this is an AGS or plugin issue? Or is it just my PC? Using the 1.20 version, naturally.

EDIT - Quick test, it seems to run on 2.72.
EDIT2 - But I'd like it to run on 2.8...
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Monsieur OUXX

Quote from: SteveMcCrea on Tue 13/11/2007 00:36:58
The standalone module is defunct. The last version that was just a module was 1.13, but I don't have a link to that handy. I'll see if I have it around somewhere if you need it.

Yeah, that would be cool...
Glad you're back, all your links are broken, only your avatar remained - it felt like ghosts appearing briefly on pictures in "blackwell"  ;)
 

Kweepa

Okay, here's the last module only version:
http://www.kweepa.com/step/ags/tech/Ags3d113.zip
THIS IS OLD AND UNSUPPORTED!

Rui, I got Ags3d working with Ags 3.0 release candidate. I still haven't got it working in debug though. Just from the compiled folder. I don't think I had to make any changes, but I can check later.
Still waiting for Purity of the Surf II

Monsieur OUXX

#152
Quote from: SteveMcCrea on Wed 14/11/2007 01:43:53
the last module only version IS OLD AND UNSUPPORTED!

...But was it terribly bugged, or just a bit?
 

Rui 'Trovatore' Pires

Hey, now it does work! Must have been an AGS beta-thingy all along! Thanks!
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

.M.M.

I have a problem- according to manual I used
Code: ags
   Ags3d.SetObjectPosition(oDoorhandle, -15, -15, 60); 
. AGS announced me
---------------------------
Compile Error
---------------------------
There was an error compiling your script. The problem was:

In: 'Room 1 script'



Error (line 53): Type mismatch: cannot convert 'int' to 'float'



Do you want to fix the script now? (Your room has not been saved).
---------------------------
Yes   No   
---------------------------

Ashen

According to the manual, the x, y and z values in that function should be floats, not ints (which is what the error message means, too). So, stick '.0' on the end of them (-15.0, -15.0, 60.0), and it should complie.
I know what you're thinking ... Don't think that.

.M.M.

Thanks!  ;D
If character walk on x or y >0 he appear on the screen...

Kweepa

Use a walk behind that covers the screen to prevent characters and objects appearing in 2D.
Still waiting for Purity of the Surf II

gojerry

I'd really like to make the crosshair go away.

Could you include that option in the next release?

.M.M.

Can You update demo download link, please?

Gius

Hi,
I desire with Ags3d to build a software for pupils with spatial problems.
If it is possible to increase the game superior resolution to the 640x480?
Thanks Giuseppe

Kweepa

Quote from: Gius on Wed 12/12/2007 17:02:42
Hi,
I desire with Ags3d to build a software for pupils with spatial problems.
If it is possible to increase the game superior resolution to the 640x480?
Thanks Giuseppe

I don't have any plans to increase the resolution beyond 640x480, sorry. That should be enough though.

Quote from: Mirek on Wed 05/12/2007 20:22:00
Can You update demo download link, please?

Which demo link are you referring to? Please include a link to the message in question.

Quote from: gojerry on Wed 05/12/2007 01:08:05
I'd really like to make the crosshair go away.

Could you include that option in the next release?

I can do that. I'm not sure when the next release is going to be - probably not before Christmas anyway.
Still waiting for Purity of the Surf II

.M.M.

#162
Quote
Which demo link are you referring to? Please include a link to the message in question.
Somewhere here must be demo link but almost everything isn´t working.
Quote
magintz
Mittens Regular
Member

Re: MODULE: Ags 3d
« Reply #44 on: 13 Oct 2005, 18:34 »    Reply with quote
Has anyone got a demo game or something so I could just see for myself what ths is like, the screenshots only show it so much.
      
   
Elliott Hird
Member

Re: MODULE: Ags 3d
« Reply #45 on: 13 Oct 2005, 18:43 »    Reply with quote
Look a few posts back.
Here is why I am looking for it.

Rui 'Trovatore' Pires

#163
Steve, could you post a code example of what to do if one wants to load an .obj file? I can't seem to get it to work. Here's what I've been trying -

Code: ags
  Ags3d.SetCameraPosition(0.0, 0.0, 66.0);      // positions the camera
  Ags3d.SetCameraResetPosition(0.0, 0.0, 66.0); // selects a point to restore the camera
  int l = Ags3d.AddLight(Ags3d_LightType_Directional); // creates a light

  int i = Ags3d.AddCube(0.0, 0.0, -5.0);        // adds a cube for the ground at x,y,z
  Ags3d.SetPrimScale(i, 500.0, 500.0, 10.0);    // stretches it out to cover more space
  Ags3d.SetPrimColour(i, 0, 255, 0);            // makes it green
  Ags3d.SetPrimFilter(i, Ags3d_Filter_All);     // makes it visible and collidable

  int inew = Ags3d.LoadModel("kitchen.obj"); //Also tried just "kitchen", no good result
  Ags3d.AddModel(inew, 0.0, 100.0, 0.0);
  Ags3d.SetPrimFilter(inew, Ags3d_Filter_All); // added later in desperation, no result either


Sorry to bother you with this, I'm sure it's something simple I'm not getting... btw, is there any limit as to how complex an OBJ file can be?

EDIT - BTW, for whoever needs the crosshair to go away, it's as simple as Ags3d.SetEditor(false);. I couldn't get any of the mouse cursors to show, but an easy workaround is to have a GUI that'll serve as your mouse. Check for, and change, the graphic in the GUI to set and change the cursor mode, and act accordingly, and all that.

BTW, Steve, in a very early form of Ags3d, the module form, I could, and it sure pleased me, code it so that the camera moves forward when I clicked a mouse button. Now I'm stuck with the keyboard. Think there's any chance of this coming back?

EDIT 2 - Steve, I'd just like to say that I'm curently using your module for a quick one-room game. I am amazed at the possibilities it offers, and since a lot of it is either un-documented or poorly documented (SetLightAmbientValue doesn't exist anymore, does it? ;) ), and am very curious as to what your plans at regarding the future of Ags3D. Apart from the above-mentioned and the camera-recording code, accourse. ;=


EDIT 3 - BUG - when in the editor, scaling a prim will default the minimal size for the "F/T" scale to 5.0, even if we'd resized it to a smaller size with right SHIFT (a great feature, pity it's undocumented, doesn't work with colours and has no correspondent por merely decimal values).

And two suggestions - it would be great if, in the editor, we could choose the face of the cube we want textured, and extremely great if we could edit lights the way we can edit prims. Setting up the lights can be quite a task, especially if, like me, you don't know the difference between Cone Radius, Directional, Point and Point Radius, and then have to blindly adjust the results manually in the script editor.

And Steve, the more I use the module/plugin the more impressed I am. It's amazing! You have truly excelled!

EDIT 4 - And it's a bit of a gamble whether setting a prim to a parent will work, and it seems that when exporting "SetPrimParent" the line in SCENE.TXT will refer to "FindPrimByTag", and I didn't necessarily use a tag...

...er, Steve, are you reading this thread at all?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

ncw14

#164
FIXED sorry i wasnt reading tutorial

ncw14

#165
fixed that but now this
i edited room made box earased the code put old one back so i could redo roof now it wont save
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x7C901010 ; program pointer is +1007, ACI version 2.72.920, gtags (11,36)

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   
---------------------------


ncw14

#166
i Fixed my problems but im thinking of making a game like doom so,

2 Questions - someone please answer

1.how could i get a Gun pointing from the camera like in any first person shooter you cant see yourself only your hand and the gun your aiming

2.i changed the scale of cubes to make stairs but how can i make it so that i can walk up them like the camera goes up, it wont let me walk up them only against them, it considers them a house or wall not stairs

ncw14

#167
Quote from: Pablo on Sat 07/10/2006 15:22:45
In the new version the shadows aren't similiar to those in the screenshots anymore, which bugs me a lot. For example, if I make a box, two of the sides that should be shaded with a darker color are now plain black. I might be just missing something, but if I'm not, could you please fix this? :)
i have that same problem i thought it was just me
im not sure if its part of this problem but im trying to put a texture on the floor and none of the faces change at all

Dualnames

I've checking out the module/plugin and it's gorgeous.
Two things: some typos at the readme can be very not noob friendly
and the plugin can show to the user it's true usefulness and friendlyness if that user checks before blender. Blender is 2*infinity less friendly than this module.

Some things disturb me though but I'm on the beginning so i'll post them later..
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Dualnames

Quote from: ncw14 on Thu 21/02/2008 21:16:09
i Fixed my problems but I'm thinking of making a game like doom so,

2 Questions - someone please answer

1.how could i get a Gun pointing from the camera like in any first person shooter you cant see yourself only your hand and the gun your aiming

2.i changed the scale of cubes to make stairs but how can i make it so that i can walk up them like the camera goes up, it wont let me walk up them only against them, it considers them a house or wall not stairs

You could put a rep_exec line like this:
int on=40;
float one=IntToFloat(on);
Ags3d.SetObjectPosition(Ags3d.GetCameraX(),Ags3d.GetCameraY()-one,Ags3d.GetCameraZ());
Ags3d.SetCameraRotation(180.0,0.0,0.0);


Then add an one key press function with two keys for strafing
//i think it might be the other way around
float left=IntToFloat(5);
float right=IntToFloat(5);
if (keycode==) {//left
Ags3d.SetCameraRotation(180.0+left,0.0,0.0);
}
if (keycode==) {//right
Ags3d.SetCameraRotation(180.0-right,0.0,0.0);
}
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Gius

Hi, 
in my game I want with the mouse click interact on some objects or character,
but I have this problem with Ags 3d: for interact with click the mouse an object I have to be very near and with a particular angling
and it works only in the center of the figure. 
It's  possible interact with click the mouse an object to so much distance and in an any point of the figure? 
 
thanks

Rui 'Trovatore' Pires

It is. I don't recall exactly how, but I do remember it's in the manual.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Gius

hi,
may be: function SetFirstPersonCollisionBox (floatHeight float, float radius, float height);?

is also used to interact with click the mouse?

thank you

Rui 'Trovatore' Pires

function SetLookAtRange(float range);

function SetLookAtAngle(float degrees);

I would have thought the functions' names were self-explanatory. :P
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Gius

hi,   
I have added a cube with   
  int i = Ags3d.AddCube(0.0, 0.0, -5.0);       
  Ags3d.SetPrimScale(i, 1500.0, 1500.0, 0.0);     
  Ags3d.SetPrimColour(i, 0, 255, 0);               
  Ags3d.SetPrimFilter(i, Ags3d_Filter_All);     
   
is possible clicking this cube with the mouse
as interact object?   
thanks
Gius

Gius

Hello everyone,

how can I use AreThingsOverlapping
between a character and the "camera"?


Thank you
Gius

yarooze

I hope it is ok, that I dig out this thread. I hope this is the best place to ask questions to ags3d.  ::)

I played with ags3d and find it quite powerful.  But there is a big problem that annihilates all the cool sides of this addon for me. I can not activate mouse cursor for 2d stuff...  :'(

Ags3d works quite good as long my character walks in 3d world. But I can not use GUIs. The mouse cursor stucks in the middle of the screen and I can not press any GUI key...

  Ags3d.SetFirstPerson();
  Ags3d.SetMouseLook(); 

This functions do not help. They freeze my character in 3d world, but my cursor stays stuck in the middle of the screen.  :-\

I wanna make normal AGS game and insert some 3d rooms in it. So I need some 2d rooms...

  Ags3d.Set3d(false);

This function works fine at first, since I get my 2d room. But then the same problem with the mouse cursor.  :(

  Ags3d.SetFirstPerson(true);
  Ags3d.SetMouseLook(true); 

This stuff helps me not either. The same problem like in the 3d world.

The only way to use mouse cursor, is to call some debug function. Like ctrl+x or ctrl+v.

So... Who knows how to solve this problem?  ::)
My Blog

Cpt Ezz

I want to marry your brain.....not in a gay way......my dream has finally  come true AGS IS 3D ;D ;D ;D(sort of)
You rock

Invalid

#178
I am wanting somebody to continuasly follow the camera and this is the code i came up with:

//in repetedly execute
float playerx=Ags3d.GetCameraX();
float playery=Ags3d.GetCameraY();
float playerz=Ags3d.GetCameraZ();
int intplayerx=FloatToInt(playerx, eRoundNearest);
int intplayery=FloatToInt(playery, eRoundNearest);
int intplayerz=FloatToInt(playerz, eRoundNearest);
cperson.Walk(intplayerx, intplayery, eNoBlock, eAnywhere);

but when i do, the person just stands still and plays the walking animation
I need some help

Wonkyth

I just gave this a little tinker, but after a few indescribable things happened it gave me this:

---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x10004795 ; program pointer is +6, ACI version 3.12.1074, gtags (0,36)


I probably should post this error in the tech forum, but I haven't got time at the moment, and I thought this might be a known problem.

All I did was follow the instructions... :-\
"But with a ninja on your face, you live longer!"

Sledgy

Guys! Did anybody get normal result with first steps in instruction 'ags3d.rtf'?


After "Save the room as room1.crm, then run the game!
You should be standing on a large green plane." I got strange effect - green ground runs (or camera) somewhere and I can't walk.

There's 2.72 project: http://jift.narod.ru/invis/ags3d_steve_project.rar


It's like insane carousel ! WTF???

Dualnames

I've managed to get a room running once following the instructions! It was long time ago. I'll see if I still have the game files somewhere.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

gojerry

This happens to me too and I was never able to get it to work starting from scratch. What I have done with great success is to start from the demo modify it from there.

Quote from: Sledgy on Mon 04/01/2010 13:14:58
Guys! Did anybody get normal result with first steps in instruction 'ags3d.rtf'?


After "Save the room as room1.crm, then run the game!
You should be standing on a large green plane." I got strange effect - green ground runs (or camera) somewhere and I can't walk.

There's 2.72 project: http://jift.narod.ru/invis/ags3d_steve_project.rar


It's like insane carousel ! WTF???

Construed

Hey, I love this!
However the character seems to spin out of control when i build it from the source.
And i cannot find the demo.
Also i was wondering if you ever got to enable multi textured surfaces?
I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Construed

#184
Solved the problem, need 320x240 resolution in the newer versions of ags.
Is it possible to load fully textured models with this??
I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Dualnames

Quote from: GrimReapYou on Wed 16/02/2011 07:18:49
Solved the problem, need 320x240 resolution in the newer versions of ags.
Is it possible to load fully textured models with this??

No. That means you're looking for Razorblade 3D which supports fully textured models.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Construed

Yea razorblade3d is great.
Unfortunatley a problem i've faced for many years..
Irrilicht and other certain 3d engines contain something that gives me and alot of other people a
Direct3d error and my main goal in game creation is to create something everyone can use.
I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Bjyman

Get this error when I try to test my game Error (line 106): PE03

It says parse error at AGS 3D Filter. What am I doing wrong? Thanks

SMF spam blocked by CleanTalk