For those of us who do not always get internet access, debugging problems offline is absolutely essential. The way to do it currently is by copying our program to our local editor, copying the test cases, … (Basically, lots of work). Now if there are multiple solutions that we want to debug offline, we need to rename the classes. Besides, debugging games with “Player” class is even harder.
For this reason, I suggest a codingame offline IDE, for easy debug. Here’s what I think it should have:
- The IDE can be identical to the online version.
- Perhaps make codingame IDE for different languages, that way we have to install only one language at a time.
- Have a download option available for all puzzles. On downloading, the puzzle statement, and test cases (optional: validators) get downloaded, so that we can run them now on our local IDE and debug. For endless loop games, it will be a little harder, since we will have to download the game too ( ). So let’s currently stick to the normal puzzles.
Although this is a lot of work, it should help lots of people, cause debugging problems is what I think most codingamers do, and making it easier will be sweet!
There are already offline IDEs, that are way better than the online editor (with tools to rename variables, list all calls of a function, do step-by-step debugging, performance analysis, …). So why do we need an offline version of CG?
Running the tests offline is possible too (it’s called Unit Tests).
I haven’t tried it, but there seems to be a download script to get the testcases. Validators probably won’t happen, as these are to avoid hardcoding a solution.
You can even play most multiplayer games offline against yourself with the brutaltester.
I didn’t know. Thanks. Consider this topic closed
As it happens, the IDE is already running offline. The only time it really needs to access Internet is when you submit your code, to upload it to the CG site where the compilation and execution happen, then download back the result for display. And theses compilation and execution are the complex parts, using various compilers configured and deployed on supported native environments. If you have ever tried to set yourself up a development environment at home, you should understand why there is no way it can be magically deployed on any machine (which could be a PC running Linux as well as an iPad using an ARM processor). There is a reason why the Cloud is a popular concept: it makes things appear simpler than they are.