A Weird worthless ramble about the reproduction and thus the gameplay loop far down the line

aren’t the generations going to take hours on average(assuming the player goes for K selection)?

That’d make the game really slow to play, very likely much too much of a slog to get through for the average player.
And that even reinforces my point. If you can make just one generation per hour it’s going to take like 15 hours for the evolutionary AI algorithm to be able to come up with anything really worthwhile.

seems about right now that i think about it

the point of this

is that the genetic algorithm isn’t doing all the work but yeah it wouldn’t hold up well if the player kept making massive changes every editor cycle

I don’t think any off the shelf Neural Network or ML Model is gonna be useful for anything other than finding good parameters to use in our code. Only exception I can see is a Cognitive Architecture like SOAR or ACT-R with lots of set-up for our game, which is probably more laborious than anyone wants to take on. Those kinds of things have been successfully used to simulate Quake III Arena players, and things like that.

3 Likes

In the video, Albert is taught how to stay upright and walk by controlling all of its limbs separately. This is a bad example, because not even a human player would be able to consciously do what their amygdala normally does. In Thrive you don’t move the cell other than by pressing forwards, and it wouldn’t be different in aware stage.

The highlighted comment doesn’t mention how long the training took, but in the previous videos of the same channel where Albert moves forward or jumps by pressing just one button, it learns the first levels in 10 minutes. In the later parkours, it takes between 15 to 107 minutes to train in the second video and 20 to 48 in the first video. The final levels had low visibility (wall on 2 sides and the spinner in the blind spot) and both of them took 5 hours to train.

To solve overfitting, random neurons of Albert are reseted, but this is not the best solution, and in the highlighted comment in the second video it gives the other solution, saying that overfitting “would mostly be fixed by randomizing the locations of the pressure plates”, which I guess means learning general skills instead of memorizing the map.

Albert also doesn’t have the locations of objects in its environment as an input. It literally has a 20 pixel image as its vision, so not only it has to learn how to move to the correct spot and avoid moving obstacles, it also has to learn to learn how to interpret what it is seeing, so twice the hardwork.

Is there a reason why, in Thrive, the time it takes to train a behavior, starting from another behavior, couldn’t be lowered to 10 minutes for cell stage? The creator of the video says that overfitting could be fixed.

I don’t think that is the case. I don’t think the analogue works because like you said in humans intentional and automatic brain functions are very different, but in a computer the act of staying upright is like an intentional action that the machine learning model needs to learn.

Even a minute is probably quite pushing it in Thrive simulation time. So these just prove my point that machine learning is an order of magnitude too slow for use in a realtime game where stuff is often changing and would need retraining.

Unless someone shows at least proof-of-concept level of code to show that this is possible, then it’s just not possible. Thinking that some computation is probably possible without trying it, is not enough to make a decision. And like I said, even like 10 minutes is quite pushing it as the player won’t want to wait 10 minutes to exit the editor (and the problem is even worse if we have like 20 AI species which also need to update).

Well, this was my last attempt, I can’t give a proof.

I mean I kind of expected that.

I don’t want to sound like an elitist, but if all the people on these forums were programmers, so many suggestions wouldn’t get made because the question of how they could actually be made would stop the people from making (most of the) unrealistic suggestions that can’t really be done without a mountain of effort to first even investigate if it is actually doable.

1 Like

why don’t we just do what rain world did and have the ai for the organism just do the moving and use procedurally generated limb movement

2 Likes

Yes, that solves staying upright, but hh says training the ai takes too long even for just the movement.

well if it only uses the same controls as the player it might not

What about having tens of thousands of pretrained neural networks? If we say a neural network stores 1000 numbers, 1 GB* can store 1 million behaviors. And if how similar a behavior is to another is also stored, most of the behavior evolution can consist of trying out and switching from one behavior to a different but very similar one, and the best one can then be fine tuned with little training .

I guess. But right now that is over double the game’s current file size. Even the planned final number that would mean the game is 10% larger for just.

And you are underestimating the size by about 3.7x (as each number will be saved as a float so it takes up 4 bytes, so the actual size of the networks you suggest would be 4000000000 bytes). Though, compression might help a bit. And also at least a tiny bit of extra metadata is needed about the neural network structure, so I’d estimate that even that larger number I calculated needs to be multiplied by 1.1 to get a probably accurate estimate of the required raw storage.

If we go with these higher estimates, the game will be too big to upload to Github and we need to find an alternative free download service, or stop offering free downloads (other than something freely creatable like a torrent) entirely.


Edit:

I never said this. I’m just trying to debunk the machine learning suggestions. I think we have to use a procedural animation generation system, and just assume that a species stays upright whatever that means. It would be extremely computationally intensive to all the time try to simulate balancing for all creatures. People’s laptops they try to run Thrive on would literally overheat and run at less than 1 FPS.

2 Likes

procedural animation would also allow things like tripping if your foot hits a rock which the chances of would be lower if you look where you step and it would make the game far more realistic

1 Like

It doesn’t make sense to use evolution to simulate limbs, the animation doesn’t effect survival anyway, procedural animation wouldn’t make the game less evolutiony.

Why does increasing the size by 40% suddenly make this necessary? And I wasn’t suggesting a spesific number of pretrained networks. The easiest solution for keeping Thrive free once Github stops accepting the program would be uploading it to the forums.

If I understand correctly, you are saying that this thing can actually work. But should it work? Would it be made? Which one is better, barrowing the results from a previous evolution and doing some real evolution on the remaining time, or the other option? I don’t know the second option but it has less evolution.

why not just use an AI that just trains itself in complex behaviors over its lifetime and have all the simple ones be procedural animation and if the animal cares for its children make the algorithm also use a genetic algorithm to allow complex behaviors to get passed from parent to child as that would be far simpler and use a self learning AI like you seem so adamant on thrive using but it wouldn’t take up yottabytes of storage for a single species of ant to populate a whole earth sized planet

What? That absolutely reduces evolution if there’s just a specific set of possible limbs. This suggesting doesn’t make sense considering the goals of Thrive.

Each release file needs to be less than 2 GB. So if we need to include multiple gigabytes of pretrained network data, we can’t fit the game in the release.

Uploading it to the forums is not a solution. The forums use really expensive download bandwidth. It would cost 100$ to provide 1000 people a completed Thrive download (assuming the final filesize will be around 10 GB).

This is why I’m really after free download providing hosting for Thrive. We’ll need to either take a big hit to development resources, or ask the fans to bankroll the downloads for other people.

With enough of pretrained AIs picking one suitable enough for current conditions would be possible.

I still don’t think this is a good idea at all due to the filesize, complexity, etc.

That’s been talked about for multiple posts now… an AI network needs dozens of generations to train. So if the microbe stage lasts for 20-ish generations that’s just barely enough time to have a somewhat good AI at the end. I hope you can see why this doesn’t work.

I thought procedural animation means using programming to determine limb placement, which is different from evolutionary algorythm

The keyword is the animation part. Procedural animation just means you have code that generates animations automatically based on the actual structure of things. That’s in contrast to animations made by human artists in a modelling program like Blender. I really hope you can see why that latter approach is not applicable to Thrive (even though basically all games use it heavily).

What about procedural animation like what Rain World has?
(For context: each body part is moved seperately/ is a seperate part and is moved by code)