Search Unity

[RELEASED] Classic City Builder Kit

Discussion in 'Assets and Asset Store' started by softleitner, Feb 8, 2021.

  1. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Classic City Builder Kit
    Store Demos Manual


    Hi everybody, I've recently released the Classic City Builder Kit to the Asset Store. I have long loved the classic city builders like pharaoh or caesar but have been a bit disappointed with how little new games have been released in the genre recently. I think that stems in part from the big up front effort required to get even a simple city builder set up. That's the problem I tried to solve with this kit, providing common features of the genre so game creators can get a big head start and focus on what makes their city builder unique.
     
  2. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    I have just released Classic City Builder Kit 1.0.0 !

    Release Notes:

    ADDED
    • urban demo project
      simple city sim in isometric 2d
      showcases various 1.0 features
    • connections core system
      build a network of feeders and passers
      enables water and electricity networks
    • connected tiles that switch sprite based on their neighbors
      simple base class and variants for rectangle and isometric grids
    IMPROVED
    • walkers can now be pooled using ObjectPool
    • roads now support multiple networks
      simply use MultiRoadManager instead of DefaultRoadManager
      rails and roads in urban demo
    • structures now support multiple levels
      easily control which levels a structure inhabits using the level toggles
      a single point in the urban demo can have a pipe, road and power line; pumps inhabit all three levels
    • new view type that displays building efficiency
    CHANGED
    • demo materials have been switched from urp to legacy shaders
    • sort axis moved to camera controller
    FIXED
    • blockers not working after save/load
    • building walkers not triggering on spawn
    • panning in xy isometric maps
    • speed controls in historic demo
     
    lukasynthetic and Ronith like this.
  3. Ronith

    Ronith

    Joined:
    Feb 20, 2014
    Posts:
    69
    @softleitner ist there a discord support channel?

    - The Version.txt shows 0.9.0 (Assetstore shows 1.0.0), it looks like there is an older version in the asset store.

    - Where i can find the urban city demo?
    - All materials showing Hidden/InternalErrorShader

    Using Unity 2019.4.21f, installed TMP and Tilemap Editor package
     
    Last edited: Apr 10, 2021
  4. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    I don't currently have a discord, fastest way to reach me is by mail(softleitner@gmail.com).
    Please check which version you have downloaded in the package manage, if you have downloaded 0.9 previously you can update it there.
    The urban city demo should then be directly in the root of the project and materials should be changed to legacy.
     
  5. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    There is a problem that causes the wrong version to be downloaded in unity versions below 2019.4.23.
    I will fix it in the next update, in the meantime please upgrade your unity installation to use CCBK 1.0.0.
     
  6. Ronith

    Ronith

    Joined:
    Feb 20, 2014
    Posts:
    69
    Updated to 2019.4.24f, everything works. Thank you!
     
  7. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    I was able to resolve the issue without releasing an actual update. The version is still 1.0.0 but the problem with old data should no longer occur.
     
  8. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Version 1.1.0 has been released earlier today!

    ADDED
    • Setup Wizard window
      creates a clean project template with placeable buildings
      configure display modes, axis, sizes, … in a simple dialog
    • Expandable Buildings
      building size is determined during building
      expand building in one or two dimensions
      showcased in the new bridge building of THREE demo
    • enhanced Full 3D support
      showcased in new 3D demo scene in THREE demo
      support for perspective camera and 3D roads
      height parameter in walkers can modify their display
      (move along terrain or change to different layer in tunnel)
    • Road Switching
      allows destination walkers to move between road networks
      showcased in SwitchRoadDebugging scene in tests and tunnel scene in urban demo
    IMPROVED
    • Building Requirements now support various modes and configurations
    • Road Requirements can now be configured to amend missing roads
    • Cell Size of grid is taken into account in default and isometric map
    CHANGED
    • RoadBuilding functionality has been merged into regular Buildings
    FIXED
    • incorrect camera area when camera was pitched enough to look up
    • structure level editor not working inside arrays
    • monument pathing when using worker pooling

    Heres a quick video showcasing the new setup wizard window:

     
  9. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Version 1.2.0 is out now!

    ADDED
    • Overview Windows for Buildings, Walkers and Items
      these display all the objects in a set with preview images
      objects can be filtered, cloned and deleted
    IMPROVED
    • Complete visual overhaul of 3D City Builder Demo
      • 25 Original Low Poly Buildings
      • Humanoid Walkers with Animations
      • Maps, Props, Materials, Effects, …
    • Updated “Start from Scratch” Tutorial
      • Incorporates new Setup and Overview Windows
      • New sprites for Buildings and Walkers
    CHANGED
    • Common walker properties have been moved to WalkerInfo
      PathTyp, PathTag, Speed, MaxWait, Delay
    FIXED
    • Expandable buildings not loading their expansion
    • Buildings having wrong scale after being affected by BuildingAddonTransformer
      this lead to buildings in the three demo always being slightly off scale or very off scale when the framerate was low
    • Roads for Bridge being amended without rotation
    • Path Recalculation for moving walkers in Defense Demo
    • Roads being demolished when their RoadBlocker was demolished
      Roads are “underlying” and therefore only demolished when no non “underlying” structure is demolished at the same time
    • Pooled walkers retaining their items and state



     
  10. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Version 1.3.0 has been released!

    ADDED
    • Timings system (events, animations and text based on playtime)
    • Hexagon support in Setup, Map, Tiles, …
    • Decorator Structures that save rotations and sizes
    • Object Generator for easy map object generation
    IMPROVED
    • FireWalker in Three Demo now actively walks to and extinguishes fires
    • Walkers use better points to enter and exit buildings(Pathfinding accepts multiple starts/ends)
    • BuildingRequirement can now require Buildings(see BuildingRequirementDebugging)
    • DefaultGameManager now saves the current randomization state
    FIXED
    • AccessType Exclusive
    • Rotations in XY Maps
    The Timings system is used in the Three demo to display the game time in a year, quarter, ... format and for a day night cycle and rain event. The Three demo also uses the new Decorator Structures and Object Generators to add Bushes and Pebbles. Look through the MapObject GameObject to see how they are used.
    The advancement in BuildingRequirement are demonstrated in a scene in the Test project.
     
  11. TechSinsN

    TechSinsN

    Joined:
    Apr 12, 2014
    Posts:
    121
    Is it possible to make a colony sim out of this template? I guess along the lines of rim world
     
  12. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    i've not had the time to play it but from what i know about rimworld i think that game is heavily based upon individual walkers and their AI which is not currently well supported in CCBK
    it might give you a good jumping off point for some of the basic stuff like structures, buildings, walkers, layers, saving...
     
    w409544041 likes this.
  13. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Version 1.4.0 is now live!

    ADDED
    • Food View in Three Demo
      uses the overhauled views and bars and the new IItemHolder interface
      walkers can now also have bars; added bars that show items using their icons
    • Tornado Happening in Urban Demo
    IMPROVED
    • Health Bars in Defense Demo reintegrated with Core Views and Bars
    • Rain in Three Demo now affects Heat and Water
      the new ILayerModifier interface can be used to globaly affect Layers
    • Religion in Historic Demo now affects Farming Efficiency
      the new ScoreEfficiencyComponent uses a Score to affect Building efficiency
    • Migration in Three Demo is now driven by a Score
      this happiness score combines employment, housing quality and food availability
    FIXED
    • suppressed unused event warnings
    • recursive error in retrievers
    • missing sprites in urban demo
    • minor errors in tests
     
  14. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    Hello. Is there AI for automatic settlement development?
     
  15. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Hi, I'm not entirely sure what you mean but I don't think so.
     
  16. Sledo

    Sledo

    Joined:
    Dec 27, 2013
    Posts:
    16
    Hey! I mean can the AI manage the settlement. For example, as a neighboring settlement on the world map.

    And I can't figure out how to make roads in the editor.
     
  17. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Oh I see, no there is no AI of that kind.

    In the Editor Roads are drawn using the Tile Palette from the 2D Tilemap Editor Package.
     
  18. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Version 1.4.5 has been released!

    Since the next larger update is a bit further out I've decided to split some fixes and a couple user requested features into another smaller update.

    ADDED
    • More uses for PathTag (see Walkers manual page)
      • RoadBlockers in Three Demo can be set to let certain Walkers pass
      • Different Pathing by Ground Tile in StrcturePathDebugging test scene
    IMPROVED
    • URP upgradability for Three demo (see CityBuilderThree/URP)
    • Employment Priorities are displayed in descending order
    FIXED
    • Service Values increasing over time instead of decreasing
    • walker rotation in urban tunnel scene
    • three props now use the correct materials
    • links in manual pdf
     
  19. User414322

    User414322

    Joined:
    Jul 9, 2019
    Posts:
    27
    Are there any plans to support mobile platforms?
     
  20. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
  21. User414322

    User414322

    Joined:
    Jul 9, 2019
    Posts:
    27
    Wow! Amazing!
     
  22. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    1.5.0

    first in a series of 2-3 updates that focus on the new CityBuilderTown demo, documentation and core framework improvements

    ADDED
    • CityBuilderTown[EXPERIMENTAL]
      • terrain based
      • task system
    • Walker Actions and Processes
      • higher level walker control
    • Risk- and ServiceCategory
      • building and walker bars
      • service category evolution
    • Building Prefab Alternatives
    • ItemConstructionComponent
      • replaces building when items have been supplied
    IMPROVED
    • Documentation
      • header comments for all core objects
      • descriptions for demo manual pages
      • core building components manual diagram
    • Walker now directly exposes an Animator
      • animation parameters on WalkerInfo(Walk, Direction, Carry)
    • additional storage modes(ItemSpecific, TotalItemCapped, TotalUnitCapped)
    • various interfaces simplified
    FIXED
    • mouse wrongly touch panning
    • camera shake on middle mouse drag
     
    w409544041 and lukasynthetic like this.
  23. grionseengel

    grionseengel

    Joined:
    Sep 2, 2017
    Posts:
    32
    Hello, I have a question about the creation of new terrains. In the 3d demo there are three demoterrains. I would like to create new terrains. Can I do this through the terrain editor of uniy? Do I then assign the appropriate colors to the layers?

    Greetings Andreas
     
  24. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Hi!

    The maps in the 3D City Builder demo are just meshes, unity terrains are part of the new Colony Sim demo but that one is still very much in development and Experimental.
     
  25. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    1.6.0

    ADDED

    • TerrainRoadManager visualizes roads by changing terrain texture
    • Terrain option in Setup Dialog
    • MovementPlayground and BuildingPlayground test scenes
    • DepopulationHappening which kills a fraction of the population
    • TownDemo
      • title screen, menus, difficulty, map generation
      • market building, distribution task, peddler job
      • road tool and task
      • views for food, wood and actions
      • test project
      • inspector tooltips, xml documentation
    IMPROVED
    • TerrainModifier can also save height and texture
    • GridHeight is applied to Buildings
    • Walker can use NavMeshAgent for movement
    • BuildingBuilder adjusts position based on camera direction
    • CameraController now saves rotation
    FIXED
    • LayerKeyVisualizer on scaled canvas
    • HasPoint on NavMesh when elevated
     
  26. grionseengel

    grionseengel

    Joined:
    Sep 2, 2017
    Posts:
    32
    Hello,

    the asset is absolutely great. I would be happy about new scores in a next update. At the moment there is only a Gold ItemScore. I would like to define other resources like iron, granite etc. as a win requirement. Unfortunately I have not managed to do that.

    Maybe someone here in the forum can tell me which calculate method I have to use to read out e.g. produced iron via ItemScore.

    Greeting, grinseengel
     
  27. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Here is a possible extended Version of ItemScore that allows switching between different calculation methods.
    I have not had time to test this but I may look further into this for the next update.

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. namespace CityBuilderCore
    4. {
    5.     /// <summary>
    6.     /// item quantity in global storage
    7.     /// </summary>
    8.     [CreateAssetMenu(menuName = "CityBuilder/Scores/" + nameof(ItemScore))]
    9.     public class ItemScore : Score
    10.     {
    11.         /// <summary>
    12.         /// determines how the score is calculated
    13.         /// </summary>
    14.         public enum CalculationMode
    15.         {
    16.             /// <summary>
    17.             /// gets quantity from <see cref="IGlobalStorage"/>
    18.             /// </summary>
    19.             Global = 0,
    20.             /// <summary>
    21.             /// sums up quantities in all <see cref="IStorageComponent"/>s
    22.             /// </summary>
    23.             Stored = 10,
    24.             /// <summary>
    25.             /// sums up quantities in all <see cref="IItemOwner"/>s
    26.             /// </summary>
    27.             Owned = 20,
    28.             /// <summary>
    29.             /// sums up quantities in <see cref="IItemOwner"/> buildings
    30.             /// </summary>
    31.             OwnedBuildings = 21,
    32.             /// <summary>
    33.             /// sums up quantities in <see cref="IItemOwner"/> walkers
    34.             /// </summary>
    35.             OwnedWalkers = 22
    36.         }
    37.  
    38.         [Tooltip("score is quantity of this item in global storage")]
    39.         public Item Item;
    40.         [Tooltip(@"determines how item quantity is calculated
    41. Global global storage
    42. Stored storage components
    43. Owned ALL item owners
    44. OwnedBuild building item owners
    45. OwnedWalker walker item owners")]
    46.         public CalculationMode Mode;
    47.  
    48.         public override int Calculate()
    49.         {
    50.             switch (Mode)
    51.             {
    52.                 case CalculationMode.Global:
    53.                     return Item.GetGlobalQuantity();
    54.                 case CalculationMode.Stored:
    55.                     return Item.GetStoredQuantity();
    56.                 case CalculationMode.Owned:
    57.                     return Item.GetBuildingOwnedQuantity() + Item.GetWalkerOwnedQuantity();
    58.                 case CalculationMode.OwnedBuildings:
    59.                     return Item.GetBuildingOwnedQuantity();
    60.                 case CalculationMode.OwnedWalkers:
    61.                     return Item.GetWalkerOwnedQuantity();
    62.                 default:
    63.                     return Item.GetGlobalQuantity();
    64.             }
    65.         }
    66.     }
    67. }
     
  28. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Update 1.7.0 has been released!

    This Update contains a complete new set of Low Poly 3D Models and marks the promotion of the Town(Banished-style) demo from experimental to a full demo.

    upload_2022-12-20_17-41-21.png

    https://citybuilder.softleitner.com/demos/town
     
  29. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
  30. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Update 1.7.3

    This update adds some general features which are not directly associated to any particular demo. Check the release notes to see where each new feature is demonstrated.

    ADDED

    • Off Grid Link
      equivalent to OffMeshLink in NavMesh but for grid(road) walking
      see debug scenes LinkRoadDebugging and BuildingPlaygroundLink
    • Mesh Highlight Manager
      visualizes highlights by modifying meshes during runtime
      used in town demo to dramatically improve highlighting performance
      three demo uses mesh highlighting with nice rounded outlines
      see BuildingPlayground2D for simple pixelated outline
    • Variant Production Component
      more versatile production component that allows configuring different variants
      see ProductionDebugging test scene for some examples
    IMPROVED
    • better handling of mouse position outside play area
    • town demo harvest tool performance dramatically improved
     
  31. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Update 1.7.4

    this will be the last version based on unity 2019.4.18, the next update will increase the minimum version to a more recent LTS

    ADDED
    • tagged requirements on DefaultMap and TerrainMap
      define certain building restrictions on the map by tag(building, road, structure)
      check out BuildingPlaygroundTagged and BuildingPlaygroundTerrain for some examples
    IMPROVED
    • StructureBuilder can now be used for any structure
    FIXED
    • removal of old roads on load
    • harvesting of grown trees in town demo
    • gaps in terrain road visuals in some maps
     
  32. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    Update 1.8.0
    minimum recommended unity version has been raised to 2021.3.29

    ADDED
    • minimal demo scene demonstrating simple placement
      CityBuilderCore.Tests/Other/Placement/Placement.unity
    • Buildings can now be suspended and resumed
      temporarily stops them from working without having to demolish and rebuild them
      (see checkmarks Three and Town demos building dialogs)
    • simple SavingIndicator in all demos
    • simple spawn(BuildingAddonSpawn) and despawn(DemolishVisualDespawn) animations
      (see Placement demo)
    IMPROVED
    • Migrations can be configured to use multiple entry points
      (see PlebMigration in Three demo Debug scene)
    • Box option in StructureBuilder to build in a rectangular shape
      (see RugTool in Placement demo)
    • Override option in StructureBuilder to remove other structures
      (see RugTool in Placement demo)
    • Demolish tool has new LevelsNext field to configure order of deletion (see DemolishTool in Placement demo)
    FIXED
    • tooltip position in scaled canvas
    • various minor adjustments to accommodate higher unity version
     
  33. softleitner

    softleitner

    Joined:
    Jan 10, 2021
    Posts:
    44
    An updated How To Video has been released:


    Asset Store

    1.8.4
    ADDED
    • Sounds
      Town demo now has UI sounds, an atmospheric background track and various sounds for tasks like harvesting stone or chopping wood
      • AudioPool to play sounds like button clicks from a central component
      • AudioSlider that sets and persists volume levels
    • MissionSelector
      example scene that demonstrates an alternate setup for a menu screen(CityBuilderCore.Tests/Other/MissionSelector)
    • TaskList
      used in the Three demo for a multi stage tutorial
    • MessageBox
      generic message box dialog(Ok, OkCancel, YesNo, YesNoCancel)
    • Messaging
      allows sending messages and attaching events to buildings and walkers
      Town uses this to send messages from animations to the current task where it plays a sound
    CHANGED
    • DefaultMap no longer clamps points, clamping is done in CameraController instead
    FIXED
    • tooltips sometimes not exiting
    1.8.3
    IMPROVED
    • continue game from last saved data
      new buttons using this functionality in Three and Town demos
    • whether a stage is finished is saved per stage and per save game
      this allows beating the stage again on a new save
    FIXED
    • walkers using navmesh agents cancelling on load
    • exception in storage component with older data
    1.8.2
    IMPROVED
    • ItemStorage has new ItemStorageMode called Store
      allows redirecting to a seperate ItemStore component
      for example to combine storages across a building
    • TerrainMap now derives from DefaultMap
      this enables blocking through tilemaps on TerrainMap
    • various custom property drawers
      ItemQuantity, ItemStorage, BuildingRequirement, …
    • storage orders are now also persisted
    FIXED
    • GetItemQuantity on MultiItemContainer leading to wrong display in UI Panel
    • service category recipient not triggering evolution
    1.8.1
    ADDED
    • additional debug options in the inspector in play mode
      for example items can be added directly to StorageComponents
      available for Building and various BuildingComponents
    FIXED
    • DeliveryWalker looking for storages in Load before storages are full loaded
    • GridPathing allowed invalid paths by default, now behind const ALLOW_INVALID
    • ServiceCategory was not fully integrated in Evolution
    • Invalid tool selection in new game in TownDemo after placing startup
    • TMPro warning in TownDemo due to unnecessary CanvasRenderer
    • Validation that prevents global storage from being configured to access itself