v2.0.0-beta.10 #982
oliversalzburg
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
consoledirectly (4a1e9ac)3 similar commits not listed: 3eb5c19, 2cdc60e, 15ae96c
Bug Fixes (109)
toSortedis not available in active browsers (52454ea)window#972 (81d32c6)[object Object](43ae940)Documentation (11)
CHANGELOGin project root (6098cc5)Code Refactoring (5)
Continuous Integration (46)
devinstead ofnext(e7f8b30)Chores (11)
.cssfiles on commit (abe4a0e)Dependency Changes
Bug Fixes (4/+4 unlisted)
3 similar commits not listed: 805f31e, 690e176, 6cedac8
1 similar commit not listed: a10b676
Chores (47/+175 unlisted)
14 similar commits not listed: 9d886dd, b91467f, 33d69b6, c42517b, d75d287, 1ab2c25, c4f7519, 68b0498, 3a2f668, 13d12af, 9cc9866, 01965d0, 5d604dd, bd5ca91
1 similar commit not listed: f2a171c
2 similar commits not listed: 65c33b4, 8b89403
1 similar commit not listed: d0b3a53
1 similar commit not listed: a7acf1a
1 similar commit not listed: a1d4554
5 similar commits not listed: 7d1c596, 4f1c493, 67bed01, cbd1f05, 181776a
23 similar commits not listed: a7b46e2, d56d917, 1abbe17, 28791cf, 9f5015d, d892538, 9493526, a7b4617, 0bf5a13, eee9bad, 1919efe, 248f55a, 3a2de0d, 8520d88, 4e11d20, c3a9833, 6f66756, 50428ae, f2351ee, 3aef21f, 89b2085, 28002ba, 7d04ed0
32 similar commits not listed: a310aaa, 2276b8d, 067869b, 22b4d82, 01d474d, b20073e, 26fc8c5, db8d8a4, a1f4ded, 521e2c6, c9f8c96, ee4b522, 887578e, 824acbc, 995a62b, 27568bd, bd64d44, 1db1636, d067cc1, 27a8afe, 0818d25, 93d0091, 1bc08d2, a5b090d, d9bee8f, f66bd0a, bd8ff7e, fff98a6, 58159e6, 56a0375, 60b8e3d, 8e0c22d
4 similar commits not listed: 0244a1d, 7637589, a3b1202, ab5fd99
2 similar commits not listed: d9d860b, 8da0d25
9 similar commits not listed: e1f2e95, 1d8fccf, 206dfd5, 4654af9, 30d2205, 0501370, e96c3ba, ba64d91, 00337b6
1 similar commit not listed: 875779b
20 similar commits not listed: 2a14b3e, 7160e47, 377c691, 75e3d46, cdec12c, bd1edac, 5dfacd5, 81c0a64, 0886338, 1186c07, 6155747, 7b4dfd4, c22139f, b70d98d, 1184d36, 67e6d1a, a390278, 8404556, 2e9f806, 7a4a774
2 similar commits not listed: b6f7df7, 7b7db8d
8 similar commits not listed: 641b18b, 21abfee, 071b1c8, 7e61f18, 0b63ac4, e76aacb, 3072d1c, 0e01ba3
15 similar commits not listed: 5df6f1c, 5ad0e66, 943452f, 1ee9a17, 6cd3a53, c32a827, 01a1871, 01f550c, 11d13e6, 7e3bf80, 9825449, 6c294d7, 2536ea5, 9614230, b86c0fa
3 similar commits not listed: 2309e0f, d1a3d54, 5c52481
13 similar commits not listed: 49e7732, ef2b559, 832c9cd, 0d9409e, e6c28d9, 3394cd6, a286839, 569f35b, 5a1c3e9, b9d68bd, bd47c94, 76ea430, f2e0e85
3 similar commits not listed: a0a18f1, ebc5269, 85fc1dd
10 similar commits not listed: b84ab2f, 085bc29, 5a37a88, 8d63730, fe08ebf, 519a29d, 28ecf0a, 02857d9, 8f1d0a4, 8213094
5 similar commits not listed: 0399a51, 60c4c73, c25ab16, f8e21bc, 0b6efdd
This discussion was created from the release v2.0.0-beta.10.
Beta Was this translation helpful? Give feedback.
All reactions