wick

neurobiologist ± game & web dev

My only two design tools:
[1] "What is the experience we're trying to create" is the first & constant question
[2] To make something seem more like anything, put it next to the opposite (big guy/lil guy, happy thing/sad thing)


Crescent Loom
crescentloom.com/
Gaaaaaaaay 🌺
wick.itch.io/aesthetic

wick
@wick

heartbreaking technical discovery: meshes with the same material and different UVs still get rendered in separate draw calls, which means I need to go back to the drawing board if I want to have a buncha variant-textured blocks.

I wish upon a star that Godot let you set custom shader variables per-instance on GridMaps like they do for MultiMesh3D. I guess that's what the feature request form is for...


You must log in to comment.

in reply to @wick's post:

maybe it would be better to go with a generic instanced mesh approach? how much actual mileage are you getting out of using a gridmap versus rolling your own thing? are the limitations worth it? (i'm not familiar with godot so i don't really know)

Yeah, it looks like I need to switch to a generic Multimesh and use a shader to swap the textures. It's just a pain to have to manage making the instances manually ++ it means blocks won't be going through the same GridMap pipeline the rest of the level props are.

my brain is soft and mushy! I don't know how bad multiple draw calls are for performance! Sounds like a game-breaking thing- is there somewhere other than wikipedia I can look into this?

also looks cool! I love tactics and mechs and this is v much my jam!

Honestly, this might have been pre-emotive optimization on my part. Advice that I've gotten and have a hard time following is "don't worry about optimization stuff like draw calls until you start running into performance problems" because it's only a problem if it's a problem. It's very hard to get an estimate of how many draw calls (or other metrics) are "too many" because it varies wildly from situation to situation. The change I made of condensing all the blocks into a single draw call with a shader may have reduced the draw call count, but that one call is super hefty so who knows if it actually saves render time.

And sorry I don't have a great specific resource for learning about em — YouTube would probably be a place of look for an intro to the subject.