Status
SteamPeaks
ChartsSalesUpcomingPatchesNewsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
NewsSteam's own announcements and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesNewsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
Captain Contraption’s Safari ParkNewsMore creature details, More performance, and bug fixes
Steam newsrunning now

More creature details, More performance, and bug fixes

Captain Contraption’s Safari Park · published 1 Sep 2026, 16:16 UTC

All newsPlayers around this dateRead on Steam

Hi everyone!

This next update is coming earlier than I expected, but one of our players noticed a potential game breaking bug which I've now fixed and wanted to get out there. It means two big new changes have also come with this, more information about creatures and multithreading!

Creature Inspector: creatures now explain themselves

The old creature panel showed you four percentages and one state word. Every number on it was about the creature; none of it was a reason a creature was doing something. The two questions we kept seeing players asked were "why is that chicken running away from the food?" and "what is stopping my creatures breeding?" which were both unanswerable. They're also not the same shape of question, so they now get different answers.

  • A reason line. Under the state word, a plain sentence saying why: "Running from a Wolf", "Walking to a berry bush", "Cannot see any food, and has not found any yet", "Being pulled back to its territory". Fear beats hunger unconditionally in the sim and always has … chickens running away and starving wasn’t a bug it was a feature… and now the chicken tells you this.

  • A breeding checklist. Breeding is four gates ANDed together plus a mate that meets the same checks, and a sentence can't carry that. The panel now tells you which term failed: too hungry, too tired, too hurt, no mate in range, no Chicken nearby was ready to breed, the nearest ready Chicken was no longer ready.

  • "Show what it sees". An overlay for the selected creature: its vision ring, its home territory leash, a line to every single thing it's currently reacting to, the heading its steering actually produced, and faded ghosts of the food and prey it remembers… drawn with the real sprites of what was there, fading on the sim's own memory clock. When the ghost is gone, the creature has genuinely forgotten the thing. 

  • A history strip. Most of what you want explained has already finished by the time you click a creature. The panel keeps the last few things the creature did, with live timestamps: "12s ago: Running from a Wolf".

  • Moods. A one-word feeling: content, hungry, nervous, crowded, lonely, badly hurt, starving.

  • Corpses are named. They remember which animal they were, and the death cause is recorded: starved, killed while fighting, killed while fleeing, culled by a Hunter Robot.

The Park Report: your park tells you when it's in trouble

  • A species report beside the population display, opened by mousing over a species. How many are content and how many are starving as proportions, how many tried to breed and what stopped them and how many haven't tried yet.

  • A marker on species that need looking at, so a species that’s in trouble shows you on the species population view. The marker lights up on evidence, for example: nobody bred despite a real number of attempts, or a large share of the species is losing health to hunger right now.

  • Alerts on the ticker. Your chickens have stopped breeding, a species is dying out, a group can't find food. These fire on a change of state, never a standing condition… "28 chickens can't breed" is what a growing park looks like, "your chickens have stopped breeding entirely" is news. Everything must hold continuously for 20 seconds, needs a lower bar to clear than to trip, and disarms after firing. 

  • Alerts share the ticker with the visitor chatter but get their own colour, an icon, a longer hold, they jump the queue and are never dropped. If you learned to ignore the ticker you'd ignore a real warning with it.

  • The whole thing samples the park in the background on a duration budget and never touches the simulation. Costs about 0.02ms a frame.

Performance: roughly 60% more creatures

A long campaign against the population performance ceiling, measured using a new automated benchmark that ramps creatures until the frame budget breaks (I’m thinking about finding a way to include the benchmark in the player build - but need to find the time to do it right). The sustained ceiling at 30FPS went from 632 creatures to over 1000. Roughly, in order of what it bought:

  • The creature vision/perception pass moved onto worker threads as a Burst-compiled job over a spatial hash, instead of every creature scanning for itself on the main thread.

  • Creature brains and movers now tick as batched passes from one manager rather than as ~1000 individual Unity callbacks.

  • The mate search moved into the same vision job instead of being its own scan, and only breed-ready creatures pay for it at all.

  • Obstacle raycasts cut hard: they ignore other creatures, they're capped in length, and off-screen creatures check less often. Physics2D.Raycast was 3.9ms a frame on its own.

  • Rigidbody interpolation now only runs for creatures near the camera.

  • Off-screen creatures switch their Animator completely off rather than merely culling it.

  • The simulation reads physics poses instead of interpolated transforms throughout, which is both cheaper and the reason runs are now reproducible (by the way, runs are now reproducible)

Also: the maximum allowed timestep is halved, so a bad frame can no longer spiral into a catch-up cascade.

A new look

The UI has been reskinned to a proper pixel-art style: panels, buttons, chips, sliders, checkboxes and dropdowns redrawn on a warm wood/cream/grass palette, with real hover and pressed states (the old hover changed nothing but the outline). Money text is gold throughout. Creature letter grades get their own S-to-F colour ramp. New pixel icons for the clock, music and settings, a recoloured loading screen, restyled main menu, and a new UI font — Fredoka, after a long detour through pixel fonts that turned out to be unreadable at the sizes this game needs.

Autosave

A crash or an alt-F4 used to cost the entire run since the only way to save was Save & Exit. The game now saves itself at moments that are quiet by construction: after a research grant is resolved, after your last creature or tech pick is spent, plus a five-minute backstop underneath if none of those other things have happened for a while. It skips rather than forces, so sitting on a popup never stalls the game, and it's suppressed during liquidation and the end-of-run summary so it can never capture a half-demolished park.

Guide buildings and paths have colours

Each guide building takes a distinct sprite variant when placed and colours its path cells to match, so you can see at a glance which loop belongs to which building. The colour is freed again if you refund it. There's also now a message when a guide building becomes available which doesn’t disappear until you have built all available buildings.


Balance

  • Research grants come much earlier and pay much more. The first grant moves from 10 minutes to 7 and its time reward doubles from +5 to +10 minutes. The second moves from 20 minutes to 14 …it previously unlocked at 20 minutes of a 20-minute run, so it could only ever be seen by someone who'd already banked bonus time. Visitor rewards doubled on both.

  • Meta money rewards up roughly 70% across the board (600 → 1050, 1250 → 2100, 3050 → 4950).

  • Population objectives no longer complete early. The hold timer was scaled by progress with no cap, so three times the required population ran the clock three times as fast and a one-minute objective could finish in twenty seconds. Overshoot now buys nothing and our authored time means what it says.

  • Star objective targets raised, particularly satisfied-visitor and visitors-see-an-animal-feed counts, on both maps. Map 2's total population objective goes from 150 to 200.

  • Visitor satisfaction is now a raw per-map number. Instead of "half your species", each map states how many species a visitor must see  (3 on Map 1, 6 on Map 2) and the level select screen shows you the number before you start.

  • Vision ranges cut about 15% across the whole roster, and flocking cohesion ranges with them.

  • Breeding is faster across the roster, most species' breed times down around 20%.

  • Territory pull weakened, from half a vision range to under a third, and you can now visualise this using the new overlay.

  • Creature health and toughness retuned (Sheep, for one, are less armoured than they were).


Fixes

Goop robots stopped destroying buildings

An optimisation set the goop robot's animator to cull completely off-camera. The attack animation carries the animation event that spawns the explosion and a culled animator never evaluates its clip. Any robot liquidating a building off-screen left it standing, silently, and moved on to the next target as if it had worked, because the finish is driven by a timer rather than the animator. 

Time and the run clock

  • Research grant rewards could be lost. The grant popup paused the game, but nothing stopped you un-pausing underneath it, the slider, the pause key and the speed hotkeys all still worked. At x4 an eight-minute clock is gone in two real minutes, liquidation starts, and your click on "+10 minutes" was then silently discarded. Pause is now a set of holders rather than a boolean; the popup holds one you can't lift. Same treatment for the creature picker, the tech picker and the end-of-run summary.

  • Two grants due at once meant one was thrown away. Every due grant was drained into a popup that can only display one, so all but the last vanished. They now queue properly.

  • Double-clicking a reward paid twice. The buttons stayed live through the 0.25s slide-out with their amounts intact.

  • Every run after the first ran at a coarser physics step. The fixed timestep is scaled with game speed, and nothing puts it back. Leave a run at x4 and the next run reads that as its baseline, a 20Hz simulation instead of 50Hz, one-way and sticky, permanent until you restarted the game. Coarser physics, coarser creature AI, coarser objective timers.

  • The game started at a made-up speed. Startup assigned the speed slider's index as the time scale, so index 3 meant x3 rather than whatever x3 actually is, and everything startup did ran at that speed.

  • Pressing the speed hotkey you were already on did nothing while paused.

  • Speed changes were applied twice per input, each one able to fire a feedback.

  • Objectives completed during liquidation now pay out in full 

Save & Load

  • Picking a level from the level select could resume your old run instead. The mid-run save won, dragging its own level, clock, elapsed time and objectives back with it over the level you just chose. Your old run is still there if you press Continue.

  • Resuming could rebuild the park at an offset, because the grid resolved its terrain map from the session's most recently launched level rather than the one being resumed. The map decides the grid size, which decides where every single tile lands.

  • A grant that was on screen when you saved was lost it had already been removed from the list and nothing else recorded it. It's now saved and re-offered.

  • A guide standing exactly on the world origin was never restored to their position, because zero was being used as "no value".

  • Path restore now resolves saved positions approximately as well as exactly, so a float bit changed by a save round-trip no longer silently drops cells out of a loop.

Creatures

  • Flocking read two velocities that disagreed with each other.

  • Steering answers outlived the question they answered. The obstacle-avoidance cache was carried across from one pursuit to the next, so a creature could spend the first fifth of a new approach steering around an obstacle relevant to its previous target. This is what made creatures stop steering around obstacles on the way to food.

UI & Quality of Life

  • Music controls sometimes went blank after entering the game from the menu and stayed blank for the rest of the session, this is fixed.

  • The creature picker now removes each option as you take it, instead of leaving spent cards on screen.

  • The creature/context window scrolls once it outgrows the screen.


Under the Hood

  • Unity packages updated (Cinemachine, Localization, 2D Animation, Timeline), plus DOTween and Easy Save.

  • A full automated benchmark harness: generates a park from a population spec, ramps creatures until the frame budget breaks, captures a profiler trace at the symptom, and archives every run with time series and a browser-based viewer. Development builds only.

  • Runs are now reproducible step-for-step, which is what made the performance work above safe to do.

  • The physics layer collision matrix tidied and the ambient sound track removed.

As always, please tell us what you think. The survey feedback has been shaping every change we make!

And finally any support you can give us with increasing our wishlist numbers really helps bring the launch of the game closer and keeps us going. If that is inviting a friend to the playtest or wishlisting it yourself both really make a difference.

Thanks and Enjoy

Sean + Dave

More from Captain Contraption’s Safari Park

Other announcements

All news
Steam news20 Aug 2026Playtest 5 Open for Everyone!Hi everyone! We have opened up the playtest again and are changing the way we run it. Instead of a fixed weekend test we are just going to keep the playtest open. As a small team we find it hard to get the word out about our games and having a playable version of the game on Steam (even if it is a beta) really helps. The plan is still to hold back updates until there is some significant change,…Steam news21 Jul 2026Playtest 4 Open for Everyone!Good news! Captain Contraption's Safari Park Playtest 4 is live and available to download and play until 29th July. We decided to do a few more playtests before we push forward with the demo. The changes in this build are quite big. The goop economy has been rebuilt from the ground up, you can now sell buildings, dead creatures are no longer wasted, and runs get longer the better you play. Ther…Steam news29 Jun 2026Playtest 3 is a wrap!Hi everyone, Playtest number 3 is a wrap! Thank-you so much to everyone who took part. This was the biggest of the three and we've already had some really useful feedback. If you played but didn’t get around to filling in the feedback form, you can still do so here: (It’s the same form that was accessible in-game.) The next step for us is to look at all the feedback and analytics and use those…