This is because our source code has recently been updated to use native libraries as part of a major performance refactor. The crash happens because you don’t have the native library builds yet.
You have a few options:
If you’re happy to just have the latest released version and not the current in-dev functionality, get the game via our launcher or Steam instead of building from source.
Go back to a version of the repo before the refactor started. Checking out any commit to master before 27th October should do.
Build the native libraries yourself. Since you have Visual Studio installed already, you should just need to run dotnet run --project Scripts native Build Install -g "Visual Studio 17 2022" (replacing Visual Studio 17 2022 with whatever version you have) from the root of the Thrive repo. The game should then work the next time you run it, but the refactor is currently only partially complete, so a lot of the game mechanics have yet to be re-implemented with the new architecture.
Performing operation Build
Building ThriveNative for local use (Windows) with CMake (hopefully all native dependencies are installed)
CMake Error at CMakeLists.txt:4 (project):
Generator
Visual Studio 17 2022
could not find any instance of Visual Studio.
-- Configuring incomplete, errors occurred!
CMake configuration failed (exit: 1). Do you have the required build tools installed?
Operation failed on: ThriveNative for platform: Windows
I think I have CMake installed properly and I have Visual Studio installed on my computer.
Sorry for taking your time, but most of my programming experience is purely hobbyistic game making on game engines without diving deeper into filesystem stuff etc.
But if it’s necessary, I’ll wait for precompiled native libraries to be available for download. : )
They are available for download since yesterday. Check the native libraries section of the setup instructions again…
Either you don’t have Visual Studio 2022 installed (maybe a different version?), your cmake is so old it doesn’t know about that new Visual Studio, or there’s some environment problem that VS is not visible by default in whatever command prompt / terminal emulator you are using to run the commands. You can most likely fix all 3 problems by opening the visual studio command prompt which forces a single version of VS to be available in the environment and in my experience that makes everything much more likely to work correctly.
Thank you for your reply, but it didn’t fully fixed the problem.
I’m using VS 2022, so it’s probably not the problem.
I installed the newest (currently) cmake ( 3.28.0-rc4) so that’s not the problem either.
I also forgot to pull new commits to my local repo but it’s done now.
Before your reply I was trying to use Git Bash, but now I used VS command line:
I opened Thrive folder with VS.
Tools > command line (or command prompt, my VS isn’t English) > command line for developers
I entered the command for installing precompiled libraries as written on setup_instructions.md.
(I translated it since my VS isn’t set to English)
Thrive\Scripts\Program.cs(282,37): error CS0246: Cannot find type name or name spaces „SymbolUploadOptionsBase” (missing using directive or assembly reference)
Thrive\Thrive\Scripts\NativeLibs.cs(985,9): Cannot find type name or name spaces „PrecompiledObjectVersionDTO” (missing using directive or assembly reference)
Thrive\Thrive\Scripts\NativeLibs.cs(43,22): error CS0246: Cannot find type name or name spaces „SymbolHandler” (missing using directive or assembly reference)
Thrive\Thrive\Scripts\ContainerTool.cs(69,68): error CS0115: „ContainerTool.RunImageBuild(ProcessStartInfo, bool, CancellationToken)”: no override methods found
By the way, I cannot run Thrive/src/late_multicellular_stage/MulticellularStage.tscn scene directly (via Godot). It is because of the refactor I suppose? Or not related?
I skipped fixing the later stages, so they are currently broken. And are lower priority than getting the microbe stage working again. Though it is just a pretty minor thing that prevents late multicellular stage from running. It was relying on one microbe stage feature I removed so it needs a temporary hack to function until we get to the stage properly and start implementing it for real