Research on Terrarium...Please Help me ASAP!

Hello to all the developers here!
My name is Logas ...
I am a student in Malaysia doing my Final Year Project for my Degree..
Well basically my research is on Terrarium....indepth research.
but i am stuck ....
so here i am looking for help!

basically i understand what terrarium is all about and i am impressed that initiative is taken to simulate and prove the A-Life theory!
here is a few questions that i am unable to answer when i did research!
1. What algorithm does terrarium employ
2. What methodology is used to develop terrarium
3. What design features or just what design were used to develop terrarium
4. Does the algorithm defer between the character and the program that introduces it to the environment
5. These are a few key words that i came across...Genetic Algorithm, Flocking , A-Life, Pathfinding, Evolutionary AI, and ....err....i cant state anymore that i know....but anyways whats being used and whats not in Terrarium

Do help me out .....i need your help to understand the system and understand the algorithm.....
any links , journals and explanation will be handy....

this is my private e-mail.....please do mail me ....
thank  you ..
i will be checking this forum .....constantly!

thank you!

p/s: if there is anything that i missed i will ask / post it later !


Answer this question

Research on Terrarium...Please Help me ASAP!

  • GregWold

    1. I don't understand the organism attributes that well either. Sure, it's obvious I can make my creature a little bigger or smaller, a little faster or slower, with better vision or worse; but it's unclear how to reach a balance. Or what balanced is! -- But it turns out, that is part of the challenge in building a successful organism!

    2. Try this:
      Game Settings -> Graphics -> Enable Bounding boxes 
    That should help 'ya visualize the collision detection. And why the code to do it in your organism can be tricky.

    4. The animal farm has lots of code to share. Most of it is pretty old. I found an implementation of the "A*" algorithm for terrarium, which I used in my creature to find it's way around obstacles. 

    That's procedural abstraction at its best! I haven't taken the time to learn how the bounding boxes in the ecosystem work exactly. I haven't taken the time to learn to how "A*" works. But I was able to plug that into my creature and solve that problem with very little effort.

    5. Since we all can write our own creatures we can use almost ANY techniques we want. Maybe strategy is a better word. I imagined simple rules for mine:
      a. attack things smaller or weaker than me
      b. run from thins smaller or stronger than me
      c. run from anyone who is chasing me!
      d. eat whatever you can 
      e. remember the creatures I've beaten or received a beating from. Use this history to bias the earler rules. Pass this history to offspring (if I live that long).
    - You know Darwinian survival type stuff!

  • Bursteg

    I have came across a few websites which details the keywords that you mentioned....

    1. http://www.objectmentor.com/resources/articles/umlfsm.pdf
    2. http://en.wikipedia.org/wiki/Finite_state_machine
    3. http://whatis.techtarget.com/definition/0,,sid9_gci213052,00.html

    Neural Nets
    1.http://www.shef.ac.uk/psychology/gurney/notes/l1/section3_1.html#SECTION0001000000000000000
    2.http://vv.carleton.ca/~neil/neural/neuron.html
    3.http://www.cormactech.com/neunet/whatis.html

    Funny ....i mean fuzzy Networks....i guess i still have my humour....lol...anywayz,....is this the cobination of Neural Net and Fuzzy Systems
    1. http://www.abo.fi/~rfuller/nfs.html

    and more.....
    and guess what ......the olny question in my mind now is ....does terrarium support all this concepts and what do they mean ...... .....Is there sample programs that i can see  ]


    Ohh yes another thing is ....let me get something straight....u mean the creature is not an AI but rather a code developed that interacts with its surrounding....in this case its the Ecosystem and evolves accordingly......rite

    interesting.........but still in the dark......because i thought if thats true than it is an AI 
    because aint AI self evolving/
    but its just that in Terrarium's case its evolving is under the constraints of the Ecosystem ...rite....

    ohh yes...why the environmental effect like rain , heat or other natural effect is not implemented in the game  Because if it is to simulate the real workings of a creature...than those constraints are necessary rite

    hmm....question after questions after questions.....its facinates me ! :P







  • KrazyKiwi

    I am so happy that i have created a creature....even with my shallow understanding of the whole scenario.... Thank you for motivating me to take the step in creating the creature.

    First of all , you are right Sir Vanerj, new sets of questions did pop out in my mind...
    1. I dont really understand the codes thats define the creatures attributes
    2. I am impressed and at the same time confused because the collison detection is not visible to my eye.... is it build in the Terrarium.exe
    3. The creature that i created is a very simple and standard....enough to show the characteristics and behavioural of the creature.......and i noticed another creature more advanced than mine when i was in Ecosystem Mode.
    4. I would like to see other codes that uses other concept like stated in the previous message by Sir Justin Rogers  which goes "I myself have tried everything from finite state machines, to neural nets, to fuzzy networks, to simplified vector machines, down to weighted graphs. "
    5. The terms used by Sir Justin Rogers is very new to me....please do explain to me about them .....and ohh yes.....in developing the creature what are the concept that need to be learned  ....and which concept will be the closest to an AI 

    Tomorrow i am going to show the codes that i have developed to my lecturer and see what he has gat to say about them ....if complication or questions arise....i will post them here hoping to get answer and help..

    Again ....Thank You Very vERY much!
    hope to see the next reply.
    :)
     

  • Pratish

    1.  Terrarium doesn't have an algorithm that it uses.  It poses a basic set of environmental rules on creatures, and then creatures develop their own algorithms in order to combat this environment and other creatures for reproduction and numbers based dominance.

    2.  For Terrarium we used a trial and error development of the basic environmental rules.  We tweak numerous world constants that define energy consumption for various types of actions that creatures can perform.

    3.  We used every new technology of the .NET Framework in order to develop the Terrarium.  It was meant to be a technology demo and a bug finder for all aspects of the CLR.  In both cases it was extremely successful showing off many features of the .NET Framework and at the same time finding numerous bugs before the product release that were fixed before ship time making an extremely stable V1.

    5.  Developers can use all of those buzzwords to develop their creatures.  Developers can put anything into code they want in order to handle the environment that is before them.  Rather than defining a new programming language specific to the Terrarium we just use C# and VB .NET in order to develop creatures.  Since these are fully featured programming languages you can write any algorithms you want and employ any techniques you'd like.

    I got the chance to help develop the Terrarium so hopefully I can answer your questions in as much detail as required.  I would suggest looking at old Forums posts and doing some searching on the Internet since there is already a great knowledge base for the Terrarium project.  We are all hoping the source will be available soon as well, which should help define the Terrarium even further.

  • ATAMAN

    1.  No the Terrarium doesn't have any AI.  Developers program AI to control creatures that they insert INTO the Terrarium.

    2.  Sure.  Every action that a creature can perform is exported from the OrganismBase assembly.  In the Terrarium world, Energy is the defining resource.  So by tweaking various constants that define energy consumption we define a set of rules to create an environment in which creature AI can interact to best the system.

    3.  CLR is the Common Language Runtime.  Basically the CLR is the defining technology behind the .NET initiative.  This forums on this site talk over many CLR features, but namely those involving client applications that run on the Windows platform.  www.asp.net/Forums will provide the same type of information, only examining the server side more than the client side.

    4.  Any.  Go open an AI book (or any programming book just about for that matter) to a random page and you can most likely use that algorithm to program a creature in the Terrarium.  I myself have tried everything from finite state machines, to neural nets, to fuzzy networks, to simplified vector machines, down to weighted graphs.

    5.  Yes, the Terrarium Server is up and running.  You are probably running into some of the same issues others are in regards to living behind a firewall/NAT environment.  I'd recommend reading the FAQ and reading posts on this forum to get yourself fixed up.  You can run the Terrarium as a personal game in Terrarium mode.  When in Terrarium mode you can introduce any number of plants and creatures using sample code from the tutorials and play against yourself.

    I'd honestly recommend reading through a large amount of the documentation, the FAQ, and these forums if you plan on sticking with the Terrarium for any length of time.  There is a wealth of knowledge based on nearly two years of public Terrarium release.

  • Paul Dettorre

    i am doing my final documentation on the terrarium , the relation of it to AI and further research on the keywords that has been stated in this messageboard.

    this is what i require:
    1. is there anything that you want to highlight about terrarium
    2. I need sample codes that you have developed
    3. Is there any bugs that you want to state
    4. is there anything you want me to research...or u think might help me in my research

  • Joe Au

    I recommend you design/build an organism yourself. 

    It doesn't matter if its a plant, herbivore, or carnivore. 
    It doesn't matter if it is successfull or dies in the first 5 minutes.

    It'll answer many of the questions you've asked, but more importantly, it'll make your next set of questions more interesting!

  • DotNetDevelop

    hmm a thought to ponder to upon 

    ohh yes...is there anyone who did the coding using other algorithm....
    i would like to see the sample codes.
    i especially interested the one coded in genetic algorithm and Neural System

    Thank you for helping me very very much
    I am eager to see the reply for this message!

  • Greg3055

    Oh Yes...To everyone ....
    I would like to know what do you all think of this Terrarium , what are the pro's and con's , what are the improvements, what are the bugs that you have encountered, Suggestion for terrarium okay....

    If you have anything to add ...please do so ...
    this is basically a survey to help me out understand more from a client / user point of view.
    I appreciate everyone who is gonna be along side me through this whole journey!
    thank you.


  • doubletree

    1.When you say that terrarium  doesnt have algorithm but uses a basic set of environmental rules.....is that considered to be AI

    2.I need elaboration when u said that "We tweak numerous world constants that define energy consumption for various types of actions that creatures can perform.".....care to explain that statement

    3.It's an interesting approach for a technology demo ......what do you mean by CLR  Can you state some of the features of .NET and is there a link or sites that state the many features of .NET and why it makes that framework better than the rest!

    4.When you stated that we are able to use any algorithm or techniques we want to develop the creatures ... what are the techniques and especially algorithm thats available

    5. Is the Terrarium server running ....i am having a problem because after installing it states that server is not found or something like that ......so is it running   But more importantly ....if i use terrarium as a personal game .....can i introduce a creature from using the codes that are in the tutorial .....
    Hope i am not being a pain in the ass.....lol......but its just that this thing facinates me and the thought of AI is very intriging and new! Hope to learn a lot from you and the rest of the developers here!
    hope to see a reply soon!

  • Research on Terrarium...Please Help me ASAP!