Missiles are now functional. The lock on process and launching process are complete. I added a "float" timer to the overall process. Basically, it takes ten seconds to lock a missile to target. Ordinarily, this requires the player to hold a "mouse over" of the target for the full ten seconds. The "float" timer allows the player to lose contact between the mouse pointer and target for a few seconds. Currently, three seconds is the amount of time a player can "float" a lock. The ten and three seconds rule will probably change after AI routines get developed, and I get a better picture of the speed and feel of the game.
There are two issues with the missile script. First, I have not developed a good method to inform the player of what is occurring in the locking process. Second, the missiles have no AI associated with them; they just travel in a straight line like a bullet.
I want to put off dealing with AI routines for now, and concentrate on a user interface.
Currently, the player's viper if flyable; however, you have no idea of your speed, the amount of fuel remaining or the amount of damage sustained by your viper. You can fire bullets and missiles; however, you don't have any idea of how many bullets or missiles are left in inventory. There is no radar (or dradis as it is referred to in BSG).
So, next up is the Heads Up Display.
First, I want to replicate the general features in the older prototype. This includes a radar screen, a f-scope display (like a radar but more height oriented), a targetting camera and a display for fuel, fuel rate, structure, bullets, missiles and countermeasures. I'll use the general processes employed in the previous build and am not too worried about this prospect. I will create a new class called an identification manager to handle what the old "heatsource" class did in the older build. Instead of using Unity's built in tag system, I will be using a faction, type and size variables to help track objects. Size will be a new concept and will be used heavily in future AI routines. It's non-existence in the previous build really hampered creating a viable AI system.
In addition to previous build's HUD features, I will manipulating the mouse pointer and making it an integral part of the user interface. Instead of the standard mouse pointer, the pointer will be a target crosshair. When it mouses over a target, the pointer will change depending on circumstance. Mousing over a friendly (same faction) target will result in a change in mouse pointer. I'll have to come up with a pretty "you can't target this" picture. When mousing over a targettable object, the mouse pointer will disappear or become much smaller. A target recticle will be placed over the target. It will display the lock timer. If the mouse pointer leaves the target during this process, the mouse will change and the float timer will be displayed as part of the change. After obtaining a lock, a different target recticle will replace the "locking on" recticle.
Dealing with the mouse pointer and it's proposed features worries me some. It shouldn't be too hard; however, I can see a few issues that can make this potentially difficult. So, the plan of attack is to get the old features into the new build. After that, I will implement the mouse pointer features.
Once I get the graphical interface functional, I'll probably feel more comfortable releasing some images.