Skip to content

Releases: kitten-science/kitten-scientists

Development Build v2.0.0-beta.11-dev.20250601115514

01 Jun 11:57
3eed1ae
Compare
Choose a tag to compare

Dependency Changes

Chores (3/+4 unlisted)
  • deps: update dependency @types/node to v22.15.24 (9c984d5)
    3 similar commits not listed: b631bf3, 0350740, 000c4fb
  • deps: update dependency @types/web to v0.0.236 (fc25c82)
    1 similar commit not listed: 3eed1ae
  • deps: update dependency mkdocs-git-revision-date-localized-plugin to v1.4.7 #1022 (62f1b9c)

Nightly Build v2.0.0-beta.11-nightly.20250522

22 May 03:31
Compare
Choose a tag to compare

Bug Fixes (1)

  • Userscript no longer loading (a06e8e0)

Dependency Changes

Chores (2)
  • deps: update dependency @types/node to v22.15.21 (94f91ff)
  • deps: update node.js to v22.16.0 #1017 (0d3e7bc)

v2.0.0-beta.10

19 Apr 18:56
v2.0.0-beta.10
fe0686e
Compare
Choose a tag to compare

The 10th beta has arrived. Additionally, the project has had it's 10 year anniversary. Congratulations to us!

Sadly, we've had a bit of a rough ride since the beta 9 release. Not only did it introduce a lot of new problems, the game itself was updated soon after, breaking almost everything.

We've invested a lot of time to address issues at their core, instead of adding more hacks. The code base has received ~80K changes since beta 9. Read on to learn why.

Notable Changes

  1. Full Game API Support

    When the original Kitten Scientists 1.5 was ported from raw JavaScript to TypeScript, we only described those parts of the game that we actively used already. While that still required thousands of lines of code, it was only a fraction of the functionality that the game actually exposes.

    This has been a pain for a while, because it makes innovation harder, if you never see the full capabilities during development. It was also clear for a long time already that certain code in the script is problematic. We don't need to go into details, because it was exactly some of that code which caused the script to break during the recent game update.

    Thus, we described the entire game API in TypeScript now. In itself, this wouldn't be very exciting to users, but it enabled several of the further changes below.

  2. Reduced DOM Searches

    Some parts of Kitten Scientists really just search the actual game user interface for a button in the HTML structure of the current page, and then try to click on that button.

    Not only that, the button is looked for during every iteration to look into the "data model" associated with it, to read metadata of the game state through it.

    That's a complicated way of saying: We take a lot of steps to do something that could be done in one.

    Remember that Kitten Scientists is more than 10 years old today. These things were not possible back then, the game was very different, and this approach worked well enough for all that time.

  3. All Policies are supported

    Noteworthy, but the title pretty much says it all already. I'm sure there will be more policies in the future, and we will need to add those as well, but we're good again for the time being.

  4. Improved Challenges Support

    The unique effects of some challenges are not always properly considered by the script. We've found several of those cases, and were able to support them from now on.

    We are aware of more issues with challenges, which we will try to address for the next release.

  5. UI Regression Recovery & Ineffective States

    Users were rightfully frustrated with the state of the user interface they were left with in the beta 9 release. Combined with the new default settings, users had a hard time seeing any of this as an improvement.

    It's very hard to recover a failed user interface change, after it left a bad impression. For the time being, we'll try to at least get the concepts consistent, so that they can make sense.

    Sadly, it became clear, that the underlying UI framework of Kitten Scientists would not scale to allow for our new ideas to really apply consistently everywhere. This required so much new code to resolve, that the UI could now have new problems. That being said, we addressed several issues.

    1. Panel Legibility

      We introduced the inactive state to try to draw focus to those UI elements that currently have an impact on game play, and give visual feedback when you toggle sections on and off.

      Thanks to users who actively provided feedback early on after the release, we were able to refine the behavior. Let us know if it's still not right.

    2. Auto-Prompt for Required Values

      As the new default settings are empty, there is a lot of potential to miss entering a required value.

      Now, when you enable an option, you will often be instantly prompted to enter the required value. Additionally, if the configuration is still incomplete, we now actively signal this through the UI.

    3. Ineffective States

      There was already a minimal approach of this in beta 9, but it required a lot of additional effort to make it properly useful. Allowing any setting in the UI to signal up to the root element, that it is currently ineffective, was a nice idea, but our code base didn't really allow for things like that.

      With all the new UI framework code, hopefully, we got the concept more consistent now. We know that it will require more work, because it's really not obvious how to implement this for all settings. Stay tuned.

    4. Highlight next best Unicorn Building

      When you use the Automate Build Order automation in the Religion section, you might have wondered for a long time: "Which one does it actually want to build right now?"

      You should now see a small animated indicator in the Kitten Scientists UI next to the option that is up next.

  6. More Import Options in State Management

    The import process in the State Management section can now detect even more inputs than before. You can paste an entire backup in there, and all presets from the backup are important.

    The backup functionality was initially only intended to provide some way to extract all your settings out of the browser. We've now extended the backups to include the labels and times of your stored settings entries, so that you can have those restored as well.

    The previous backups should import just fine, but they will get an auto-generated label, so that you don't get prompted for every single entry.

  7. Removed Experimental Extensions from Repository

    Experiments like Kitten Analysts, and Kitten Engineers are fun, but they produce a lot of noise in the repository and regularly cause problems that have an impact on Kitten Scientists development.

    All of these projects have been removed from the repository. Now it's all about Kitten Scientists again.

    The other projects still live on, in the Kitten Science GitHub organization.

  8. Improved Developer Logs

    When you open the developer tools in your browser, you can read the JavaScript console. Kitten Scientists also write messages to this console. This can be very helpful to locate the source of issues.

    However, the way it was previously implemented, all log messages would point to a single source code location as their origin, because all log messages were written by a helper construct.

    This was resolved by rewriting every single location that logs a message. Totally worth it though.

Enjoy the anniversary beta release!

Features (31/+3 unlisted)

  • Bundle injectable (5d31f30)
  • Dynamic injectables for devcontainer (12fdc90)
  • Export pollution metrics (8c2e732)
  • Modernize toolstack #929 (1c07a1d)
  • Monorepo be gone (b9a5f36)
  • Restore devcontainer to full functionality (0e00eb8)
  • api: Refine metadata types (b8caf3f)
  • container: Rebuild KG HTML dynamically #863 (07aa021)
  • core: Allow all callbacks to be async #964 (d028a9d)
  • core: Call console directly (4a1e9ac)
  • core: Export all types from index (f0b2ea9)
  • core: Implement entire game API surface #951 (1c648fc)
  • core: Implement KG button options (a83f6a8)
  • core: Implement more detailed types #957 (5b1c1ed)
  • core: Log all arguments individually (ffc5b31)
  • core: Retain parent reference in component #964 (06c01c0)
  • core: Strong component option types (faf13a2)
  • core: Track refresh call depth #964 (d683394)
  • core: Use async/await for event handlers #964 (8723ac3)
  • core: Utilize async callbacks #964 (185e9e8)
  • core: Remove log helpers (2a6a6f1)
  • i18n: New Crowdin translations by GitHub Action #857 (f67c971)
    3 similar commits not listed: 3eb5c19, 2cdc60e, 15ae96c
  • science: Remove "Catnip Processing" (4435969)
  • science: Support all v1.4.9.4 policies (43bab08)
  • ui: Highlight ineffective Time Skip settings (8540bbb)
  • ui: Highlight the next best unicorn building #874 (7740aaf)
  • ui: Improved guidance in tech settings UI (...
Read more

v2.0.0-beta.9

26 Dec 00:27
v2.0.0-beta.9
f3b954a
Compare
Choose a tag to compare

Another year of KS development finally concludes today. Beta 9 is ready and it's a big one.

Last year, there was a lot of talk about settings profiles, and how we imagine them to play a major role in the future of KS. This did not come true.

We also imagined that we would make big strides with "Kitten Engineers", which would finally resolve some long-standing pain points with KS. Kitten Engineers did happen, but it was a complete failure, in regards to the original plans. If you were hoping for any solutions in this area, you will be disappointed.

However, KS has improved core behaviors, and gives users a lot more control. We also changed the default settings of KS to incentivize exploration and experimentation, instead of giving the impressions that the default settings are a good default - they never were.

Noteable Changes

  1. New UI

    The user interface of KS has gone through several iterations in this release cycle. We know that UI changes are never something users really look forward to, unless the UI was horrible to begin with.

    We noticed that different themes make the KS UI layout very unpredictable, and often produces undesirable results. The verbose UI of KS often caused excessive line breaks, which caused confusing UI, or made it aesthetically unpleasing. We rewrote almost the entire UI code to use more modern layout options, and replace text with icons. We understand that this is a thin line to walk. Some of the UI changes are confusing. You will need some time to adjust.

    Sometimes trigger buttons will just be the regular old lightning icon, sometimes they display their trigger value next to them. There is no pattern when we do show the value and when not. It's mostly random, depending on what "feels right".

    Sometimes you have a limit value right next to a trigger, which is entirely different from a trigger that also displays its value. There are very subtle visual hints to help you distinguish the individual cases, but this is non-obvious to long-term users especially.

  2. Many sections now allow their individual items to be triggered by their own individual trigger, instead of just having a single trigger for the entire section.

    The triggers on the section itself still exist, but they are now the default trigger for builds, unless the builds have their own trigger set. This is more confusing to explain than to experience. Just try out clicking on the new buttons, and let yourself be guided.

  3. The default settings are now complete garbage.

    While this sounds like a step backwards, we hope to encourage users to find the settings that are correct for them, instead of blindly enabling options with default settings, because they might feel like a good idea. Make educated decisions. KS will perform your tasks, but it does not play the game for you.

  4. Experimental purchasing mechanics.

    While we are aware that this new approach has bugs, we still hope that it is an improvement over the previous purchasing algorithm. Ultimately, a lot of purchasing decisions in KS are deferred to a single component. This component makes decisions on purchasing that often felt not ideal. We tuned this behavior to allow more constructions, with more even distribution of spending the available budget.

    There are still a lot of known issues with this approach, but it seems to provide better results as-is in real gameplay. That's why this half-cooked change is now in the mainline stable build. We hope that most users will feel the benefits, and don't notice the edge case bugs.

  5. Eco Mode

    The "Limited" option in KS has always been confusing. We now renamed it to "Eco Mode" to make it more abstract, and prevent people from forming an idea of what the feature should be. Forget everything you know about "Limited Mode". The new thinking is: Either you want to craft the thing as much and as fast as possible, or you want to take a more conservative approach, whatever that means.

    Until we solidify what Eco Mode actually is, we hope that users will feel more comfortable with the less descriptive option, that just provides an acceptable feeling of aggressive vs conservative investment.

  6. Kitten Analysts

    During this development cycle, an excessive amount of energy has been poured into Kitten Analysts, which contribute exactly zero to your KG gameplay as a regular user. So what is Kitten Analysts, if we invested so much time into something so useless?

    Kitten Analysts is the component that elevates Kitten Scientists from a single game extension to the actual Kitten Science framework we're aiming for long-term. Kitten Analysts only works in environments where you run the entire game directly on your own computer. If you're a bookmarklet, or a userscript user, Kitten Analysts will not and never will work for you. If you've previously used our "devcontainer" setup, Kitten Science is the replacement for that.

    Kitten Analysts provides a Prometheus exporter for game data, allowing you to track long-term progress, and compare strategies. Additionally, it contains a container-based background-play solution, which should allow you to have your game be played on a remote system while you're offline.

    We consider this work substantial for future development of KS, but we are aware that very few users will be able to benefit from this work directly. Feel free to reach out on GitHub if you want to get your own Kitten Science setup started. The documentation on this subject will be limited for quite some time, to also not confuse users with excessive information on edge cases.

Features (76/+12 unlisted)

  • Auto-save settings (f897e27)
  • Backport KA improvements from KE branch (fe715a6)
  • Configuration approach for KA connection (651615a)
  • Drop internally managed GitHub Action Workflow (50405bb)
  • Drop snapshots/schemata (765c3bc)
  • Enable Chiral interaction in Kitten Science (8febf9e)
  • Identify client type in metrics (34cd602)
  • Improved location tracking (1691548)
  • Include pseudo resources in resource pool metrics (83115c9)
  • Integrate into KGNet in all injected contexts (f6382d5)
  • Kitten Data and Analytics #598 (1f22c6d)
  • More versatile snapshot analyzer UI (96d105a)
  • Operators #624 (8d29d47)
  • Protocol cleanup (5b0630f)
  • Rebuild socket liveliness checks (4b61aa4)
  • Remove automatic-releases action from repo (caee3c1)
  • Remove commit validator CI action from repo (13d63fd)
  • Remove randomness from purchasing strategy (866afc4)
  • Track game instances through telemetry GUID (346ccd2)
  • Track technologies (adc6b9c)
  • Update savegames in KGNet (a181e2a)
  • Validation (5a555d7)
  • api: Add array object of Game type #544 (b7f5308)
  • api: Tracked the latest KG #551 (c4fd7e7)
  • bonfire: Add option to turn on reactors (82ad544)
  • container: Make it easier to run Kitten Science (11e1bb4)
  • core: Ability to .unload() KS (fa3568a)
  • core: Auto-load auto-saved settings (6f2f6fd)
  • core: Backport improved typedefs from KE branch (9a8db48)
  • core: Entirely remove index documents (e2de2fb)
  • core: Establish neutral default settings (6bef8bb)
  • core: Implement new bulk purchase strategy #591 (9f8a25f)
  • core: Individual triggers for build items #744 (5766d34)
  • core: Lift state loader restrictions (515b162)
  • core: Unload existing KS instances on load (16486f9)
  • devcontainer: Alternate repo selection (90e713f)
  • i18n: Additional options translate (97d006b)
  • i18n: Elect leader (bf01cb3)
  • i18n: Elect Leader traits and job #518 (ffce853)
  • i18n: Ignore overheat (ccf8c6f)
  • i18n: Internals (b6781c1)
  • i18n: Locale-native percentage rendering (7146369)
  • i18n: Log Filter KG log #518 (27ba92c)
  • i18n: Migrate to full locale specifier (8244832)
  • i18n: Move translations into ...
Read more

v2.0.0-beta.8

25 Dec 22:17
3830b01
Compare
Choose a tag to compare

Noteable Changes

  • Kitten Scientists now has a new home at https://kitten-science.com.
  • You should now see upgrade notifications in the game log, when new KS versions are available.
  • There is now rudimentary support for Kitten Scientists to be loaded into Kittens Game Mobile. Stay tuned for future development.
  • The foundation for Setting Profiles has been established.
    We now have a way to express KS configurations in external markup files. This concept is going to be expanded in future releases to allow sharing of KS settings.
  • KS can now automatically gather catnip.
  • We can now upgrade warehouses to spaceports.
  • All KG internal log messages can now be hidden from the log; allowing you full control over the log through only KS filters. This is especially helpful in auto-reset setups.
  • KS now exports its code as a JS module, which can then be used in other projects. This will allow us to expand the KS functionality universe into completely new projects.

This release also includes a lot more minor changes, but it mostly lays the foundation for settings profiles, which will start to play a more major role in upcoming releases.

Features

Bug Fixes

Read more

v2.0.0-beta.7

19 Mar 21:24
Compare
Choose a tag to compare

Notable Changes

  • Several issues in the Reset Timeline automation have been fixed. Please review the documentation to make sure the new behavior aligns with your expectations.
  • You can now require certain upgrades to have been researched before a reset is triggered.
  • It's now possible to ignore the overheating of your chrono heat capacity, if you have enough TC to spare and want to progress faster.
  • You can now update a stored state in the State Management, by clicking the "Sync" icon next to it.
  • If you have multiple free kittens, they will now all be assigned in the same frame.

Features

Bug Fixes

Documentation

Code Refactoring

Continuous Integration

Chores

Commits

  • 817f6c6: New translations en.json (Chinese Simplified) (Oliver Salzburg) #180
  • 98fe1e3: New translations en.json (Romanian) (Oliver Salzburg) #180
  • 1c5fc8a: New translations en.json (French) (Oliver Salzburg) #180
  • 27c7bf7: New translations en.json (Spanish) (Oliver Salzburg) #180
  • 6955f12: New translations en.json (Afrikaans) (Oliver Salzburg) #180
  • 642a9b6: New translations en.json (Arabic) (Oliver Salzburg) #180
  • b998279: New translations en.json (Catalan) (Oliver Salzburg) #180
  • d82469e: New translations en.json (Czech) (Oliver Salzburg) #180
  • 38dbb03: New translations en.json (Danish) (Oliver Salzburg) #180
  • c09ac53: New translations en.json (German) (Oliver Salzburg) #180
  • 782d57c: New translations en.json (Greek) (Oliver Salzburg) #180
  • bc2379a: New translations en.json (Finnish) (Oliver Salzburg) #180
  • 8b594c6: New translations en.json (Hebrew) (Oliver Salzburg) #180
  • 40e4732: New translations en.json (Hungarian) (Oliver Salzburg) #180
  • 385aeb2: New translations en.json (Italian) (Oliver Salzburg) #180
  • 4285808: New translations en.json (Japanese) (Oliver Salzburg) #180
  • c5688d5: New translations en.json (Korean) (Oliver Salzburg) #180
  • 1...
Read more

v2.0.0-beta.6

05 Mar 21:35
Compare
Choose a tag to compare

Notable Changes

Let's face it, beta5 crafting was a horrible step backwards, because it wasn't tested enough before release :(

This time around, there's been plenty of testing, and crafting should really, really behave as documented, and should be rather intuitive. Hopefully...

In case you were ever trying to use the consume rate on resources, you might have noticed it to be inconsistent. It was previously only applied to some resources, regardless of you settings in the UI. The behavior should now be as documented, and should apply to all resources.

Thanks to a new contributor on Crowdin, we now have a more complete Chinese translation :)

If you could help translate Kitten Scientists into another language you know, that would be really cool: https://crowdin.com/project/kitten-scientists

Features

Bug Fixes

Documentation

Styles

Chores

Commits

  • 06c4d6d: New translations en.json (Chinese Simplified) (Oliver Salzburg)
  • df3f06c: New translations en.json (Chinese Simplified) (Oliver Salzburg)

v2.0.0-beta.5

11 Feb 18:13
Compare
Choose a tag to compare

Notable Changes

One of the highlights of the release is the Internals panel. It finally gives convenient access to KS internal interval, which defines how often KS automates the game. Users have been wanting to adjust this for years and it's not finally a fully supported setting.

A lot of internals have been adjusted to no longer use hard-coded requirements. Previously, a lot of crafts and buildings had a single resource defined as their requirements to be built, and the trigger would only apply to that single resource. Now, actions should be performed based on every resource that is required for the automation, and the hard-coded values have been removed entirely.

Otherwise, there have been a bunch of bug fixes, the documentation has been growing, and a lot of good additions have been made to the core to make future development even easier.

There is now also an update-checker in the code. This doesn't update KS yet, or even notify you. It is currently being tested and hopefully will offer you convenient update paths in a future version.

Features

Bug Fixes

Documentation

Styles

Code Refactoring

Continuous Integration

Chores

Read more

v2.0.0-beta.4

24 Jan 20:53
Compare
Choose a tag to compare

Notable Changes

Beta 4 mostly stabilizes and cleans up Beta 3. It fixes some bugs, removes a lot of obsolete code, and prepares for a more complete user experience. We now also finally support all resources in the game.

This release removes a lot of code for features that are no longer supported:

  • Legacy options imports. Importing options from KS 1.5 is no longer supported. If you need to do this in the future, load them with beta.3, and then upgrade KS.
  • Development features to load savegames and settings as part of the build process have been removed. The new state management is far more intuitive.

We have a full translation into Hebrew now, but it can't be used yet, as we're tied to the language of the game, and KG does not support Hebrew. We will enable better language selection in a future update.

This release also puts a lot of pieces in place to enable better update flows in the future, especially for bookmarklet users.

Breaking Changes

Features

Bug Fixes

Documentation

Code Refactoring

Continuous Integration

Chores

v2.0.0-beta.3

14 Jan 18:42
Compare
Choose a tag to compare

Notable Changes

  • State Management
    You can now save and restore entire sets of KS settings easily, through an entirely new panel in KS. Please refer to https://kitten-science.github.io/kitten-scientists/sections/state-management/ for a full documentation of this new feature.

  • Full Internationalization Support
    We can now translate KS into any language, so that it is properly translated, just like the game itself is. We also use Crowdin for the translation effort, just like the game itself. Please help out translating KS if you can 😊
    For the time being, a German translation has been added to KS.

  • Optimized Blackcoin Trading
    Thanks to contributions my @acmihal, the blackcoin trading behavior should now be a lot more ideal by default. You can now configure the buying and selling thresholds for this automation, but he has also taken care to pick good, sane defaults, that should outperform the previous behavior. Thanks!

  • Religion
    You should also see a reworked Religion section that now offers more control over alicorns, tears, and TCs:
    image

  • Documentation
    While still far from complete, the documentation has been extended considerably since the last release. Please let us know if any part of the documentation is missing any information or needs to be improved ASAP, so that we can prioritize efforts.

  • Random Fact
    KS has more than 700 individual settings now.

Features

Bug Fixes

Documentation

Code Refactoring

Continuous Integration

Chores