I believe that Craig proposed 'nodes' for where the ships are placed, though I am not sure what the 3D-layout for nodes should be. So… A simple cubic nodal-structure seems simplest for the player-customized formations applet. But what shall we do with ships that occupy multiple nodes (because they are large)? But speaking of nodes… Let's assume that in the formation editor, only one ship may occupy a node
I believe that players should be able to 'connect' two occupied nodes, by having the ship in one node following the ship in one or more other nodes. This would keep ships in formation, regardless of varying ship-properties (different engines). In fact, I feel that building fleets should feel like building with pieces of Lego. Connect two ships (in 3D) so that they will follow each other (keeping their distance which was set in the formations applet, unless agressiveness-settings cause new the orders in the movement-AI). Then these two ships can both be connected to a flagship. Both ships now follow the flagship (at a specified distance, unless aggressiveness-settings change their orders).
Yet the benefit of following a flagship is that its highest priority will be to follow enemy targets, while the two ships behind it play 'follow the leader'. The formations template would thus set the AI to follow the flagship, which may have better armor, and can be given more customized targeting-priorities.
Right now we are defining a flagship as any ship that has no connections ordering it to follow a friendly ship. The friendly ships are following the flagship.
All ships (including the flagship) have their own targeting-priorities, and the priority to follow all friendly ships that are connected to them. The desired effected of this is to have the player feel like he/she is building with Lego; yet during a batle, the pieces scatter or reform, depending on the aggressiveness-settings. However, I would also like to have an 'attraction' scalar for each 'connection' between ships, so that as one ship follows another ship (or keep maintain their distance), the 'attraction' of these connections is set by the player. Ideally, the ships would move as though they were tied with elastic-bands, and the 'attraction' would be a player-determined spring constant, determining the acceleration of ships towards to their desired positions (or 'nodes'). Unfortunately, we decided (while making the engine) that ships can only accelerate forwards, so the way our spring constant works is the same as a real-life spring, except that ships treat "Tension" as "priority" for the movement-AI. The ship will turn and accelerate towards a connection whenever the "Tension" on the connection becomes too high (from being too far or too close). Thus, players design formations by connecting ships with springs - as many connections as the want, and the springs will have an affect on the movement-AI of either one ship or both ships.
Note: This could cause some unwanted oscillation in ship-distances.
Aside: Since pieces of Lego has a shape… You determine how ships are connected, relative to the rest of the fleet. If two ships are following a flagship, then they can maintain a 180 degree angle about the flagship, or one can follow closely while the other follows far-behind. One issue with this setup would be having tanks fly 'in front' of other ships. The only way to have a tanking-category ship fly in front of the leading ship would be to have the leading ship and the tank both following a weak ship with the same movement-AI and maneouverability of the leading ship, with the tank following closely, and the 'leading ship' following either the tank or weak ship. Then, once the weak ship (in front) is destroyed, [i]the formation still continues to operate as though the weak ship were still alive[/i]. Thus the AI continues to function, regardless of whether certain groups or ships are destroyed.
The benefit - a dynamic combat-system, with intuitive links to
the ship hangar applet and the ship 'categories'.
Disadvangtage: If ships in your fleet all have different maximum-acceleration, or are too closely-spaced, then… They hit each other. If the leading ship starts slowing-down, or even tries turning-around, then the entire formation can temporarily be disrupted, and even collapse, due to physics - note that when you hit a basketball off of a wall, it sometimes starts spinning when the wall changes its direction? Well - when a fleet changes direction, if it only has one leading ship, then it may start to 'spin' :( But I would find this fun to experiment with, because you can always add more leading ships, and space out your ships, or change the aggressiveness, or - I almost forgot - have more than one group/squadron in your fleet :)