Search Unity

[RELEASED] Ultimate Survival - The Complete Survival Template

Discussion in 'Assets and Asset Store' started by AngryPixelUnity, Nov 20, 2016.

Thread Status:
Not open for further replies.
  1. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Version 0.12 is out, hopefully the Unity 5.6 issues are solved now :) Also I lowered the price to 35$ until we release v0.2.
     
    TheSeawolf likes this.
  2. Old_Wolf

    Old_Wolf

    Joined:
    Apr 3, 2017
    Posts:
    38
    How long till 0.2? Holding off on doing too much until then. Keep up the good work, this is an awesome framework for just about any first person/survival game, it's just so adaptable....a sandbox sandbox...lol
    And MessyCoder has been just amazing, updating his tutorials almost overnight when I found an issue with the UMA 2.5 adaption.
    What a great bunch of people to be involved with, it makes devving so much fun and interactive. :)
     
  3. gvenez

    gvenez

    Joined:
    Feb 19, 2013
    Posts:
    9
  4. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    The community is awesome yes :)
    I said it a few times, we'll submit 0.2 towards the end of this month :p
     
  5. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    When users have bigger AI needs it's better to use the kit in combination with dedicaced plugins like Emerald or ICe Creatures instead. Creating an advanced AI costs a lot of time and support, you should focus on the survival gameplay and aspects of the kit in priority.
     
  6. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    I'm looking forward to finally getting stuck in to this since it has been updated to 5.6.

    I really agree with zenGarden above, for users who need advanced AI packages, it would be better for them to use ICE, Emerald etc, and only basic AI in this. We need Winterbyte's time and energy spent on adaptive functionality and content.

    I prefer functionality and time saving examples that we can learn from and adapt confidently.

    Speaking of which, is there a door open and close script with this that I can apply to windows and doors?

    Lastly, i was thinking of buying a UI asset, primarily to do a main menu. I see on the road map at trello there is save and load planned. Are you planning both for 0.2 @Winterbyte312 ?
     
    gegebel likes this.
  7. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I would like to update Ultimate Survival, but I made a few changes to scripts like the backpack from TheMessyCoder, or added some stuff in Inventory State enum and so on. Of course I could do the changes again, but there should be a way to override the scripts as to avoid doing all from scratch every time.

    There is a Door script you can take as example, derives from InteractableObject and works with the RaycastManager. Just need to make a similar script called Window script, drag it to your window model, works :D
     
    TheSeawolf likes this.
  8. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    Thanks @gegebel , I'll take a look.

    You also bring up a good point about future updates and modifications to scripts, inventories etc.

    I had been wondering what was the best work flow strategy to avoid just this?
     
  9. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I was curious and actually checked how to open the window. I copy/pasted the script Door and named it MyWindow.
    changed m_DoorOpen and m_DoorClose to m_WindowOpen and m_WindowClose. Saved.
    Add MyWindow script to the window model, set the model and collider in the inspector.
    Open the CrosshairManager, check for door, just copy/paste the stuff and adapt it to window. Done.
     
    TheSeawolf likes this.
  10. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    I use a folder for my new scripts and I started to copy my modified US files in to a new folder to keep track. Would be great to know if someone has a better way.
     
    AngryPixelUnity and TheSeawolf like this.
  11. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    The best way would be to inherit from the classes that US contains, but if they are not overridable then what you have suggested @TheMessyCoder is fine.
     
    TheSeawolf likes this.
  12. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    What does inherit from the classes mean, how do you set it up?

    Also, have just imported 0.12 and it's working with Unity 5.6 no problems. For those of you with @BHS Unistorm, if you use the Auto Player Setup, it works the same as setting up UFPS or RFPS no problems.
     
    gegebel likes this.
  13. mimminito

    mimminito

    Joined:
    Feb 10, 2010
    Posts:
    780
    https://msdn.microsoft.com/en-us/library/ms173149.aspx
     
    TheSeawolf likes this.
  14. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    Anyone found an easy way to import the Item Database and link it to the Editor ?

    Edit: I removed the new Item Database.asset and copied my own, linked in the Hierarchy to Inventory Controller and Manager.
     
    Last edited: May 5, 2017
    AngryPixelUnity likes this.
  15. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Here's a quick preview for a few of the new weapons:

    Assault Rifle



    Flashlight



    Hunting Rifle



    Mace (Idle)



    Mace (Swing Left)



    Molotov



    Pistol



    Fists (Idle)




    Fists (Punching To Left)



    Revolver



    Shotgun



    You can read the whole list here: https://trello.com/c/TlEoojPU/79-first-person-stuff

    Along with these new models and textures, we have better animations, improved workflow, more sounds, reloading, a new spring system for swaying and other motions, and so on.

    In another words, the new weapons and associated systems will feel smoother, more modern vs the old version which felt a little boring and unchallenging (This one has a customisable recoil system and behaves similar to Far Cry 3 & 4).
     
    Last edited: May 5, 2017
  16. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Looking great. thanks for the images!!!
     
  17. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Awesome work (while i would see modern weapons in something more apocalyptic instead of a outdoor terrain with animals lol).
     
  18. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Yeah but there are many variations that can be made with the kit, I'm sure they'll help. They're not military-looking either.
     
  19. OkeanixTR

    OkeanixTR

    Joined:
    Jan 28, 2017
    Posts:
    46
    How to optimize project for mobile.
     
    Last edited: May 5, 2017
  20. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Exactly, couldn't have said it better myself xD that's what he was replying to.

    Well, using public virtual void seems to work well as well, adding in hooks here and there to add extra code.

    I believe Mobile Optimization is coming in a later version (0.2).
     
  21. OkeanixTR

    OkeanixTR

    Joined:
    Jan 28, 2017
    Posts:
    46
    Well I know but i can't wait v0.2.
     
  22. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    So wat you want?
     
    TheMessyCoder likes this.
  23. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    To optimize the project for mobile you can start with:

    - Make all the UI opaque (no transparency)

    - Disable/remove all the image effects attached to the cameras

    - For each material you're gonna use in the mobile build, set it's shader type to Mobile/Diffuse. Or Mobile/Bumped Diffuse if your target device is a little more powerful

    - Lower the texture resolution to 512x512 if possible. To not spend much time re-importing the textures at 512, go to Quality Settings and set the Texture Resolution to half

    - Disable the terrain grass and try to use fewer trees if needed

    - Make sure the terrain resolution is 512 for a 1024x1024 terrain size or 256 for a 512x512 terrain size. Basically 1/2 of the terrain size

    - Disable the Realtime GI in the Lighting window

    - Disable the Reflection Probe object from the built in scene if you're using it (or set it's update mode to Awake)

    - It's better to disable the sun rotation as that will trigger lighting recalculation every frame. Depends on your target device though, some devices are pretty powerful

    - In Quality Settings, either set your shadows to Low Resolution or don't use them at all (disable them). For mobile it's best to not use realtime shadows. Especially for an open world game with a day & night cycle for which you can't bake the lighting because it changes all the time.
     
    Last edited: May 6, 2017
  24. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Great tips! Thank you
     
  25. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Hi, Tested this new update, and it seems that there are many sounds that do not reproduce, weapons, when you receive damage because it has fallen from a great height, etc ...
     
  26. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Ah... when I imported the project into Unity 5.6 all the sounds from the player prefab got unassigned. I assigned most of them back but it seems I missed a few. I'll upload it again. Thanks
     
  27. secondsight_

    secondsight_

    Joined:
    Mar 2, 2014
    Posts:
    163
    Hey,

    Is there already a tutorial somewhere how to currently setup UniStorm ? Or could someone give a brief discription how to setup the cameras ? Thanks !
     
  28. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    You can use the auto-setup from unistorm, will have to disable Time Of Day and rewrite Sleeping Bag + a few modification to the AI Group though
     
    TheSeawolf likes this.
  29. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Im doing one for the Enviro Weather System in a couple of weeks, so should be similar.
     
    TheSeawolf likes this.
  30. sebasfreelance

    sebasfreelance

    Joined:
    Aug 27, 2015
    Posts:
    240
    Hello, I have seen in Trello in the mobile support part that has the following checklist

    - Terrain & lighting
    - Mobile materials
    - Optimized player prefab
    - Optimized In-Game GUI prefab

    But there is nothing about controls, nor touch control of the interface, I guess it will be included NO?

    I would like to know if it will include animated hands when swimming

    I have returned to see the things that will bring the v0.2 and is impressive, I believe that with that version I already finish a game, in my case I have no idea of programming :), that is why I have many expectations in That version

    Thank you
    To greeting
     
  31. TheSeawolf

    TheSeawolf

    Joined:
    Apr 10, 2015
    Posts:
    267
    @secondsight_ As @gegebel has mentioned the best way to implement this into Unistorm is to use the auto player setup.

    But there are two things you'll need to do. Firstly you'll need to disable the ultimate sun from the time of day script, and you'll need to still add unistorm's procedural sky and sunlight to the lighting tab.

    Most importantly, and as yet I can't find a fix for this, Ultimate replaces Unistorms small sun with a large sun with such intensity that it looks like an interrogators lamp!

    Finally, the auto player setup does not carry camera effects across, so these will need to be manually added. @BHS ,has suggested adding unity's post processing stack as camera effects. I'm on the mobile phone now, so I can't add the necessary links.
     
    gegebel likes this.
  32. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    Under UniStormSystemEditor in the Hierarchy you can select the Sun Options and set the Sun Size and Sun Intensity
     
    TheSeawolf likes this.
  33. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    @Winterbyte312 would it be possible to use the Post Processing Stack in the future, instead of single camera effect scripts ?
    This would make US future proof I guess, and far easier to work with only 1 effect script on the FP Camera :D
     
    TheSeawolf likes this.
  34. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Why not? :p
    We're using it in v0.2. We will also include it in v0.2 because it's licensed under CC0 (public domain).
     
  35. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    I've added the mobile controls on Trello. (I forgot to do it previously)
     
    sebasfreelance likes this.
  36. Reiner

    Reiner

    Joined:
    Dec 2, 2012
    Posts:
    214
    The new weapons looks greate top work
     
    Last edited: May 8, 2017
    AngryPixelUnity likes this.
  37. hsxtreme

    hsxtreme

    Joined:
    Apr 14, 2017
    Posts:
    55
    How to make the spawn system work from time to time without using the day and night script?

    I'm using UniStorm and the spawn system does not work

    _________

    What were the changes at 0.12?

    ---------------

    The new version (0.12) has a bug in the sounds of weapons

    _____________


    Request integration with UniStorm (spawn) and Emerald AI (As they have said, a dedicated AI is much more useful)

     
    Last edited: May 8, 2017
  38. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    You need a script which makes the connection between Unistorm and Ultimate Survival. It'll come in v0.2 and I can also help you through Team Viewer. Add my Skype id if you want me to set it up quickly: cristian.pavel40

    We know about that and submitted a fix.

    A dedicated AI integration coming in 0.2 (ICE Creature Control)
    Also Unistorm and Tenkoku integrations coming in 0.2.
     
  39. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Perhaps you should look at how it is done elsewhere like : sensors , conditions , actions , sequences of actions
    And have features to let users create custom variables for AI for their own specific needs (that could be modified or user by external code), or let them call external functions.
    Anyway i mean something like GOAP or Actions sequences very adaptable, in a way you don't have to bother about specific needs , anything could be implemented by users.
     
  40. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I have a request. I know it's possible, just not sure how compatible it is with US.Would it be possible to have 1 single collider moving around for trees ?
    The idea is to have "Empty Tree" move to the nearest tree to player. When the tree is harvested, remove the Terrain tree from TreeInstance, and move "Empty Tree" to the next nearest tree.
    I had this working in the past, I can't get it to work anymore.
    I based my script on http://answers.unity3d.com/questions/282910/tree-collision.html

    Any idea ?
     
  41. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Whatever works well for most people. Looks like the best AI system for such a template would be something with a variety of pre-made actions and the possibility to disable / enable whatever you need. Plus a quick workflow for setting up the AI. Including setting up animals. We've improved the GOAP system which lacked a lot in 0.1, especially on the ease of use side and customisation. If we don't like how it turns out after we release 0.2, we'll move on to another design.

    It should be possible, hmm..
    As a starting point, store all the tree positions in a list, then calculate the distance between the player and a specific tree.
    Don't use Vector3.Distance() because it performs a square-root calculation. You can use this "distanceSquared" value to see which tree is the closest:

    Code (CSharp):
    1.  
    2. float distanceSquared = (player.transform.position - tree.transform.position).sqrMagnitude;
    3.  
    The tree positions are in the Terrain component:
    Code (CSharp):
    1. Terrain terrain;
    2. Vector3 firstTreePos=terrain.terrainData.treeInstances[0].position;
    Let me know if you need more help.
     
    gegebel likes this.
  42. MarcopoloR

    MarcopoloR

    Joined:
    Feb 4, 2015
    Posts:
    114
    I know you have a lot to do, but have you looked into integration with USky. IMO even though not a full weather system it is the most beautiful and most realistic/Cryengine-like of the day and night systems I have tried.
     
  43. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    We haven't looked into that yet. I'm going to add it on the roadmap for 0.3
     
  44. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    I just got thinking of this, a few more animations (if possible) I'd like to see in 0.2.

    This seems to be very focused on Realistic survival, but I'm making a fantasy survival.

    A couple animations would be neat like putting your left hand out to release a magic spell like a fireball or lightning bolt. An animation for opening a door, maybe a falling animation for when you jump of a ledge or something (like placing both hands out). Stuff like that.

    Mainly the fireball animation for spells.
     
  45. johny256

    johny256

    Joined:
    Mar 3, 2015
    Posts:
    259
    Can you add radioactive zones?
     
  46. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Can't you edit the animation in Unity editor ? And create your own clip.
     
  47. OkeanixTR

    OkeanixTR

    Joined:
    Jan 28, 2017
    Posts:
    46
    Some Icons from Rust isn't hat violate copyright ?
     
  48. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I've tested following script. It finds the nearest tree at start, but the Collider doesn't move after that. I used LateUpdate() because I have a RigidBody on it, but could use Update(). None of it works after the first find though. I Could use some help.
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class TreeCollider : MonoBehaviour
    6. {  
    7.     TreeInstance[] trees;
    8.     TreeInstance tree;
    9.     Vector3 treePos;
    10.     Vector3 pos;
    11.  
    12.     // Terrain Size
    13.     Vector3 ts;
    14.     //Terrain Position
    15.     Vector3 tp;
    16.     //How far is the nearest tree
    17.     float proximity;
    18.     float nearestTree = 10000f;
    19.     //Player Position
    20.     Vector3 player;
    21.  
    22.     int nearest;
    23.     //moveable Collider
    24.     GameObject treeCollider;
    25.  
    26.     private void Start()
    27.     {
    28.         //Find all trees on terrain
    29.         trees = Terrain.activeTerrain.terrainData.treeInstances;
    30.         //assign terrain size
    31.         ts = Terrain.activeTerrain.terrainData.size;
    32.         //assign terrain position
    33.         tp = Terrain.activeTerrain.transform.position;
    34.         //find the player position
    35.         player = GameObject.FindGameObjectWithTag("Player").transform.position;
    36.         //find the collider in the Hierarchy
    37.         treeCollider = GameObject.Find("TreeCollider");
    38.     }
    39.  
    40.     private void LateUpdate()
    41.     {
    42.         //go through every tree on terrain and check how far it is from player
    43.         for (int i = 0; i < trees.Length; i++)
    44.         {
    45.             tree = trees[i];
    46.             treePos = tree.position;
    47.             //find the world coordinates
    48.             pos = (Vector3.Scale(ts, treePos) + tp);
    49.  
    50.             proximity = (player - pos).sqrMagnitude;
    51.  
    52.             if (proximity < nearestTree)
    53.             {
    54.                 nearestTree = proximity;
    55.                 nearest = i;
    56.             }
    57.         }
    58.         //assign nearest tree
    59.         tree = trees[nearest];
    60.         treePos = tree.position;
    61.         pos = (Vector3.Scale(ts, treePos) + tp);
    62.         //move the collider to the nearest tree position
    63.         treeCollider.transform.position = pos;
    64.     }
    65. }
    66.  
     
  49. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Which animation? Create my own you mean, or is there one that does something like that already?
     
  50. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Last edited: May 8, 2017
Thread Status:
Not open for further replies.