Wednesday, January 13, 2010

Next step forward




After last few days of painstaking work and great fun we took a next step forward creating the underwater world.

First of all, as you can see in the pictures, we made our world looking more like a sea. To make water we used a skybox. In the future we plan to make surrounding more diverse by adding terrain, plants, coral reef and some light effects.

Flocking algorithm is almost done, but still needs small adjustments.

To simulate fish movements we introduced a little bit of physics. It is mainly the second of Newton’s laws (F=a*m) and a couple of other simple formulas (v=ds/dt; a=dv/dt). F is calculated by the flocking algorithm. To make fish movements more realistic we added friction. In the implementation we used the simplest integration method – Euler integration.

The other enhancement we made is TweakBars. TweakBars are windows (shown on the screens) which allow changing values and parameters of simulation in real time. Really handful, especially while adjusting algorithms.

-artSea team-

Monday, January 11, 2010

Space fish


Just a by-product of our recent sky-box experiments ;).

Saturday, January 9, 2010

Some screen shots.




Two screen shots from current artSea build. They show basic flocking algorithm which is under heavy development right now. In the second screen you can see a (currently not textured) fish model we are using during development. It is still too hi-poly and has not yet been reduced. The model has been downloaded from: http://www.lfgrafix.com/grafix/C3DB-Models/Mesh-free/MeshFishToucan.html. You can also see AntTweakBar working.

Sunday, January 3, 2010

artSea - the project

It's time to say something more about the project itself. Its goal was stated as follows:
Artificial sea - write a simulation from point of view of a diver moving in a coral reef. Include movement models for inividual fish as well as fish schools (and the movement of other sea animals.)
 We're trying to accomplish this using technologies and algorithms that are well known in game development industry. We currently use:
As for algorithms, we primarily focus on flocking algorithms, as described in Game Programming Gems, volumes I - III.

Currently, we have a working OGRE skeleton application with modified TwOgreGui plugged in and first sketches of flocking algorithm. Finally we want to have at least four different species of marine creatures along with some plant life and coral reef terrain. It's a long road, filled with several obstacles. The main problems we currently face are:
  • High poly models - our freeware fish models converted from 3DS are too hi-poly for real-time applications; we need to find a way to remove some polygons.
  • Performance of simple flocking - we are not sure whether our algorithm can handle a thousant fish at the scene while maintaining acceptable frame rate. It needs to be tested.
  • Nice looking underwater environment - there are some optical effect that might be tricky to implement, as this topic is not well-covered in gamedev literature.
We'll be describing our struggles with those (and other) problems here as the development progresses.

-artSea team-

Wednesday, December 30, 2009

Welcome to artSea blog!

Welcome to Artificial Sea project blog - a 3D simulation of marine life. There are reports that going public with a project is a powerful motivator for further work. We have decided to try it out ;). So, we are going to write here about project progress and some interesting development issues.

Artificial Sea (abbreviated as artSea) is planned to be a 3-dimmensional simulation of marine life seen in first-person perspective. This task is a university project that must be completed within next few weeks. Its main focus are flocking algorithms. A more detailed project goal description will soon follow this post. You can find the most current source code and other development information at our project page - http://code.google.com/p/art-sea/.

-artSea team-