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)

Rui 'Trovatore' Pires

Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

joelphilippage

When trying to make a room with walls using this script:
Code: ags

E3d.Init(eE3dFloor);
E3d.CameraMaxZ=240;
E3d.BuildWall(1, 70,100);
E3d.BuildWall(2, 72,100);
E3d.BuildWall(3, 72,100);

I get an error saying
"DynamicSprite.CreateFromBackground: Invalid frame specified
in
E3d (line3125)
from
Room 2 script (line 6)"



Rui 'Trovatore' Pires

Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

joelphilippage




.M.M.

Demo game announced error  undefined symbol "GetGameParameter".What I have to do??? :-\

Gilbert

Are you using AGS V2.72? The module was made for V2.71, the GetGameParameter() function had become obsolete since V2.72. You may try unchecking the "Enforce object-based scripting" option and see if it works.

.M.M.

#26
Thank you very much

Gius

Hi to everybody, 
 
It is possible (in Easy3D with AGS 2.72) to move the player with the directional keys 
or using KeyboardMovement (by Rui "Brisby" Pires & strazer)?

thanks

Rui 'Trovatore' Pires

It might be. Give it a whirl and do let us know how it turns out!
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

zeeman645

looks like a wonderful program im going to download it
~~~~~~~\0/~~~~~~~~~~~~~

this is a guy. hes drowning as you can see. i pushed him off the boat and into the ocean because he was bothering me. thats the kind of person i am.

JpSoft

Anyone knows if this module works with AGS 3.0.0 ??

Jp

.M.M.

Quote from: JpSoft on Sat 24/05/2008 16:38:05
Anyone knows if this module works with AGS 3.0.0 ??
Give it a try and you will see!   ;)

JpSoft

Quote from: Mirek on Sat 24/05/2008 18:44:55
Quote from: JpSoft on Sat 24/05/2008 16:38:05
Anyone knows if this module works with AGS 3.0.0 ??
Give it a try and you will see!   ;)

That is not a usefull answer.

Anyway, i dowloaded it and updated to AGS 3.0.0, but it give me an error with the object schema. I checked the code and it is ok for my understanding. Anyone had this trouble with 3.0.0?

Jp

Rui 'Trovatore' Pires

QuoteThat is not a usefull answer.

Would you rather have no answer, if no one else has tried it? It is a great answer - it means "try it! You won't lose anything, and if it works, we'd like to know."

From my recollection of the module it shouldn't be too problematic - what kind of error are you getting, specifically?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

JpSoft

#34
I mind that it was not very usefull since its supposed that anyone asking that will try to find the way, and the question was just to know if the answer was "NO" for any already known reason  :)

When i try to run the game, i get a "unknow object schema. Chech out if you spell it correctly" (i dont have the source code here) but I'm sure i follow correctly the intruccions and wrote everything where it must be. I  donwloaded the 1.0.4 version from candle url.

Anycase, i checked the code and i understood that the module is very complete, more than what i need. I just need generate a bird-eye perspective over a plain scenario,it minds, just one animating background (if you have played a RTS game you know what I'm taling about) since a RTS game is already enough heavy for the computer. I get the idea from this module and created a new module which looks can work great (until now only have 30 lines of code). I will upload it soon in case anyone can help me with it, since until now it works perfect with the ground but i still need include objects and characters in the 3D perspective.

Thanks

Jp

EDIT I finally was able to make the module runs, but it do not works for what im looking for anyway  :(

.M.M.

Try Ags 3D . It works OK on AGS 3.0 but only problem is that you cannot start up your game from AGS, but you can do that from compiled folder.

glenn

Quote from: Mirek on Wed 28/05/2008 07:16:02
Try Ags 3D . It works OK on AGS 3.0 but only problem is that you cannot start up your game from AGS, but you can do that from compiled folder.

AGS 3D is very complex, where Easy 3D seems to be very easy...I would appreciate if there was an update of that module for AGS 3.1.x...any chance?

None

#37
Okay I downloaded the demo source provided for 'bogs adventure' written for AGS 2.71
I then took that code, ran it into AGS 2.72, and 're-saved'
That allowed me to import the code in AGS 3.1,
Did a test and it appears to be working.
So this should work with AGS 3.0-ish.

I'm not a programmer, I just wanted to know if the module was compatible, and this was what I thought was the easiest way to test it, if someone wants to come behind me and double check this, I welcome them to.
I'd like to know what if any bugs/limitations, the creator might foresee.

-SAG

Post Testing:
The Demo Source, when updated, works fine. This being V 1.0 of the Mod.

BUT, when trying to import the updated module (the plugin available for download) I'm unable to adapt the 'control gui included' the one .gue (compared to the modern 'guf?')
Tried to upgrade it using the method I did with the demo game source, but I get errors.

Is the creator of this mod, still lurking around?

Snake

Just out of curiosity, is there anyone making a game with this yet?

(beside's Bog's Adventure, that is)
Grim: "You're making me want to quit smoking... stop it!;)"
miguel: "I second Grim, stop this nonsense! I love my cigarettes!"

LimpingFish

#39
Quote from: Snake on Sat 03/10/2009 19:25:17
Just out of curiosity, is there anyone making a game with this yet?

Like the majority of modules/plugins that allow AGS to render games in alternative graphical styles (AGS3D, Panorama, etc), nobody ever seems to get around to actually releasing something that takes advantage of them.

I'm still the only person to release anything using the Panorama module, despite a fully working version of it being available since the summer of 2006 and despite people's requests for high resolution support and various other tweaks being fulfilled, and as far as I can tell nobody has ever used the AGS3D plug-in or the Easy3D module in a finished game.

Bit of a rant, but there you go.

EDIT: Bit of a slightly off-topic rant, actually. Sorry about that.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

None

 ;D *cough* maybe, someone is *cough* working on one using this... *cough*

I loved the Panorama 3d Effect Module <3 but taking the time to draw in center point perspective for each wall of the cube, was dizzying. Each room had to be plotted out so carefully.

Really you need a 3d program, and the knowledge to render, which I don't have, making the Panorama Addon (which I still love) too complicated for most.

This one was just made compatible with 3.+ Thanks to Wretched, (bows bows)

And the results once I learn how to use everything and tweak can be really cool.


The other one I'm interested in using is the AGS3d Character Plugin, since I have a copy of milk-shape and limited 3d ability.
Want to use it but, don't know if it and AGS Easy3d conflict.
Also intend to use the 'Theora Video Plugin' so...

Someone Out Here Appreciates it!! Keep it up modders, you make good games better.

Construed

Any chance for camera rotation with this?
I felt sorry for myself because I had no shoes.
Then I met the man with no feet.

Shane 'ProgZmax' Stevens

Normally I don't say anything because I know there are good mods to deal with this sort of thing in Tech, but is your name GrimReapYou because you're some self-appointed reviver of moldy, dead threads?  Seriously, this is like what, the 8th or 9th you've brought back from a year plus limbo now?

Monsieur OUXX

It's obvious GrimReapYou is looking for something to display 3D in AGS. He hasn't been around long and doesn't know what modules/plugins are obsolete, still supported, etc. Me neither. Few do.

Maybe someone who's been witnessing their births and deaths could produce a quick tour of current available 3D features of AGS, excluding the ones that are deprecated or the ones that were only meant as proof of concept?

That is, without starting with "n00b, are you trying to do 3D with AGS? Don't you get it's not what it's meant for? Didn't you understand that all these modules and plugins you're digging out were meant as a joke and were never meant to be used?"
 

mode7

ProgZmax:
I couldn't help but notice that you're latest posts are quite rude -just take it easy.

Ouxxey:
Thats a good idea - I had the same problem - when I arrived, I had to dig myself trough every page of the module board to check which modules existed. Then there's the dead link problem of course. I wonder if it would be possible to make a comprehensive list of all modules and a quick description.

Dualnames

There is quite a comprehensive list I bothered making that perhaps I'm the only one to recall. :-\
Perhaps a new list or some other way is needed?
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)

Monsieur OUXX

Quote from: Dualnames on Mon 21/02/2011 14:54:42
There is quite a comprehensive list I bothered making that perhaps I'm the only one to recall. :-\

Link pleez?
Also, read your PM! :-D
 

Dualnames

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)

Kweepa

Quote from: GrimReapYou on Wed 16/02/2011 06:07:39
Any chance for camera rotation with this?

It's theoretically possible to have camera rotation... the maximum framerate would be reduced to about 10-15 FPS, since you'd have to plot each pixel individually. Currently the ground is drawn one row at a time.
Still waiting for Purity of the Surf II

Bjyman

in E3d (line 1658)
from E3d (line 2149)

Error: GetProperty: no such property found in schema, make sure you are using the property's name, and not it's schema when calling this command.

I just got the above error. How do I fix this?

ncw14

trying to run it on 3.2.1 but wherever i put this code in the global script, it tells me unexpected if, or undefined symbol "interface"


  if (interface==gE3d.ID)
    {
        E3d.InterfaceClick(button);
    }

if i run it without this code it crashes and says "DynamicSprite.CreateFromBackround:invalid frame specified". this might just be a problem with my room layout though

Dualnames

The code goes to the interface section, not just anywhere on the global script.
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)

Crimson Wizard

Quote from: Dualnames on Tue 18/12/2012 12:52:31
The code goes to the interface section, not just anywhere on the global script.
What is this "interface section"? Do you mean some function?

Dualnames

From the manual:

In your main global script file, there are some functions which are automatically added when you create the game. These are global events, and the function is called when a particular event happens. There are also some other events which you can add if you want to.

The available event functions are:

interface_click (int interface, int button)
(Now Obsolete) Called when the player clicks on a button on a GUI which has its action set as "Run script". INTERFACE is the number of the GUI which they clicked on. BUTTON is the object number of the button within this GUI.
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)

Icey

I know this is an old AF and I know that the last post was like 6 years ago but I really am determined to at least get this working the best I can.
The biggest things is right now, when using the demo game and creating a room to put what I've learned to the test I just get an error:



Mind you, this is just from me trying to use E3d.Init();. Which to my understanding is how you even get the room to know you're trying to get it to use the 3D features. I'm guess this is the main blockade in fully playing around with the plugin but I'm sure once I figure out what is causing this error then I can continue you on.


However, my second problem is trying to figure out how am I supposed to use the module outside the main demo when I keep getting this error:



I don't even really have anything going besides the room in place with the walkable area and the character and I'm getting this error. There isn't a line of new code outside the inclusion of the module and I can't figure out how to fix this problem even when running a search in the demo game.

So now I'm here with two AGS projects open that both have errors that prevent any type of progress with this module. I really don't think the answer is right in my face for this, to be honest. But I feel like there is an answer.


Before I forget, what is the main purpose of E3d.RoomSpace(); & E3d.ScreenSpace();?
They kinda seem to work like a Start and Finish pair but I don't really get why it's used sometimes and sometimes it's not.

Crimson Wizard

#55
So, the first error means that script requires a larger number of room background frames. You should find out how many, or just create maximal 5 of them just in case. I guess that dE3dBackground*** constants define their indexes.

The second error is because the function GetGameParameter was deprecated. You need to turn "Enforce object-based scripting" off in General Settings, Backwards compatibility section (also, if you are using AGS 3.4.0 or higher - set "Script compatibility level" to lowest possible).

Other than that I don't know how this module works, and won't be much help here.

PS. By the way, one of the module archives includes the manual.

Quote
  E3d.RoomSpace();
  E3d.ScreenSpace();
    Easy3D works best if you use the Sierra-Style speech.
    If you want to use LucasArts-Style then you have to be aware of two other functions. E3d.RoomSpace() and E3d.ScreenSpace(). Basically if you want any of the characters to say anything, you must call E3d.ScreenSpace(); before they speak, and if you want to do anything using character room coordinates you must call E3d.RoomSpace(); beforehand.

Looks like these functions switch between two coordinate systems (3d room and flat 2d screen space probably, but that's a guess).

Icey

#56
Ahh see, I knew there was something in the room itself that caused the problem for two reason. I tried to manually duplicate the room and got the same error but when I imported the room the error wouldn't pop up. The second odd thing I noticed was that the old background kept showing but I wasn't sure how that was possible. (The background as the green outside the black. I expected all the black to be the ground floor.


It turns out you need at least 4 to get things working properly. Also each background seems to be utilized differently if needed. I noticed in room 1 (Outside) the clouds were not an object(which I kept trying to figure out how else they were in the scene) but it's actually just background 3 haha.

As for error two, I understand now and I'll do just that. Other than that, I think that answers my question. Now all I gotta do later is play around more with things and I might be able to finally make some use out of this thing. :D

I need to dig around for that manual at some point as well if I start progressing anything further. Thanks for the quote snippet btw because I was going to just throw those around whenever I did anything in a 3D room.

As usually, thanks Crimson! Now I can finally sleep  :-D

Crimson Wizard

Finally decided to check the demo out, and seriously, this module is fantastic. Script looks little hardcoded in places, but visuals work great and pretty fast too, at least in 320x200. Have anyone made a game with it before?

SMF spam blocked by CleanTalk