A downloadable game

Download NowName your own price

NOTE
Save and Load functions are currently not working. 

Do not press the Load or Save buttons, it may just have no effect but there is a chance that it may crash the game.

Unfortunately current save/load system means when saved classes have new variables added to them the code has to be changed to Save/Load new variables or everything just falls over.  Not a huge amount of work but I haven't done it in quite a long time.

V0.5.2.3

  • GetTopParameters created to replace GetHighestParameter. Character will try to find a job that matches the three highest ranked parameters starting with the highest ranked. A random element could easily be added in, Even as a bool flag if wanted.
  • Rearranging of code so that the calling of the highest utility job doesn#t need a whole load of if else statements.
  • Cafe jobs switched from room list to global guest job list.
  • JobCountOfTypeOnFurniture() added to make this possible. Furniture viewing area removal added. Line 647. Needs looked at - viewing area needs removed in its entirety when room is removed. Do we do this?
  • Added notification panel UI element.
    Created static instance on NotificationPanel so AddNotification() can be accessed from anywhere.
  •  furniturePrototypes now contains a placementInfo string that will be displayed if present when a user tries to place in an invalid location. Currently called in BuildModeController.
  • Moved SetState code from CoroutineController to Character.
  • Simplified flags for detecting state change - just detects that a change has happened, what the change was can be detected when needed.

V0.5.2.2

  • Added visual feedback for happiness system with a red tint for unhappy characters.
  • Happiness States.
  • InvalidateTileGraph when building any furniture that overridesPathFinding instead of just checking for doors.

V0.5.2.1

  • Viewing areas now update if path is built round room that is already set as a room.  Also tiles are removed from the viewingArea if their type is then set to something other tan path.
  • Added an increase in happiness to the JobWorked function for viewing areas. Numbers will need tweaked and checks that there are actually animals need to go somewhere.

V0.5.2 ChangeNotes

  • SealCave and AlpacaCave fully implemented. Can only be placed in room of correct type and have a button to "Buy" the appropriate creature which will spawn at the cave. Buy function still needs properly implemented.
  • GetCharacterJob now checks for - Hunger. Seal, Alpaca. Individual animal checks need to be replaced with a check to find the highest animal value rather than checking each individually against a hardcoded number.
  • Character parameters limited to a maximum of 100 in the Change and SetParameter functions in CharacterProperties. Alpaca parameter added to UpdateStats coroutine.
  • Alpaca characterSprite added to hardcoded values in CharacterSpriteController. --STILL NEEDS FIXED--
  • Added Alpaca as another creature type that will behave similarly to Seal.
  • Added Room_Alpaca tile sprite for when roomType is set to "Alpaca". Different sprites might not be needed but for now they make it easy to see that rooms are correct.
  • string category added to the Furniture class to allow for sorting of items by type.
  • Second furniture build menu added. First one now displays furniture in category "Default".  Second category is "Walls" at the moment - contains walls, tiles (floor, water, path), doors, fences. Using "Unused" for buildings that are not to appear in the build menu.
  • Viewing areas for rooms calculates as paths on the other side of fence to a room.
  • Couroutine CreateViewingAreaJob added which creates a global job on the joblist for guests.
  • Added global guest JobList.
  • Added PathFinding to viewing area.
  • Changes to the GetMovementCost function. Added overRidesPathFinding to furniture as a boolean. Now pathfinding can just check that flag rather than checking for multiple objecttypes.
  • Changed fishing boat to be placed on all water tiles taking advantage of the new override flag. jobSpawnSpot now moved to y-1 which must be a path to build the boat.

Major Release (v0.5.2) Current Limitations/Known Bugs :

  • If you build a path round a room after you have set it as a specific room type the path will not be added to the viewing area for that room.  To ensure that it is you must reset the room using the Set Room tool for the type you want.  This needs changed soon because it's actually one of the more annoying bugs.  I will probably have this fixed by v0.5.2.1 (Fixed V0.5.2.1)
  • Guests do not care if there are animals in the rooms they view.  All they care about is the roomType for now.  This will be fixed in the next version, unless it proves exceptionally tricky for somereason.
  • You can remove the water from round and under a boat and it will continue to fish.  In the same way once a build order has been places for, say a seal cave, the room type can be changed but the build order will still be carried out.  Validation currently ONLY takes place when creating the build job.  Boat still fishing to be fixed soon, probably by v0.5.2.2.  Build orders being cancelled if conditions change will depend on other factors such as how much of a serious issue it become.  Will be fixed before v0.5.5
  • Once a guest has selected a cafe they will always return to the same cafe (the nearest to them the first time they got hungry) to eat even if there is a closer one.  This will be fixed soon, planned before v0.5.2.3 (Fixed V0.5.2.3.1)
  • Viewing areas are currently limited to 2 viewingarea jobs.  This will probably be changed to differ depending on the number of tiles within the viewing area. Expected v0.5.2.2

V0.5.1.3

  • TileGraph is now invalidated when Paths are built.
  • Pathfinding now allows walking on tiles of TileType Path or Room and also on tiles containing furniture or a pending furniture job to build any furniture item which overrides the TileType based pathfinding.
  • Changes to the GetMovementCost function. Added overRidesPathFinding to furniture as a boolean. Now pathfinding can just check that flag rather than checking for multiple objecttypes.
  • Changed fishing boat to be placed on all water tiles taking advantage of the new override flag. jobSpawnSpot now moved to y-1 which must be a path to build the boat.

V0.5.1.2

  • Fixed the problem with Feeder and Cafe_JobWorked being called 3 times instead of just once.  Callback cleared first time it is called so it can't be called again.

V0.5.1

  • New TileType : Path!
    Graphic for path.  Eventually pathfinding will be restricted to.... well paths.
    Changes to furniture placement - cafes must be placed with the bottom row of tiles being path tiles, to keep in mind future pathfinding. I think all other items treat path and floor the same for now but that will be changing.
  • New Placement Validation Functions
    Carrying on from the boat placement the functions to determine if a furniture can be places somewhere is being expanded.  ONPATHBOTTOMROW_IsValidPosition is pretty self explanatory but they all need renamed to have some common reference for what they do at the start for ease of coding.  These can be very easily modified to be whatever is needed.
  • Stat Checks changed for ease of debugging.
    Waiting for character's hunger to be 50 before anything happened was taking way too long.
  • Deconstructing a piece of furniture now correctly removes a few references to jobs that weren't being cleaned up causing some minor issues.

V0.5

  • Test button added to spawn guest into park
  • Guests should activate functions on a relevant feeder item in exactly the same way the seal does but currently should use cafes instead of tables.  Eventually I think the guest should either:  »Look for a cafe or other specific item exactly as now if they have a specific desire for that particular one  »Choose semi-randomly based on location from all items of a category rather than by objectType itself
  • Rewrote ClaimFeeder coroutine to accept a string so that it looks for whichever hunger relieving item it is told to as opposed to the Seal Feeder being hardcoded in, or doing a whole load of if checks.
    • The ClaimFeeder coroutine is actually very close to being a generic function that could find and activate any specified objectType that is passed to it.  As well as claiming for the character's use (exclusively if wanted). 
      • Problems with this are :
        • Currently using a bool in Character called coRoutineClaimFeeder to avoid each character spawning the same coroutine more than once.  This could easily be changed to a Dictionary of boolean values where the key is the object type.  So each character could check if it had a couroutine running to claim that objectType already and if not it could start the ClaimFeeder coroutine and set the flag to true.  This is already exactly how I check to see if the character already has an object of type objectType claimed already, dictionary of boolean values. 
          Thinking about it, I could just have one single ClaimObjects coroutine which could use an array of objectTypes and just run through for each objectType in the array.  Would still need a Dictionary of bool values though because otherwise the code won't be able to reference the flag I want.  The first way would definitely be the simplest.  But it would mean many coroutines running if a character is trying to claim many different object types.  In theory though, they wont be looking for things for long and we already avoid them trying to find items if they don't exist anywhere in the world..... I think.
        • Adding the functions on would be a pain without if loops but could be done

Download

Download NowName your own price

Click download now to get access to the following files:

V0.5 - Going to start numbering 26 MB
V0.5.1 26 MB
v0.5.1.3 26 MB
v0.5.2.2 28 MB
v05.2.3 28 MB
v05.2.3.1 26 MB
v05.2.4 26 MB
v05.2.4 26 MB
Current Version HERE - TestRelease No Version Number 29 MB

Leave a comment

Log in with itch.io to leave a comment.