This is incredible, and will take a bit for me to decipher but hats off to you!
What's been your experience with FPS? I'm getting 15-20 FPS on the demo level.
Everything runs in stable 60fps on my end, I wouldn't ship something that I know is broken. But it's definitely demanding a lot of resources.
One of the biggest CPU and GPU bottlenecks is the custom skeletal animation system (re-computing the coordinates for every limb is pretty expensive and then there's dozens of draw calls that each require rebuilding the world matrix), so I'd recommend getting something like Sndir's Model Format instead if you can (which is free!). My skeletal animation system is a bit of a disappointment because of the performance issues and inherent limitations, so I mostly intend it to be a placeholder so the asset can have characters at all... GM's built-in 3D modelling support is very limited to begin with, and I have no experience with 3D modelling tools, but I know how to use paths and trigonometry so I stick to my guns :P
The second biggest resource hog is me using a sort-of-pillbox-style hitbox for the player, doing a lot of collision checks to make sure they work smoothly with all sorts of terrain... but the collision amount gets increased a lot because I essentially do one raycast along every axis to handle movement, so this balloons exponentially in performance requirements. Depending on level architecture, you could get away with a much simpler hitbox which would improve this.
If you're interested in the gritty details, here's the results of the profiling I did of the game's performance:
(The control draw event isn't expanded, but essentially the bulk of it is drawing character models)
Another fine asset from Yal! I just wanted to let you know I am also getting 15-20 FPS on the provided demo level in the GM:S 1.4 version. The GM:S 2 version ran around 25-30 FPS. I have a GTX 1070 gpu and a great processor so my rig shouldn't be an issue. Probably just the limitations of Game Maker in 3d I would assume. Keep up the amazing work!
Interesting... I'm on a GTX 1060 / i5-8300 rig these days so I would've expected your performance to be better than mine. (Bigger numbers means better hardware, right...?)
At least the "GMS2 has better performance than GMS1" result is congruent with my testing - it's not as noticeable when both run relatively stable 60fps but the difference is gigantic - something like 500 fps_real for GMS1 vs 800 fps_real for GMS2.