Thrive Game Development

Development of the evolution game Thrive.
 
HomeHome  PortalPortal  CalendarCalendar  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log inLog in  
Welcome new and returning members!
If you're new, read around a bit before you post: the odds are we've already covered your suggestion.
If you want to join the development team, sign up and tell us why.
ADMIN is pleased to note that this marquee has finally been updated.
ADMIN reminds you that the Devblog is REQUIRED reading.
Currently: The Microbe Stage GUI is under heavy development
Log in
Username:
Password:
Log in automatically: 
:: I forgot my password
Quick Links
Website
/r/thrive
GitHub
FAQs
Wiki
New Posts
Search
 
 

Display results as :
 
Rechercher Advanced Search
Statistics
We have 1675 registered users
The newest registered user is dejo123

Our users have posted a total of 30851 messages in 1411 subjects
Who is online?
In total there is 1 user online :: 0 Registered, 0 Hidden and 1 Guest :: 1 Bot

None

Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm
Latest topics
» THIS FORUM IS NOW OBSOLETE
by NickTheNick Sat Sep 26, 2015 10:26 pm

» To all the people who come here looking for thrive.
by NickTheNick Sat Sep 26, 2015 10:22 pm

» Build Error Code::Blocks / CMake
by crovea Tue Jul 28, 2015 5:28 pm

» Hello! I can translate in japanese
by tjwhale Thu Jul 02, 2015 7:23 pm

» On Leave (Offline thread)
by NickTheNick Wed Jul 01, 2015 12:20 am

» Devblog #14: A Brave New Forum
by NickTheNick Mon Jun 29, 2015 4:49 am

» Application for Programmer
by crovea Fri Jun 26, 2015 11:14 am

» Re-Reapplication
by The Creator Thu Jun 25, 2015 10:57 pm

» Application (programming)
by crovea Tue Jun 23, 2015 8:00 am

» Achieving Sapience
by MitochondriaBox Sun Jun 21, 2015 7:03 pm

» Microbe Stage GDD
by tjwhale Sat Jun 20, 2015 3:44 pm

» Application for Programmer/ Theorist
by tjwhale Wed Jun 17, 2015 9:56 am

» Application for a 3D Modeler.
by Kaiju4u Wed Jun 10, 2015 11:16 am

» Translator to Serbian here
by Simeartherist Sun Jun 07, 2015 6:36 am

» Presentation
by Othithu Tue Jun 02, 2015 10:38 am

» Application of Sorts
by crovea Sun May 31, 2015 5:06 pm

» want to contribute
by Renzope Sun May 31, 2015 12:58 pm

» Music List Thread (Post New Themes Here)
by Oliveriver Thu May 28, 2015 1:06 pm

» Application: English-Spanish translator
by Renzope Tue May 26, 2015 1:53 pm

» Want to be promoter or project manager
by TheBudderBros Sun May 24, 2015 9:00 pm


Share | 
 

 Crash Course Evolution

View previous topic View next topic Go down 
Go to page : 1, 2  Next
AuthorMessage
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Crash Course Evolution   Tue Aug 20, 2013 9:33 pm

As we work on the Microbe Stage, and as we near completion of something playable, I think it wouldn't be a bad idea to start considering the implementation of the concepts of the Multicellular and Aware Stages, especially considering the heavy focus the forums have recently held on the Strategy Mode (when not discussing Microbe). So, there are a lot of ideas floating around this part of the game, something I will just refer to loosely as the organism stage, and so here we will have to turn them into concrete and code-able concepts. One of the most important elements to this is tying together the Organism Editor, and the Organism gameplay. So, without further ado, here is episode one of...

Crash Course Evolution

Episode 1: Organism Editor
Part I: Completing the Concept
Part II: Skeletal Structure


Episode 1: Organism Editor

Now if you've made it this far, stop, don't continue, and go read this thread below if you haven't done so already. It is vitally important that you read these two pages.

http://thrivegame.canadaboard.net/t2-oe-current-concept
http://thrivegame.wikidot.com/procedural-evolution

Essential to understanding how Auto-Evo will work in-game, we need to understand how creatures are structured. The important elements that go into making an organism are its skeletal structure, its muscles, and its organs. So, working our way through how they are ordered in the OE CC thread, let's start with

Part I: Completing the Concept

Before we can get fully started, we need to address the many holes in the current concept of evolution and the organism editor. This will be in a similar format to the discussions back on the Building Microbe Stage thread that resulted in the completion of the concept for the Microbe Stage. Before we can move on to the next part, we must iron out all of these concepts. If you are from the future and we have already answered these questions, I will post a link to where Part II begins below.

-When is it determined that the player's organism is a plant? Can they evolve to an animal if they are a plant, or vice versa? How is it determined that the player's organism is an animal or a plant?
-When, and how, is it determined that the player is a vertebrate or an invertebrate? Can one evolve into the other, and how?
-How will we keep track of changes during OE or mutations during Auto-Evolution?
-Auto-Evo uses generations as "turns" for simulating natural selection, in which censuses of an entire community are taken at once and changes made accordingly, but different organisms have their offspring at different times, so how will Auto-Evo accomodate this?
-How does Auto-Evo decide which organisms belongs to which communities? The organism may be in one biome when the census is taken, and then immediately go into and stay in another biome.
-What are the effects of stiffening the spine of your organism?
-Will AI be adaptive?
-How will species behaviour evolve? Will species behaviour need to be hard-coded?
-Will organisms begin their lives as adults? Will they begin small and weak? How will the game determine what abilities an organism learns as it grows (assuming organisms don't begin as adults), such as birds learning to fly? How will the body of an organism develop as they grow?

That is all I have for now. If we can answer these it will give me a much clearer image of what the gameplay will be like, and we will be able to proceed with the thread. If there are any holes you see in the concept, please post them now.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.


Last edited by NickTheNick on Thu Sep 05, 2013 1:21 am; edited 1 time in total
Back to top Go down
View user profile
Immortal_Dragon
Regular


Posts : 425
Reputation : 19
Join date : 2013-06-18
Age : 23
Location : Throne of the Immortal Dragon

PostSubject: Re: Crash Course Evolution   Tue Aug 20, 2013 10:49 pm

A few ideas that came to me after completing the assigned reading :lol: 

-Stiffening the spine can help solidify a certain posture, but I don't see it having many benefits if at all. The spine is helpful because it can bend, something stiff is just more likely to break under pressure since it has no give. Unless you are putting it together for a stiff tail for balance while running, but long tails like the big cats have work just fine for that.

-In my opinion, AI should be adaptive, otherwise it would be no fun, at least to me.

-The behavior editor can probably take care of a few things, such as territoriality and caution vs. curiosity/aggression, but maybe the AI being adaptive means a limited interaction history, such as species A was attacked by species B, and for some time species A will avoid B or attack them on sight. (I'm not programming savvy so maybe that isn't a good implementation.)

-Personally, I wouldn't mind playing as the infantile stage of my own species, it would make for some interesting gameplay since the possible caste editor allows for differentiation.
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Wed Aug 21, 2013 12:19 am

Immortal_Dragon wrote:
...(I'm not programming savvy so maybe that isn't a good implementation. ) ...
As you said, implementation is key here, so just stating the obvious isn't very helpful, and by this I mean:

Yes, obviously stiffening the spine would affect posture, but what about any important variables or gameplay elements, or would it just be an aesthetic?

If you are to support an Adaptive AI, you would have to explain how it would work (in light of the problems posed by Daniferrito in the Crash Course into AI thread), past just saying its a good idea.

Same with playing as offspring. The question isn't whether to include it or not, but how to include it.

All in all, my point is that we need to focus less on ideas and more on implementation. This is something I plan to crack down on, because recently we have had far too many idea based discussions, with little focus on implementation and development. We have been attracting too many idea people and not enough solid game developers. This thread is focused around, not the ideas, but how to put those ideas into a game engine. I hope I wasn't harsh on you, but this is something that has been on my mind for a while now.

[/OT]

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.


Last edited by NickTheNick on Wed Aug 21, 2013 6:08 pm; edited 1 time in total
Back to top Go down
View user profile
Oliveriver
Music Team Co-Lead


Posts : 579
Reputation : 59
Join date : 2013-01-21
Age : 18
Location : England, United Kingdom, Europe, Earth, Solar System, Milky Way, Virgo Supercluster, The Universe

PostSubject: Re: Crash Course Evolution   Wed Aug 21, 2013 6:18 am

Would it be worth adding a link to Seregon's post on population dynamics as well (http://thrivegame.canadaboard.net/t933p60-population-dynamics), seeing as it also covers most of Auto-Evo?

_________________
All Thrive Music
My Thrive Music
Download Thrive's Soundtrack

Devoted member of the Society for Having David Attenborough Narrate the Opening Cutscene
Back to top Go down
View user profile http://oliverlugg.com/
Immortal_Dragon
Regular


Posts : 425
Reputation : 19
Join date : 2013-06-18
Age : 23
Location : Throne of the Immortal Dragon

PostSubject: Re: Crash Course Evolution   Wed Aug 21, 2013 8:35 pm

Yes Nick, the first part of your reply stung a little, but my scales ( :lol: ) are thick, don't worry.

-Yes, the spine does need addressing. Since the tail will be differentiated as a spinal section, I thought a good use for stiffening this part would be keeping mass in line at speed, and the OE keeps track of that, or something to that degree.

-The infantile stages of a creature could be used as a learning stage. Say when learning to hunt, if the player/baby sees their mother or father (or both) doing one behavior (i.e. in the visual range of the eyes, not third-person) then the baby will gain progress on that behavior development. Or it could be a one-shot deal, see it once and you know it. Or even simulate inherent instinctive behavior, the infant will already know these behaviors at birth, but be physically incapable of some for a limited amount of time. Could be dictated via the behavior editor.

-I tried reading the crash course into AI and it made my head spin, I'll just leave the AI alone, the best I can give is an AI that can observe using the senses given to them and make the best assessment based on simple if-then logic.

I'm just trying to do the best I can to the best of my ability, if that's not enough then I don't know what to tell you.

EDIT: you should know, any frustration you may sense in my post is directed at myself entirely.


Last edited by Immortal_Dragon on Wed Aug 21, 2013 9:51 pm; edited 2 times in total
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Wed Aug 21, 2013 9:02 pm

Oliveriver wrote:
Would it be worth adding a link to Seregon's post on population dynamics as well (http://thrivegame.canadaboard.net/t933p60-population-dynamics), seeing as it also covers most of Auto-Evo?
Thanks for that Oliver, I had forgotten about that thread. That does help explain the process of evolution itself, but not really the structure of organisms, through how they are modelled in the OE, which we will discuss here. It does shed some light on the generation issue for auto-evo, but it's not a direct or concrete answer.

@Immortal_Dragon

Spines and Tails

Again, not to be harsh, but making the tail keep the organism's balance is quite evident. What this thread is for is to take these ideas and implement them. What we need is a system or algorithmn that calculates the balance of an organism, taking into account factors like their tail, and then giving them an animation and a speed. The problem then becomes to go with this solution, or to just make tails aesthetic too.

Organism Growth

The dilemma with infant stages is that the player knows more than the infant organism which they are playing as knows, and that's one of the big no-no's of gaming. It could easily get frustrating for the player to repeatedly learn how to hunt and run when they already know, and really makes the player feel detached from the organism they are playing as. What's more, the behaviour of non-player organisms would have to vary based on the age. The more I think of it, the more problems I see. I'll try and organize it below.

Problems with Aging:

  • How will the physical capabilities of the organism scale or develop as they grow? (Swimming, climbing, running, flying)
  • How will the behaviour of an organism differ as they grow? A velociraptor might be intimidated by a fully grown T-Rex into giving up it's food, but not by an infant. An adult Triceratops will obviously try to mate, but a newborn wouldn't.
  • How will the appearance of the organism develop as they grow?
  • How will the stats of the organism develop as they grow? (Mass, Physical Strength, Health, Energy, Hunger, Thirst, etc.)

Some Solutions:

  • I think sleep is a perfect time to make normally immersion breaking changes and calculations to the game. Every time the player's organism goes to sleep, it's organism's model can be increased in scale, colours or textures can be changed, stats can be increased or decreased, and more, based off of how that species develops. All other organisms within that biome (i.e. all other organisms being actively simulated at that time) would also undergo any changes in their growth and not during gameplay, to prevent organisms just popping into adults in front of the player.
  • With growth changes being made during sleep, that still leaves the issue of how exactly an organism's stats and size will scale per "level" of growth. How would that be handled?


-----
I understand you are trying your best, and I am appreciative of that, but what's important to recognize, not you in particular, but for the forums overall (and often times to new users), is that the epoch of merely suggesting ideas for the early stages of the game is drawing to a close, and now dawns a period in which the ideas we already have and any new ones we get must be refined and modelled in a way that is implementable into code, because to paraphrase Bashinerox, we can't just wave a magic wand and tell the computer to use its sorcery to make a realistic evolution sim.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Re: Crash Course Evolution   Wed Aug 21, 2013 9:42 pm

In response to the OP: in blue are questions I'm pretty sure have been resolved.

-When is it determined that the player's organism is a plant? Can they evolve to an animal if they are a plant, or vice versa? How is it determined that the player's organism is an animal or a plant?
For the time being, I don't have an answer.
-When, and how, is it determined that the player is a vertebrate or an invertebrate? Can one evolve into the other, and how?
That's a classification that we don't need to make, because it (the classification) shouldn't affect gameplay. It doesn't matter what an animal is made out of, just what it does. That being said, most animals will start with some sort of central structure. If that structure is bony, that can be your backbone.
-How will we keep track of changes during OE or mutations during Auto-Evolution?
This is an information storage problem, so I'm largely underqualified to answer it. I believe it has been discussed slightly before.
-Auto-Evo uses generations as "turns" for simulating natural selection, in which censuses of an entire community are taken at once and changes made accordingly, but different organisms have their offspring at different times, so how will Auto-Evo accomodate this?
The "generation" has nothing to do with a reproductive generation. It's a technical term. the actual generation length just has an effect on population growth.
-How does Auto-Evo decide which organisms belongs to which communities? The organism may be in one biome when the census is taken, and then immediately go into and stay in another biome.
In the context of evolution organisms don't exist as individual entities. Only populations exist, which are calculated within the confines of your biome.
-What are the effects of stiffening the spine of your organism?
It will change your range of movement and therefore movement animations.
-Will AI be adaptive?
Hopefully, but for now, no.
-How will species behaviour evolve? Will species behaviour need to be hard-coded?
I've imagined that behavior would be available to build in hard-coded "modules". As an organism evolves, it can mutate and gain new modules that could be added to its behavior. This idea is not well fleshed out, but behavior will have to be largely hard-coded simply to save on work for the player.
-Will organisms begin their lives as adults? Will they begin small and weak? How will the game determine what abilities an organism learns as it grows (assuming organisms don't begin as adults), such as birds learning to fly? How will the body of an organism develop as they grow?
As of now, we haven't come up with any good system for ontogeny, so we will probably ship using only adult creatures, however, it's likely that there is an elegant solution to growth out there, so I'll open up a thread.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Thu Aug 22, 2013 1:12 pm

~sciocont wrote:
-When, and how, is it determined that the player is a vertebrate or an invertebrate? Can one evolve into the other, and how?
That's a classification that we don't need to make, because it (the classification) shouldn't affect gameplay. It doesn't matter what an animal is made out of, just what it does. That being said, most animals will start with some sort of central structure. If that structure is bony, that can be your backbone.
I understand that, but I guess a better way to phrase my question is, what are the limitations on an organism going from the vertebrate classed skeletal structures in the OE to the invertebrate classed skeletal structures. Could I just go into the OE one generation and decide to replace my spine with a wormacle?

~sciocont wrote:
-How will we keep track of changes during OE or mutations during Auto-Evolution?
This is an information storage problem, so I'm largely underqualified to answer it. I believe it has been discussed slightly before.
There are some solutions I can see to this:

  1. Currency-based mutation. Have a currency, like in the Microbe Editor, that is spent to make changes. Put a cap on the max amount of currency that can be held at once to prevent large evolutionary changes. The currency could be something like mutation points, DNA, evolution points, etc. The benefits of this are that it would stay consistent with the Microbe Stage, and there would not have to be a point at which the MP variable just noticeably disappears. The problems of this are that the currency of every organism needs to be tracked, as well as the fact that it would make players specifically seek out obtaining these currency points, instead of just surviving, something I see to be more arcade-based. 
  2. Percent-based mutation. Limit changes per generation by a percent cap (let's just say 10%). Only one change can be made per generation, and it can only be up to a 10% alteration of the previous state. Or, we could make multiple changes possible, but the changes made to each individual thing can only add up to 10%.


~sciocont wrote:
-How will species behaviour evolve? Will species behaviour need to be hard-coded?
I've imagined that behavior would be available to build in hard-coded "modules". As an organism evolves, it can mutate and gain new modules that could be added to its behavior. This idea is not well fleshed out, but behavior will have to be largely hard-coded simply to save on work for the player.
-Will organisms begin their lives as adults? Will they begin small and weak? How will the game determine what abilities an organism learns as it grows (assuming organisms don't begin as adults), such as birds learning to fly? How will the body of an organism develop as they grow?
As of now, we haven't come up with any good system for ontogeny, so we will probably ship using only adult creatures, however, it's likely that there is an elegant solution to growth out there, so I'll open up a thread.
And now I have to go, so I will come back and post the rest later.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Re: Crash Course Evolution   Thu Aug 22, 2013 1:37 pm

Nick wrote:
I understand that, but I guess a better way to phrase my question is, what are the limitations on an organism going from the vertebrate classed skeletal structures in the OE to the invertebrate classed skeletal structures. Could I just go into the OE one generation and decide to replace my spine with a wormacle?
Ah, I see what you're saying, that's a really good question. There are probably going to be a lot of special cases where mutations will be pretty one-way, such as the formation of bone. I would say the possible mutations for bone would include turning a bone to cartilage, but in order to completely get rid of a bone you'd have to shrink it down first.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Thu Aug 22, 2013 8:05 pm

~sciocont wrote:
Ah, I see what you're saying, that's a really good question. There are probably going to be a lot of special cases where mutations will be pretty one-way, such as the formation of bone. I would say the possible mutations for bone would include turning a bone to cartilage, but in order to completely get rid of a bone you'd have to shrink it down first.
So how would you put that into concrete concept?

~sciocont wrote:
-How will we keep track of changes during OE or mutations during Auto-Evolution?
This is an information storage problem, so I'm largely underqualified to answer it. I believe it has been discussed slightly before.
So I'm going to finish what I was saying before, when I had to abruptly leave.

There are some solutions I can see to this:

1.Currency-based mutation. Have a currency, like in the Microbe Editor, that is spent to make changes. Put a cap on the max amount of currency that can be held at once to prevent large evolutionary changes. The currency could be something like mutation points, DNA, evolution points, etc. The benefits of this are that it would stay consistent with the Microbe Stage, and there would not have to be a point at which the MP variable just noticeably disappears. The problems of this are that the currency of every organism needs to be tracked, as well as the fact that it would make players specifically seek out obtaining these currency points, instead of just surviving, something I see to be more arcade-based.

2.Percent-based mutation. Limit changes per generation by a percent cap (let's just say 10%). Only one change can be made per generation, and it can only be up to a 10% alteration of the previous state. Or, we could make multiple changes possible, but the changes made to each individual thing can only add up to 10%. The good thing with this is that it takes obtaining currency out of the picture during organism gameplay. It also means that every possible alteration need not be assigned a currency value. However, some mutations are not percent changes, such as going from having no fins to having two small fins, so those would have to somehow translate into percent values.

~sciocont wrote:
-How will species behaviour evolve? Will species behaviour need to be hard-coded?
I've imagined that behavior would be available to build in hard-coded "modules". As an organism evolves, it can mutate and gain new modules that could be added to its behavior. This idea is not well fleshed out, but behavior will have to be largely hard-coded simply to save on work for the player.
I'm really interested by this mention of behaviour modules, and I have some ideas on it now that I think about it, but I'd like to hear more about it first. Could you explain your thoughts?

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
meldebious
Newcomer


Posts : 23
Reputation : 1
Join date : 2013-08-21
Age : 28
Location : USA

PostSubject: Re: Crash Course Evolution   Thu Aug 22, 2013 8:16 pm

What if for the player you have multiple currencys? Let me explain.

You could have a type of currency gained by doing carnivore type actions (eating, fighting, defending ect...) and another type for Herbivore type actions (eating plants, exploring, ect...) and a third type for plant creatures. Certain parts, or benefits can only be bought with certain currency while some (such as basic growth) can be bought with any kind.

so you want to grow leaves you need to spend your Plant points, while to grow spikes can be bought with any kind and so on and so forth.

This might complicate things to much and as such should be thrown out, simplicity to me is very important.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Re: Crash Course Evolution   Thu Aug 22, 2013 10:46 pm

NickTheNick wrote:
~sciocont wrote:
Ah, I see what you're saying, that's a really good question. There are probably going to be a lot of special cases where mutations will be pretty one-way, such as the formation of bone. I would say the possible mutations for bone would include turning a bone to cartilage, but in order to completely get rid of a bone you'd have to shrink it down first.
So how would you put that into concrete concept?
At this point I don't quite know. [see below]
~sciocont wrote:
-How will we keep track of changes during OE or mutations during Auto-Evolution?
This is an information storage problem, so I'm largely underqualified to answer it. I believe it has been discussed slightly before.
Those are somewhat like what's been discussed before, I think.
Really, the issue is the quantification of mutations. This is easy in the cell editor, but will get very hard once we move into 3D. one possible solution is having mutations for each part in the editor come in discrete units: instead of lengthening a bone by 3.42 cm, the bone can only come in round lengths- that bone would be 3 cm long. The same would apply to bone thickness (a less important measurement, so probably having a coarser range of values), and to other parts, like the wormacle. This would not only make mutation easier to quantify, it would make mass and volume calculations easier, because bones would be defined in their shapes.
We could apply this principle as well to attachment angles, the size of feathers, anything that's difficult to quantify.
This also solves the problem of vanishing bone- once a bone width or length becomes minimal, it can be deleted.

~sciocont wrote:
-How will species behaviour evolve? Will species behaviour need to be hard-coded?
I've imagined that behavior would be available to build in hard-coded "modules". As an organism evolves, it can mutate and gain new modules that could be added to its behavior. This idea is not well fleshed out, but behavior will have to be largely hard-coded simply to save on work for the player.
The idea I'm having here is making behavior editing more visual and easier for programmers and players. It's not fleshed out yet, but I'm imagining a hexgrid with tiles on it that correspond to entities and behaviors. Entities are organisms in your environment or parts of your environment (water, a cave), and behaviors are things to do when that entity is sensed(run away? eat entity?). An enemy is connected to a behavior by a connecting line, and that line has a condition attached to it based on the situation. (is an entity coming close? Is it far away? is an animal wounded?) Those three things would create the meat of the editor.
Behavior and entities are placed on tiles so a player or computer can easily group them together- when tiles of the same type (entity/behavior) are next to each other, they are paired together. If entities are paired, the same response goes for both of them. If behaviors are paired, they will always happen together. You can duplicate behaviors  or entities if you want, so you can lump all predators together and link them by "when near" to "run away", while at the same time linking one enemy to "stop in place" by the path "when far away".
Intelligence is determined by the size of the hexgrid.

Hot Belgium that's elegant.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Thu Aug 22, 2013 11:05 pm

On the topic of tracking mutations, what about going from having an open chambered heart to a closed chambered heart, or going from having no lungs to having the earliest stage of a lung. how would these changes be kept track of?

I think the solution for measurements fits well though. Is it just the elimination of decimals that makes that possible? Because if not I would at least want to keep up to one decimal place for precision.

That sounds like an excellent system for the player's species' behaviour. I have always thought that it would be best to link together behaviour and creature intelligence. New brain developments in the creature should unlock more complexity in the behaviour editor. I think this deserves its own thread, to discuss the specifics of this system. However, something this leaves out is how behaviour would evolve from generation to generation for AI orgs. Would you care to make a thread on it?

--------

I'll just eliminate the issues addressed so far.

-When is it determined that the player's organism is a plant? Can they evolve to an animal if they are a plant, or vice versa? How is it determined that the player's organism is an animal or a plant?

To be determined later. I think that for this, species should be decided as animals or plants in the multicellular stage, and be stuck with it from Aware onwards. Although it might be annoying to be stuck as a plant if you choose to become one, it would never be forced upon you, and there is yet to be a system suggested for handling transitions between animals and plants.


-Auto-Evo uses generations as "turns" for simulating natural selection, in which censuses of an entire community are taken at once and changes made accordingly, but different organisms have their offspring at different times, so how will Auto-Evo accomodate this?

Generations are dealt with as units of time, and all births in that time have their mutations applied.

-How does Auto-Evo decide which organisms belongs to which communities? The organism may be in one biome when the census is taken, and then immediately go into and stay in another biome.

Populations will be tracked per biome independent of the individual organisms.

-What are the effects of stiffening the spine of your organism?

Posture and movement, both of which we will have to decide specifically and mathematically later on.
 
-Will AI be adaptive?

For now, no.

-How will species behaviour evolve? Will species behaviour need to be hard-coded?

Hopefully a thread coming up on that soon.

-Will organisms begin their lives as adults? Will they begin small and weak? How will the game determine what abilities an organism learns as it grows (assuming organisms don't begin as adults), such as birds learning to fly? How will the body of an organism develop as they grow?

First releases will have adults only.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Re: Crash Course Evolution   Fri Aug 23, 2013 12:21 am

NickTheNick wrote:
On the topic of tracking mutations, what about going from having an open chambered heart to a closed chambered heart, or going from having no lungs to having the earliest stage of a lung. how would these changes be kept track of?

I think the solution for measurements fits well though. Is it just the elimination of decimals that makes that possible? Because if not I would at least want to keep up to one decimal place for precision.

That sounds like an excellent system for the player's species' behaviour. I have always thought that it would be best to link together behaviour and creature intelligence. New brain developments in the creature should unlock more complexity in the behaviour editor. I think this deserves its own thread, to discuss the specifics of this system. However, something this leaves out is how behaviour would evolve from generation to generation for AI orgs. Would you care to make a thread on it?
I will make an AI thread soon.
I actually began making a massive yEd flowchart on organ evolution a while back. It's fairly complete.
The measurement itself isn't as important as the measurement occurring in discrete, constant amounts.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Fri Aug 23, 2013 12:31 am

Awesome to hear. This almost wraps up this part, but there is another point I would like to raise.

NickTheNick wrote:
On the topic of tracking mutations, what about going from having an open chambered heart to a closed chambered heart, or going from having no lungs to having the earliest stage of a lung. how would these changes be kept track of?

I think the solution for measurements fits well though. Is it just the elimination of decimals that makes that possible? Because if not I would at least want to keep up to one decimal place for precision.
http://thrivegame.canadaboard.net/t1014-evolution-of-body-structure

The thread above I think is a good source to draw on for our discussions here. I think Seregon came up with a great idea with "Seeds":

Quote :
- When mutating, the species has a very small random chance of adding the 'seed' of a new feature, which is 0% developed in your terminology.
- In further mutations, it's possible that developing this seed is advantagous, in which case it will do so. The possible adaptations could be numerous, depending on the seed (using the femur example, it could grow longer, stronger, lighter, or the leg could have increased muscle mass, stronger tendons etc.).
- If a seed does not get developed further, there is a small random chance of it being lost at each mutation.
Developing a seed would be considered a full 10%* mutation. Losing a seed would also be a full mutation. I think that this is a terrific idea for handling all the normally unquantifiable mutations for an organism. Before you develop a new limb, you mutate a seed for that limb. Before you mutate a new stomach, you mutate a seed for that new stomach. A seed would never be guaranteed to mutate into its target, but it would contain the potential. This way, seeds would cover discrete mutations, like gaining or losing body parts, while the percent cap would cover alterations, such as lengthening a leg, increasing muscle, etc. Also, I think that at this point, we must assume that all organisms (animal) will be symmetrical, otherwise it would be rare at best for an organism to have, say, both rear legs mutate to be larger. Auto-Evo would produce grossly assymetric orgs.

*I have mentioned this percent cap so much, I think we should settle on something. Do you guys agree with 10%?

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Re: Crash Course Evolution   Fri Aug 23, 2013 1:07 am

Sounds great. I'd want closer to 5%, but again it's all dependant on how exactly we finally decide to handle complexity measurements.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
Oliveriver
Music Team Co-Lead


Posts : 579
Reputation : 59
Join date : 2013-01-21
Age : 18
Location : England, United Kingdom, Europe, Earth, Solar System, Milky Way, Virgo Supercluster, The Universe

PostSubject: Re: Crash Course Evolution   Fri Aug 23, 2013 4:34 am

~sciocont wrote:
The idea I'm having here is making behavior editing more visual and easier for programmers and players. It's not fleshed out yet, but I'm imagining a hexgrid with tiles on it that correspond to entities and behaviors. Entities are organisms in your environment or parts of your environment (water, a cave), and behaviors are things to do when that entity is sensed(run away? eat entity?). An enemy is connected to a behavior by a connecting line, and that line has a condition attached to it based on the situation. (is an entity coming close? Is it far away? is an animal wounded?) Those three things would create the meat of the editor.
Behavior and entities are placed on tiles so a player or computer can easily group them together- when tiles of the same type (entity/behavior) are next to each other, they are paired together. If entities are paired, the same response goes for both of them. If behaviors are paired, they will always happen together. You can duplicate behaviors  or entities if you want, so you can lump all predators together and link them by "when near" to "run away", while at the same time linking one enemy to "stop in place" by the path "when far away".
Intelligence is determined by the size of the hexgrid.

Hot Belgium that's elegant.
That sounds like a neat but powerful system that'll be intuitive and easy to use but at the same time allow a lot of different actions. Each line you draw between entities and actions could cost MP, allowing your species to evolve mentally using the same currency as physically.

This could also link in with other behaviours. Although it's probably all but a dead concept by now, the AI Editor Prototype linked on the ModDB page could be incorporated into this system. As well as environmental entities, you could add variables (for instance, hunger, thirst, etc.) and link them to actions as well. The interface could show this as the variable surrounded by values, and each of the values can be linked to an action. For the example shown on the AI Editor Prototype, you'd have a central hex labelled 'Feel of Itch', then in the surrounding hexes there would be value ranges (0-10%, 11-20%, etc.). These value ranges could become more precise as your creature becomes more advanced, so a primitive organism would only be able to know which side of 50% the feeling of itch is but more highly evolved creatures may have ranges of 20%.

_________________
All Thrive Music
My Thrive Music
Download Thrive's Soundtrack

Devoted member of the Society for Having David Attenborough Narrate the Opening Cutscene
Back to top Go down
View user profile http://oliverlugg.com/
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Fri Aug 23, 2013 8:33 pm

To solve the issue of tracking evolutionary changes, I thought of a third solution. There could be a complexity bar in the Organism Editor that would keep track of the complexity of your changes. Now before you fly off the handle saying that this is a Spore thing to do, this will be a bar that measures only the complexity of your changes, not the overall complexity of your organism, which are two very different things. The benefits of this approach would be:
  • It would apply to both the AI and the player, and one system to do two things is always easier than two separate systems
  • Since there is always the same complexity cap when you enter the editor, it means the player won't have to/be able to grind for currency to evolve
  • The CPU does not have to keep track of the currency held by all the orgs and species on the planet, because the complexity cap is the same for everyone
  • Everything can have an assigned complexity value
  • Easy to scale speed of evolution be altering complexity cap
  • Not necessary to make arbitrary triggers during gameplay yield an "evolutionary currency"

However, this system would also mean that we would have to make reproduction something the player can't spam, because otherwise the player could reproduce a lot and evolve very fast (because without having to obtain a currency, it becomes easier to evolve).

I fully support this approach, but I would like to hear what you guys think.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
PortalFan1000
Learner


Posts : 104
Reputation : 1
Join date : 2013-07-18
Age : 16
Location : This plane of existence

PostSubject: Re: Crash Course Evolution   Sat Aug 24, 2013 12:23 am

Actually, that was my idea. I have no idea if I should be flattered or ripped off. I'm not bitter, by the way.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Re: Crash Course Evolution   Sat Aug 24, 2013 7:42 pm

NickTheNick wrote:
To solve the issue of tracking evolutionary changes, I thought of a third solution. There could be a complexity bar in the Organism Editor that would keep track of the complexity of your changes. Now before you fly off the handle saying that this is a Spore thing to do, this will be a bar that measures only the complexity of your changes, not the overall complexity of your organism, which are two very different things. The benefits of this approach would be:

  • It would apply to both the AI and the player, and one system to do two things is always easier than two separate systems
  • Since there is always the same complexity cap when you enter the editor, it means the player won't have to/be able to grind for currency to evolve
  • The CPU does not have to keep track of the currency held by all the orgs and species on the planet, because the complexity cap is the same for everyone
  • Everything can have an assigned complexity value
  • Easy to scale speed of evolution be altering complexity cap
  • Not necessary to make arbitrary triggers during gameplay yield an "evolutionary currency"

However, this system would also mean that we would have to make reproduction something the player can't spam, because otherwise the player could reproduce a lot and evolve very fast (because without having to obtain a currency, it becomes easier to evolve).

I fully support this approach, but I would like to hear what you guys think.
That seems quite doable, we can limit editing to once per (global) generation.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
Immortal_Dragon
Regular


Posts : 425
Reputation : 19
Join date : 2013-06-18
Age : 23
Location : Throne of the Immortal Dragon

PostSubject: Re: Crash Course Evolution   Sat Aug 24, 2013 7:46 pm

Well, how is the game going to calculate the global generation, take an average of the generation times of all species? That sounds CPU intensive. Thoughts?
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Sat Aug 24, 2013 8:47 pm

I think that's something to ask in the Auto-Evo thread, considering what I'm about to post.

Any issues left will need to be addressed after ironing out some concepts.

Episode 1: Organism Editor

Before you read, here are some more important threads on evolution, not posted in the OP:

http://thrivegame.canadaboard.net/t1014-evolution-of-body-structure
http://thrivegame.canadaboard.net/t933p30-population-dynamics#19733

These are optional, but greatly help if read. (Thanks for providing the latter Oliver)

So, I was considering how to make the Organism Editor and the Tech Editor seem more consistent, and I think that the triple-S system mentioned by I think The Uteen a long ways back works best. Structure, Systems, and Surfacing (Decorations).

*In the OE, Structures is where you place the bones, muscles, and fat on your organism, with some alternatives for bones like arthropod parts, wormacles, etc. Systems would be where you place organ systems (using tubes and nodes). Surfacing would be where you brush skin, feathers, scales, fur, colours, textures, and designes on your organism.

*In the TE, Structures would be where you place walls, roofs, frames, platforms, and basically any shapes to hold/support your Tech Object. Systems would be where you place Function Parts, the "Organs" of your Tech Objects (enabling them to do specific actions or processes). Surfacing would allow you to change the colours, designs, and textures, as well as place embellishments (something I'll discuss in the future, but are basically models that only add to the appearance and cost nothing).

Anyways, that means the OE would have three tabs, the Structure, Systems, and Surfacing tabs. Let's begin with Structure.

Part II: Skeletal Structure

The basic foundation of any organism is it's skeletal structure. Now in LAWK (Life As We Know it), there are three different classifications for this.

1. Endoskeleton - A skeleton of bones on the inside of the organism (think mammals).
2. Exoskeleton - A shell or casing on the outside of the organism (think insects).
3. Hydrostatic Skeleton - A tube filled with water on the inside of an organism (think snails).

With use of the OE CC, let's try and nail down everything there is to this, to get a working GDD for the Organism Editor.

The Origin of the Skeleton

First, we must decide how skeletons will originate. I think the best time is after the game perspective has transitioned from 2D to 3D. At this point, the player's organism is basically a blob, having just been a large congregation of conjoined cells in a 2D tidepool. At this point, the Microbe Editor is replaced with the Organism Editor. The first time the player passes to a new generation and enters the OE, the player should be able to start to evolve a skeleton. They could place a group of three vertebral bones, an arthropodic abdomen, or a wormacle (with a maximum of three rings).

Here are some questions to answer:

Endoskeletal Systems

How much complexity does it cost to add or remove a vertebral bone?

I was thinking 33 Complexity Cost (CC). This would mean a maximum of 3 vertebral bones could be added or removed in a given generation with a Complexity Meter Cap of 100.

What are the properties of bone?

From some searching of the web I found that most organisms have a bone density of 1.6g/cm^3. The total volume of all the bones in the body would be multiplied by our predefined bone density to get the total mass of all the bones in a body part (head, body, limb, or tail). This would contribute to the total mass of the body part, which would be it's "health".

The vertebral bones of the spine, the bones of a limb, the skull and jaw, and the bones of a tail are all composed of the compound "Bone". This compound would have the density of 1.6g/cm^3. However, another interesting fact I found was that in the human body, each kilogram of bone in the body consumes 0.11 J/s of energy, at rest. Would it be fair to apply this to all bones for all organisms? Also, how will we find out how much energy specific actions will cost?

What would be the movement restrictions of bone?

To do this, I think that it would be important to define an "Anchor" vertebral bone, or a vertebral bone that would not move and would be the reference point for all other vertebral bones. The first vertebral bone placed in an organism would be the "Anchor" bone. If the anchor bone is removed in the OE the player would have to define a new anchor bone. If an anchor bone is removed in an AI org during Auto-Evo, the next closest vertebral bone becomes the anchor bone.
All bones above the anchor bone would be able to turn up to 5 degrees in any direction, with the point at which it attaches to the bone before it being the pivot point.
All bones below the anchor bone would be able to turn up to 5 degrees in any direction, with the point at which it attaches to the bone after it being the pivot point.
These are the basics I can think of for movement limitations of a spine.

I'm going to stop here for now to get some feedback. I feel like this is starting to get terribly complex, but at the same time we need to remember that the goal of the OE is to be able to create a wide array of organisms of diverse nature, and every time the computer needs to be able to analyze them, find how they can move, what animations to give them for moving, how fast they run, if they can fly, swim, climb, how much "health" each body part has, how to animate them eating, and a bajillion other belgiuming things.

For the sake of simplicity, I suggest that we don't even include exoskeletons or hydrostatic skeletons in the initial releases, and just stick to trying to get an implementable model for endoskeletal organisms.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
~sciocont
Overall Team Lead


Posts : 3406
Reputation : 138
Join date : 2010-07-06

PostSubject: Cartilage   Sun Aug 25, 2013 5:13 pm

Immortal_Dragon wrote:
Well, how is the game going to calculate the global generation, take an average of the generation times of all species? That sounds CPU intensive. Thoughts?
Actually, taking an average is trivial. Generation time is just a set amount of real time, say 10 minutes.

Good post, nick.
A necessary precursor to bone should be implemented- it's a complex tissue that doesn't just arise out of nowhere. Therefore, I'd say we have to implement another tissue- cartilage.
According to this very useful page, cartilage has a density of ~1.1 g/cm3 (btw, this source lists bone as having a density of 1.8-2.0 g/cm3. Where is your 1.6 from?)
I would like to have it so that you can't become bony immediately as you become 3D, so I would like bone to only come from a cartilage or chitinous (exoskeleton) base- meaning you have to have one of those tissues before you can have bone.

I think a CC of 33 would be appropriate for removing or adding a vertebra. We also need to worry about editing the properties of vertebra in groups, but we'll deal with that later. Your base (I assume dorsoventral/lateral) flexibility of 5° seems pretty good, I'd add to that an axial flexibility of 5° if that wasn't already assumed. I like the idea of an anchor vertebra as well.
Keep in mind that there is a bossibility of vertebra structures being used as legs, etc. The system currently works well for this application and I want to keep it that way.

Addition of vertebral processes should be fairly easy: all vertebra begin with lateral, dorsal, and ventral processes (4 total) with lengths of 0. The lengths of the processes can be adjusted click by click (by cm/ whatever the lowest possible measurement for bones is)
I'll begin writing a more detailed OE GDD, complete with organ evolution, mutation costs, specific construction requirements and details like these, and so on.

_________________
Remember our goals: simplicity, science, and playability. Keep them in mind always.
[OE]|[FAQ]|[Wiki]|[My Blog]
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Crash Course Evolution   Tue Aug 27, 2013 12:56 am

Okay, adding cartilage as that intermediary step sounds nice. What would be the differences in properties between a cartilage spine and a bone spine? Less health?

For the density of bone, I actually found several different sources. One said that 1.8 was surprisingly the standard amongst all organisms, while another said that some bones are around 1.4-1.5, while others are 1.6-1.8, so I took 1.6 as a compromise. However, with the addition of cartilage, I think 1.8 would be more appropriate.

Quote :
Keep in mind that there is a bossibility of vertebra structures being used as legs, etc. The system currently works well for this application and I want to keep it that way.
Do you mean a body/torso which is also a leg? Because I was thinking that legs would be a joint to be attached onto the spine, like arms, to help the computer identify them as a separate body part from the body (for defining animations and health values for the different body parts).


_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
Inca
Regular


Posts : 250
Reputation : 10
Join date : 2013-07-03
Age : 22
Location : England

PostSubject: Re: Crash Course Evolution   Tue Aug 27, 2013 6:34 am

NickTheNick wrote:

Quote :
Keep in mind that there is a bossibility of vertebra structures being used as legs, etc. The system currently works well for this application and I want to keep it that way.
Do you mean a body/torso which is also a leg? Because I was thinking that legs would be a joint to be attached onto the spine, like arms, to help the computer identify them as a separate body part from the body (for defining animations and health values for the different body parts).

I think this is probably better.
Back to top Go down
View user profile http://soundcloud.com/inca_uk
Sponsored content




PostSubject: Re: Crash Course Evolution   Today at 6:28 am

Back to top Go down
 
Crash Course Evolution
View previous topic View next topic Back to top 
Page 1 of 2Go to page : 1, 2  Next

Permissions in this forum:You cannot reply to topics in this forum
Thrive Game Development :: Development :: Design :: Evolution-
Jump to: