0.4.0 Gameplay Features


#1

Here is a list of things which I am using my powers as Microbe Stage Design Lead to decide for the 0.4.0 release. Each of them has been discussed in detail and so I think it’s time to make some simple decisions to test. Several of these things are on the old 0.4.0 release thread already.

Nothing on this list is meant to be a final version of the feature, everything is open for discussion and change in the future after this release is done. I think all these things have a good (awesomeness / effort) ratio and will move the game forward significantly. After 0.4.0 we can use the play testing info we get to work out which areas need improvement the most and what we would like to add then.

Part 1: Fixing some problems

There are parts of the experience which we have now which feel painful to go through. I think they are high priority to fix because they’ll be actively turning players away.

  1. The player can currently swim through a cloud of ammonia, become clogged with it and unable to breathe. Github

Soln: Moving to individual compounds. That means each compound has its own storage which is separate from all the others. Taking @Untrustedlife ’s numbers as a starting place each cytoplasm will store 5 of each compound, each vacuole will store 25 (this will mean the current starter cell will have approx 100 storage as it does now).

After this release we can have a discussion about whether to move to a different storage system (global storage with variable caps, for example) however I think this is the lowest effort way of dealing with this pain point.

  1. it is really painful to be close to unlocking the editor and then to be hit by a toxin X and have to recharge health before continuing with editor progress. Github

Soln: Health to be separated from reproduction. Each cell will get 100 health when spawning and each time they are damaged they will lose a little. Health will regen at 1% per second. This is only a placeholder for a better health system which we can discuss in the future.

  1. Movement is too slow in 0.3.4 and turning is painfully slow. Github

Soln: Movement to be rebalanced in line with the prototype made by @andross and myself, with all cells turning at a constant speed.

Moreover, if you are interested @Treviisolion , it would be great if you could implement a branch of 0.4.0 with your a + d movement scheme in. That way we can make builds of both and test mouse movement at it’s best against a + d movement at it’s best with all other variables held constant and discuss which we all prefer.

  1. There are too many compounds and processes associated with cell reproduction. It’s confusing for new players and most of the compound bars never move. Moreover the complexity of the current compound system, though it’s an interesting piece of work, is blocking the progress of the CPA. Github

Solns:

A. O2 and CO2 to be removed. They can be added in later as global variables once we have worked out what that will mean. Fatty acids and amino acids will be removed. Github

B. Phosphates and Hydrogen Sulphide to be added as compound clouds.

C. Chemoplasts to be added as an organelle. Toxin glands and chloroplasts will also be unlocked for the player to use in the editor.

D. The process system to be cut down to the following scheme, each second:

each cytoplasm will take 1 glucose and turn it into ATP
each mitochondria will take 6 glucose and turn it into ATP
each chemoplast will take 4 hydrogen sulfide and turn it into glucose
each chloroplast will make 2 glucose
each flagella, when operating, will use 5 ATP
if there are both ammonia and phosphates in storage 1 of each will be taken and used to grow the cell. once growth hits 100% the editor button will be unlocked.

Once we have this foundation we can add more complexity + compounds in light of testing. (For example sunlight mechanics are important)

  1. The game doesn’t really feel like a game, I often end up just swimming aimlessly around. Github

Solns:

A. The first population system to be added. You will start the game with 50 population. Each time you die you will lose 10 population, each time you exit the editor you gain 30 population. If your pop reaches 0 then the game is over.

B. If you survive for 15 generations a text pop-up comes onto the screen congratulating you for being a survivor.

Part 2: General gameplay improvements.

These are things we can add to make the stage feel more alive and fun.

  1. A pilus to be added to the game: if it touches another cell that cell will take some damage. Github

  2. The compound clouds to be rebalanced so they are very abundant at the beginning of the game and become more scarce as time progresses. Moreover, in line with @NickTheNick 's compound rebalance mod, they should be bigger and less abundant in general than they are now. Github

  3. A basic AI to be written. Whoever is interested in programming this should have control over exactly how it works and can use the prototype as a guideline. The goal is to keep the system as simple as possible. The only mechanics required are random movement, fleeing from cells stronger than you and moving towards cells weaker than you and firing agents when you are close to other cells. AI is something it is really important to test a lot so please don’t make anything complicated, just make the simplest possible thing. Github


Something I think we shouldn’t do is change how agents work in this release. Here is a thread explaining why. We should sort out what we want first.

I love the idea of having the player start as a single hex of cytoplasm but I think we should discuss this some more.

All these things are just stepping stones to try out in this release. Many of them will need revisiting (for example the health system definitely needs work, so does the population system) however lets have those discussions in light of our experiences playing 0.4.0 rather than guessing at them now.

Moreover I think this is a reasonable list which will actually make playing Thrive feel like playing a game while not taking a huge amount of time to implement, it would be great to have the programming team’s feedback on that.

I think these things will really celebrate the effort to switch to the new engine and make the microbe stage a playable game where you can sit down and “play a game of Thrive” where you win or lose. I think that will be a big step for everyone and feel great.


Combat in 0.4.0, turning ideas into gameplay
Release 0.4.0 Thread
#2

To coordinate the workflow I suggest you link each of your points to an issue on github. And if there is no issue for it yet open it. And make sure all the issues are in the 0.4.0 milestone on github to track progress towards it (ask me if you don’t have access to change the milestone for an issue).

I’ll read this is more detail later as I have to go do stuff now.


#3

Ok great I’ve done that. Can you add 555 - 560 to the 0.4.0 milestone.


#4

About AI thing I made an Ai improvement few months ago the Ai could (engulf smaller cells,flee from bigger cells,fire toxins at smaller cells and actually aim,random movements) but because of the engine refactor we need to rewrite the Ai to angle script


#5

That sounds really cool, just what we need :slight_smile:


#6

I’ll do that but I’ll also add you to the developers team on github so you should be able to then edit the milestones in the future.


#7

I’d like to suggest a slightly more realistic (?) addition: you would need to have ammonia available to regenerate health (but it wouldn’t be consumed). This way you couldn’t just go and hide to regen health and it still wouldn’t affect the reproduction speed.

Is it finally time to start implementing achievements (with some showing a bigger popup)?

I think this is a good plan. But it will be still quite some time until I can start tackling these issues because of the engine change. So hopefully some other programmers like @crodnu and @zyad137 will have more time soon to start making progress.


#8

@hhyyrylainen What about me? Or is it just that I’m doing bacteria cell walls and stuff rn.
:stuck_out_tongue:


#9

You seem to be doing your own thing. I’m trying to encourage others to also start on working on (random) things.


#10

About that. The FPS is set to 30 in the prototype so the constants will require tweaking for implementation to make the balance feel good. This will definitely need to be playtested to make sure that cells slow down at a reasonable rate after adding mass and speed up at a reasonable rate after adding flagella. The most relevant variables are force_per_flagella, organelle masses, global_top_speed, and the values that show up in the sigmoid function. The general trend of the curve is good but it needs fine tuning.


#11

To get the algorithm ready to use in the game it will need to work with variable timestep. So you should introduce a variable timepassed that will have the time in milliseconds since last frame and multiply the result with that to get a consistent experience when framerate differs.


#12

@hhyyrylainen

Re health systems I’d like to fix this for now as is. Once we’ve tried it we’ll have more info about how it feels and we can talk about the relationship to compounds. I feel it’s quite a complicated question about double spending or taking away from reproduction etc.

I like the idea though, something like that could work well in the future.

With achievements that’s quite a big feature and it’s important to get it right. For now it might make more sense just to have a text box, like we do in the tutorial, to save implementation time.

I understand that you’re busy atm with the engine change. I continue to be amazed by the things you are doing. Thanks so much for all of it.

@Untrustedlife it would be awesome if you could work on some of this stuff. You’ve accomplished a lot recently and that’s been really cool to watch :slight_smile:


#13

Just pushed a new version of the movement prototype with variable FPS.


#14

I am currently still do not have access to my pc that is why I am not working on thrive ):


#15

Hi all. Been busy recently and likely to be for a while longer, but should have time this weekend to help with things.

I seem to recall we’ve had quite a few discussions about this in the past. A similar system I preferred was having each vacuole specialised to store one compound. This has the separate storage bonus with the added advantage of allowing the player to have more control over their metabolism. Say a cell needs a lot of oxygen but no CO2. Having storage for both in every vacuole leads to a lot of wasted space and a lot more vacuoles.

Perhaps this could be combined with passive cytoplasm storage as you describe.

This will do for now. I’m not a huge fan of arbitrary health regeneration but I agree there needs to be some degree of separation between health and reproduction.

There is an alternative to the solution you proposed, and that’s to strip the starting cell of as many organelles and processes as possible. Give it just enough functionality to survive. Then complexity and depth are still present but instead of being thrown in at the deep end, the player can learn about each process as they progress.

This still irks me quite a bit with its artificial arbitrary-ness. I suppose it works as a placeholder. How would you make the player know their own mortality is tied to that of their species?

I may be biased here, but with the response to my run and tumble prototype, which creates organic-looking behaviour out of very simple (and realistic) rules, I’d like to propose this as a starting point for AI. Here’s the pseudo-code, which shows just how simple it is:

Run and Tumble
for each frame
    if (compound level this frame) >= (compound level last frame)
        move straight forward
    else
        rotate in random direction

Obviously it’s nowhere near a full AI system. It makes no allowance for different types of compounds or interactions with other cells, but I think it’s a good starting point providing it’s efficient enough. The reliance on frames should probably be changed to a more reliable time-measuring system.

Otherwise, all these ideas sound good. Make sure you update the GDD when you get the chance and ensure things stay consistent throughout the document.


#16

Thanks for the feedback.

I’d like to be clear that I’m not proposing solutions in this thread, these are decisions which I’m making as Microbe Stage Design Lead. As you say we’ve discussed these things a lot. It’s time to take a step forward and this is how we are doing things for 0.4.0.

In terms of your other thoughts I think you’re totally right on a lot of points. I think everything you’ve picked out is a good thing to discuss as we move forwards, I’d suggest making a thread and making a pitch for how you think these systems should work.

For example Re health it is quite complicated if it’s at all related to compounds. Because if it takes compounds to heal then you can get stuck in a loop where you get wounded over and over, spend all your compounds healing and never get to reproduce. And with a pop penalty for death that could be quite annoying. @hhyyrylainen was suggesting healing if there are compounds in the cell and not using them. It’d be interesting to hear your thoughts on a good system for the future.

Re population I totally agree it’s important to move to a better system. For the player to understand what is happening a popup when they die should be sufficient.

Run and Tumble is cool and it’s great how realistic it is. Whoever is implementing the AI can definitely take it in to account.


#17

I didn’t see any mention of prokaryotes?


#18

Yeah. Firstly what you’ve done for prokaryotes so far is great so it’s really nice to have that.

Secondly I think things like letting the player play as a prokaryote are great because they add more content. However I think it’s wise to fix the foundations first, like health, reproduction, combat, movement etc, before working hard to add more content. If movement feels bad then it’s hard for people to appreciate the content we have.


#19

Adding bacteria conicides with other aspects, Eg to get them where we want we need to reenable certain main things Eg population system, engulfing which means adding bacteria is a proxy for reimplementing game features.(including the old bacteria system which was broken and never saw a release)


#20

That list looks great. One question though, what’s the purpose of removing glucose as one of the requirements for reproduction?

Other than that I think this list of features will add a lot to the gameplay for the upcoming update.