# Another Newbie Introduction

**URL:** https://forum.revolutionarygamesstudio.com/t/another-newbie-introduction/459
**Category:** Introductions
**Created:** [March 17, 2018, 1:28am UTC](https://forum.revolutionarygamesstudio.com/t/another-newbie-introduction/459 "2018-03-17T01:28:46Z")
**Posts on this page:** 1
**Showing post:** 5

<div class="post-metadata">

### Author: ![tjwhale](https://thrivedevforum-cdn.b-cdn.net/user_avatar/forum.revolutionarygamesstudio.com/tjwhale/32/24_2.png) [@tjwhale](https://forum.revolutionarygamesstudio.com/u/tjwhale)
#### Post date: [March 17, 2018, 9:45am UTC](https://forum.revolutionarygamesstudio.com/t/another-newbie-introduction/459/5 "2018-03-17T09:45:18Z")

</div>

Hey Andross,

So myself, along with Seregon, are the theory team co-leads for the project. What the theory team does is basically programmer support, so if there’s a feature we want in the game and we need some scientific or technical structure underlying it then we’re here to provide support and prototypes for how things could work. My suggestion, if it suits you, is that you could be on both teams and be a programmer as well as helping with some of the scientific stuff, as you have a strong background. Teams are a pretty flexible thing and it’s not terribly formal.

So in general how things sort of work is that Seregon or I might make a prototype for a feature and then one of the programmers will use that as a jumping off point for building something. One of the challenges is balancing fun with realism. We want to prioritize fun and have Thrive be a great game, while keeping it as scientifically realistic as possible, so it’s an interesting challenge.

Here’s a few things that might interest you, feel free to work on what you’d like, we’re not very hierarchical. I’ve sent quite a lot of stuff just to give you an overview but please don’t feel you need to interact with it all or anything, I just thought I’d send a few things in case any of them caught your fancy.

Firstly I’d be interested in you opinion on this formula for balancing microbe speeds (max speed in the top post), do you think it makes sense?

> [@Game Balancing](https://forum.revolutionarygamesstudio.com/t/game-balancing/450):
>
> Here is a copy of a post from slack about balancing the speed of different cells. I’m happy to discuss or explain more any time, all feedback welcome. Specific example of movement speed. I downloaded the most recent Thrive release, 0.3.4 and in scripts/microbe\_stage/microbe.lua I changed line 20: self.movementFactor = 4.0 – Multiplied on the movement speed of the microbe. and line 291: rigidBody.properties.linearDamping = 0.75 Balancing speed for all possible microbes. Regarding mo…

Secondly here’s a prototype I made of some work by Michał Joachimczak. The idea is that in the microbe stage you move with flagella and in the multicellular you start to move by contracting your shape. I think this framework gives a way of doing that smoothly, ie you can start with a few cells tied together still using mostly flagella power and then slowly add more until you are using mostly body contraction. (Interestingly humans still have flagella powered cells, the sperm, also there are cillia (another microbe locomotion method) in the lungs for moving phlegm around).

Here is what it should look like

[![](https://img.youtube.com/vi/JJYpHfccnwA/hqdefault.jpg "Evolved swimming soft-bodied multicellular animats") ](https://www.youtube.com/watch?v=JJYpHfccnwA)

Here is where mine is at

> [@Softbody Motion in the Multicellular](https://forum.revolutionarygamesstudio.com/t/softbody-motion-in-the-multicellular/277/5):
>
> So I’ve had a bit of time to work on a prototype for this stuff. I’ve been using [this paper](https://www.lri.fr/~hansen/proceedings/2012/GECCO/proceedings/p561.pdf) and following it closely. Big props to Michał Joachimczak. This is as far as I’ve got. [Code](https://github.com/Revolutionary-Games/thrive-prototypes/commit/e2b892596c913ff45131424398c6745f5f4bbea3) in the prototypes repo. The algorithm is basically make a Gabriel diagram of the points (which is a subset of a Delaunay triangulation) which I have done. You can place the points (cells) wherever you like and the algorithm will connect them and compute which cells are exterior (blue) or interior (red). It can a…

There are some physics issues I got stuck on (the cells inside the microbe are meant to maintain their pressure for example) and, at some point, I’d like some help to carry on with the prototype and get it really good. So if you’re interested in that I’d be happy to work on it. We’re not thinking about multicellular transition quite yet but by the time we are ready to build it having a really good prototype would be very helpful.

Re fluid dynamics the parameters are that we want a fluid system for the microbe stage which moves the microbes, bacteria (which aren’t added yet) and compound clouds around. However it needs to be soft enough so as not to interfere with gameplay too much. Also I don’t know how much experience you have with super low Reynolds number fluids but they bamboozled me quite a lot when I first started. Basically the microbes are sort of swimming in treacle because the length scales and velocities are microscopic compared with the viscosity of water.

However players kind of expect turbulence and vorticity so it’s a bit of a balance between what feels right and what is realistic. For example for a real microbe acceleration is basically instant, it’s more like a rowing boat going across a sand pit than a river, microbes can’t glide.

Here’s the thread where the current implementation is discussed, it’s pretty long but it does have nice pictures.

> [@Fluid Dynamics - Curl Noise](https://forum.revolutionarygamesstudio.com/t/fluid-dynamics-curl-noise/98):
>
> I had another go at using Curl Noise to approximate fluid flow. I have been following this paper somewhat Basically a grid is generated and at each point a noise value is obtained (just a scalar value). Then from this noise the fluid flow vector field is derived (just by taking the curl) and so you get turbulence over the whole grid. My noise is crappy (just a function like sin(x\*y) so bear that in mind). Then a mask is added on top which is by default 0. When the mask is 0 you see no turbul…

Anyway that’s quite a lot of stuff. I hope it’s interesting rather than overwhelming! If you’d just like to work on something super simple that’s fine. Let me know if there’s anything I can do to help you settle in. I’m happy to answer any questions you might have about the theoretical aspects of the game.

---

_[View the full topic](https://forum.revolutionarygamesstudio.com/t/another-newbie-introduction/459)._
