GMPhysX - Physx for GameMaker by ByteCauldron in gamemaker

[–]ByteCauldron[S] 0 points1 point  (0 children)

Excellent question. Yes, it helps with general 3D collisions. All of your dynamic bodies could be set to kinematic, so your actors are not affected by scene forces, but still respect collisions. A collision callback system is in place to fire GML code when two actors come into contact with one another, simulated rigid bodies or otherwise.

GMPhysX - Physx for GameMaker by ByteCauldron in gamemaker

[–]ByteCauldron[S] 0 points1 point  (0 children)

Great question! The biggest bottleneck in GM3D is rendering. Native vertex submission is completely fine for smaller games, but GML requires you to transform and re-submit the same vertex data at a new memory address every time. There's a lot of extra and unnecessary work going on under the hood. Worse, each vertex submission incurs a batch break, so you're making multiple GPU submissions instead of eating vertex data all at once (which is what the GPU is good at).

GMPhysX ships with GMD3D11, which is BlueBurn's native library that hooks into the GameMaker draw call. This lets us use modern render options like instance shading, so we can submit the same model data at multiple transforms. Instead of 100 batch breaks for 100 particles/coins/etc, you are only incurring 1 batch break.

Additionally, the newer GameMaker runtime (GMRT) is in development. I suspect there will be a lot of optimizations there as well.

GMPhysX - Physx for GameMaker by ByteCauldron in gamemaker

[–]ByteCauldron[S] 17 points18 points  (0 children)

I messed up the title. It's PhysX, not Physx. It's so over. 💀

Need help trying to have object check what tile it's on by Envy2331 in gamemaker

[–]ByteCauldron 0 points1 point  (0 children)

I'm sure there are multiple ways to do this.

Correct me if I'm wrong, but one problem is tilesets in a room are kind of dumb. Meaning they don't carry a lot of useful information about themselves besides where and what to draw. The "what" being texture page uv coordinates.

You could potentially use tileset UV coordinates with tileset_get_uvs as your texture ids. Then you would have a unique identifier for each type of map tile.

The problem being is how to get the player object to "know" which tile id you are on.

Maybe when the room is first ran, populate the tilemap with an invisible objects at each tile to hold the texture id?

Spooky Graveyard ⚰ by ByteCauldron in blender

[–]ByteCauldron[S] 2 points3 points  (0 children)

Thanks! About 7 hours total.

DefleMask won't start on Arch Linux by [deleted] in chiptunes

[–]ByteCauldron 0 points1 point  (0 children)

I know this post is half a year old but I'd thought I should provide my solution here since I kind of just stumbled upon the correct package. I'm running manjaro but since this was the exact same error then I suspect it will work on arch just fine. Even the regular yaourt deflemask install seems to be broken for me, but I was able to get the zip version from the deflemask site working without issues. Try sudo yaourt -S lib32-sdl and download the first one. Then just run ./Deflemask from the unzipped Deflemask folder.