def METHOD_NAME(self):
    self.worldNP = render.attach_new_node('World')
    # World
    self.debugNP = self.worldNP.attach_new_node(BulletDebugNode('Debug'))
    self.debugNP.show()
    self.world = BulletWorld()
    self.world.set_gravity((0, 0, -9.81))
    self.world.set_debug_node(self.debugNP.node())
    # Ground
    shape = BulletPlaneShape((0, 0, 1), 0)
    body = BulletRigidBodyNode('Ground')
    bodyNP = self.worldNP.attach_new_node(body)
    bodyNP.node().add_shape(shape)
    bodyNP.set_pos(0, 0, -1)
    bodyNP.set_collide_mask(BitMask32.all_on())
    self.world.attach(bodyNP.node())
    # Some boxes
    shape = BulletBoxShape((0.5, 0.5, 0.5))
    for i in range(10):
        for j in range(10):
            x = i - 5.0
            y = 0.0
            z = j - 0.5
            body = BulletRigidBodyNode('Box-{}-{}'.format(i, j))
            bodyNP = self.worldNP.attach_new_node(body)
            bodyNP.node().add_shape(shape)
            bodyNP.node().set_mass(1.0)
            bodyNP.node().set_deactivation_enabled(False)
            bodyNP.set_pos(x, y, z)
            bodyNP.set_collide_mask(BitMask32.all_on())
            self.world.attach(bodyNP.node())
            visNP = loader.load_model('models/box.egg')
            visNP.clear_model_nodes()
            visNP.reparent_to(bodyNP)