News Archive 2004
News Archive 2006
News Archive 2009
Diverse Jme Mangalore Nebula Project1 Project2 Tabletop

3D Inferno

The things of real interrest you can find here are:

More to come...

July 19, 2011

I ported the universal animation system and other stuff from to the new jMonkeyEngine3. As a side effect you can have a demo and the source of a model assembler as seen on the goblins in the december post. Next thing to come is a swarm based companion for a player on a navmesh, wandering around the l2j universe. And of course further porting the l2j client to jme3, which has come quite far but took a month (in duration, not work time).

December 29, 2010

Screenshot of an animated character based on input values and buttons for one time actions.Again took some time to update the site, this time I am going to blame MS Xbox for the delay as I have replayed all Halo games made so far and some other distractions in team games.
Besides that I have finished the implementation of a high level universal animation system. As you can see it is working with the part set npc system I implemented for the lineage 2 client. The model you can see on the left is one from the Medieval Total War II Mod Call to Warhammer. If you have not heard of it before, please have a look at it. It is absolutely a must have if you like warhammer and have Medieval II.
The animation system is based on the Game AI Wisdom 2 Animation Selection article by Chris Heckers. An example for the JMonkeyengine is included, an here is a video based on the JME 2 ninja model being used by the animation system. The source including JME 2 example is provided for free.
The original system by Chris Hecker was designed for Unreal II, which some might still know. If not, try to get a copy, should not be that expensive anymore these days.

Screenshot of an different model instances based on the same goblin configuration.Another thing I have been working on is a unit assembler based on model parts for the fast creation of diverse npc instances. Models are defined by providing several possible parts for one location.
On instantiation the parts are chosen randomly to create a variety of different looks as you can see on the goblins in the picture on the left.
The current implementation does not use any material variations, which are also planned (differently shades and colors for each instance). The source is currently not open but will be made available as soon as the next iteration of the lineage 2 client is completed.
Currently I am working on a clean setup a l2j instance and a startup configuration based on a single area. This should give me a starting point from which to expand. It is less coding than configuration, and database manipulation. I am working on a master database from which the client and the server database will be based on.
As I have seen from the past posts here it should be available in the mid of the year I guess..

May 11, 2010

It has been a long time since I updated the front page which could give the impression I have been not doing anything in the past months. I tried to expand the navmesh demo with swarm/boids movement on it and the result was quite satisfying. The swarms were again modified to support formations which you can see on the picture on the left. 

screenshot of a boids formation with 20 members following a leader

Video 1 shows a formation starting at one point and following the leader. The next step was the transition between navmeshes. The implementation uses a rectangular area where navmeshes are contained. Each edge midpoint lying on the edge of the recagular area is treated as a transition cell to the next navigation mesh. To simplify the algorithm the mid point of an edge is nominated to a border point which is the favored point for path finding. Once an entity crosses the edge the nav mesh of the next region is used and path planning to the desired point is recalculated. Video 2 shows a unit in formation doing a nav mesh transition. The green points indicate the navmesh transition points. Currently I am not sure if I wil keep the transition points or switch to edges, which would require changes or an extra layer in the quite modular navigation code. The source of the multi navmesh solution is currently not available as it might be subject to change.

The next thing I have been doing was a multithreaded asset loader. Currently it loads terrain tiles for a dynamic terrain traversal demo where terrain patches are precached on approach and detached on leave. The intention behind the asset loader is a central point for asynchronous asset management (sometimes called streaming). Assets are loaded by asset requests during runtime and attach themself to the scene as soon as they are available. Assets are used as the base for audio/video instances in the final render environment. The source is currently not available (subject to change too). 

screenshot of dynamically loaded terrain patches with detailed patches in the near and coarse patches in the distance

With the different components in place I started to look around for a java backend for an online game. I had a look at different game server concepts and finally settled on l2j. A java based open source game server, currently used soley for playing Lineage 2 as a free shard. The source is clean, well structured, capable of handling large scale scenarios, lacks a bit on documentation in detail but has a very lively community and several years in development. In addition it can be quite easily customized, which makes it simple to start a clean non lineage 2 based gameplay.

So as a proof of concept I wrote a JME based client for L2J which handles login, char creation, walking around the world. The last months I cleaned up my code of the client and made it available. As the vision of my game and Lineage 2 do have things in common (which rpg does not need an inventory, a chat screen, an shortcut panel, etc.?), I decided to make the parts which do not make my game unique freely available. You can have a look at the currently available l2j client (distributable and source) in the JME section.

If you are a friend of board games have a look at vassalengine.com, it's a java based customizable board game engine, with several free to play games. I succeeded in customizing it to be a warhammer tabletop node campaign tool. If you have time have a look. It's free too.

Something missing? Mail to cc

WoW Importer for Max
The World of Warcraft tool for 3D Studio has been updated. It now converts model files from WoW Client version 2.x (upto 2.7) and displays correct animations for multi mesh models. The script can be found here....
nGUI explained
If you ever wanted some more details on the nebula2 nGUI System you can find it in the nGUI System article.
Mangalore entity ID's
If you need information about the mangalore entity ID usage have a look here..
Mangalore Articles
Added a new section about the mangalore game framework from radonlabs. The section contains some articles about my experience with mangalore. Read more here:
Free models
Finally some free models for the Radonlabs SDK. You can download them here.