Getting Started

Nov 19, 2008 at 1:33 PM
I am trying to create a new organism of any type, but I always get the message: "Dead organisms can't move" when I try to adding to my terrarium. Does anyone have any suggestions? (the code I'm using is copied directly from the sample)

Thanks.
Nov 19, 2008 at 8:12 PM
Edited Nov 19, 2008 at 8:14 PM
What Terrarium version do you use? I have received the same error using version 2.1 (build 23367) from source Code Section http://www.codeplex.com/terrarium2/SourceControl/ListDownloadableCommits.aspx. But i can creat organisms successfully in version 2.0 (downloaded from Releases section).
Nov 20, 2008 at 12:33 AM
You're right, 2.1 was the problem. Thanks for the help.
Coordinator
Nov 20, 2008 at 3:52 PM
When you build a creature you have to link against OrganismBase.dll. The version of that assembly has to match the version of the same assembly that the client (and/or server) is using. We're looking into dealing with version differences to try to make things a little easier for creature creation.
Mar 1, 2009 at 4:57 PM
There is an issue in 2.1 in OrganismBase where, essentially, the creature is dead before it was ever alive.  The "IsAlive" property will return false during the creature's initialization causing the "Dead organisms can't move" error mentioned earlier in this discussion. 
Coordinator
Mar 1, 2009 at 5:50 PM
Where in OrganismBase is the issue? If you can let me know why you think there's a problem in the codebase, I'll flag it as a defect and we'll fix it. Thanks.
Mar 1, 2009 at 7:58 PM
In 2.1, when a new species is added to the game and "InitializeNewState" is called for that species (i.e. Terrarium.Game.AnimalSpecies.InitializeNewState in the Game project), the method creates the OrganismState and sets its position, radius and engergy level.  The problem first occurs when "InitializeNewState" tries to set the position.  The Position property of OrganismState checks to see if the Organism is alive (via OrganismState.IsAlive property) and if it's not, throws a GameEngineException.  The IsAlive property looks at the energy level and if it is zero, it returns false.  Since the energy level starts out as zero, the IsAlive property is initially false and thus the attempt to set the initial position fails with a GameEngineException "Dead organisms can't move".
Jun 15, 2009 at 1:03 PM

Hi.
r24268 causes that error.
r20104 doesn't.
I tested it by replacing "/Client/OrganismBase/" directory with specific svn revisions.
Sorry I don't understand what's wrong between them.
Thanks.

Jun 19, 2009 at 12:02 PM

I posted a sample patch. [patch:3114]
http://terrarium2.codeplex.com/SourceControl/PatchList.aspx
Hope it will help you.
Thanks.

Jul 2, 2009 at 8:40 PM

For the "Dead Organisms" issue see http://terrarium2.codeplex.com/WorkItem/View.aspx?WorkItemId=13593 and patch 3231.

Coordinator
Jul 3, 2009 at 1:07 PM

The dead organism issue has been fixed in changeset 35111 here:

http://terrarium2.codeplex.com/SourceControl/changeset/view/35111