Search Unity

Controller [Released] Sci-Fi Ship Controller - A versatile physics-based controller with playable demos, AI...

Discussion in 'Tools In Progress' started by sstrong, Dec 7, 2018.

  1. cassius

    cassius

    Joined:
    Aug 5, 2012
    Posts:
    125
    Hey guys. How do I go about changing the values for "Max Pitch", "Pitch Speed", and "Turn Roll" via the API at runtime?

    Thanks!
     
  2. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Code (CSharp):
    1. public ShipControlModule playerShip;
    2. ..
    3. if (playerShip != null && playerShip.IsInitialised)
    4. {
    5.   Ship ship = playerShip.shipInstance;
    6.   ship.maxPitch = myvalue;
    7.   ship.pitchSpeed =
    8.   ship.maxTurnRoll =
    9.   ship.turnRollSpeed =
    10. }
     
    cassius likes this.
  3. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sci-Fi Ship Controller - Docking Basics Tutorial

     
    docsavage and julianr like this.
  4. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    We have seen some odd errors with not being able to move or delete items in lists in our editors. It is related to some changes Unity has made in the editor. If you run into this problem, we have a patch.

    For people on the beta program, you need SSC v1.1.8 Beta 1d or newer which can be applied to the latest store version (1.1.7).
     
    Last edited: Jul 10, 2020
  5. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Mouse deadzone

    upload_2020-7-12_10-36-52.png


    Coming in Sci-Fi Ship Controller 1.1.8 is the ability to control mouse deadzone. This will be supported with the following Input Modes:
    • (New) Unity Input System
    • Legacy Unity Input System
    • Keyboard
    This can be useful when you want to control pitch and/or yaw with the mouse. For beta program members, you need version 1.1.7 from the asset store and then 1.1.8 Beta 2d or newer.
     
    Last edited: Jul 12, 2020
    docsavage and julianr like this.
  6. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Extensive API

    We continue to build out our extensive API for all aspects of Sci-Fi Ship Controller so that you can:
    • Integrate SSC with your gameplay code
    • Write fewer lines of code yourself
    • Achieve more with less
    • Take advantage of our performance optimisations
    If you are having trouble achieving something within your game with our APIs, please ask or make suggestions.
     
    julianr likes this.
  7. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Turret and Auto-Targeting Updates

    Coming in Sci-Fi Ship Controller 1.1.8 are new and improve features for Turrets and Auto-Targeting.

    upload_2020-7-23_19-45-43.png

    NEW
    • Update Target Periodically - Whether the target should be reassigned periodically (after a fixed period of time).
    • Update Target Time - The time to wait (in seconds) before assigning a new target.
    • Can Lose Target - Whether the current target can be 'lost' through either loss of line of sight or an inability to lock on to the target.
    • Target Lost Time - How long (in seconds) a target must be invalid for it to be lost (prompting a new target to be assigned).
    • Require LoS - Whether a target can be 'lost' if line-of-sight is lost.
    • Require Target Lock - Whether a target can be 'lost' if the turret is unable to lock on to it.
    IMPROVED
    • Turret inaccuracy option is more realistic
    • Turrets adjust for velocity more accurately
    • Auto targeting for ship turrets discard targets outside of firing cone
     
    docsavage and julianr like this.
  8. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    HUD Updates coming in 1.1.8

    Coming in 1.1.8 are some significant updates for the Ship Display Module. These include:
    • The ability to see changes in the Game view at runtime AND outside play mode
    • A messaging system to display info to the player
    • Scrollable text in display messages
    • Multiple target tracking
    And like almost everything in Sci-Fi Ship Controller, it can be driven by our extensive APIs in your own game code.
     
    johaswe, docsavage and julianr like this.
  9. hellosimplegame

    hellosimplegame

    Joined:
    Jun 13, 2017
    Posts:
    8
    Hi! Does it work with mobile (android, ios) ?
    Thanks!
     
  10. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    We have tested on Android (both phone and tablets). Like all touch screen or accelerometer controlled devices it will come down to your implementation of user input. If you already have a input method setup, you can send player ship input data directly to our API. There is also a Player Input Module included which has a basic on-screen setup.

    Our scripts are highly optimised and have low performance overhead, so should work fine on most devices. The placeholder demo assets that come with the package are designed for PC and console but you can easily use you own models and assets with SSC.
     
    hellosimplegame likes this.
  11. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Ship Display Module - messages

    Scrollable HUD messages are now available for testing. You'll need the current asset store build (Sci-Fi Ship Controller 1.1.7) and the 1.1.8 Beta 4a patch or newer.

    upload_2020-7-29_21-46-8.png

    For adding or modifying messages at runtime, see the relevant section of the Runtime and API chapter in the manual (click the Help button to view the manual).
     
    julianr likes this.
  12. hellosimplegame

    hellosimplegame

    Joined:
    Jun 13, 2017
    Posts:
    8
    Thank you so much! it is great if you have a mobile demo scene for the control and the input.
    I like this plugin, this is awesome!
     
  13. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is a really quick example of how you could create your own input system to send data to a ship.
    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. // Sci-Fi Ship Controller. Copyright (c) 2018-2020 SCSM Pty Ltd. All rights reserved.
    4. namespace SciFiShipController
    5. {
    6.     /// <summary>
    7.     /// Attach a SampleSendShipInput component to a player ship that does
    8.     /// NOT use the PlayerInputModule. This is an over-simplified way of sending
    9.     /// input to a player ship without using the PlayerInputModule.
    10.     /// This is only sample to demonstrate how API calls could be used in
    11.     /// your own code. You should write your own version of this in your own
    12.     /// namespace.
    13.     /// For PC and Console typically you will use the PlayerInputModule
    14.     /// with one of the Input Modes.
    15.     /// e.g. Keyboard, Legacy or New Unity Input System, Rewired, Occulus, Vive VR etc
    16.     public class SampleSendShipInput : MonoBehaviour
    17.     {
    18.         #region Private Variables
    19.         private ShipControlModule shipControlModule = null;
    20.         private ShipInput shipInput = null;
    21.         private bool isInitialised = false;
    22.         #endregion
    23.  
    24.         #region Initialisation Methods
    25.  
    26.         // Start is called before the first frame update
    27.         void Start()
    28.         {
    29.             shipControlModule = GetComponent<ShipControlModule>();
    30.  
    31.             if (shipControlModule != null)
    32.             {
    33.                 // If Initialise On Awake is not ticking on the ship, initialise the ship now.
    34.                 if (!shipControlModule.IsInitialised) { shipControlModule.InitialiseShip(); }
    35.  
    36.                 if (shipControlModule.IsInitialised)
    37.                 {
    38.                     // Create a new instance of the shipInput which we can send each frame to the ship.
    39.                     shipInput = new ShipInput();
    40.  
    41.                     isInitialised = shipInput != null;
    42.                 }
    43.             }
    44.             #if UNITY_EDITOR
    45.             else
    46.             {
    47.                 Debug.LogWarning("[ERROR] SampleSendShipInput.Start() could not find the ship! Did you attach this script to a ShipControlModule?");
    48.             }
    49.             #endif
    50.  
    51.             // Our sample uses the legacy input system to get keyboard input.
    52.             // However, you can use any input system you like e.g. Touch screen input from a mobile or a controller etc.
    53.             #if !ENABLE_LEGACY_INPUT_MANAGER && UNITY_2019_2_OR_NEWER
    54.             Debug.LogWarning("ERROR: SampleSendShipInput - This sample uses keyboard input from Legacy Input System which is NOT enabled in this project.");
    55.             #endif
    56.         }
    57.  
    58.         #endregion
    59.  
    60.         #region Update Methods
    61.         // Update is called once per frame
    62.         void Update()
    63.         {
    64.             if (isInitialised && shipControlModule.ShipIsEnabled())
    65.             {
    66.                 // This sample uses simple keyboard input from the legacy Unity Input System.
    67.                 // Here is where you'd get your input from your target devices.
    68.                 // For example touch screen on a mobile or accelerometer etc.
    69.                
    70.                 // Reset input axes
    71.                 shipInput.horizontal = 0f;
    72.                 shipInput.vertical = 0f;
    73.                 shipInput.longitudinal = 0f;
    74.                 shipInput.pitch = 0f;
    75.                 shipInput.yaw = 0f;
    76.                 shipInput.roll = 0f;
    77.                 shipInput.dock = false;
    78.            
    79.                 #if ENABLE_LEGACY_INPUT_MANAGER || !UNITY_2019_2_OR_NEWER            
    80.                 // You may wish to lerp towards a value over several frames or modify
    81.                 // you ship's pitch/yaw/roll/turn acceleration on the Physics tab.
    82.  
    83.                 // Forward and Back
    84.                 if (Input.GetKey(KeyCode.UpArrow)) { shipInput.longitudinal += 1f; }
    85.                 if (Input.GetKey(KeyCode.DownArrow)) { shipInput.longitudinal -= 1f; }
    86.  
    87.                 // Pitch up and down
    88.                 if (Input.GetKey(KeyCode.W)) { shipInput.pitch += 1f; }
    89.                 if (Input.GetKey(KeyCode.S)) { shipInput.pitch -= 1f; }
    90.  
    91.                 // Left and Right
    92.                 if (Input.GetKey(KeyCode.RightArrow)) { shipInput.yaw += 1f; }
    93.                 if (Input.GetKey(KeyCode.LeftArrow)) { shipInput.yaw -= 1f; }
    94.  
    95.                 // Roll left and right
    96.                 if (Input.GetKey(KeyCode.D)) { shipInput.roll += 1f; }
    97.                 if (Input.GetKey(KeyCode.A)) { shipInput.roll -= 1f; }
    98.  
    99.                 // Keep firing when the space bar is held down
    100.                 shipInput.primaryFire = Input.GetKey(KeyCode.Space);
    101.                 #endif
    102.  
    103.                 shipControlModule.SendInput(shipInput);
    104.             }
    105.         }
    106.         #endregion
    107.     }
    108. }
    109.  
    On PC and console you'd typically just use our PlayerInputModule. However, on Android and IOS you'd probably want to create your own on-screen buttons and input methods using the above sample as a guide.
     
    hellosimplegame and julianr like this.
  14. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Ship Display Module - on-screen target tracking

    As promised, in Sci-Fi Ship Controller 1.1.8 there will be on-screen target tracking. This feature allows you to link radar data about enemy ships or gameobjects with on-screen Display Targets, AND guided projectile weapons.

    upload_2020-8-5_19-7-41.png

    Starting in 1.1.8 Beta 4p there is a sample script (SampleHUDTargets.cs) that show how to build a customised solution via our APIs. And yes, it is fully commented so that you can follow how it works.

    We are now working on integrating this solution into the AutoTargetingModule for rapid deployment and very quick setup for people who want to configure everything from the editor.
     
    julianr likes this.
  15. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here are just some of the new features and improvements coming in Sci-Fi Ship Controller 1.1.8.

    [NEW] PlayerInputModule - Mouse deadzone
    [NEW] ShipDisplayModule - IsSourceShip, CentreCursor API methods
    [NEW] ShipDisplayModule - scrollable messages with API
    [NEW] ShipDisplayModule - on-screen targets with API
    [NEW] ProjectileModule - editor runtime debugging option
    [NEW] HUD - SampleHUDTargets script for on-screen target tracking
    [NEW] Radar API methods to check if blips are in viewable screen viewports
    [NEW] AutoTargetingModule - optional on-screen target tracking
    [NEW] AutoTargetingModule - support for fixed weapons with guided projectiles
    [FIXED] ShipDisplayModule - HUD does not adjust for screen resizing
    [FIXED] Editors - cannot delete or move list items in U2019.3+
    [FIXED] Radar - GetRadarResults API method ignored query sort order and created GC
    [FIXED] Weapons - turning off Multiple Fire Positions may result in incorrect fire position
    [IMPROVED] Ship AI Input Module - runtime editor debugging
    [IMPROVED] Ship Docking is out of technical preview
    [IMPROVED] PlayerInputModule – (new) Unity Input System out of technical preview
    [IMPROVED] PlayerInputModule - detect when legacy Unity Input System is disabled in 2019.2+
    [IMPROVED] Turrets inaccuracy option is more realistic
    [IMPROVED] Turrets adjust for velocity more accurately
    [IMPROVED] Auto targeting for ship turrets discard targets outside of firing cone

    They are currently in beta testing. Any SSC customer can get access to the Beta Program if they want to test new features coming in the next release. It is great way to help improve the product and influence the design by providing direct feedback to the developers.
     
    docsavage and julianr like this.
  16. Anhella

    Anhella

    Joined:
    Nov 18, 2013
    Posts:
    67
    Good day do this sci fi ship controller have Enter/Exit ship ability for TPS/FPS Controller.
    thanks in advance
     
  17. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Using our (optional) Ship Camera Module which is included in SSC, you could switch between say a cockpit view and an external or following-style view (I've provided a couple of SSC links that show what I mean).

    upload_2020-8-13_8-17-4.png

    Although you can use your own camera setup and scripts, we provide the Ship Camera Module which is a quick way to get started. There is a sample script included that also shows how to switch between player and / or multiple AI ships at runtime.

    What style of enter/exit mechanics are you looking for?

    We currently don't provide any player avatar animated or character controller.
     
  18. Anhella

    Anhella

    Joined:
    Nov 18, 2013
    Posts:
    67
    good day
    what i am looking for is a third person or first person enter in and exit out of vehicle kind like press E to enter and Q to Exit vehicle or etc.
     
  19. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    You can reposition the camera with our Ship Camera Module by using keyboard input as I mentioned above. However, our product is to control space craft which can also include docking and undocking. We are not a 1st person or 3rd person character controller.

    So although you could combine a person character controller with SSC we don't handle the person character controller aspects of your game.

    In summary, in SSC you can (in one frame):

    1. Switch between player and/or AI ships
    2. Go from outside views to in-cockpit positions
    3. Get input from any device you want, then call our API methods to change the camera view

    There are many, many different game-specific scenarios for entry/exit (which would be handled by your person character controller). Here are a few:

    1. Character climbing up a ladder from the ground to a cockpit
    2. Could be a single or dual setter fighter (user would have to select which seat)
    3. A fighter could have seats beside or behind each other
    4. Character could enter through an airlock and need to remove their space-suit
    5. Walk to cockpit inside a medium sized ship, activate the door mechanism, walk to correct seat
    6. Be on the deck of a huge capital ship, and find way to correct pilot's seat
    7. Character might not be human and not behaviour "normal" laws of physics

    As you can see, "entry and exit" may not be as simple. And in any game it could have a combination of any of the above. I'm sure you can also think of other scenarios.
     
  20. cassius

    cassius

    Joined:
    Aug 5, 2012
    Posts:
    125
    I'm wondering if there's anything built in for camera/object avoidance so the camera doesn't go through things?

    Edited to say: Wow, you guys have added a lot to this recently. To take advantage of these new features, do I need to completely remove SFSC before updating? I updated but am not seeing anything in the Editor reflecting those changes.
     
  21. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    I'm assuming you are using our Ship Camera Module rather than your own camera setup. If so, not at the moment. Do you have a particular scenario?
     
  22. cassius

    cassius

    Joined:
    Aug 5, 2012
    Posts:
    125
    Yeah, the Ship Camera Module. Going through things like meteors or taking tight turns around ships/walls and then immediately turning the other way. My camera sits about 20 units behind my ship so if the ship goes up next to another ship or wall or something (parallel to it) and then turns away, the camera ends up going about 15 units into the object while following the player's turn movements.

    In any event, figured I'd ask since you guys have been so great with the updates and adding new functionality - I thought perhaps this might be in the package now.

    Edit: BTW thanks for the amazing asset. It is by far the best asset purchase I have ever made.
     
    sstrong likes this.
  23. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    We'll add camera clipping to our roadmap. Glad you like the asset, we have a lot more features planned. We just need time to do them...
     
  24. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    As mentioned previously, on-screen radar tracking is coming for guided projectiles in Sci-Fi Ship Controller 1.1.8. Here is a quick example of it selecting an enemy AI surface turret. Using our enhanced AutoTargetingModule, it will automatically locate, track and assign weapons to the "best" enemy ship or target to attack.

    upload_2020-8-14_20-17-12.png

    This is available right now to Beta Program members, and will also be in the next release.
     
    julianr likes this.
  25. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    We are planning to include a sample which shows how entry/exit can be integrated with your character controller.
     
    julianr likes this.
  26. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    NEW in Sci-Fi Ship Controller 1.1.8 will be more control over banking and pitch angle with AI ships and Planar flight options.

    upload_2020-8-15_12-54-36.png
     
    cassius and julianr like this.
  27. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    We've done some refactoring of our heads-up display radar tracking. In the latest beta (1.1.8 Beta 7a) you can now track multiple different categories (factions and/or squadrons) of targets AND also show friendly ships.

    Each DisplayTarget (as we call them in the HUD) can have a different on-screen symbol (reticle). If you don't like any of our sample reticles, you can easily add your own.
     
  28. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
  29. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Tech Demo #3

    As Tech Demo #2 nears completion, we have started planning the next tech demo. It is likely to contain:
    • A space station docking scene
    • A small shuttle
    • AI docking control
    • Player that can exit the shuttle
    • Player that can enter the space station
    • Other AI Ships docking and undocking
    This will demonstrate some exit and entry techniques and will show how a Player ship can also be controlled by AI.
     
  30. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sci-Fi Ship Controller v1.1.8

    This has been submitted to Unity for approval. For beta testers it is available immediately. It includes:

    [NEW] PlayerInputModule - Mouse deadzone
    [NEW] ShipDisplayModule - IsSourceShip, CentreCursor API methods
    [NEW] ShipDisplayModule - scrollable messages with API
    [NEW] ShipDisplayModule - on-screen targets with API
    [NEW] ProjectileModule - editor runtime debugging option
    [NEW] ProjectileModule - guided projectiles have adjustable turning speed
    [NEW] HUD - SampleHUDTargets script for on-screen target tracking
    [NEW] Radar API methods to check if blips are in viewable screen viewports
    [NEW] AutoTargetingModule - optional on-screen target tracking
    [NEW] AutoTargetingModule - support for fixed weapons with guided projectiles
    [NEW] Ship AI Input Module - configurable banking and pitch angles
    [FIXED] ShipDisplayModule - HUD does not adjust for screen resizing
    [FIXED] Editors - cannot delete or move list items in U2019.3+
    [FIXED] Radar - GetRadarResults API method ignored query sort order and created GC
    [FIXED] Weapons - turning off Multiple Fire Positions may result in incorrect fire position
    [FIXED] ShipControlModule - NullReferenceException when clicking Visible to Radar at runtime
    [IMPROVED] Ship AI Input Module - runtime editor debugging
    [IMPROVED] Ship Docking is out of technical preview
    [IMPROVED] PlayerInputModule – (new) Unity Input System out of technical preview
    [IMPROVED] PlayerInputModule - detect when legacy Unity Input System is disabled in 2019.2+
    [IMPROVED] Turrets inaccuracy option is more realistic
    [IMPROVED] Turrets adjust for velocity more accurately
    [IMPROVED] Auto targeting for ship turrets discard targets outside of firing cone
     
  31. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sci-Fi Ship Controller v1.1.8 is now available from the Asset Store.
     
  32. cassius

    cassius

    Joined:
    Aug 5, 2012
    Posts:
    125
    Does anyone happen to know how to modify the max thrust value at runtime?

    Edit: I know you can add additional Thrusters in the Thrusters section of Ship Control Module, however I don't know how to map that up to a different player input.
     
  33. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Code (CSharp):
    1. shipControlModule.shipInstance.thrusterList[thusterIndex].maxThrust = newValue;
    Where thrusterIndex is the zero-based index of your thruster in the list. So Thruster 01 in the Editor would be thrusterIndex = 0.
     
  34. cassius

    cassius

    Joined:
    Aug 5, 2012
    Posts:
    125
    Amazing! Thanks for the fast reply. It works, and I see that the value is in Newtons and gets converted to kN in the Inspector. Cool.
     
    sstrong likes this.
  35. tgamorris76

    tgamorris76

    Joined:
    Apr 24, 2013
    Posts:
    292
    I use Game creator which allows TPS/FPS type games and comes with tutorials on how to mount/dismount Player characters from vehicles. I highly reccomend it
     
    sstrong likes this.
  36. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Custom Player Input - call your own code

    upload_2020-8-21_17-11-46.png

    Coming in Sci-Fi Ship Controller v1.1.9 is the ability to call your own custom methods from our Player Input Module. This will enable you to:
    • Call your own code when the player presses a button on a controller
    • Call your own menu code
    • Perform a custom action like change the camera position
    • Get the value from say a controller trigger
    • Activate your own tractor beam
    • Modify a ship variable or setting at runtime
    We are planning to implement this for the Input Modes we support (Direct Keyboard, Legacy Unity, new Unity Input System, Rewired, Oculus API, and Vive)
     
    cassius likes this.
  37. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    You could even use our new Custom Player Input feature (see above) to let the user modify it by pressing a button etc. on a controller.
     
    cassius likes this.
  38. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Changing Camera View

    In Sci-Fi Ship Controller v1.1.9 we are adding a sample script that allows you to quickly configure different camera positions (Demos\Scripts\SampleChangeCameraView). For example, you could allow the player to switch between an in-cockpit view and say a follow-ship view. It will make use of the new Custom Player Input options (also new in v1.1.9) so that you can configure your own controls in the editor that trigger the event.
     
  39. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Beam Weapons

    We're adding fixed beam weapons to ships in Sci-Fi Ship Controller 1.1.9. Here is your chance to have design input to the product.

    Q1: When the (laser or ray) beam is "fired", would you rather:
    a) the beam only be shown when it makes contact with an object
    b) always be shown for the minimum "burst" duration

    Q2: When the beam hits an object collider (or another ships local damage region) do you want:
    a) An effects object (which can also have sound fx) spawned every x seconds at the last hit point
    b) Have effects spawned only once but then be moved as the hit point changes
    c) some other behaviour

    Like other weapons, they can be also damaged themselves if they are associated with a local damage region on a ship. They can also have multiple fire points and have a recharge time.
    • The beams can be added to our pooling system (with the click of one button).
    • They have min/max burst durations
    • They can be assigned a custom damage type (like projectiles).
    • You can setup your own custom material and shaders for the beam
    And like pretty much everything in Sci-Fi Ship Controller, they work with our extensive runtime APIs.

    So, here is your chance, give us your preference for questions 1 and 2 or any other suggestions that we might want to consider! You can also discuss on our dedicated Discord channel.
     
    tgamorris76 likes this.
  40. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    HUD Gauges

    In Sci-Fi Ship Controller 1.1.9 we are adding simple measuring bars and gauges that let players know what is going on in your game. Once set up, it is very easy to update them in your game loop. Here is quick example using our API from Demos\Scripts\SampleShowShipMetrics.cs.
    Code (CSharp):
    1. void Update()
    2. {
    3.     if (isInitialised)
    4.     {
    5.         // Update Health on the HUD
    6.         shipDisplayModule.SetDisplayGaugeValue(healthGauge, playerShip.shipInstance.HealthNormalised);
    7.  
    8.         // Update Weapon Charge on HUD
    9.         shipDisplayModule.SetDisplayGaugeValue(weaponPowerGauge, beamWeapon.chargeAmount);
    10.     }
    11. }
    Gauges can be setup in the HUD inspector in the Unity Editor, or added at runtime with our APIs.
     
  41. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here are some of the different styles of gauges you can add to your HUD in Sci-Fi Ship Controller v1.1.9 (coming soon).

    upload_2020-9-1_18-11-35.png
     
  42. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here are a few of the changes coming in Sci-Fi Ship Controller 1.1.9. For Beta Program members, these are available for testing.

    [NEW] Sample Change Camera View script
    [NEW] Ship Beam weapons
    [NEW] Ship Display Module - customisable gauges with API
    [NEW] PlayerInputModule - call your own code with Custom Player Inputs
    [NEW] SampleShowShipMetrics script demonstrates creating gauges in code with API
    [FIXED] ShipControlModule - fixed weapon gizmos are incorrect when ship is rotated
    [FIXED] Radar - NullReferenceException when ship to follow is destroyed and not respawned
    [IMPROVED] Ship Damage Regions - (destruction) effects can optionally follow a moving ship
     
  43. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Tech Demo 2 - Game play elements - Part 1

    So, you want to create a Sci-Fi game and you have Sci-Fi Ship Controller. After you’ve looked and played with the demos, what’s next?

    When we started down the Tech Demo 2 journey, we were determined to build something others could follow. We wanted a playable scene that inspired you to build something greater using similar techniques. The aim was to show you how we’d implement a game with Sci-Fi Ship Controller.

    We’ve tried to use a wide selection of tools and features from Sci-Fi Ship Controller so that no matter what kind of game you’re creating, there will be something for you.

    Along our journey we’ve filled in gaps in our product and massively expanded our fully documented C# APIs. Wherever possible, we’ve used Sci-Fi Ship Controller modules and APIs to demonstrate our product in action.

    As part of this project, we’re written many new sample scripts which you can use as a guide when writing your own game code. We’ve moved custom code into features within our core modules and in many cases, they can be simply activated from within the Unity editor.

    Backward compatibility is a big thing for us. Tech Demo 2 will be a reference project for you for many months to come. It isn’t a point in time demo. When you load version xyz of Sci-Fi Ship Controller it should still load and run.

    Tech Demo 2 is a mission based (mini) game. Our approach has been to break the scene down into small “missions” or objectives – both for the player and the other ships in the scene. Without revealing too much about the actual “game”, there are 5 sections or phases in the overall mission. The mission is progressive so the only way to go back is to bring up the menu and click “Restart”. This lets us determine at which section or phase of the mission the player is in at any point.

    At the beginning of each section, we use the Ship AI runtime APIs to re-assign objectives for both the friendly and enemy ships. I’ll go into more detail in a later post.

    Our core gameplay loop is pretty simple because it just needs to start each section and then let our AI ships and surface turrets achieve their own objectives.

    When a ship doesn’t know what to do next, it simply asks for a new mini-objective. I’ll cover that too in a future post.

    Feel free to ask us any questions about building games with Sci-Fi Ship Controller either in this forum or on our dedicated Discord channel.

    See also Useful Posts for Sci-Fi Ship Controller

    News Update 1
    News Update 2
    News Update 3
     
    Last edited: Oct 6, 2022
  44. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Feature Announcement

    We've already announced some great new features coming in Sci-Fi Ship Controller 1.1.9.
    • Beam Weapons
    • HUD Gauges
    • Player Input Module with custom code
    In v1.1.9 we will be delivering a Destruct Module. When a Surface Turret, a Ship or even a localised Ship region reaches zero health, you can already automatically spawn an effects object containing particle system(s) and/or sound effects.

    And if you are using ship regions, then they can already affect the health and effectiveness of individual items like weapons and thrusters.

    Local Damage Regions can define areas of a ship that you want to receive individual damage. Examples could be "Engines" or "Bridge" or "Forward Weapons". It could also be a strategic area of your ship that is critical for completing missions like "(Food) Gallery", "Armory", "Hangar", "Landing Gear", "Tractor Beam" etc.

    So, the Destruct module is useful, how?!

    Unless your weapons vaporise everything, there is going to debris or pieces of what you destroyed left behind. This module will take a prefab of mesh fragments and explode it at the point of destruction.

    Ok, but by itself that seems a little dull... We also track all those fragments and determine what happens to them over time. We calculate there approximate mass and let them be part of our pooling system, recycling them for improved performance.

    Here is a quick scene in Sci-Fi Ship Controller that brings together radar, surface turrets, HUD targeting, guided projectiles and the new Destruct Module that is currently in technical preview.
     
    Last edited: Sep 9, 2020
  45. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Camera Shake

    In Sci-Fi Ship Controller 1.1.9 we are adding camera shake to the Ship Camera Module. This will be automatically proportionally triggered via collision or normal damage.

    Like everything else, if you have your own camera scripting or setup you can still get notified of camera shake amount from the ship via our APIs.
     
  46. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Tech Demo 2 – Game play elements – Part 2

    Part 1

    Having a lot going on a scene can really help gameplay. In this scene you can see the Capital Ship trying to escape from the enemy citadel while enemy and friendly ships engage in dogfights.

    There is also a HUD mini-map in case you lose sight of the action and need to find your way.

    The different sections of the mission are based on what you (the main player) and the friendly AI ships achieve. For example, when you have achieved the first major objective, the Capital Ship decides to make a run for it. Obviously, you cannot let it escape.

    SSC_TechDemo2_Escape1.png
     
    Last edited: Sep 22, 2020
  47. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Tech Demo 2 is just one of the many different styles of games you can build with Sci-Fi Ship Controller. Here is some game play from our next Tech Demo. Don't forget to select HD for the video quality.



    More Info
    Part 1
    Part 2
     
    Last edited: Sep 22, 2020
  48. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sci-Fi Ship Controller 1.1.9 has been submitted to Unity for review. It is packed with a whole range of new features.

    Tech Demo #2, which is shown in the previous post, will shortly be available for beta testers (any existing customer can ask to join the beta program).

    The complete scene from Tech Demo #2 will be included in the 1.2.0 release. It demonstrates full game play that you can reproduce in your own games.
     
    julianr likes this.
  49. julianr

    julianr

    Joined:
    Jun 5, 2014
    Posts:
    1,212
    Including beam weapons? :)
     
  50. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Yes
     
    julianr likes this.