I have decided to give a try to TDD and BDD on my already started project, encouraged by answers to questions like this: http://stackoverflow.com/questions/294909/should-i-start-using-tdd-on-a-project-that-doesnt-use-it-already
I am struggling to really start with it. My project (opensource, hosted in http://gitorious.org/rubots) is game-like and uses Ruby to wrap and connect to a control server and a physical simulation environment. The script is executed, then a GUI appears and when the user click on start 2 external c++ programs are launched, one of them being a physical simulation, they are controlled by a library with Ruby bindings. There is no way of reseting the simulation and the control program, they should be started again. Start them and have them in a working state takes like 5 seconds. On this context any test needs of whole starting phase before anything moves and the simulation depend on external configuration files that should be provided also.
It is really worth it start writing test cases? How? Every test with a :before or similar that starts the game, launch the applications, etc? Then every test will at least take 5 seconds (and considerably more if I have to commit a command and wait for the entities of the simulation to answer).
I am missing something. Should I skip not only BDD and TDD but also test units for this kind of application?