The Platypus: Half Mammal Half Reptile?

The platypus: for most of us, it is one of those quirky creatures from Australia that one day we hope to see. From an evolutionary standpoint, however, the platypus is fascinating.

An animal that produces milk for its young, yet at the same time lays eggs? A cute, furry, webbed-footed creature that can also release venom so strong modern-day painkillers are useless to affected humans? Rumor has it that at first glance, it was so bizarre that the animal wasn’t even believed to be real, but a mish-mash of others that were assembled together.

And rightly so: When studying the animal kingdom in school, mammals were completely distinct from reptiles. However, the platypus seems to be a unique combination of both.

Continue reading

Sulfur Bacteria: Defying or Supporting Evolution?

In early 2015, scientists found a type of deep-sea bacteria off the coast of Australia that haven’t shown evidence of change in approximately 2.3 billion (yes, billion) years. This threw some people for a loop.

When we’re taught to believe that organisms are constantly changing within their environments, how could this be possible? Doesn’t this defy everything we’ve learned about evolution?

Continue reading

Digital Diatom, Inc. is Awarded $30,000 from the OCE SmartStart Seed Fund

Digital Diatom is excited to announce that we have received funding from OCE’s SmartStart Seed Fund for development and enhancement of our flagship product, Emergence. This will assist us in taking Emergence from its alpha version to beta launch, and facilitating numerous technological enhancements of the product.  We will largely be focussing on sound, interface enhancement and the writing of many new genes to enhance biological diversity within the simulation. Currently, our team is busy working on minor changes to the Emergence and getting ready for closed alpha testing. The feedback generated from testing will be used to modify and enhance user experience in preparation for a round of public alpha access.

Continue reading

Gene Creation Language

 

The above image gives an example of the gene creation language that we are working on. There are two stages to writing a gene. The first is specifying various properties of the gene and the second is implementing it's behaviors. Because individual genes can be very complex we have begun the creation of a language in Emergence for their creation. Currently it mainly exists in C++ as a series of C-processor macros for prototyping. All the gene code gets compiled and optimized.

I won't currently go into details about what all the code does as nothing is in stone as of yet but I'll give a general idea. The gene in question "Spike" codes for the ability to create a sharp Spike on an organism. Now having this gene alone won't result in a spike on the organism, other genes are necessary to decide where it's placed etc...) The gene has two parameters that may mutate and evolve rate (length of spike and damage done) and angle which determines the angle that the spikes protrudes at. It goes through a couple steps of phenotype refinement as other genes can affect it. The gene also determines the shape of the spike so as genes mutate the shapes of the parts that make up creatures do as well. When the shapes change properties of the shapes (area, volume, sharpness, etc...) change as well that may affect other genes/processes. This makes genetics in emergence very dynamic.

We hope to make the creation of genes available for those whom purchase the software.

DemoCamp Presentation

Yesterday we presented a pre-Alpha game play video at Software Hamilton’s DemoCamp Event. We are very happy with how the presentation went and made great connections in the process. Thanks to all of you for your support.
We have added voice over to the presentation video and uploaded it for anyone who missed it.

Getting Ready for Marketing

Up until now this project has been mostly secretive. However, during the next few weeks we will begin to start marketing and promotion with the hopes of having an early alpha release ready for pre-sale in the next few months. With that in mind we have been spending the past week producing content to show off when marketing. I have just recently completed a diagram of the major functionality genes may possess. This outlines our genetic model quite well.

Gene-Actions-Black-01

New website and forums

We have migrated to a new web host that provides us with much more flexibility. The websites had to be entirely rebuilt from scratch, however now we have community forums as well! It was a busy day of work.

Selection and Species hybrids

Having all organisms based of the same modular genetic templates allows for some interesting functionality. Up to this point you could combine a whole species genetics into a species genetic profile. If the user places a new creature down according to the profile

Now we are introducing functionality to select multiple creatures at once from different species and create a hybrid genetic profile of the selection. A creature placed from this profile would come into existence as a hybrid of both species. It also brings up the important question of what a species really is and how accurately we can hope to portray one.

Organism-Organism Interactions (and others)

Up to this point organisms mainly interacted with each other through competition for resources and space. That is to say the closest kind of direct interaction they possessed was bumping and pushing each other.

We have greatly expanded the capacity of the simulation for organism-organism interactions. This was done by creating a special set of phenotypes that may operate on two organisms simultaneously and triggers so that these new phenotypes can be activated by the collision of organisms.

Note that here we use a somewhat expanded scope for the word phenotype. While a phenotype is described as an observable characteristic determined by genetic and other factors, we include the resulting action/behavior as part of that phenotype.

Let’s just say this was not a simple task… Writing a function that can operate on two organisms simultaneously in a multi-threaded environment can be complicated. Especially if one is focused on performance and intends to accomplish the task without the use of any locks or atomic variables in a cache friendly manner. Additionally there were certain incomplete aspects of both the collision system and organism growth code that needed to be updated for this task to be successful.

Two very unique genes were created to demonstrate the flexibility of this approach. One a direct damage genes that adds a spike to an organism that inflicts damage when organisms collide. And the second a virus that is spread upon organism contact. Within the system its modeled as a phenotype that spreads to other organisms when they collide. Writing this into the system has also initiated the code of extragenomic information. There may be other interesting uses of this functionality. One could easily create structures resembling bacterial plasmids that transmit multiple genes!

The next stage will be to further develop the UI to allow for an expanded view of individual creatures, statistics, selection by criteria, tree of life, creature designer, etc… Once this is looking decent we will release a set of videos demonstrating the functionality.