MODULE: Easy3D v1.04 - Create 3D games

Started by Wretched, Tue 18/04/2006 19:27:16

Previous topic - Next topic

Wretched

Easy3D script module - Create 3D games using the AGS editor. And add 3D parallax areas to normal 2D rooms.

All the rooms in the game are built in AGS as normal playable 2D rooms, with objects, characters, hotspots, walkable areas, and regions as normal. Then by initiating the module, with just one function call, the display switches to 3D and the same room can be played in 3D. The module also provides 3D parallax areas that can be added to standard 2D rooms.
It is very processor intensive so at least a 2GHz computer is recommended!

To give you an idea of what the effect looks like, here's an ingame screenshot of Bog's Adventure in Easy3D that uses this module:



Download Easy3D Module here (Requires AGS v2.71 and up)

or Download Easy3D Module here (Requires AGS v3.1 and up)

Here's the source code to a cut down version of Bog's Adventure in Easy3D to show how to use Easy3D:
Demo Game for AGS v2.71 (4 Mb)

or Demo Game for AGS v3.1 (10 Mb)

Revision History ---------------------------
1.04 Added flipped character sprites

Adamski

#1
This is rather nifty! It seems to impart a very unique sense of immersion... well, to me at least!

GarageGothic

I'm very impressed with the framerates I'm getting, and the interface is so easy to use. I could see myself using this - if not for a full game, at least for some special sequence like a chase, a spectacular camera move or similar. Great, great achievement.

lo_res_man

COOL!! so you could make games like say, "Grim fendango" and "monkey island 4" ?
†Å"There is much pleasure to be gained from useless knowledge.†
The Restroom Wall

Afflict

#4
I messed around with it and it looks very fun and entertaining. The only thing is I place animated bgs and, well, it skips through them ??? What am I doing wrong?

You need to supply the side of the screen (eE3dParallaxTop, eE3dParallaxBottom, eE3dParallaxLeft, eE3dParallaxRight), and where you want the parallax start from, in Room coordinates.

And I get an error saying that dynamix sprite was not deleted ???

Well that's it from me. Other than this it looks very kewl!

Wretched

#5
If it's skipping through the backgrounds then you can't have called E3d.Init(); Make sure it's in the "Player enters room (before fadein)" script.
If you're just doing parallax then you don't need any animating backgrounds.

The dynamic sprites warning is a bit annoying, there is a tracker suggestion for a eEventQuitGame event which I'm waiting for.
Just change any QuitGame(1); in the global script to {E3d.UnInit(); QuitGame(0);}

monkey0506

As for the initialization, why make the user call it?  You can put this in the module script:

Code: ags
function game_start() {
  E3d.Init();
  }


Which will take care of it automagically at the start of the game!  But since there's no game_end function or eEventQuitGame event, the user will still have to ensure DynamicSprites get properly deleted...

Wretched

Monkey, the E3dInit(); has to be called from each room that requires the 3D, as it creates lots of dynamic sprites based on the rooms backgrounds. E3d.UnInit(); automatically gets called when player leaves room. If you want a room without the 3D then you just don't call E3d.Init();

Afflict

#8
Thanks. I just need to learn how to make walls etc. :)

Edit:

Found a bug: The character is moonwalking :)

If you used the flip function on your sprites your character ignores them ?

Wretched

Thanks, fixed demo link, ok flipped sprites now supported but only for characters, not animating objects.

monkey0506

#10
Okay, sorry, I didn't look at any of it (yet) so I was just asking.  But could you put it in on_event for the eEventEnterRoomBeforeFadeIn event?  That way you could get it out of the user's hands (and if there's a reason this won't work, please feel free to school me :=).

And you could call the UnInit function from eEventLeaveRoom to ensure that the sprites are removed when changing rooms (although this doesn't help if the game is exited without calling UnInit).

I think I may take a look at this module now...

[EDIT:]

You already call UnInit when the player leaves the rooms...And...I suppose that calling Init from on_event would suggest that every room is 3D.

Afflict

Wow I really like this thing.. Hehe its easy.

Well I slightly dont understand how the whole wall system etc works but the demo sorta cleared that out :)

Thanks

Afflict

strazer

Quote from: lo_res_man on Tue 18/04/2006 23:13:33
COOL!! so you could make games like say, "Grim fendango" and "monkey island 4" ?

No, those games had static pre-rendered 2D backgrounds and real 3-Dimensional characters. You're looking for the Character3D plugin.

edmundito

#13
What happens when you combine both powers? the backgrounds and the characters?

Gasp!
The Tween Module now supports AGS 3.6.0!

lo_res_man

It would probably cause your computer to go into meltdown, both sound very hardware intensive.
†Å"There is much pleasure to be gained from useless knowledge.†
The Restroom Wall

Scorpiorus

#15
Nice work with the module, looks cool :)

Sola

Hi! First I want to say 'nice work' on this!
but I have a problem:

I followed your manual and tried to run the game and it gave me this message:


---------------------------
Adventure Game Studio
---------------------------
An error has occured. Please contact the game author for support, as this
is likely to be a scripting error and not a bug in AGS.
(ACI version 2.71.894)

in E3d (line 1732)
from E3d (line 2203)

Error: RawDrawImageResized: image colour depth mismatch: the background image must have the same colour depth as the sprite being drawn

---------------------------
OK   
---------------------------


I'm using 32 bit, high color graphics at a resolution of 640 & 480.
Any solutions? :'(

Wretched

Sounds like some of your character sprites are not 32-bit. For example the defult Roger is 256-palette and therefore can't be used.

Rui 'Trovatore' Pires

Whee, there I go bumping old ones...

Wretched, you supposedly link to the 1.04 version, but the version the archive actually contains seems to be 1.0.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Candle

Rui you can find 1.04 in the ags folder on my server .(see link in my sig)

SMF spam blocked by CleanTalk