@mmalex @FlohOfWoe @kenpex Might not work as well for game jams due to the Steam fee. But if devs are fine with some level of platform lock-in it is a reasonable solution. Basically I ended up converting all my netcode to use this before releasing Park Bound. File-hosting with Workshop was a nice bonus too
@mmalex @FlohOfWoe @kenpex Steam provides something pretty similar to this out of the box with their networking features. It uses P2P messages for users in the same lobby, but will provide a relay if the hole-punching doesn't work. Also has reliable/unreliable messaging over UDP.
@FlohOfWoe @Srekel Meant to say createPerspective* not createLook. I did end up changing it to [-1,1] in the Sokol/Zig examples I made here awhile back: https://t.co/J3aDupd9h5
@FlohOfWoe @Srekel You might have figured it out already, but one part I did get tripped up on is that library uses a Z range of [0,1] instead of [-1,1] in createLook and the matrices are row-major instead of column major. But doesn't matter much as long as it's consistent.
Each grass blade has 4 vertices with the motion being masked by the alpha channel of the vertex color. Haven't applied any lighting yet except fog interpolation in the vertex shader
@nickappleton @andy_kelley Woops, sorry missed that. Maybe this one will work? https://t.co/Ut8CQPHrBQ Doesn't show up in the docs, but you should be able to use it with std.math.complex.cos
@nickappleton @andy_kelley Otherwise looks like there is a standard library implementation as well: https://t.co/ZZ7VnBoKed For #3 I've noticed sometimes it doesn't show up in the package view, but has documentation when you click on the function name. But I think the docs are a WIP at this point
Adding the tangent of the surface normal (black line) to an acceleration vector causes the player to surf around the dunes automatically. Still a lot to do until this looks right though.
Working on some lighting and fog effects for a desert scene. Right now just using a linear transition between three environments for a sped up day/night cycle.
The previous level editors I made used Bullet Physics with a btCollisionWorld just for ray-intersection entity selection. But working without a physics engine means I get to make my own ray-shape collisions!
It just has a narrow phase without any space partitioning so far. But, if I knew how simple this would be to set up I probably would have done this for the editor and only used the physics world for gameplay.
The Sokol debug UI which has been great for some fast debugging while working on this. The video shows the visual representation of the texture that is being updated each frame with the bone transforms
Instanced + skinned mesh rendering test. Each cube face is linked to one bone and each row of cubes shares the same bone state (stored in the alpha channel of the instance color). Supports 4 bones/vertex, but currently just using 1 here #zig#sokol
The Zig type system has been really great to work with. The menu generation and code serialization are both only 50 LoC each. For release builds the struct variables can be defined as 'const' so in theory Zig should be able to inline the values too.
Wrote a couple functions that converts Zig structs to ImGui menus and then serializes them back to code where they are compiled into the binary during the next run #ziglang