We all have our favourite text editors, but there is no real support for Colobot level editing in any of the common text editors. There were/are some attempts to build specific tools, like @tomaszkax86 's map and relief editor or @adiblol 's tools. But what I am dreaming about, is a fully integrated environment for creating Colobot content. So, here's a basic idea:
Generally, this whole Editor is supposed to let developer/modder to open data or level folder as a project and work in one, comfortable tool. Including, of course, necessary external apps like the game itself, map editor, image editing program and so on (there should be an easy way to open some of them directly from the Editor).
Notes:
Code:
# CBOT Editor #
Text editor created for Colobot developers and modders.
# Goals #
* Support for scene files, SatCom help files and CBOT source code
* Syntax highlighting
* Auto-completion
* Snippets
* Project view for standard data directory and for levels
* Live preview of SatCom files
* Support for translations editing
* Compiling CBOT
* Integration with the future level editor
* Integration with Colobot (e.g. running a level by a keyboard shortcut)
* Integration with version system control (e.g. git)
Notes:
- I think it can be written in Python/Tkinter (edit: we could also use wxPython, but that would mean need to install a dependency), so it will be easy to run (end-users will just have to install Python and download the source code) and we won't have to maintain any releases, compilations etc. (We can, however, create binary packages, if we really want). But you may come up with a better option. Frankly, I am very subjective here, because I just love Python, but there would be so many benefits. This language is very easy to learn, so this might mean more contributors. We would have a much greater speed of development than for example in C++, because of Python/Tkinter simplicity. And, there are ways to include C/C++ code (or even Java, C#, and similar), it would probably make integration with external tools way easier (especially CBOT compiling).
- CBOT compiling... It means checking if the program will run, like it works in game. Runtime of course must be tested in the game. It will probably be possible only after CBOT is rewritten.
- Integration with Colobot... I mean a special command line parameters or something like that, so it doesn't load all intros etc. and just jump directly into the level.
- Rendering SatCom files shouldn't be a problem, at the beginning it can be a completely different rendering than in-game, if it will be too hard to use the existing rendering logic from the game.
- Integration with a level editor... I am thinking here about something like Unity/MonoDevelop. Editing scenes and some other things in the level editor (probably @tomaszkax86 's?), and editing scripts and help files in the external editor (the Editor by default, of course). Plus the ability to edit the scene file by hand, if for someone it will be more convenient or there is no new function built in the level editor etc.