Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    We have looked at this, however, it would be very difficult to support given the state of incompatibility between Build-in, URP, and HDRP (and Unity break so much SRP stuff with almost every release).

    We "could" use a particle system although a shader solution would be better. You may also want to load a new scene after or during the warp.

    We do have Teleport API methods built in for those people who also wish to move ships (and/or projectiles, effects, locations, paths etc) during a warp.

    We also have many APIs that can enable and disable SSC features that could be called during a warp feature - including AI and user input.
     
  2. tgamorris76

    tgamorris76

    Joined:
    Apr 24, 2013
    Posts:
    292
    I was thinking within the same solar system for instance there could be jump points that one can lock unto and travel at great speed towards.
    In the tech demo coming up have you got in system travel or just planetary landing? curious as i do wish for a planetary landing scenario i can reference.

    Also is there any chance you could write up a document detailing thevarious aspects of the tech demo or a youtube series showing how it was made please?
     
  3. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    In Tech Demo 2 (included with SSC 1.2.0+) we had various (un)docking procedures which is a great way for AI to land and take off (Demos\TechDemo\Scenes).

    There is also a docking demo scene included (Demos\Scenes\Docking Demo) and a video tutorial (go to any ShipControlModule and click "Tutorials").

    There is a series in this forum that helps explain some of what we're doing in TechDemo3.

    I had thought about a video series but it would be many hours long and take lots of prep work (prob not very good value for money).

    We currently don't have anything that demonstrates inter-solar system travel (sorry, mainly due to the current Unity SRP mess).

    However, more than happy to do specific forum posts on any aspect of Tech Demo 2 or 3. BTW Tech Demo 3 is in the final stages of pre-release testing (still hoping to get it out before EY).
     
  4. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Tech Demo 3 - News Update 9

    upload_2021-12-7_19-50-35.png

    So, what's taking so long?! You might have guessed by now that we're not focusing on artwork or modelling. We assume, to create great games, you already either have access to good artwork OR your team is making it yourself.

    Instead, we're making sure you have access to the very best APIs and systems. Our Tech Demos are an excuse to put our own products into practice.

    Tech Demo 3 is not meant to be a AAA game, rather it shows HOW our assets and systems can be used together to create great content of your own.

    Our aim to help you create immersive game play for that next great space-sim.

    upload_2021-12-7_20-1-9.png


    So, when you next ask, "how do I do abc?" we can reply: "Look at this and that in Tech Demo X".

    Tech Demo 3 Catch-Up
     
    dmenefee likes this.
  5. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Tech Demo 3 - Game Play Overview

    upload_2021-12-7_20-11-1.png

    1. If Sticky3D Controller is not installed, always use the Walk Thru option
    2. If Sticky3D Controller is installed, use the Walk Thru option if it is enabled, otherwise use the Sticky3D character as the player (this gives the richest interactive experience but requires Sticky3D, which is available as a separate asset from the Unity Asset Store).
    3. If in Walk Thru mode, wait for the user to press the “I” key to commence the docking procedure.
    4. If using Sticky3D, sit the player down in the Shuttle cockpit seat and wait for the player to select the “docking” button on the console.
    5. Along the way, display an appropriate action message on the Heads-Up Display. E.g., “Initiate docking procedures”, “Make you way to Space Port Services” etc.
    6. The Walk Thru uses a camera “ship” which literally flies through the scene. The camera is an AI ship that follows the appropriate path. Each path was set up in our SSCManager path editor. It takes advantage of Door Proximity components etc to let it pass though doors. It even “knows” how to take the lift to the top deck of the space port.
    7. With Sticky3D, the user can interact with door and lift controllers in the scene. The user can toggle between first and third person using the “V” key. Movement is the “standard” WSAD and mouse controls look. This is for convenience in the demo. In a real game you could configure it to use whatever suited your game setup. Also, you could use the “new” Unity input system or various other setups (even VR if you wanted too!).
    8. After exiting the small shuttle and entering the space port, the player is encouraged to go into the Services room. If Sticky3D is in play, an assistant tries to get your attention. In Walk Thru (without Sticky3D installed), there is an empty seat behind the services desk.
    9. Stuff now gets interesting and all manner of things start to happen. Getting to the top deck of the space port is indicated and the obvious method is via the lift.
    10. If Sticky3D is in play, the character should call the lift and take the lift to the top deck. In Walk Thru mode, this happens automatically.
    11. If Sticky3D is in play, you will need to put on your helmet to get out the outer doors (it’s difficult to breath in space).
    12. As the player walks across the top deck to their awaiting Hawk fighter, the enemy fighters start attacking the space station itself. Thankfully, your friendly fighters have already started to engage the invading force.
    13. The player should climb up the ladder and get into the cockpit of the Hawk (this happens automatically in Walk Thru mode).
    14. When the player gets to the top of the ladder, we switch control from either the Sticky3D character or the camera “ship” to the Hawk fighter. We power up the ship and the rest is up to you.
    15. Now the player (that’s you!) needs to destroy the enemy fighters and save the space port.
    TLDR
    1. Select Walk Thru camera or use Sticky3D Controller (separate asset from Asset Store - also by us :))
    2. Dock small shuttle with Space port
    3. Get to services room
    4. Take lift to top deck
    5. Get into Hawk fighter and beat the bad guys
     
    Last edited: Dec 7, 2021
    dmenefee likes this.
  6. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Coming in Sci-Fi Ship Controller version 1.3.0

    [NEW] TechDemo3
    [NEW] AI targeting accuracy
    [NEW] Opening and closing events for SSCDoorAnimator
    [NEW] Demo celestials component can add planets to the background of stars
    [NEW] ShipDisplayModule - Targets debugging in editor at runtime
    [FIXED] Docked ships can drift after being disabled and re-enabled via EnableShip APIs
    [FIXED] Destruct Modules with a Despawn condition of Time do not despawn correctly when Pooled
    [IMPROVED] Moving Platforms can smoothly stop and start
    [IMPROVED] DestructibleObjectModule is out of Technical Preview
    [IMPROVED] SSCStrobe light now works in HDRP
    [IMPROVED] AI steering behaviours
     
    dmenefee likes this.
  7. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229


    Here are some quick shorts from a demo scene coming in version 1.3.0. The sound is a bit "off" but it should give you an idea of what is possible.
     
    dmenefee likes this.
  8. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Here is our latest trailer for Sci-Fi Ship Controller - version 1.3.0

     
  9. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    A quick way to see the different handling characteristics between Arcade mode and Physics mode is to compare the following two demo scenes:

    Demos\Scenes\Explorer (Arcade) Demo
    Demos\Scenes\Explorer (Physics) Demo

    Typically, we recommend Arcade to begin with. Then for specialized scenarios, like say a capital ship taking off, use Physics model. Arcade is still physics-based but lets you bend the rules to suite your gameplay style.
     
    dmenefee likes this.
  10. dmenefee

    dmenefee

    Joined:
    Oct 14, 2019
    Posts:
    142
    As it turns out, having studied the demos and code extensively (thank you for the excellent work) I have converted all my arcade mode fliers, AIs and players, to physics mode. It has given the players some nice options (adjustable flight-assist, fuel usage for all thrusters) and leveled the playing field between AIs and players. Everything works beautifully! I’m looking forward to the new SSC; it’s looking really nice.
     
    sstrong likes this.
  11. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    For the benefit of others, fuel usage for all thrusters should work in arcade or physics model modes.
     
    dmenefee likes this.
  12. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    ANNOUNCEMENT

    Sci-Fi Ship Controller 1.3.0 is DONE
    . Customers who want to get their hands on it before it gets into the asset store, can get it from the Beta Program (if you're not a member, private msg me and I'll let you know how to join).

    SSC_TechDemo3_Spaceport2.png

    SSC 1.3.0 includes Tech Demo 3, which is packed full of technical know-how in constructing a single-player interactive space sim scene.

    There are many coding examples in Tech Demo 3 that help overcome particular challenges (all for you to examine, copy, modify, and prototype in your own game).

    And, it's better together with Sticky3D Controller (our purpose-built character controller for use with flying space craft - or any other 1st and 3rd person scenario for that matter - or even VR!). Its on sale for a short time if you want to snap up a copy.
     
    dmenefee likes this.
  13. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 1

    Now that Tech Demo 3 is done, we've started planning and work on Tech Demo 4. The focus will be landing and take-off from Mars for the player ship and AI ships. If you have our character controller (Sticky3D Controller), you'll also be able to walk around on the planet surface, explore the terraformed Domes, and use the in-built jet pack feature.

    For a more cinematic approach, we'll be using the Physics Model settings rather than Arcade Model (which, if you aren't aware, is still physics-based).

    Each of our core products, Sci-Fi Ship Controller (SSC), Sticky3D Controller (S3D), and Landscape Builder (LB), we'll be getting enhancements for this project.

    We've already started on Martian surface mock-ups in LB (using real-world Martian terrain data), and planet approaches in SSC.

    You will be able to approach the planet from space, then descend to the planet surface. The physical behaviour of the ship will adjust as you get closer to your landing zone. We will (probably) be using a cut scene to transition from space to the lower atmosphere.

    If you know of any great planetary approach, re-entry, and landing cinematic sequences, we'd love to see them. Although we don't have the budget to do the SFX, we'd at least like to create convincing game mechanics which you can use in your own space sims. With SSC we think this is doable.

    Tech Demo 4 catch-up
     
    Last edited: Jan 1, 2022
    dmenefee likes this.
  14. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    ANNOUNCEMENT

    Sci-Fi Ship Controller version 1.3.0 has been released.

    This is now available on the asset store and includes the following updates since 1.2.9:

    [NEW] TechDemo3
    [NEW] AI targeting accuracy
    [NEW] Opening and closing events for SSCDoorAnimator
    [NEW] Demo celestials component can add planets to the background of stars
    [NEW] ShipDisplayModule - Targets debugging in editor at runtime
    [NEW] Option for weapons to be used when ship movement is disabled
    [FIXED] Docked ships can drift after being disabled and re-enabled via EnableShip APIs
    [FIXED] Destruct Modules with a Despawn condition of Time do not despawn correctly when Pooled
    [IMPROVED] Moving Platforms can smoothly stop and start
    [IMPROVED] DestructibleObjectModule is out of Technical Preview
    [IMPROVED] SSCStrobe light now works in HDRP
    [IMPROVED] AI steering behaviours
     
    tgamorris76 and dmenefee like this.
  15. tgamorris76

    tgamorris76

    Joined:
    Apr 24, 2013
    Posts:
    292
    Trying to run the tech demo 3 scene and i get errors about missing anim sets. Checked and noticed a tech demo controller item in the heirachy and decided to look for the anim sets. are they not included because i cant find them anywhere. i have boths ticky 3d controller and scifi ship controller installed.
     
  16. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    There are setup instructions at the top of the TechDemo3.cs script - or you can download the pre-setup scene from the Beta Program. The package is called "SSC TechDemo3 With Sticky3D".

    I've added your question to the "Common Issues - Demo scenes" section in the manual so that others will also know how to resolve this.
     
    Last edited: Jan 14, 2022
  17. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
  18. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    upload_2022-1-21_17-13-35.png

    SSC version 1.3.1 is now available from the Asset Store. It includes the following updates:

    [NEW] ProjectileModule - Collision Layer Mask
    [FIXED] IndexOutOfRangeException after deleting local damage regions
    [IMPROVED] PlayerInputModule - add RemoveListeners() API
    [IMPROVED] UnityXR camera follows both HMD position and rotation
     
  19. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Pausing and Unpausing your game

    This question comes up a lot - "How do I pause my game with Sci-Fi Ship Controller?"

    We've written about it before, but here is a quick refresher.

    If just set Time.timeScale to 0, you see a number of issues including NaN errors on cameras, ships and other "weird" stuff might happen when you set timeScale back to 1.

    We've written API methods to help you out and avoid these things.

    Before setting timeScale to 0
    Code (CSharp):
    1. shipCameraModule.MoveCamera();
    2. shipCameraModule.DisableCamera();
    3. shipControlModule.DisableShip(..) // for each ship
    4. sscManager.PauseBeams()
    5. sscManager.PauseDestructs()
    6. sscManager.PauseProjectiles()
    7. sscManager.PauseEffectsObjects()
    After setting timeScale back to 1
    Code (CSharp):
    1. sscManager.ResumeBeams()
    2. sscManager.ResumeDestructs()
    3. sscManager.ResumeProjectiles()
    4. sscManager.ResumeEffectsObjects()
    5. shipControlModule.EnableShip(..) // for each ship
    6. shipCameraModule.EnableCamera();
    See also PauseGame() and UnPauseGame() in TechDemo2.cs and TechDemo3.cs which also deals with HUD, sound, and music.
     
    Last edited: Jan 24, 2022
  20. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 2

    upload_2022-1-24_9-16-36.png

    After approaching Mars from space, you'll be flying down to the landing pad in your dropship (a mockup of the ship can be seen in the background).

    This dropship will be using the Physics-Model flight mode rather than Arcade. This gives us a chance to further enhance some features in SSC and also introduce new flight assist capabilities.

    Tech Demo 4 catch-up
     
    Last edited: Jan 24, 2022
    tgamorris76 and dmenefee like this.
  21. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    9,350
    after quick initial test, feedback on the example scenes:
    All of them feel really hard to control..(compared to any flying/spaceship games, where you can usually fly with wasd+mouse, without even reading instructions)

    Is there some specific settings that would make the flying easier for "noobs" and to have similar controls like in games?
    (but no problems if that's not the purpose of this plugin)
     
  22. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    TechDemo2 and TechDemo3 use mouse and wsad. The other demos use wsad and arrow keys. Of course, in your games you can use almost any kind of input you like - include input from:
    • "new" Unity Input System
    • Legacy Input System
    • Legacy keyboard and Mouse (the default in the demos)
    • Rewired
    • Unity XR (VR)
    • Oculus API (VR)
    • VIVE API (VR)
    How the ships behaves, or responds to input is very configurable and has literally thousands of possible combinations.
     
  23. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Unity Version Upgrade Announcement

    The next version of Sci-Fi Ship Controller (1.3.2) will require a minimum Unity version of 2019.4.32 LTS.

    Why are we doing this?
    Unity have dropped support for Collaborate and Plastic SCM requires a minimum version of 2019.4.32. With a distributed development team, we depend on collaboration to support our products.

    What if I cannot upgrade my Unity version?
    You can either stay on the last build of SSC that supports your Unity version, or get script-only updates of SSC and forego any changes to prefabs or newly added assets.
     
    Last edited: Feb 1, 2022
    dmenefee likes this.
  24. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 3

    upload_2022-2-5_14-21-30.png

    This week we continue white-box (untextured) work on the Drop-ship to be used in this mission. We've started work on the interior fit-out, particularly rear seating and weapon cabinets.

    We've been busy working on new features for our character controller (Sticky3D Controller) which will feature in this mission (for people that also own that asset). More on those features later.

    Work is continuing on "Stability Flight Assist" for SSC.

    Planning is under way for the hover-vehicle which will take you from the landing pad to the city.

    Next week we're planning to have retractable landing gear working for the Drop-ship.

    Tech Demo 4 catch-up
     
    dmenefee likes this.
  25. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Games and Features

    What style of game are you working on? We'd love to hear about your project.

    What are your top features you'd like to see in SSC to help progress your game?

    Add your comments here or drop us a note on our Discord channel (or in our ssc-feature-requests Discord channel)
     
  26. Eltharis

    Eltharis

    Joined:
    Aug 30, 2018
    Posts:
    17
    Hi!

    I've bought your asset and it's working fine for me overall, but I have a problem with character standing inside a plane. I have a kinematic rigidbody character controller that I can't switch to another at this point and want to keep it on the surface of the plane interior while it's accelerating and moving. I'm using your vectra model that I edited so that my character is inside of it on the floor collider.
    But when the plane accelerates, the character falls off. How to keep it 100% stable and moving with the plane?
    I also still need to be able to jump and collide with other objects.
    And a second question, is it possible to make your planes work as kinematic rigidbodies? When I enable kinematic at present, all movement stops.
     
  27. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Are you using Sticky3D Controller (S3D) with your plane as the character controller? (That's what our other asset, S3D, is designed to do).

    SSC is designed to work as a "regular" rigidbody as we need to apply correct physics forces to the space ship or craft.

    S3D is a kinematic character controller (which works correctly inside regular rigidbody "ships" like you see in SSC).
     
    Last edited: Feb 19, 2022
  28. Eltharis

    Eltharis

    Joined:
    Aug 30, 2018
    Posts:
    17
    No, I'm afraid I don't have it as I have a very complex setup with 1st and 3rd person perspective, many weapons, full IK physics, gravity directions and other settings optimized for my kind of game, all done in that.controller.

    But regarding your Sticky3D Controller - can it move on a surface of the plane interior while the plane accelerates and rotates, without slipping and falling off the ramp, or does it just stick in place, immovable, sitting in the cockpit?
    I need my characters fully movable, even jumping on the floor. And to be able to detach only when manually leaving the interiors (or by making some other manual effect, like simulating force reactions on character). Also, I need the character to have gravity only inside of such plane, even as it violently rotates or flies upside down - I need it to still stick to the floor.
    If it all could really work, I'd maybe consider. I also need to integrate some realistic animations, weapon systems and IK for at least the legs.
    Oh, and on top of that I still need mirror networking -.-. I know, it's a lot of things.
     
    Last edited: Feb 19, 2022
  29. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Hah, yes, you want it all - I understand.

    So, yes, S3D is built for many of those scenarios as we couldn't find a controller that was purpose-built for that. We know customers are building with Mirror, but we don't offer out-of-the-box integration - you'd need to create your own components.

    When a ship, say flies upside-down, the S3D character can walk around (and jump). And yes, it does first and third person (with many different options). Our Foot IK system with moving and rotating space craft is not perfect - its on our "to do" list to improve. Head IK works pretty well with moving space craft. Hand IK should be fine (we use Head IK and Hand IK in our SSC Tech Demo 3 scene - assuming you also own S3D).

    We have a way of sending data directly from a S3D character to your animator controller (including conditional options). S3D doesn't have a dedicated weapons system (unlike SSC which does). There are SO many different ways to implement weapons for humanoid characters... We also support VR so it gets complicated quickly.

    Feel free to ask specific Sticky3D questions in our Unity Forum or our Discord channel.

    Getting a character controller to work and behave correctly inside other rigidbodies requires solving many complex math and physics problems. But I'm sure you've already discovered some of them.
     
    tgamorris76 and Eltharis like this.
  30. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 4

    upload_2022-3-5_12-34-41.png

    This week we've been busy pushing out a new release of Landscape Builder and providing support to SSC and Sticky3D Controller asset owners.

    However, we did manage to progress the interior of the drop ship. We've started to block out the cockpit area prior to detailed texturing.

    Retractable landing gear and rear cargo door is now mostly complete.

    upload_2022-3-5_12-48-46.png

    We still have quite a lot of work to do on both the interior and rather plain-looking exterior of the ship.

    upload_2022-3-5_12-52-57.png

    Thanks to work done by David during the week, the ship is now flyable in Physics-Model mode. Unlike Arcade mode, it takes more skill to manoeuvre and avoid crashing into the Martian terrain.

    Tech Demo 4 catch-up
     
  31. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    upload_2022-3-16_7-21-19.png

    Version 1.3.2 is now available from the Asset Store. It includes the following updates:

    [NEW] Stability Flight Assist
    [NEW] Physics Model - Disable Drag Moments
    [NEW] Aero - Drag Moment Multipliers for pitch, yaw, and roll
    [NEW] Ship Display Module - Export-Import Gauges and Messages as JSON files
    [NEW] Ship AI Input Module -Raycast offset for colliders that do not overlap ship centre
    [FIXED] Ship Display Module - HUD3 prefab does not display heading or attitude
    [FIXED] SSC Door Animator - ToggleDoors does not play audio clips
    [FIXED] Can place multiple Ship AI components on one ship
    [IMPROVED] ThrusterEffects - virtual public methods
    [IMPROVED] SSC Door Animator - Get parameters is more reliable at design time
     
    dmenefee likes this.
  32. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 5

    upload_2022-3-16_13-52-2.png

    After pushing out a new version of Sci-Fi Ship Controller this week (v1.3.2), we've done a bit more interior work on the drop ship. As may have noticed, we've started integrating our character controller asset (Sticky3D Controller), with the scene on the planet surface.

    The character can walk around in the flying drop ship and can also open the rear ramp and navigate around the landing platform. In Tech Demo 3, the S3D character started in the pilots seat of the shuttle and engaged auto-pilot to dock with the space station. In Tech Demo 4, we plan to have the character actually flying the ship - with the aim to landing safely on the landing pad - rather than experiencing any crash and burn scenarios.

    We are working on an enhanced sitting game mechanic in Sticky3D where the character can identify seats and then play the appropriate animation to sit down. Sitting and standing is already part of Sticky3D, but we want to extend it to be more of a "Star Citizen" style experience.

    Tech Demo 4 catch-up
     
    dmenefee likes this.
  33. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Learning to use the Ship AI System in Sci-Fi Ship Controller

    A number of people have asked how to go about learning to use AI ships in SSC. We are working on an AI Basics video tutorial but that isn't ready yet. Here are a few tips to get you started.

    Start by reading through the Ship AI System chapter in the manual (click Help on any Ship Control Module).

    We do have a number of common scenarios as demo code. You can add one of the components to an AI ship to try them out. Demos\Scripts\SampleAttack, SampleChase, SampleEvade, SamplePatrol, SampleRace, SampleFlyToLocation (in the Unity editor, Components->Sci-Fi Ship Controller->Samples)

    These are explained in the Sample AI Scripts section of the Ship AI System chapter in the manual. More details are provided at the top of each script. By looking at how each of the Sample components work, you will get ideas on how to write your own AI game code.

    More "interesting" example are in the Asteroids Demo and Docking Demo scenes. For more complex scenarios see Demos\TechDemo\Scenes\techdemo2scene1 and Demos\TechDemo3\scenes\techdemo3scene1.

    Most complex scenarios are really just variations on the simple actions mentioned above. Most of the time you are setting the AI State and assigning attributes to them - like say an enemy ship, or a location, or maybe a path to follow while on patrol.
     
    Last edited: Mar 22, 2022
    dmenefee likes this.
  34. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    upload_2022-3-28_12-11-13.png

    Inside the drop ship. Part of testing we're doing with integration of the new interactive sitting mechanic coming to Sticky3D (character) Controller.
     
    tgamorris76 likes this.
  35. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Quick setup for changing camera view

    upload_2022-4-5_13-11-35.png

    These steps assume the default Direct Keyboard Input Mode for Player Input Module, however the same basic steps should work with any of the supported input methods.
    1. new scene
    2. Disable or delete the Main Camera
    3. Add scsm\scifishipcontroller\demos\techdemo\prefabs\ships\SSCHawk (Arcade)
    4. Add scsm\scifishipcontroller\prefabs\environment\playercamera
    5. Select PlayerCamera is scene
    6. From scene, drag Explorer Ship into ShipCameraModule Target Ship slot
    7. Components menu, Sci Fi Ship Controller, Samples, Change Camera View
    8. In the scene, select SSCHawk (Arcade)
    9. From the scene, drag the PlayerCamera into the Custom Player Input 01 (in the Player Input Module component of the Hawk)
    10. Set the Funtion to SampleChangeCameraView -> CycleCameraView
    11. Run the scene and cycle between cameras using keyboard C
     
  36. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 6

    upload_2022-4-9_17-52-16.png

    Work has begun on the hover "train" system including:
    • Basics "train" station at the landing pad
    • More advanced sit mechanics for Sticky3D Controller NPCs
    • Untextured hover train model
    • Interior interactive-enabled seats
    • Animated train doors
    • Ship Docking Station for the train station
    • Added reversible path option to SSCManager for path editing
    • Terrain adjustments for train route to city using Landscape Builder Groups system **
    Our "train" is actually a flying vehicle controlled by a Ship Control Module. The plan is to get it to "dock" at each train station. One station, seen above, is at the landing pad, and the other will be in the domed city.

    Tech Demo 4 catch-up
    ** LB's Groups system includes an object path that can flatten and texture paths on terrains
     
    Last edited: Apr 9, 2022
  37. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Coming in SSC v1.3.3

    We've added a new optional callback to ShipAIInputModule which enables you to receive notification when the AIState of any ship changes.
    Code (CSharp):
    1. /// <summary>
    2. /// The name of the developer-supplied custom method that gets called whenever the state changes.
    3. /// Must have 3 parameters of type: ShipAIInputModule, int (currentStateId), and int (previousStateId).
    4. /// </summary>
    5. public CallbackOnStateChange callbackOnStateChange = null;
    We're also adding a DemoDockingTransit script which shows you how AI ships can fly between docking stations like enemy bases, space stations, etc. This will be used in Tech Demo 4 for the hover train system. It is generic enough to be re-purposed and to demonstrate how this could be done in your own game code.
     
  38. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Cinematic Undocking and Departure Sequences

    We'd like to help you produce more cinematic ship undocking and departure sequences. The first step it to give you more tools in our APIs. There will be pre (and possibly) post Undocking events so that you can call your own code that could run some VFX, sound FX etc just before lift-off.

    You will also be able to delay undocking to give your FXs time to complete.

    We'd be very interested to see what you can do with this. Please let us know if you'd like to do this in your game - we'd be more than happy to help you develop this further.

    What is your favourite Sci-Fi departure sequence? (Movie or game)

    Leave a comment below or head on over to our Discord channel.
     
  39. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Coming in SSC v1.3.3
    Undocking Delay allows time to perform pre-undocking actions. Auto Undock Time, enables a ship to become docked at a docking station, then automatically take off or depart after a fixed period of time - great for AI in your scene.

    upload_2022-4-14_11-44-26.png

    To perform those pre or post docking actions, there are now new events to configure if required (which can be done in the editor or at runtime).

    upload_2022-4-14_11-50-44.png

    In this example (from Tech Demo 4) we are automatically closing doors shortly before the hover "train" is due to depart. Doors are immediately opened when it arrives at the (docking) station. Double sliding doors on both sides of the hover "train" are controlled and play the appropriate sound fx.
     
  40. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Expanding our game play universe

    We continue to push the boundaries of our Sci Fi Ship Controller toolkit. As we build out Tech Demo 4 and listen to customers building all sorts of diverse games, we're expanding our rich API and feature set.

    We are enhancing our integration with our Sticky3D (character) Controller, and ensuring that, together, they enable you to build interactive game-play scenarios.

    If you have a particular SSC and S3D game play scenario in mind for your game, please leave a comment below or on our Discord channel.
     
  41. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Your feedback matters

    upload_2022-4-16_11-3-38.png

    As a direct result of customer feedback, we're adding some new features to the Thrusters tab. These will allow you to bring all thrusters online or shut them down over a period of time.

    In code, you could also adjust the amount of available power without changing the Max Thruster value. The "throttle" value will respect other things like thruster damage, heat level and player or AI input levels.
     
  42. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Startup or Shutdown thruster systems in action using pooled Popups from Sticky3D Controller.

    upload_2022-4-16_19-39-6.png
     
  43. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Mars Tech Demo - Interactive Experience - Update 7

    Since our last update, we have:
    • Added new sound fx for the doors on the hover train
    • Added new sound fx for the drop ship rear cargo ramp
    • Configured docking at each end of the path for the hover train
    • Got the Sticky3D NPC characters to find another seat when hover train docks at each station
    • Added thruster systems startup and shutdown options to SSC (including API methods)
    • Implemented drop ship startup and shutdown engines with Sticky3D popup module
    • Added SSC pre-undocking and post docking events
    • Added SSC delayed auto-undocking feature
    Tech Demo 4 catch-up
     
  44. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    HUD features and options



    We have a wide range of configurable Heads-Up Display options including:
    All of our HUD elements work in screen overlay mode on a canvas. We are considering adding limited support for world-space canvas mode. It would allow you to use our in-built HUD features in VR games. For example, it could be displayed on the ever popular Quest 2 VR headset.

    For your game, what features are important to you? Leave us a comment here or head on over to our Discord channel.
     
    docsavage and tgamorris76 like this.
  45. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Visual Scripting with Sci-Fi Ship Controller
    upload_2022-4-27_15-15-17.png

    We've been doing a bit of testing with Visual Scripting (aka Bolt in Unity 2021.3 LTS) to ensure our APIs are accessible in scripting engines to complement in-Editor config and C# game play coding.

    The above, is an example of running a radar query and looping through the Blips to get their world space position (which you could then use for other purposes in your game).

    If you have trouble accessing any of our APIs or components in Visual Scripting engines, let us know here or on our Discord channel so that we can look into it.

    upload_2022-4-27_15-32-25.png

    This is similar to the following in C# using our APIs.
    Code (CSharp):
    1. using System.Collections.Generic;
    2. using UnityEngine;
    3. using SciFiShipController;
    4.  
    5. public class ShowRadarBlipTest : MonoBehaviour
    6. {
    7.     private SSCRadar sscRadar;
    8.     private bool isInitialised = false;
    9.     private SSCRadarQuery RadarQuery;
    10.     private List<SSCRadarBlip> queryResultsList;
    11.  
    12.     // Start is called before the first frame update
    13.     void Start()
    14.     {
    15.         sscRadar = SSCRadar.GetOrCreateRadar();
    16.         // Override a couple of the default radar query settings
    17.         RadarQuery = new SSCRadarQuery() { range = 5000, querySortOrder = SSCRadarQuery.QuerySortOrder.DistanceDesc2D };
    18.         queryResultsList = new List<SSCRadarBlip>(100);
    19.         isInitialised = true;
    20.     }
    21.  
    22.     // Update is called once per frame
    23.     void Update()
    24.     {
    25.         if (isInitialised)
    26.         {
    27.             sscRadar.GetRadarResults(RadarQuery, queryResultsList);
    28.  
    29.             int numBlips = sscRadar.ResultCount;
    30.  
    31.             for (int blipIdx = 0; blipIdx < numBlips; blipIdx++)
    32.             {
    33.                 SSCRadarBlip blip = queryResultsList[blipIdx];
    34.                 Debug.Log("BEBUG Blip " + blipIdx + " " + blip.wsPosition);
    35.             }
    36.         }
    37.     }
    38. }
     
    Last edited: Apr 27, 2022
    tgamorris76 likes this.
  46. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Muzzle FX updates

    upload_2022-5-11_14-22-41.png

    We've made a number of changes (all backward compatible) which improve how we handle muzzle effects on beam and projectile weapons. This works on fixed and turret weapons.

    By making your muzzle effects poolable (just tick the box), and enabling "Is Reparenting" (new in 1.3.3), the effects should now follow your firing point as the weapon moves.

    You need Sci-Fi Ship Controller 1.3.3 Beta 4j or newer.
     
  47. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    Player AI-Assisted Docking

    Recently we were asked how to configure player docking. AI ships can approach a landing zone and dock in a hangar, with a space port or on a mother ship. Optionally, they can fly along an entry path or depart along an exit path. This can be seen in the Docking Demo in the Demos\Scenes folder.

    You can setup AI docking using the following tutorial as a guide.There are also details for editor or runtime configuration in our manual.


    To create more cinematic sequences for Player docking and undocking, we provide AI-Assisted docking. When the player approaches the landing zone they can engage an auto-pilot to make the approach for them. If you are using a character controller (like say Sticky3D Controller), you player can now perform other activities in the ship while the computer is docking on your behalf.

    For a player ship, you need to add the Ship Docking Component and the Ship AI Input Module.

    upload_2022-5-24_8-37-39.png

    upload_2022-5-24_8-40-23.png

    To switch between Docking and Undocking you can either setup two separate buttons or have a single button Toggle between docking and undocking.
    1. On the Player Input Module, make sure the “Docking Input Button” is not configured
    2. Expand “Custom Player Inputs” and add a new one
    3. Configure the button or input axis for your controller or keyboard input
    4. Add a Callback Method with the “+” button provided
    5. Drag the Player ship gameobject into the Object slot under “Runtime Only”
    6. For the “Function” select “Player Input Module” -> ToggleAIDocking()
    You could even call your own code that does other things at the same time like we do in TechDemo3 by calling TechDemo3.DockShuttle().For more advanced scenarios, we have a callback for when the docking state changes.

    Behind all this is a documented set of APIs that you can use in your own game code at runtime.

    upload_2022-5-24_8-52-37.png
     
  48. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    upload_2022-5-25_18-49-37.png

    SSC 1.3.3 has been released on the Asset Store. It includes the following updates since 1.3.2.

    [NEW] SSCManager - Reverse the direction of Paths
    [NEW] Ship AI - optional AIState change notifications
    [NEW] ShipDockingStation - On Pre Undock and On Post Docked events
    [NEW] ShipDocking - Undocking Delay and Auto Undock Time options
    [NEW] ShipControlModule - Start-up and Shutdown Thruster Systems
    [NEW] ShipControlModule - Per Thruster throttle option
    [NEW] Ship weapon out of ammo callback
    [NEW] Floating Point Demo scene
    [FIXED] Ship AI may not move toward target when target ship gravity is 0
    [FIXED] Celestials camera may not rotate in step with main camera
    [FIXED] Celestials may raise an error if more than 1000 stars are used
    [FIXED] Ship AI - callbackCustomIdleBehaviour has the wrong type
    [FIXED] Ship AI - callbackCustomSeekMovingArrivalBehaviour has the wrong type
    [FIXED] Ship AI - callbackCustomDockBehaviour has the wrong type
    [FIXED] SSCRadar.GetRadarResults returns false
    [IMPROVED] PlayerInputModule support to invert axis in Unity Input System
    [IMPROVED] SSCDoorAnimator - Add OpenDoorsAll and CloseDoorsAll methods
    [IMPROVED] SSCRadar - Debug mode now shows Display Forwards in Euler angles
    [IMPROVED] Muzzle FX can be parented to weapon fire points
     
  49. inkhorses_tw

    inkhorses_tw

    Joined:
    Mar 30, 2022
    Posts:
    2
    Can I use this asset to make Space Harrier clone, Panzer Dragoon clone, retro flying game? I still don't understand after reading the documentation.
     
  50. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,229
    What have you tried so far and what issues have you run into?

    Also, we have a number of video tutorials that help with different features of SSC (just click "Tutorials" on any Ship Control Module). A good place to start is the Setup Basics tutorial.