Nebula2 / Mangalore tutorial page....
Should I add this page in under construction ???


In the next weeks (ok, let's say months) I'm going to revamp the all site ; db, news, comments, etc..

Ok, so if you reach this page that mean you're looking for some tutorials on mangalore game engine.

First, I have nothing to do with Radon Labs, neither any of the admin staff of nebuladevice.org.
I made those by my own, after spending lot of time (in fact too much...) figuring out how this engine works. Those tutorials are not aim to be perfect, and there're eventually not ! In a matter of speaking, I hope my work is going to be helpfull, and if not, make you're OWN tutorials !! (that doesn't mean I won't accept any corrections....)

Each one deal with a few aspects of the engine. I try to be as "clean" as possible, the code mustn't be too hard to understand just by itself.

This page was made in an hurry, don't expect in deep line by line comment....

For any questions please use the forum nebuladevice.org I won't directly answer to any mail...


Update 2007/05/28
Added new tutorial (06)
Still NO proper documentions. I'm working on it, so stop asking !! I know it's mandatory !!


Update 2007/04/15
Moved the top directory to "nebula2/code/tutorials"
Move the source files into propert directory (state,property,message)
Minor bugs fix on all tutorials ; update of bld files...
Still NO proper documentions. I'm working on it, so stop asking !! I know it's mandatory !!


How to install
Each archives include all required files. Unless specified, no svn files is modified (so, it's safe..)
Nebula2 top directory is "nebula2". Top archives directory is "nebula2" so unzip into the nebula2 parent directory... (You must have : nebula2/code/tutorials/mTutorial*)

Before you can compil the tutorial, you must create the solution. After installing, run "nebula2/update.py". A workspace for each (installed) tutorial must show.If not, there's someting wrong with your install !!. Select. Select your target solution and run. Open the solution and compil.
You must run update.py everytime you add or change a bld files.


Tutorial 01 : First window

Not so much ! just a minimal set of classes for displaying a window. A good start to understand how mangalore work. Should I add you suppose to check Game::App methods too ???
tutorial 01


Tutorial 02 : Displaying an object

In this tutorial I add a state handler (see tutorial 04 for more detail),
introduce the entity concept,
show how to tell mangalore an entity is actually a graphic one,
create a primitive light system,
introduce the attribute system,
introduce the camera, (kind of mandatory if we want to see something !),
create your own camera (which we will handler next...)

tutorial 02


Tutorial 03 : Playing with the camera, the input system

Introduction of the message concept, which here is used to control the camera.
Introduction of the input system of mangalore (static, not by script)
tutorial 03


Tutorial 04 : State handler

By implementing a pause/resume based state handler, this tutorial aim to show how state handler work (btw from tutorial 03 lot of code move), how important it is and how it helps to make a clean code...
tutorial 04


Tutorial 05 : Introduction to physics (beta test)

This arch is for nebula2 coders : This tutorial (actually 2) is not working correctly.
What this tutorial is suppose to teach :
Introduction to physic simulation with mangalore : driving the opelblitz
Physics property, xml physics files, joint/body, ode low level functions velocity/torque, etc...

What required : Acknoledge of ode library and some base in mecanic (velocity, mass, torque, friction, etc...)

tutorial 05 / 05b

There're 2 solutions : 05 is a very basic car control, 05b is a little more complex. When the tut'll ok, 05b is planning to be realistic (which is not !!)
what's wrong : friction with ground doen't work as it should be, lighting is wrong (doesn't update shadow again new objects orientation). If you get the solution, tell us (forum)


Tutorial 05 : Changing texture at runtime (damage level...)

Just few lines to explain how to perform damage levels / texture on a model at runtime. This must be link with some more code on physics/collision, and used on a model with more than 3 meshes !. For this tutorial, the collision is emuled with keyboard.
tutorial 06


Tutorial 07 : ????

Stay tune, on line really soon...