Testing and demonstrating the flight characteristics of ships of different sizes. Also colliding with them a bit for fun, I mean, to test that they behave properly. Ships here are from fighter sized to big frigates.
Aggressive attack mode
New weapons and models in action. Here some fighter class ships attack three frigate class ships. They do an “aggressive attack”, meaning that they only maximize their damage on the enemy. First they attain the same velocity as their target, when that is achieved they continue to shoot at the enemy. The frigates just move here until they are ordered to attack the ships. There are no enemy AI yet to give commands to the ships.
Turrets
Took some time to divide weapon and turret models into size classes, but here you can see some of the results. There are turrets of four different sizes. Bigger turrets are needed for bigger weapons, but smaller turrets are much faster to move and will track small targets better.
Missile weapons
Some testing of the missiles. They are driven by the same physics based control system as the ships are. Compared to the ships, missiles have much bigger acceleration values so the control system had to be tuned a bit. It is not necessary for their control system to be so detailed, so a simpler control system could be made for them if needed. But if no problems arise they are fine as is.
Beam weapons
In terms of coding the weapon logics, there will be three types of weapons: beam, projectile and missiles. Gamewise these will still be further classified into kinetic and energy weapons. All beam weapons will be energy weapons but a projectile weapon could be either one. Anyway, here you can see some beam weapons testing.
Group movement
Some testing of a bigger number of ships. Two hundred to be exact. Flying them to different locations and giving waypoint and attack orders.
Ship designing
One essential feature of the game is to be able to design your own ships. Here you can see the ship designing tool. Currently you can only choose between a few hulls and weapons but that is enough to test the principle. The projectile effects used in the videos are placeholders and I don’t think they will be replaced anytime soon. The weapons can be put only on predetermined locations depending on the hull used. In the future there will also be weapons of different sizes and bigger weapons will respectively need bigger mounting positions.
Fighter combat
Some initial testing of combat with fighters. The fighters do attack runs at each other and try to take the needed lead when aiming to hit the target with the projectiles. Hp bars also work and the ship loses controls and continues drifting when it is destroyed.
Combat speed can be changed to make a nice slow motion effect while giving orders. One can also pause the combat by setting the time modifier to 0.
Following and movement waypoints
Using realistic physics allows for nice tricks. In the video, you see how one ship flies and floats around while another ship tries to follow it by matching its own velocity and location to the target ship. Once it has achieved the same velocity as its target, it is free to rotate towards the target ship, in order to shoot at it, for example. Using realistic physics also gives rise to many nice side effects like the crash with an asteroid at 1:07. There is also a third ship following the second one to make the video more confusing.
Thruster effects
It was time to add thruster effects. Not only because it looks cool but because it is a nice way to get visual cues on how the AI is flying the ship. Thus, it is also like a debugging tool to see that the ship behaves correctly in the dragless space. The ships basically have six degrees of freedom when moving. The right, up and forward axes are ones they can accelerate along and around. Based on the inputs on each of these controls, each thrust effect should be either played or not played. This can be very complicated and laborious to set up manually, and because I’m a mathematician, I try to avoid all work. That is why I created a system to automatically detect all thrust effects and determine how they should be played depending on the inputs and how they are situated in relation to the ship.
Since the controls are set up this way, it means that the AI flying the ship is using the same controls a human would use. The ships also have togglable assists to decelerate any existing linear or angular velocity. This is very helpful for human pilots. In the video, I’m flying the ship manually to test the effects. In the last clip, seven AI driven ships also emerge.