[013] Flocking Shader

[101h] Flocking using MultiMesh and Shaders

Started as, what I though, a simple shader exercise,
turned into a grueling reminder that nothing is simple in game dev.
Wanted to give up multiple times, but somewhat made it work in the end.
Very impractical and little to no references (shaders are not made for this)

References:
    GLES Boid Shader            - reddit.com/r/godot/comments/xhecnh
    Ping Pong Buffer            - reddit.com/r/godot/comments/ihkyqn
    Circle Collision Solution   - youtu.be/9IULfQH7E90
    is_equal_approx             - github.com/godotengine/godot-proposals/issues/6870
	
TODO:
    Fixed: MultiMeshInstance2D should follow the camera instead of static position
    Fixed: Input.get_vector gets stuck (github.com/godotengine/godot/issues/82732)
    Algorithm error (bugs out in high sheep numbers)

[Oct 10, 2023] 6h
- angle based Sprite2D frame
- understanding the math (color to position)

[Oct 11, 2023] 7h
- understanding the math (color to position)
- replicating the GSES code

[Oct 12, 2023] 8h
- replicating the GSES code
- more math (position / velocity to color)

[Oct 13, 2023] 7h
- even more math (shader vertex and UV)

[Oct 14, 2023] 2h
- trying to convert to Godot 4.0

[Oct 15, 2023] 6h
- trying to convert to Godot 4.0

[Oct 16, 2023] 11h
- reviewing the shader behaviour
- shader UV, TEXTURE_PIXEL_SIZE & functions 

[Oct 17, 2023] 5h
- more shader research & review
- shader triggered once per second

[Oct 18, 2023] 7h
- shader triggered once per _process() frame

[Oct 19, 2023] 1h
- code re-organize and review

[Oct 20, 2023] 5h
- finally made Flocking Shader to work
- Ping Pong Buffer !
- SubViewport.UPDATE_ONCE

[Oct 21, 2023] 9h
- Flocking Shader debugging
- float comparison trial & error

[Oct 22, 2023] 7h
- code review and note taking

[Oct 23, 2023] 8h
- UI & controls
- bug fixes

[Oct 24, 2023] 2h
- ItchIO upload
- Cover Image

[Oct 25, 2023] 7h
[Oct 26, 2023] 2h
[Oct 27, 2023] 2h
[Oct 28, 2023] 3h
- Flocking Algorithm Review
- Flocking Algorithm More Research
StatusReleased
PlatformsHTML5
AuthorQuietGodot
Made withGodot

Leave a comment

Log in with itch.io to leave a comment.