The Intensity Engine
Posted: Sat Nov 29, 2008 11:25
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:
(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
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:
(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