Re: csisland improvement

"Christian Van Brussel" <[email protected]> Mon, 22 Apr 2013 13:47:56 +0200
Newsgroups gmane.comp.graphics.crystalspace.devel
Message-ID <[email protected]>
Hi,

> The
> demos definitely work fine but when I use ctrl + arrow keys in csisland to
> make the camera go faster, there’s a pause (probably to calculate some
> stuff) after 2 seconds of fast camera movement.

A priori, this is due to the shaders getting activated and compiled for
the very first time on your system. If compiled in debug mode, then you
should see at the same time some feedback about that displayed on standard
output.

Although this is supposed to happen only once per shader, this might be
more user friendly to find a way for activating and compiling them at
launch time rather than during the use of the application, and you can
clearly add that functionality to your task list.

> Now the game idea , I do not know if I have to come up with a background
> story as well but this is what I have in mind ;)  :

We are far more interested in a technical demo rather than in a funny
game. You can add some background story e.g. based on the YoFrankie!
story, but that's not very important here.

> 1.       The user controls a vehicle that starts very close to the peak of
> the volcano. At the beginning of the game, the volcano erupts, sending out
> chunks of burning rocks into the air (basically orange colored
> spherical/rectangular things covered in flames). The goal of the user is
> to
> navigate the controllable object to a particular position in the map.

One problem here is that the physical vehicles are a very young feature in
the physics2 plugin, and they might need to be tested and developed
further before getting really usable and stable in behavior. If you intend
to use them a lot in your application, then you may also need to work
around the physical behaviors of those vehicles within the physics2
plugin.

Terrain support might be improved too in order to be able to define
different physical properties depending on the materials of the terrain, a
feature quite important for a car racing game.

All of that would need to work with the Bullet library and the physics2
plugin, but this may not be the goal of this GSOC project. This is however
still a possibility, and if you are interested in that then you can turn
your project into the addition of the features needed for a car racing
game, but otherwise you may consider lowering your needs around vehicles
and work on other functionalities instead.

> But I guess creating maps won’t be a problem. I came upon L3DT
> (large 3d terrain editor) while I was experimenting with panda3d and it
> allows the user to create large, somewhat detailed, maps (with water)
> quite
> easily. (link here). But I guess the given map is large enough J

The base layout of the csisland has been made with L3DT, then it has been
textured within the PnP Terrain Editor software, then exported into CS
using the dedicated plugin (accessible in the branch
'CSExporters/CrysalPnP'). The (not-up-to-date) assets of the terrain are
located in 'CSAssets/trunk/island'.

Modifying the terrain is however a time consuming work, and since a GSOC
project should be about coding and not doing some artistic work, hence you
should take care of not having too much needs around that.

Similarly for flaming rocks, water splashes, explosions, folding vehicles,
etc, pay attention that this may need to find or design new assets for
that although you are not supposed to spend much time on artistic work.
All of that is feasible, but you should take care of not having too much
needs around that.

> 3.       Okay, so the vehicle,  moves across the quite rough terrain, all
> the while dodging  chunks of flaming rocks falling all across the terrain.
> Chunk falls on head = game over
>
> 4.       After sometime,  the vehicle/character falls into the water
> (hopefully, with a splash).

Again here, pay attention that we are far more interested in the technical
part than in the funny one. For example for a car, we would be more
interested in features such as having particles displayed at the rear of
the tires, having some skid marks added on the terrain, destructible
vehicles, and sounds modulated by the speed of the engine.

> 5.       Now comes the interesting part. The vehicle folds its tires up
> and
> converts into a boat sort of thing (more or less like the ‘seaways’ cheat
> in GTA vice city, was quite fun a few years back ;) )

The same problem than the cars occurs here: nobody has ever tried to set
up boat motion behaviors in CS, although this might be tricky to achieve
something physicaly accurate. And since we are a priori more interested
here in showcasing the features that are already in CS rather than
developing new ones, then you may consider lowering your needs around
that.

> But en route, the burning
> chunks fall in the water nearby and sends ripples in every direction. The
> craft sways to the ripples (like a boat, of course). Larger chunks cause
> more awesome ripples. The user will have to steer the craft avoiding those
> larger chunks to reach the destination

Ripples and such may be great but the current watermesh has not support
for adding neither additional ripples nor decals. If you want to use them
then you would first need to add that support within the watermesh, and
that might not be what you actually wanted to do for this project.

This is the same problem for terrains: they currently don't have support
for decals. Either you plan to add that support by yourself, or you skip
the possibility to use them.

> So that’s basically the idea. Now as to how exactly the game will
> showcases
> the ‘features’ of Crystal Space. I’m not exactly sure what the features
> are
> and I’d be glad if someone can tell me which features I should be
> concentrating on.

I would not ask the question such as "I know the game I want to do, how
will I implement it?", but instead "here is a set of features that would
either be needed or be in need of being showcased, how will I do that?".

You can then also add many smaller functionalities such as a loading
screen, a HUD, an in-game terminal, lens flares & halos, environmental
sounds, nicer sky & clouds, etc.

You can also work not only on the csisland demo but also on the csbias
and/or CrystalCore ones. IMO, csbias has currently more opportunities for
improvements because there are a lot of things that can be made on the
technical part, while csisland would now mainly need artistic work and
more advanced terrain/physics/water functionalities.



------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Crystal-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-develop