YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
26 stars 8 forks source link

Add full 3d support #3220

Open PotatoSnail opened 1 year ago

PotatoSnail commented 1 year ago

Is your feature request related to a problem?

Gamemaker has had partial 3d support for a while now, but it's complicated, and time consuming to use. It would be nice to have simpler 3d support that is more accessible and mainstream. It would also allow gamemaker to better compete with other game engines, because 3d support is a feature in almost all other popular game engines.

Describe the solution you'd like

Like Unity, gamemaker has template projects. Instead of "new blank project", there could be options for blank 2d and 3d projects. If the user selected a 3d project the functions could stay the same for the most part, but a z cordinate would have to be added, along with extra degrees of rotation. There would also have to be more collider types. The system could be similar to that of competitors like Godot or Unity, because those engines support 2d and 3d, and draw people away from gamemaker.

Describe alternatives you've considered

The only other thing to do that isn't so big is to add support for importing models into gamemaker, because detailed models currently aren't possible.

Additional context

No response

tabularelf commented 1 year ago

I'll be the first to say it, while I get the intention behind the feature request... There's a lot of things we don't even have in GameMaker to even support on the same level as Unity or Godot or any other fully 3D capable engine. So this kind of feature request is more... vague, if you will. What does "full 3d support" mean? And besides answers like "Just like Unity/Godot/Unreal/AnyOther3DEngine"

Perhaps if you were to include some kind of priority list of what would be best to have (from top to bottom), it would help gauge on where to focus on first for YYG.

DragoniteSpam commented 1 year ago

Take it from me, this is 150% not a "just add a mode with a Z coordinate" request. This would be tantamount to completely redesigning the way the software works from the ground up.

Gamer-XP commented 1 year ago

I think GM does not need a full 3D support - it's a 2D engine and should stay that way. Spreading functionality will result in 2D support getting worse, which is the point of GM for me. For 3D you better use Unity or UE.

For what I'd like is to be able to import 3D models as asset. I sometimes use simple 3D models for tricky effects. When imported, I want to have access to them as:

  1. Vertex buffer
  2. List of all vertxes, uvs, triangles, etc if I need to draw them with draw_primitive for some reason or calculate some tricky effect
  3. Simplified draw_model function that will just draw the vertex buffer with given position and rotations.
gnysek commented 1 year ago

Amount of work needed to complete this feature request is probably at least same, as rewritting whole GameMaker to new runtime (plus work needed on IDE side). It would take months if not years. There's no details what features should be added, so it's hard to estimate it in any way.

While I'm in for some additional 3D (or maybe better: vertex) functionalities, if you want to have 3D, there are already plenty of tools which allows at.

FoxyOfJungle commented 1 year ago

2D games are actually 3D with orthographic projection camera.

I believe that, in the same way that the Box2D physics system exists, there could also be a 3D physics system, in parallel, as well as a collision system and 3D model animation (.gltf, .fbx or whatever).

For this, it would not be necessary to add a 3D level editor, only parallel functions. They don't even need to add new shaders for this, as we can create our own... :)

Having these features would make it easier to create new types of games, such as cartoon 3D style.

Like me, not everyone likes Unity and Unreal Engine (or feel comfortable using - as it is more difficult for newbies).

FoxyOfJungle commented 1 year ago

"Full 3D support" is too strong a phrase. I just wish there were some extra cool features that didn't require an engine rewrite.

This would make it possible to make some cool games like this: CameraPerspectiveAndOrtho

ss_63f47b9286929e2e1ddae91676bfb4bbea49c501 1920x1080

ss_8e0a0e33eb9fb5c35d864c4d00e2ed0d670e2b64 1920x1080

jackerley commented 1 year ago

This won't be coming any time soon, but we are aware of the desire for it.

rosebrt commented 1 year ago

I'd like to bump this "feature" request as well, knowing full well that is basically the equivalent of asking your parents for a rocketship for Christmas.

But I do think that it should be on the devs' minds, as the recent Unity debacle has made the landscape of "engines for indie devs" a lot more volitile. Now is the time to attract new developers and 3D capability is a huge selling point that draws people to competing engines.

BananaFaction commented 1 year ago

Yeah I think while the engines focus should be 2d; it would be nice if all/any of the 3d capabilities were improved to within the limitations of the engine/runtime itself so that it would not be necessary to do any sort of rewrite peopls are talking about

As an alternative they could just make 2.5d better instead of going full 3d. Or just make fake 3d easier to do making it so as to still try to keep things simple but at the same time satisfying the desire of people who want some kind of 3d sprinkled into their 2d games

While gamemaker is not meant to compete with full 3d engines like unity or unreal; It does compete with engines like construct 3, gdevelop, defold, etc . . . The three 2d engines I just mentioned do in fact have more/easier to use 3d functionality (at least I think they do) while still primarily being 2d focused engines so I think that's worth noting as those are more direct competitors.