Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

So, what did you learn from this?

A topic by Kasper Hviid created Mar 23, 2026 Views: 191 Replies: 6
Viewing posts 1 to 6
Submitted

I go first!

I ran through Bastiaan Olij's *Godot XR Tools part 3 - Snapzones*. I never tried that one because I felt that snapzones is a bit too mechanical VR convention for my liking. But I couldn't avoid it for the VHS player. Turns out they're pretty easy to use. I couldn't get snap_mode: range to work, though.
Same video also made me dive into the AnimationPlayer node. Oh boy, how could I have missed out on this one? It's so fun and simple. Will play around with this some more!

I did the same easy (but likely very system heavy) trick of using a high map to add depth to the textures of the VHS and video player. Not new, but still works. Not something I learned this time around, but felt like sharing it.

A hack I was kind of proud of was flipping the spooles QuadMesh 180 degrees to make it seem like the tape had been winded back.

I had an AI create a bunch of shaders for me. Works like they should. But it is ever so unsatisfying, in such a degree we should have a new word for it. It feels like my game is tainted.

I learned that adding a child node (with the plus icon) and *instancing* a child node (with the chain icon) are two different things. I mean I know they're different, but a bit fuzzy on how and when to use what. Which caused my VR player to be weirdly stuck in the ground, because I had used the plus icon for the parts. (Bastiaan Olij figured this one out)

I learned that 3D audio had gotten a LOT better since last I played around with it. Not sure if it need specific tuning for VR specifically, but AudioStreamPlayer3D worked great out of the box.

I learned that if you have a deadline of one week, then this is the max time you're going to have. How many days you actually have depends on what life throws at you. But I also think I learned to go with the flow a bit, not being bugged down by it. If I rather spend my day coding, but that isn't going to happen, I still tried to make the best of the day, rather than being distracted and annoyed.

Submitted

I learnt:

  • godot can't play audio backwards, so you need two imported copies (one reversed) of every file if you want to do that
  • about auto-step up character controllers to avoid getting caught on steps in level geometry
  • about the importance of playtesting, again
  • a lot about shaders from a teammate
  • how to bulk change materials on an imported scene by changing the import settings to save them externally, then using `sed`
Jam Host (1 edit)

Hmm interesting. I know Godot can do reverse playback in a loop, so I would have assumed it would be able to reverse play a single sample. But guess not :)

I'm starting to abandon the normal "pill as a character controller" approach, having something that detects elevation changes so you can walk up stairs, so nice. I'm not sure I'm happy about the solution in XR Tools v2 yet but that one has a solution build in.

Playtesting 100% Especially people playing on other headsets than you developed on

Shaders, see my replyto Kasper :)

Saving materials to tres files is a top tip on some many levels. It also helps promote material re-use so you don't accidentally end up creating double materials with the same settings. While Godot does a decent  job behind the scenes to ensure as many resources are shared, the renderer knowing that meshes are using the same material allows it to prevent unnecessary state changes.

The other tip I'd recommend to anyone targeting standalone VR, while it is a PITA, is to use ShaderMaterial whenever possible. You can right click on a StandardMaterial3D and convert it to a shader material, and then save the shader code to a gdshader file. First it's a great way to learn about shader code, but also it teaches you what settings are exposed as uniforms and are thus save to change during runtime, and which settings change the shader code and should NEVER be changed in runtime. Finally converting to shader allows you to remove unnecessary bits, especially unnecessary texture loads, which can be detrimental to performance.

Jam Host

Great to hear Kasper, love it when people provide feedback on their experience because there is so much to learn from it.

Just some quick things that may help people around this:

- Shaders are easier than most people think, it's just daunting to get started and when targeting standalone VR there are performance limitations. AI is great to quickly get going but it doesn't teach you much and often doesn't understand the nuisances of platform requirements. Also highly recommend trying out Godots visual shaders, they work similar to shader nodes in Blender. Also check out: https://godotshaders.com/

-  The add child node thing is a PITA. Its the best feature Godot has added in Godot 4.0, it's also the most dangerous one for us plugin builders because we can't restrict it (yet). Something that is being looked into and hopefully will be improved in a future version.

- Godots 3D audio works really well for basic stuff, the main thing to be aware off is making sure your viewport is set as a 3d listener. It is by default but this is something that trips up people who add spectator views. That said, I really want to try out steam audio and similar libraries soon which can do proper sound progression.

- One of the best things game jams teach IMHO is teaching you about scope and how much you can do in a week. The point isn't for people to crunch to a finish line, it's to focus on a single goal and try and build something around it you can do in a couple of days. 

Submitted

I tried out https://github.com/stechyo/godot-steam-audio this jam it worked pretty well, pretty much drop in replacement for sources and listeners for better spatialization.

Another thing I learned is that making modifications to the engine itself isn't actually that scary. You can just clone the source, add some patches, and build another engine and release template (I had to do this for oblique camera projections with https://github.com/V-Sekai/godot_planar_reflection ) . 

Jam Host

That's the sound library I still have on my list of things to check out too. Glad it worked well for you :)

Building from source is so polished with Godot, so much work has gone into making it a good solution. Just need to install the required toolset and it just works (tm). Only Android can be a PITA but thats not something we can do much about.

On the camera thing, check out the work I'm doing here: https://github.com/godotengine/godot/pull/116424

It's not done yet but hopefully that's something that will finally pass the muster.

Submitted(+1)

Another TIL for anyone still needing to rate the other games: https://github.com/DragoonAethis/itch-dl can download all of them in bulk.