- Make plants die from old age.
- Make animal class.
- Make animals move (read up on vectors).
- Make animals able to eat plants.
- Make plants at different heights.
- Make animals have variations in their heights so different animals can eat different foods.
Category Archives: Research and Learning
An appropriate example of evolution has been chosen to base the project on. This is not a specific example of an ecosystem but of a way that certain animals have evolved. The example is reptiles, reptiles have evolved in many interesting ways to cope with environments:
- Tortoises evolved shells to protect form attack and then some tortoises have evolved flippers and become turtles.
- Snakes evolved from lizards which had legs but started to burrow and lost the use for them.
There are many other examples.
So in the project this will be implemented by having reptiles which can evolve different characteristics e.g. shells, lose legs, longer neck…. and then have different environmental conditions and see which conditions best suit which attributes. The first task will be to start simple so turtles can have different length necks so which will allow them to eat food which grows at different heights.
This idea was inspired by the Documentary: Life in cold Blood by David Attenborough episode Armoured Giants.
Many physics engines have been investigated which could be used for the project. It was first though that the Ogre game engine would be used which uses the Bullet physics engine. But it was decided early on that programming would be done using OpenFrameworks and OpenGL. For this reason the ofxMSAPhysics library was considered this is a physics library which is integrated with openFrameworks. This was a good good option but before the decision to use this library was made the possibility of using Bullet in openFrameworks was investigated.
Bullet is a very powerful physics engine which would be very good for the project, here is the official Bullet site for: http://bulletphysics.org/wordpress/
and these are videos of the what the Bullet physics engine can do (not using OpenFrameWorks) :
this video uses OpenGL which will be used for the project:
When researching the Bullet physics engine it was found that there is a Bullet addon for Openframeworks, ofxBullet, this was exciting news as it meant that not much work would be needed to get the Bullet physics engine working in Openframeworks. This was first discovered on this site: http://vimeo.com/26886772, it was then found that the ofxBullet library and examples could be downloaded from github: https://github.com/NickHardeman/ofxBullet and an example was up and running in no time.
Here is a screenshot of the Joints examples:
This example starts with 2 ball connected by a joint, every time the left mouse button is clicked another ball is created connected to the last by another joint.