Colony Simulation

Hmmm this wrapper just do it worse by make the AI node bound, nothing you want on a server. I would just use gdxai directly tbh.

First of all, sometimes you just want to apply animations that have priorities. For example, breathing (1), walking (2) and attacking (3). For each bone, the one with the highest priority should be the one played. You could also say that the bone priority is also the precision : an animation that is played on a broader range of bones is usually lower in terms of priority.

Multiple animations are usually played per bone in modern video games. For example, getting hurt at the same time of launching an attack. The agent should continue his attack but at the same time be affected by the damage received.

Look at this :

After looking at the original source code, you are correct to say that’s it better without a wrapper. However, there’s still the problem that a lot of garbage will be created just to use that library.

If it’s temporary variables then don’t worry about it. Modern desktop Java essentially frees the young generation for free.

That seems like something a wise man would say ahah

My problem with garbage variables is not the memory taken by them but the performance cost generated by memory allocations and garbage collection, especially for something frequently and intensively used, such as vectors.

Construction, yes. The rest is essentially “free”. And construction of a Vector3f is pretty fast.

Unless you are creating millions per frame, I wouldn’t worry about it. I routinely create thousands of components per frame in my ES games… hardly notice it.

1 Like

Hmmm interesting, maybe I’m a little bit too much obsessed with avoiding creating new instances and garbage collection.

By the way, in Mythruna, when a player adds a voxel, does the buffers of the voxel’s chunk are all filled with completely newly computed data, i.e. do you not keep on the CPU side of the application lists of all vectors that were used to fill the buffers so that you don’t have to create a ton variables each time there’s a modification in a chunk?

I hope my question’S formulation is clear and easy to understand.

When a block is added or removed, the old Mesh is destroyed and a new one is created… intermediate data structures are created on the fly. I keep the chunk array itself and the mesh in memory. That’s it.

1 Like

I hope you are ready because I’m going to show professionalism and maturity. I present to you :
P H A L L I C!

More seriously, I am working on adding and removing voxels.


I added new images to my album.


Video of adding and destroying voxels.


A new short blog entry : Adding and Destroying Voxels - 3D, AI, procedural generation and black jack -

For the purpose of having a bigger impact on social medias, I created a Twitter account :

Having fun with the Simplex noise.



I’ve worked on this small voxelized skeleton. Someone suggested to add particles on the skeleton eyes, however I do not know how to do that in magicavoxel or blender and then import it correctly in jme3. Does anybody know how to do this?


Referring to our previous conversation about mixing and matching animations.

Got it working in the Monkanim branch:

This beautiful test illustrates backwards walk animation playing at the same time with idle animation (you should notice the arms swaying a bit if you pay close attention). The walk takes over the legs and idle overrides the upper body.

It took a while to get it working properly. Very excited about this.

1 Like

Your video clip doesn’t appear to work. :frowning:

It did work when it was first posted. Strange.

Oh. Strange. Try to open it on the site directly:

streamable com/a8zb3

Well, it’s not very pretty to look at. Suffice it to say that there are two animations going on.

Ah. Well THAT works. So this is showing animation blending essentially? Cuz man. That’s cool. Well done!