This week I have been working on adding the orders symbology for column movement and completing further work for its integration into the orders subsystem.
The symbology shown last week was an embryonic unit graphic rather than the orders symbology graphic. I had hacked it into the orders system so that I could easily review and test its graphics without having to fully implement them.
All of that had to be pulled out and replaced with a new set of graphics that represent the actual orders symbology itself. Don’t worry, the previous work hasn’t been thrown away, it’s still there lurking, ready for the next development phase.
My biggest concern with designing the orders symbology is that it had to fit in seamlessly with the other existing orders symbols.
My first attempt wasn’t entirely successful:
I found that the first iteration’s attempt looked fine on its own, but looked very jarring and out of place when combined with other orders. This resulted in a further iteration to refine the symbology so that it fitted in perfectly – the results of which can be seen in this post’s first image (all images can be clicked on to view close ups).
Another feature of the orders symbology is its ability to display its waypoints whilst in edit mode:
A small touch, but one that helps everything feel like a coherent whole. Once the order has been issued the waypoint markers disappear.
Getting the Bezier based arrows to look like the other arrows was a tricky job as the arrow thins down along its length like the other arrows. Calculating the many triangles for this proved to be entertaining, especially as Direct-X insists on all triangles being wound in a clockwise direction (they won’t show if wound the other way!).
Below is a short video showing off the new symbology in action. Best viewed in HD:
So what’s next on the agenda?
That will be the ability for our units to actually move down those designated column orders! It’s going to be a big task, but I will be breaking it down by only concentrating on the basic integration first.
Advanced integration with Atlas will happen in the sprint after the next one.
That’s it for this week!