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

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    335
    Hello Winterbyte312,

    I played the demo and i try to suggest something to you, if you want to promote :

    1 - auto bag when i loot by double click. Is it possible ? if no, is possible to add it in next release ?

    2 - i see a little chest on the floor close to the tree. Is it possible to carry it ? if no, is possible to add this opportunity in next release ?

    3 - when mouse is over an item, the description label appears.


    Cheers,

    +++
     
    Last edited: Apr 20, 2017
  2. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Auto loot ? stuff near the player is automatically collected.
     
  3. OZAV

    OZAV

    Joined:
    Aug 9, 2013
    Posts:
    299
    I've meant - you guys are going to do the mistake that UFPS had ?
    (not supporting GamePads input code form the very start, and than later
    supporting it poorly, and called it "supported" ?). I don't believe that should
    be left to your paying customers to deal with. For every FarCry series fan
    (as you claim to be) that should be put in, and maintained from the very start :)
    Thus - my suggestion here is out for you, to consider, i guess ...
    And no - sorry, but i have many projects RFPS based and RFPS code is still
    to develop into something very good, as they constantly work on it, i wouldn't
    paint in black everyone else's work, just because the other guys are out there,
    selling on the store. I have coded complete game version similar to FarCry,
    using RFPS as a basis (including Game Pads input support, on which i can
    help you any time, to code it in, it's the same code for all game pads, including
    Xbox controllers - one and the same, done only once, and simple, binded to
    Unity's Input Manager entries, so it's assigneable to any buttons / keys / axes you
    want later, that's called flexibility, and modularity of the asset, and all assets need
    it, in order to sell better).
     
    Last edited: Apr 21, 2017
  4. CaptainMurphy

    CaptainMurphy

    Joined:
    Jul 15, 2014
    Posts:
    746
    I wouldn't code it to go to any one specific direction, rather I would abstract it all out so that the customer can hook into the movement using either a built in base or something like Rewired without having to touch any core code at all.
     
    Adrad likes this.
  5. nielshenriksen

    nielshenriksen

    Joined:
    Oct 13, 2010
    Posts:
    41
    You know that the system can be extended by everybody? We are getting a good system but with some extra code we can make new things in it - like autoloot.
     
  6. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Hi, sorry I think I missed your message :(
    If you want to intercept the crafting action, at the moment, you can do it in the QueueElement script.
    Go to the line 122, where the crafted item gets added. At the moment it's added by name.
    You have to add it with custom properties (like you said, custom durability, power, etc).

    Here's a sample code:
    Code (CSharp):
    1.  
    2. var item = new SavableItem(m_Result, 1);
    3.  
    4. if(item.HasProperty("Durability"))
    5.     item.GetPropertyValue("Durability").SetValue(ItemProperty.Type.Float, 150);
    6.              
    7. inventory.TryAddItem(item);
    8.  
    Here I:
    - Create the result item, and store it in a variable
    - Set it's durability value to 150
    - Add the item to the inventory.
     
  7. OkeanTR

    OkeanTR

    Joined:
    Jan 28, 2015
    Posts:
    12
    Please don't complete project. Just give Template. I don't want asset flippers everywhere

    If you complete and do everything in this asset. People going to bought your asset than just press build button. I don't want more garbage developers who does not deserve anything.
     
  8. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    You are right. But there are many honest and hard working developers as well, using the asset.
    I haven't seen one asset flipper receiving positive feedback on Steam so far. A real developer will make the most out of a kit like this, and be successful, asset flippers don't get far in the long run.
     
    Brian-Ryer likes this.
  9. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    1.What do you mean exactly?

    2. It's not possible to carry it, we have to create a system that drops the items from the chest when trying to pick it up.
    We'll do that in v0.2.
    Otherwise you'd be able to have a chest inside a chest. -- Chest-ception. :(

    3. Interesting suggestion, we'll do that in v0.2.
     
  10. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    575
    even incomplete you already have that scenario since day one okean, just let people decide according to theyr own common sense.
     
  11. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    We're using Unity's input system, which supports gamepads, we will add some helpers if needed.
     
  12. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Took a while... but I managed to fix the Unity 5.6 UI issue!

    Let me know if it works for you guys as well.

    Essentially it replaces the In-Game GUI prefab. Just replace it in your current scene, make a backup of course too because I'm not used to "Exporting" prefabs.

    I am using 5.6.0f3
     

    Attached Files:

  13. bobbybau

    bobbybau

    Joined:
    Feb 28, 2017
    Posts:
    33
    What it means is that he would have competition and thats money out of his pocket. What it boils down to is this. People will buy whatever they want. Trying to monopolize things wont get you anywhere. There are great developers on here that have great ideas, why not give them a chance. We are finally coming to a time now where gamers are not so reliant on big companies to produce games. The worse part running the game they way they want with the attitude, "dont like it leave we already have your money"

    Do I think this project will ever be completed, highly doubtful but it wouldnt be the first time I was wrong.
     
  14. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    The plugin gives you a strong base at least for people that know how to code and that can bring their own specific needs and modifications. It is not possible to bring to the plugin thousands ideas users will ask.
     
  15. SocketByte

    SocketByte

    Joined:
    Aug 14, 2016
    Posts:
    114
  16. gvenez

    gvenez

    Joined:
    Feb 19, 2013
    Posts:
    9
    is verion 0.2 on track to be released at end of April? I have been following the trello roadmap and it seems we are going to miss the deadline. I really wanted mobile support using unity 5.6
     
  17. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    No we won't make it, version 0.2 is delayed, we added a lot of stuff on the roadmap since we started. And we want to polish it more as well.
    I updated the deadline on Trello.
     
    TheMessyCoder likes this.
  18. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Hi, I believe that it was already mentioned on the forums and now also updated on Trello that the version will be in May.
    Given the complexities involved in development life cycle bug fixes and new features, you can expect dates on Trello to be guideline targets and not fixed deadlines.

    Basic project management, one of three things will be fixed, the other two variable.
    * Budget
    * Scope
    * Date

    In the case of asset store development that are done by small teams and not large professional companies, you can expect the first 'budget' to be fixed and other two to be variable.
    Scope in these projects tends to be variable because of the feedback loop with customers & change requests
     
    Socrates likes this.
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Why split package in two versions ? You mean example scenes ?
    Because we could want to mix apocalyptic with wilderness at same time.
     
  20. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    The post apocalyptic will have things like vehicles, ranged enemies, safe houses, more RPG elements etc. Altough it'll still be a survival type template, it goes in another direction, gameplay-wise.

    We don't want to put everything in one template because it'll get messy and wouldn't make much sense. Better to split them so people can buy the package they want without needing to dig through a monster pack to find what they want. The themes will be very different.

    But, in the end, we have this one to finish. We'll see how things evolve afterwards.
     
    Brian-Ryer and zenGarden like this.
  21. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I understand better the difference between the two packages.

    One a side node the manual is on the most clear and well presented i have seen in plugins.
     
    Last edited: Apr 22, 2017
    AngryPixelUnity likes this.
  22. UltraTM

    UltraTM

    Joined:
    Dec 8, 2013
    Posts:
    221
    @Winterbyte312 will it be middle or end of may the delay?

    But it will still give also an pack which has both versions oft he packages or?

    Cause maybe someone or we like to have some elements of the other pack inside.
     
  23. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Can't say exactly, only that we're working towards publishing it as fast as possible, without sacrificing quality.
    About having both templates in a pack... we'll see :)
     
  24. UltraTM

    UltraTM

    Joined:
    Dec 8, 2013
    Posts:
    221
    I hope we are able to use features from both into one pack.
    maybe you should think about an plugin system would handle that stuff maybe easy.

    So guys can buy both and use plugins (features) from the other one.

    Maybe a good deal.


    The pack we actually have will be the wilderness then or?
     
  25. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Perhaps like Invektor plugin, the more you want, the more you pay ?
     
  26. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Good suggestion.
     
  27. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Yeah it will become wilderness this one.
     
  28. JFR

    JFR

    Joined:
    Feb 21, 2014
    Posts:
    65
    Hey! Thanks for this! just updated to Unity 5.6 and found your post, fixed all errors on my side.
     
  29. JFR

    JFR

    Joined:
    Feb 21, 2014
    Posts:
    65
    Are you saying will be evolving two separate products? Personally I would be for a single product that offers purchasable add-on content. It would make more sense in my mind, as there will be a lot of cross-over features between both. And I'm a very compulsive impulsive developer, so I don't mind spending more money on the asset's add-ons ;)
     
    UltraTM likes this.
  30. Spymoi

    Spymoi

    Joined:
    Apr 5, 2017
    Posts:
    21
  31. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    hi All, just an FYI. I am working on the a tutorial to show how to make a pause menu in Ultimate Survival.
    very messy way of doing it, but its fun and somoene out there might enjoy it :)



    Going bed and will finish editing and upload tomorrow. gnite
     
    Last edited: Apr 23, 2017
    gegebel, AngryPixelUnity and arnesso like this.
  32. gegebel

    gegebel

    Joined:
    Jan 29, 2014
    Posts:
    469
    I have a couple suggestions for you:
    - Multiple Burn/Crafting result; for example if you cook meat, your burn result could be cooked meat + Fat
    - Custom Crafting Tables/buildings; I've seen TheMessyCoder previewing it so I guess it's in
     
    AngryPixelUnity likes this.
  33. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Hi,
    Custom workbenches are going to be in by Winterbyte, my video preview is my attempt to try and do my own version which worked up to a point. Thanks to Winterbyte helping me with my version, hopefully I will have my video ready next week.
     
  34. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522

    Whoop Whoop!

    Video is finally uploaded on youtube.

     
    gegebel likes this.
  35. gvenez

    gvenez

    Joined:
    Feb 19, 2013
    Posts:
    9
    Awesome, thanks! I will wait for it.
     
  36. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Thanks for the asset I really like the construction features. I plan on making a Rewired integration for input handling. How much change are you expecting in the input handling from 0.11 to 0.2? Is it a complete rewrite?

    What Unity versions are you supporting? It looks like 5.5.2 from the asset store and I saw mention of Unity 5.6 support in 0.2. Do you plan on keeping Unity 5.5.2+ support for a while since I plan on sticking to that version 5.6 for a while.
     
  37. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    That is a great example. Love the screen shots of those ships and playway water.

    @TheMessyCoder

    Thanks for the video tutorials too.
     
    TheMessyCoder likes this.
  38. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    The input handling won't change much.
    Unity 5.5.2 currently supported, v0.2 is developed in Unity 5.6.
     
  39. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    That's why I said "we'll see", we're not sure either, but we want to split the content somehow.
     
  40. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    Hi, to fix your issues, replace the TerrainObjectSpawner script with this:
    Code (CSharp):
    1. using UnityEngine;
    2. using UltimateSurvival;
    3. namespace UltimateSurvival.Editor
    4. {
    5.     using UnityEditor;
    6.     public class TerrainObjectSpawner : EditorWindow
    7.     {
    8.         [SerializeField]
    9.         private DetailSpawnData m_SpawnData;
    10.         [SerializeField]
    11.         private Terrain m_Terrain;
    12.         [SerializeField]
    13.         [Range(1, 1000)]
    14.         private int m_SpawnOdds = 350;
    15.         private SerializedObject m_SO;
    16.         [MenuItem("Tools/Ultimate Survival/Terrain Object Spawner", false, -7)]
    17.         public static void Init()
    18.         {
    19.             EditorWindow.GetWindowWithRect<TerrainObjectSpawner>(new Rect(Screen.width / 2f, Screen.height / 2f, 512f, 256f), true, "Terrain Object Spawner");
    20.         }
    21.         private void OnEnable()
    22.         {
    23.             m_SO = new SerializedObject(this);
    24.         }
    25.         private void OnGUI()
    26.         {
    27.             m_SO.Update();
    28.             GUIStyle style = new GUIStyle()
    29.             {
    30.                 fontStyle = FontStyle.Bold,
    31.                 alignment = TextAnchor.MiddleLeft
    32.             };
    33.             DoHeader("Setup", style);
    34.             EditorGUILayout.PropertyField(m_SO.FindProperty("m_SpawnData"));
    35.             EditorGUILayout.PropertyField(m_SO.FindProperty("m_Terrain"));
    36.             DoHeader("Settings", style);
    37.             EditorGUILayout.PropertyField(m_SO.FindProperty("m_SpawnOdds"));
    38.             EditorGUILayout.Space();
    39.             if(GUILayout.Button("Generate"))
    40.                 Generate();
    41.             EditorGUILayout.Space();
    42.             if(GUILayout.Button("Remove"))
    43.                 Remove();
    44.             EditorGUILayout.HelpBox("WARNING! Will destroy all the current rocks and trees!", MessageType.Warning);
    45.             m_SO.ApplyModifiedProperties();
    46.         }
    47.         private void Generate()
    48.         {
    49.             if(!m_Terrain || !m_SpawnData)
    50.                 return;
    51.             Transform treesRoot = m_Terrain.transform.Find("Trees");
    52.             Transform rocksRoot = m_Terrain.transform.Find("Rocks");
    53.             if(m_SpawnData.m_TreeList.Length > 0 && !treesRoot)
    54.                 treesRoot = CreateEmptyUnder("Trees", m_Terrain.transform);
    55.             if(!rocksRoot)
    56.                 rocksRoot = CreateEmptyUnder("Rocks", m_Terrain.transform);
    57.             TerrainCollider terrainCollider = m_Terrain.GetComponent<TerrainCollider>();
    58.             Vector3 terrainSize = m_Terrain.terrainData.size;
    59.             Vector3 terrainPosition = m_Terrain.GetPosition();
    60.             for(int x = 0;x < terrainSize.x; x ++)
    61.             {
    62.                 for(int y = 0; y < terrainSize.z; y ++)
    63.                 {
    64.                     bool spawn = Random.Range(0, m_SpawnOdds) == (m_SpawnOdds / 2);
    65.                     if(!spawn)
    66.                         continue;
    67.                     bool spawnTree = Random.Range(0, 2) == 0;
    68.                     if(m_SpawnData.m_TreeList.Length == 0)
    69.                         spawnTree = false;
    70.                     DetailSpawnData.DetailSpawn prefab = spawnTree ? m_SpawnData.GetTreePrefab() : m_SpawnData.GetRockPrefab();
    71.                     if(prefab != null)
    72.                     {
    73.                         float raycastHeight = terrainPosition.y + terrainSize.y + 1;
    74.                         Ray ray = new Ray(new Vector3(terrainPosition.x + x, raycastHeight, terrainPosition.z + y), Vector3.down);
    75.                         RaycastHit hitInfo;
    76.                         if(terrainCollider.Raycast(ray, out hitInfo, terrainSize.y * 2))
    77.                             Instantiate(prefab.Object, hitInfo.point + prefab.PositionOffset, Quaternion.Euler(prefab.RandomRotation), spawnTree ? treesRoot : rocksRoot);
    78.                     }
    79.                 }
    80.             }
    81.         }
    82.         private void Remove()
    83.         {
    84.             if(!m_Terrain)
    85.                 return;
    86.             Transform treesRoot = m_Terrain.transform.Find("Trees");
    87.             Transform rocksRoot = m_Terrain.transform.Find("Rocks");
    88.             if(!treesRoot)
    89.                 treesRoot = CreateEmptyUnder("Trees", m_Terrain.transform);
    90.             if(!rocksRoot)
    91.                 rocksRoot = CreateEmptyUnder("Rocks", m_Terrain.transform);
    92.             int treeCount = treesRoot.childCount;
    93.             for(int i = 0;i < treeCount;i ++)
    94.                 DestroyImmediate(treesRoot.GetChild(treesRoot.childCount - 1).gameObject);
    95.             int rocksCount = rocksRoot.childCount;
    96.             for(int i = 0;i < rocksCount;i ++)
    97.                 DestroyImmediate(rocksRoot.GetChild(rocksRoot.childCount - 1).gameObject);
    98.         }
    99.         private Transform CreateEmptyUnder(string name, Transform parent)
    100.         {
    101.             var empty = new GameObject(name);
    102.             empty.transform.SetParent(parent);
    103.             return empty.transform;
    104.         }
    105.         private void DoHeader(string name, GUIStyle style)
    106.         {
    107.             EditorGUILayout.Space();
    108.             GUILayout.Label(name, style);
    109.         }
    110.     }
    111. }
     
    TheMessyCoder likes this.
  41. Treetall

    Treetall

    Joined:
    May 24, 2015
    Posts:
    4
    Assets/Ultimate Survival/Scripts/By Namespace/UltimateSurvival.AI/Gameplay/AIGroup.cs(3,19): error CS0234: The type or namespace name `AI' does not exist in the namespace `UnityEngine'. Are you missing an assembly reference?


    What do I need to do to fix this? Clean install, I have not changed anything but this keeps my game from launching. Thanks.

    I did move the 4 things from base scene into the forest scene folder.
     
  42. AngryPixelUnity

    AngryPixelUnity

    Joined:
    Oct 25, 2016
    Posts:
    816
    This is because you use Unity 5.6.
    Unity 5.5 will work fine.

    I will update the asset to Unity 5.6 tomorrow, looks like a lot of people need the transition.
     
  43. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Unity 5.6 will be fine. Thanks for the clarification.
     
  44. Sorrowthief

    Sorrowthief

    Joined:
    Dec 14, 2016
    Posts:
    48
    Very cool thanks for that. Did you ever get time to complete or work on the workstations tutorial?
     
  45. arnesso

    arnesso

    Joined:
    Mar 3, 2015
    Posts:
    96
    Has anyone tried to solve hitscan weapons(rifle etc.) the ammo - clip solution ? I would like the Guns dont work with durability,but clip -ammo ( or it can have durability AND Clip-Ammo function ) for reloading and Not continuesly shooting without reloading.
    Let me know please if you made reloding,clip,ammo solution. I am still working on it
     
  46. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Hi, its going to be part of the next release.

    But you could do it with a custom property if you really wanted and couldnt wait till then
     
  47. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    Hi, it worked like a charm, until 1 quite small eerm major issue. The workbenches while being seperate from the main crafting menu, all shared the same queue. This was due to the structure of the existing set up in 0.11, which was addressed in v0.2. So I dont feel so bad that I had issues in the end :)

    Winterbyte has been really helpful to get it to work, but as they are busy working on the next release I have not wanted to bother them too much.

    Hopefully I can get back on it soon.
     
  48. arnesso

    arnesso

    Joined:
    Mar 3, 2015
    Posts:
    96
    Thank you for your response.
    Yes I know it will be in next update , but yeah I would do sooner. I started digging into the code, but i have not found the correct place for ammo code.
    But you say, it can be solved by Only custom property? with adding e.g : Ammo:Int ; Clip:Int
     
  49. TheMessyCoder

    TheMessyCoder

    Joined:
    Feb 13, 2017
    Posts:
    522
    I dont know about only with a custom property.
    But you can set ammo clip max capacity and another property for current ammo. (like with see Winterbytes message above #1556)

    When the weapon is fired, reduce the ammo down by 1.
    When you reload then increase the ammo number and reduce the stack in your inventory.

    .
     
    arnesso likes this.
  50. OkeanTR

    OkeanTR

    Joined:
    Jan 28, 2015
    Posts:
    12
Thread Status:
Not open for further replies.