Ok. I will. Umm
Progress update: Got an idea figured out to display a ship in the viewscreen if it is in front of you. Bear in mind that the data entry for each network member is:
5-byte member ID
8-byte username (padded if necessary)
6-byte position (xx,yy,zz)
3-byte sector (x,y,x)
So, first I check the sectors. If a ship is not in the same sector as you, I skip that entry. If it is, then I check the high byte of the axis you are moving on against that of the current entry. If it is not the same, I skip that entry. If it is, then I check the low byte. If the ship is in front of you, then I check the high bytes of the other two axises of the entry. If the high bytes of those two axis positions are the same as yours, then you see the ship on the view screen. The only downside I see to this is if you are, for instance, moving forward and the other ship is at $0012,$0000 and you are at $0011,$FFFF, you will not see the opponent on your screen, despite him being just one unit away (though you will be able to see him on your sensors). Comments? Suggestion?
The movement is only in 6 directions. Forward, Backward, Left, Right, Up, and Down. I kind of want to support full 3-d movement. Can anyone help?
As for weapons firing, you are most effective when you can lock onto your target. In order to do this, the sensors must be online. While locked, photons and phasers fly directly at the target. Without sensors locked, weapons will not function at all (except for the scrambler). As for weapons firing, I planned to make them instantaneous, but I've been thinking I should animate them flying through space in the view screen. Can someone help me with this?
As for locking, picking your target is very easy with gCn. Your calc will not spend time finding its target. "Locking-on" returns a pointer to the current target's data entry, making it trivial to return the ID for sending.
That's why I mandate locking for weapons firing.
The scrambler is an all-targetting weapon. It basically causes you to emit 0's for all your position data for some time, thus rendering you invisible. While you can be found at that corner of the map, you calculate the odds of being there. The scrambler is like the cloak in that it makes you invisible, but eventually, the jamming transmission wears off.
The cloaking device may be used to render you invisible until you choose to remove it. It emits 0's for your position data. Thus, you cannot be targetted. On level 0, you have no cloak (go figure). On level 1, you cannot transport or attack while using it. On level 2, you can transport, but not attack. On level 3, you can transport and attack.
Using the cloaking device consumes energy, as does firing weapons, using the shields, and mostly everything else. Every time you fire a phaser or photon, you use power. Having shields raised, being moving, and having the cloak raised also consume power at a steady rate. Your Power Level will drop if you begin using too much power at once, and if you run out, everything fails. Your Generator will be supplying power to all main drives by increasing your Power Level by a certain amount at a steady rate. This rate is in direct proportion to the current percent health of the generator multiplied by the level of the generator (you can equip upgrades). As your generator takes damage, the rate of power output decreases, thus your ship cannot produce power as fast. If your generator is knocked offline, once your Power Level drops to 0, shields drop, cloaks fail, and all other systems (except repair (which gets to work) and life support) go offline. Trust me, you don't want that to happen.