Demolition Man

Hey guys, I want to create something similar to a Bomberman.

Implemented features

You can get a wall sliding effect pretty easily if you use the simplephysics package (which apparently is still not a part of the jME 2.x trunk).  See the following thread for related info.  The later posts will most likely be more relevant to you than the earlier ones.  I think that the link to the package is in there somewhere.  If not, let me know here and I'll track it down.

ok, now the game is using physics, this is really cool.

But i have one problem, my player can't stay on feet for more than some seconds, so i try changing the model with a little box, right, but the problem is still there, when i collide to fast with a wall the box rotate upside down, and my forward button don't work properly.

some idea? i'm thinking in a procedure that controls the balance of the player, for do that it have to check the rotation of the object and correct it.

i solve the problem of the drunken guy adding this line

player.setCenterOfMass( new Vector3f( 0, -.5f, 0 ) );

hi again, i’m working hard to bring up a respectable 3d model for the player, i found some troubles with the previous model, i think that not any model from the blenders can be converted in MD5, so i try with a new one. 3d5fellow.

In the other hand i have a big problem, the new implementation of the bomb, now the bomb work in a separate thread and SOMETIMES fails removing the wall nodes from rootNode.

public class Bomba extends Node implements Runnable {

//Detonate metod
//c is a Spatial of the wall node that have to be removed

            final PhysicsNode cc = (PhysicsNode) c;
                  new Callable<Object>() {
                     public Object call() throws Exception {
                        return null;


public void run() {
      while (countdown > 0) {
         try {
            threadMessage("s" + countdown);

         } catch (InterruptedException e) {
         } catch (Throwable e) {


GRAVE: Exception in game loop
java.lang.IndexOutOfBoundsException: Index: 238, Size: 238
   at java.util.ArrayList.RangeCheck(
   at java.util.ArrayList.get(
   at java.util.Collections$SynchronizedList.get(
   at com.jme.scene.Node.updateWorldBound(
   at com.jme.scene.Spatial.updateGeometricState(
   at com.jmex.physics.util.SimplePhysicsGame.update(
   at jDemolitionMan.JDM.main(

the full code is available in svn repository

i have found a solution to the problem of removing nodes from a new thread.

in the simplePhysicsGame class add a new instance variable, the queue.

Queue<PhysicsNode> trashColector;

instance it with a concurrentLinkedQueue in simpleInitGame

trashColector = new ConcurrentLinkedQueue<PhysicsNode>();

in the thread add the node to the queue

trashColector.add( " THE PHYSICS NODE HERE " );

and finally in the simpleupdate, remove all the elements in the queue and destroy them all!!

if (!trashColector.isEmpty())

is ok?

Ok guys, tomorrow is the D day, we make the best as we can.

We make this as project for Program Technologies, a signature of my ph. 

From this moment the code if property of the community. Enjoy it.

Wait–your project is done? Why not post some screenshots?