Jump to content

[Concept] Jetpacks

Recommended Posts

Jetpacks will allow the user to gain a considerable advantage in both mobility and accessibility of the map. Some areas which ordinarily could not be accessed now can; some gaps which could not be traversed before now can be.


Like shields, jetpacks are equipped to the ACI and occupy a slot. Only one jetpack can be equipped in the ACI at a time. Any new jetpacks equipped to the ACI will replace the existing one.


Jetpacks can be activated by either:

  • Double jumping
  • Pressing the ACI button of the jetpack
  • Pressing USE while in midair


Jetpacks have a variety of different stats, including:

  • initialBurst: After activating, the jetpack may launch you up a few feet. By pressing the ACI button of the jetpack, you can trigger this without jumping.
  • fuelConsumptionRate: While the jetpack is idle, it consumes this much fuel.
  • thrustConsumptionRate: While the jetpack is thrusting (hold JUMP), consume this much fuel instead.
  • hoverAmount: How much the jetpack reduces your gravity while not thrusting
  • thrustForwardModifier: How much the jetpack modifies your forward movement speed while thrusting
  • thrustSideModifier: How much the jetpack modifies your side movement speed while thrusting
  • thrustBackModifier: How much the jetpack modifies your backwards movement speed while thrusting
  • thrustUpModifier: How much the jetpack modifies your upwards movement speed while thrusting
Futuza, Onysfx, Noodle and 1 other like this
Link to comment

The jetpack code has been implemented. You'll find that the jetpacks handle similarly to the game Tremulous, as much of the inspiration for the code came from there.


Here's an example of a .jet file, which defines all of the properties of a jetpack:



    // Jetpack file - Jedi Knight Galaxies
    // ref - reference that gets linked to .itm file
    // fuelCapacity - total fuel capacity of the jetpack
    // fuelConsumption - how fast (not how many!!) units are consumed while hovering (not holding jump)
    // thrustConsumption - how fast units are consumed while thrusting (pressing jump)
    // fuelRegeneration - scale of how fast fuel gets regenerated

    "ref":            "jetpack_test",
    "fuelCapacity":        100,
    "fuelConsumption":    1.0,
    "thrustConsumption":    2.0,
    "fuelRegeneration":    1.0,
    "movement": {
        // Movement - done on both client and server
        // hoverGravity - amount to decay height by while hovering (actual units, not a modifier)
        // fowardMove - amount to modify forward move by while hovering (not thrusting)
        // backMove - amount to modify backward move by while hovering (not thrusting)
        // sideMove - amount to modify side move by while hovering (not thrusting)
        // downMove - amount to modify downward movement by
        // thrustFwd/thrustBack/thrustSide - same as above, but when thrusting
        // thrustUp - amount to modify upward movement by
        "hoverGravity":    "-1.0",

        "forwardMove": 1.0,
        "backMove": 1.0,
        "sideMode": 1.0,
        "downMove": 1.0,

        "thrustFwd": 1.0,
        "thrustBack": 1.0,
        "thrustSide": 1.0,
        "thrustUp": 1.0

    "visuals": {
        // Visuals - anything handled on the server is marked with an (S), all else is client
        // modelName - the ghoul2 model to bolt onto the player (it always bolts onto *chestg)
        // effectBolts - bone(s) on the JETPACK model to bolt effects onto
        // hoverEffect - effect to play while hovering (not holding jump)
        // thrustEffect - effect to play while thrusting (holding jump)
        // idleSound - sound to play while hovering
        // thrustSound - sound to play while thrusting
        // activateSound (S) - sound to play when jetpack is activated
        // deactivateSound (S) - sound to play when jetpack is deactivated

        "modelName":    "models/weapons2/jetpack/model.glm",
        "effectBolts": [
        "hoverEffect": "effects/player/jetpack.efx",
        "thrustEffect": "effects/player/jetpack.efx",
        "idleSound": "sound/jkg/jetpack/jethover",
        "thrustSound": "sound/jkg/jetpack/jetlp",
        "activateSound": "sound/jkg/jetpack/jeton",
        "deactivateSound": "sound/jkg/jetpack/jetoff"
Smoo and Futuza like this
Link to comment

People are welcome to use the jetpack code, JKG is opensource.  But they'll/you'll have to do that yourself.  Also multiplayer code is a bit different from the singleplayer code so it's going to take some extra work which is why you'll have to do it yourself.

JKG Developer

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...