Author Topic: 3D walking effect (using Room Scaling)  (Read 810 times)

Re: 3D walking effect (using Room Scaling)
« Reply #1 on: 28 May 2020, 21:40 »
Is it really to make 3D AGS adventure or 3D shooter?

(For example: Myst, Tomb Raider, Dreamfall: The Longest Journey, Doom, Duke Nukem 3D)
« Last Edit: 28 May 2020, 21:43 by Sledgy »

Re: 3D walking effect (using Room Scaling)
« Reply #2 on: 30 May 2020, 12:58 »
First of all, regarding simple room zoom, since AGS 3.5.0 that can be achieved using new Camera functions, and ags will scale and reposition everything on screen automatically for you, so no complicated scripting is required.
See runtime example: https://video.drift.com/v/abaMWDTGzbo/

Is it really to make 3D AGS adventure or 3D shooter?

(For example: Myst, Tomb Raider, Dreamfall: The Longest Journey, Doom, Duke Nukem 3D)

Above zooming technique may allow to crudely emulate 3D movement, but it's very limited and definitely not enough to make a real 3D game.

For real 3D you need to script actual 3D math. It's not simple, but can be done if you learn concepts and formulas from, for example, OpenGL tutorials (there are alot of them in internet).
It's been done in AGS before number of times.

For example, check out this 3D module: https://www.adventuregamestudio.co.uk/forums/index.php?topic=26130.0
Or this 3D Mario Kart example: https://www.adventuregamestudio.co.uk/forums/index.php?topic=45834.msg636452593#msg636452593
Or this discussion about rendering flat shaded models in AGS: https://www.adventuregamestudio.co.uk/forums/index.php?topic=50178.0
I myself once wrote incomplete polygon renderer in AGS too for experiment: https://www.adventuregamestudio.co.uk/forums/index.php?topic=50178.msg636587375#msg636587375
Some people did script a raycasting engine in AGS too, but I cannot find examples right now, except for this short discussion: https://www.adventuregamestudio.co.uk/forums/index.php?topic=53053.0

The problem with this stays same:
1) you have to script rendering yourself
2) you have to script 3D object movement, collisions, pathfinding - and so on, and so on, - yourself
3) in AGS it will work much slower than real 3D engine, because all math is done in ags script, and all drawing is done using pixel drawing and software image transformations. It will be heavy on your CPU instead of using video card.
Not to mention that you won't be able to have all the nice features modern 3D engine have (like shaders).

For that reason IMO this way is only for programming enthusiasts. I do not think it's a good idea at all if you want to easily make 3D games. It is much easier to take a real 3D engine, such as Unity3D, Unreal Engine or Godot, or other, and add necessary gameplay elements for adventure game.

PS. Since you mentioned Myst, the Myst game was not real 3D game: it used prerendered 3D images in a 2D engine. You can easily do same in AGS if you render 3D scene in some modelling program (3D max, Blender, etc), save it as still image and import in AGS as a room background for example.
« Last Edit: 30 May 2020, 13:11 by Crimson Wizard »