Evolution of module: now its time to link boids with a shader reading animate baked into textures. There is still quite a lot of work to have correct speeds and contact with ground...
videolog: polymorph.cool/wp-content/uplo

@polymorphcool

Evolution of module in : i finally managed to master the memory creation in a consistent way => no more hard crashes (double free, malloc_consolidate & other funny stuff). Result: i'm now able to construct complex reaction of boids, with modification of plenty of parameters depending on the environment

just finished a serialisation of behaviours: [{"class":"test" , "active"1, "after":0, "attr":0, "eval":0, "event":0, "jumpto":1, "param_bool":0, "repeat":1,,...
It's possible to copy/paste the object + generate + edit it manually, I think it's a cool feature, even if documentation is necessary...

@polymorphcool

The integration of new objects in is quite tricky: there is no documentation of the editor classes and process (why & when "_node_removed" is called for example), so integration is a lot of trial & errors + searching in full text in sources. It's time consuming, but i start to have a better idea of how things works. Today i turned behaviours from spatial nodes to resources, and here is the result.

Working on a naming convention to quickly read the logic of the behaviour. This behaviour describes a boid randomly linked to 1 of 2 targets, afraid of anything in group 11 & 12. If in neghborhoud of group 11&12, a timer is set to 5 seconds, boid accelerates and runs. When timer stops, the speed is reset to default (5)
If you have advices on pseudocode langages that would make this "better" or easier read, please comment!

behaviour editor on its way!
@crickxson ce dont je te parlais l'autre jour: l'organisation de panneaux de contrôle, un gros kif :)

is just marvellous: to develop the boid's behaviour, i have to design a new panel with a custom creation logic (using a tree is overkill). To preview and organise the , i just opened a new scene, built a mockup and place it above the editor. And voilà! Compared to QTdesigner and other UI tools, it fast and super simple to style.

@polymorphcool

a good-level nightmare in module: make several particle system interact together
lots to be done till the end of this month, but i'm happy that performances are not so bad
vimeo.com/524000091

@polymorphcool

update on module for : you can use a "layer" system to group them with attractors, colliders and targets -> if not in the same group, boids do not floow each other, don't "see" colliders, etc.
in video, there are 3 groups: red, green & cyan
the big shaking dots are the barycenter of each group

@polymorphcool

a bit of tech p*rn to finish the day: code is getting more and more ready to perform intensive setup
scene #1: pushing everybody in a tube
**meaning of labels in top left corner**:
- frame per seconds
- time to solve the frame (CPU side)
- number of collisions to solve in current frame
- active boids count

@polymorphcool

optimisation of collisions is on its way in module: the domain is now able to locate the cells occupied by colliders, attractors and targets (all objects that require collision tests). The "holes" (red dots) visible in the first image are easily fixed by adjusting subdivision param for each collider.
Next step is to link this step into the linear processing of boids

just finished a demo of boids with all major modifiers showcased: sources, targets & ... colliders!!! it's not yet the level of performance i'm aiming at, but the drop in fps is due to shadow processing, not to my code (ouf!)
vimeo.com/516439308

@polymorphcool

eventually! i have a decent algorithm to register a box in a grid: starting at the first point, a serie of positions are generated in the box depending on the size of the box and size of cells
No more 3d collisions, just a simple value to adjust (subdivision) to increase the quality (and increase the cpu load...) - this step is finished! yiipiiieeeee

thanks to a smart nesting of objects, sources can compute the closest targets for each boid and send it to it

@polymorphcool

it's now possible to set "source" of , +choose the shape and the initial orientation of the boids
in the right panel, you can see the params available
next step is to add "target" objects, where the boids will aim to.

@polymorphcool

Show more
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!