Page 1 of 1

The Intensity Engine

Posted: Sat Nov 29, 2008 11:25
by kripken
The Intensity Engine is a recently released open source platform for multiplayer, immersive 3D worlds and environments. Basically, it has somewhat similar goals as things like Second Life, but gets there from the direction of a game engine, which means that it is fast and responsive (even when connected to a remote server - like multiplayer first person shooter games are). Currently it runs on Windows and Linux, for both the client and the server.

The Intensity Engine started from the basis of Sauerbraten, a mature multiplayer first person shooter, but is heavily modified. Among the modifications is that we removed the built-in GUI, which while efficient was too specific, and replaced it with CEGUI; I think in retrospect that was an excellent decision as we found CEGUI to be very useful :)

Here is an example screenshot:

Image

(As you can see we should probably tweak the CEGUI theme some more ;) ) You can find more screenshots and videos here.

Other modifications to Sauerbraten include integration with Python, which is the primary development language for applications using our engine (while the engine itself is C++, Python, and Lua with CEGUI); a custom API that simplifies creation of complex multiplayer applications - this was the original motivation for the project in fact; physics and NPCs on the server; data persistence in SQLite, using Storm; and automatic network protocol code generation. Another major modification currently in progress is moving to Ogre rendering.

While doing so we kept what we see as the core benefits of Sauerbraten, primarily the world editing capabilities: multiple people can simultaneously edit the same world, all doing so inside that world (as opposed to using an external tool like Blender - but you can do that as well). The world format - an octree of deformable cubes - is a unique approach that makes such editing relatively simple and even fun. Sauerbraten also comes with well-tested code using that world format for physics, saving/loading, etc., as well as network code, static lightmaps ('baked' shadows - you can see them in the screenshots), and other stuff.

Version 0.1 of the Intensity Engine has been released so far, with 0.2 coming up in a week or so. The release after that might be dedicated to the migration to Ogre. So, we are a new project but working hard at quick progress. As I said above, this is an open source project, and we welcome your using our code and giving us feedback. We also welcome help, the more we get, the faster we can advance.

Thanks for reading all the way to here :)

Posted: Sat Nov 29, 2008 13:31
by CrazyEddie
Hi,

Very nice - I particularly liked the videos on the site :)

And I'm glad CEGUI has been useful to you.

CE.

Posted: Sat Nov 29, 2008 17:45
by Pompei2
Hi, looks interesting, nice video. Can you tell me using what technique exactly you calculate the real-time shadow of the player? That animal that jumps around :)

Posted: Sun Nov 30, 2008 13:15
by kripken
Pompei2 wrote:Hi, looks interesting, nice video. Can you tell me using what technique exactly you calculate the real-time shadow of the player? That animal that jumps around :)

The credit to that goes to the Sauerbraten engine, more specifically the lead developer eihrul, whose homepage is here

http://lee.fov120.com/

There is a link there to a PDF file describing the specific shadowing algorithm, "Simpler Soft Shadow Mapping". I believe it is unique to Sauerbraten, but similar algorithms exist in other engines.

Posted: Sun Nov 30, 2008 14:58
by Pompei2
Ok cool, thanks I'll have a look as I am currently playing with shadows a lot.

Posted: Tue Dec 02, 2008 01:13
by Jamarr
That looks awsome. I worked on a custom game engine in school with a group of guys that had a similar look/feel to this, but that engine is far more polished. Most of our code also looks like it came straight out of a horror movie lol.

How long have you been working on this project? Also curious how long it took Sauerbraten to write that engine.

Posted: Thu Dec 04, 2008 17:42
by kripken
Jamarr wrote:That looks awsome. I worked on a custom game engine in school with a group of guys that had a similar look/feel to this, but that engine is far more polished. Most of our code also looks like it came straight out of a horror movie lol.

How long have you been working on this project? Also curious how long it took Sauerbraten to write that engine.


I've been working on this project for about half a year.

Sauerbraten has existed for a few years, but I am not sure how much of that has been intensive development - it's been quite stable for some time now.

0.2 Release + Now Hiring ;)

Posted: Fri Dec 12, 2008 12:41
by kripken
Version 0.2 of the Intensity Engine has been released, which includes CEGUI 0.6.2b.

You can get it here:

http://www.intensityengine.com/download

Some new screenshots and videos can be seen at

http://www.intensityengine.com/screenshots-and-video

Changes include:
===============
- Procedural generation of scenery, scriptable from Python. Includes
basic smoothing of the raw data
- 'Manage Entities' window in edit mode, lets you see all the entities
by categories (in a tree), and clicking on one focuses you on it
- NPC steering now has core portions in C++ for speed
- Port eihrul's smooth stair movement patch from Sauerbraten

Bugfixes:
- New entities aren't placed halfway in the floor (which made lights
not work until moved)
- Login errors appear (disconnect is done after them)
- Various other small bugs
===============



At this point, the engine is close to feature-complete for various types of games. I am now going to focus on creating a concrete game using the engine, so I'm looking for people to team up with.

Specifically, I'm looking for two people: a 3D artist/modeler, and a (C++) coder. The general idea is a third-person action game, but no specifics are yet decided upon - as the actual game logic is done in Python, we can rapidly playtest a lot of ideas :) If you might be interested in collaborating on this, let me know, either here, on IRC (#intensityengine on FreeNode), or by email at kripken -at- intensityengine dot com.

Note that the engine is open source, but that does not preclude the game from being commercial. In particular, we can try in-game advertising to make money. Profits will be shared with all team members, of course.

Posted: Fri Dec 12, 2008 19:21
by CrazyEddie
Congratulations on your release :)