Accueil > Jeux Vidéo > Mush Universe > StarMush
Video Game - Multiplayer - Action - Strategy - SpaceShip
-=[Project]=-
Ships have no maximum speed. They have a current speed and can activate thruster(s) to increase or decrease it (at ΔV rate) depending on weight and thruster power. Light starships have no higher maximum speed, but can reach high speed faster that heavy starships.
Speed is relative. A bullet shot from a fast-moving ship will go faster than one shot from a slow-moving ship. Guns and canons shot bullets with a once-increased speed (bullets have constant speeds) while missiles have the same speed as their launching ship but have onboard thruster accelerating them until they run out of fuel.
Large ships can store smaller ships and launch them. When launched, a ship have the same speed as it's launching ship. It can then use its own thrusters to increase it and go ahead.
Each key is a trigger that can be linked by the player to any activable item: weapon, thruster, special ability, ...
For example, I bind the "left-arrow" and "right-arrow" to my left and right auto-ballanced side-thrusters. I can now navigate to left and right with thus two arrows. I then bind the "up-arrow" to my main thruster and "down-arrow" to my retro-thruster: I can accelerate and decelerate at will. Now I bind all my forward weapons (one lazer and a few guns) to "space" (they will all continuously fire while I'll be holding "space" down) and my special nuke launcher to "left-ctrl" (I don't want to use my nukes as often as my guns, because I carry only a few). Right hand: movment; left hand: weapons!
Mouse buttons are handled the exact same way as keyboard's keys are, and cursor's coordinates can be accessed even by non-mouse triggers (allowing a letter to fire an aimed-by-cursor weapon).
A key can be assigned by the player to a mode changer, which is not an in-game item but a special trigger change the way keys are linked to items.
Keys can be assigned to items in a special mode called "root", making them available in any mode and unrelinkable.
Now I bind "shift" to a trigger that makes my keys to change their assigned actions while I hold it down. In this "shifted" mode, I link the WASD keys to my thrusters and the mouse's left button to my cursor-controlled sniper. I can now move with WASD with my left hand (while holding the left "shift" with my little finger) and aim and fire my sniper with the mouse under my right hand. I can bind my weapons under "space" and "left-ctrl" in the "root" mode, and use them while being in my normal mode (arrow keys for movment) or "shifted" mode (WASD and mouse). If I don't, I won't be able to fire my guns while holding "shift".
Projectiles have angular speed vectors: modifying the direction of a missile without touching its speed is easier.
Projectiles are points (having no width nor height): collisions checks are faster.
Collisions check take account of displacement (and avoid tunnel effects): collision is detected if an object is present on the line from the last to the next position of the projectile.
Objects (ships, missiles, etc) belong to collision classes (two elements can't collide if they are in the same class): collision check is faster and friendly-fire is automatically avoided.
Objects of same class are stored in trees: collision check is even faster.