I have been using /editor
almost exclusively for the last couple of months, and I love it. In my view it's the hidden gem of 0.17, and absolutely fantastic for any kind of advanced testing.
I have been making mental notes of a few additional features I would love to see - many based around usability. Given the recent discussions spawned by Raiguard's new Infinity Mod, and RSeding asking for suggestions for Map Editor, I thought now would be a good time to post them.
Additional Map Editor Hotkeys:
- Toggle Map Editor - a key that has the same effect as typing
/editor
in Console, either displaying or hiding the Map Editor UI. I would literally press this 50 times a day at the moment. - Per-Tab hotkeys: The ability to define a hotkey for: None, Decoratives, Entities, Forces, etc. Only take effect when Map Editor is open. I would use something like Control-Shift-1, Control-Shift-2, etc.
- Game Speed increment/decrement - same as clicking the < and > icons in Time.
- Tick X - same as clicking ># in Time; only works if the user has entered a value for X already.
Time menu:
Textbox showing current game.speed, allowing direct editing
Change "Speed: X" display from label to textbox, allowing arbitrary number to be entered to update game speed accordingly. Would save the need to run a console command when a specific speed is desired. Textbox would auto-update as speed is changed
Zoom setting: Provide a setting to set the maximum zoom level, allowing changing it from the current max of 0.2, to at least 0.1 Having a setting for this would enable me to remove one more mod, and to reach 0.1 just by a normal zoom, rather than having to hit a button or hotkey.
Remove empty chunks
Often used in design testing. Right now, I think it literally only removes completely empty chunks (no entities at all, ie no trees/rocks/etc?). Usually what I want is to remove chunks that don't contain player-built entities. For this I instead use the mod Delete Empty Chunks, which: by default removes chunks with no player-built objects, including checking for path tiles; can be configured to ignore path tiles; keeps chunks within a configurable radius around existing player-built objects, defaulting to 2.
To have these options in Remove Empty Chunks would enable me to drop the use of the mod, and just use the Map Editor feature for this.
Fill with lab tiles -> Fill with ...
Rather than hardcoded to lab tiles, it'd be very useful if this could be called "Fill with.." and then a selector for the tile type appears, allowing filling with any available tile type.
Edit map gen settings - add missing settings (parity with Bilka's Change Map Settings mod?
It would be very helpful if this could eventually achieve parity with the options available at New Game.
This is a bigger request, and perhaps not even feasible. But, were it possible, I think it would fit beautifully with the Map Editor, and be a major boon to testing designs and their UPS impact.
At the moment we can benchmark a save from the command line, with --benchmark. This is great, but requires a bit of setup: creating a save at the right moment; quitting the game, or else using a separate copy of it; copying the figures out of the log/stdout; reloading the game afterwards.
It would be wonderful if we could do this benchmarking in-game.
My suggestion would be:
- A new Benchmark tab, with a UI that allows specifying a number of ticks to benchmark, and a Go button.
- When pressed, the game will execute that number of ticks and then pause.
- The UPS would be monitored, and at the end of the run the benchmark data would be displayed (ideally in a textbox window, same style as Export String), with the same info as --benchmark provides: Performed 540000 updates in 110834.969 ms avg: 0.205 ms, min: 0.089 ms, max: 9.914 ms checksum: 315540202
- Ideally - if this is even possible - it would provide an option to run the benchmark with or without graphical/sound updates.
- When run with graphics/sound, the game would play as normal, updating as fast as UPS allows.
- When run without graphics, the whole screen would freeze, and the benchmark would comparable to running it on the command line with --benchmark; GPU updates would not be involved.
I understand that this may not be feasible for any number of reasons. But if it were, it would make UPS benchmarking of designs significantly more convenient, allowing one to do so in the comfort of the Map Editor, and to iterate on those designs, testing different permutations of designs to see their impact on UPS, very quickly and easily.