Many thanks to the amazing framework and great support at babylon.js forum. Here is a video that captures the battle scene in my hobby project.
I will try to share some of my main progress in this thread.
I am happy with my PoC on the 3D rendering side. It has been a long journey and I have achieved things like building castles from building blocks, editing terrain elevation, 800 thin instanced units with different weapons and individually controlled animations computed in shader, day/night scenes with thin instanced buildings that I can individually control lights on/off, arrow trailing effects computed in shader, shadow wrapper of animated instanced units, baking animations from mixamo. Most importantly, still at 60 FPS.
Now I am taking a break from 3D rendering and shift my focus to the game play. I have to say it was painful at beginning. After playing with YUKA examples introduced by @labris, I somewhat see a bit brightness at the end of the tunnel. I think knowing there exists something called steering behavior really helped. And then I found some unity videos about flow field path finding. So I tried to combine both. Finally I read somewhere saying it is important to use different combinations of steering behaviors depending on the context. After digesting all these information, I was able to achieve the following army formation movement. There is still a lot of work to be done. But I can’t wait to share this video.
Super cool! It feels kinda satisfying just seeing the tiny troops moving and trying to stay synchronized