RoboSim is a 3D robot simulation which encourages you to create your own algorithms to control a robot known as Cube-snake. Cube-snake is a modular robot where each module can be connected to the end of another module, forming a chain of robots (or a snake!). RoboSim will allow you to construct a Cube-snake robot of your specifications (number of modules, how each module is connected).
The robots are controlled by Lua scripts so you will need a bit of background with Lua in order to get the robots moving. You can also create an environment for the robot to roam in with the scripts telling the robot how it will . The simulation can be used to road-test scripts for actual robots, or to let a distributed reinforcement learning algorithms learn.