For tonight’s live stream (9 PM GMT-4), I will once again continue where we left off last week and get sounds properly attached to objects.
Mythruna is an ES-based game so this will necessarily mean dealing with positional audio in an infinite entity-based game.
I will try to provide some visuals about how “infinite world” works in this case but it depends on what I find online.
I will also show what I’ve been doing messing with trees.
Edit: note that if you are able to join live then you can ask questions during the live stream and I will do my best to answer. Otherwise, we can have follow up questions here like last week.
hahah… that chat got a little too lively and I did NOT get sound in… but we did get proper location based entity filtering working. We’ll definitely be able to finish it up next week and I’ll try to make sure by laying the rest of the ground work.
I’ll add chapters to the video later tonight so folks can skip around if they want. I spent the first 15 minutes going over the world structure of Mythruna which took a little more time than I’d anticipated.
1- Are you going to handle mob entities sound (entities with BodyPosition + SoundInfo component) in the SoundViewState?
2- Will you add a new EntityContainer for mob sounds and filter them with body position visibility stuff hooked into SimEthereal?
And by the way, I think Zay-ES now supports protected constructors on the persistent components so I guess you are safe to remove that FIXME on the SpawnPosition constructor.
Yes, definitely. I started laying the groundwork for that with the “dynamic” flag and I touched on it briefly. I do not know if that will be in for the Halloween release.
Yes. BodyPosition is already filtered in the networking layer… so I don’t have anything special to do for that container.
Curious why you are not handling mob sounds in MobAnimationState? (I mean using
“CharacterAction” + “Parent” component)
Afaik you had a MobAnimationState in which you handled mob actions and mobility animations using tweens API (in which you could play animations, particles, sound effects,…).
Because any object can have sounds… even ones that have no visuals.
MobAnimationState is only for animated characters.
Also, it gets tricky because I never actually “play” an animation… I carefully control which frame of the animation I play by sending time codes from the server. So triggering sounds becomes problematic if there is ever any weird jitter.
It is tempting to handle some sounds there, though… as otherwise synced foot steps are really hard. So I may do some sounds on that side.
Note that in the block ed tool, I can’t turn on “carved” and so some of the materials don’t look quite right.
Yes, different kinds of objects have different scales. Placeable objects that players can create in game are 1/4 scale. Held items tend to be 1/8 or 1/16 scale or something.