Many crashes that commonly occur when creating or playing custom maps are avoidable or could use some better error reporting.
Reporting
A list of common crashes and their fixes is on the wiki but many of the suggested fixes could be displayed directly in the crash log.
Resistance
In order to show errors more appropriately where they are needed - or avoid showing them altogether - I would propose creating a setting to control Everest's "resilience", or, "How hard we try to keep the game running".
For now three different levels could be added (names TBD):
"Normal": similar to the current state of error handling, in-level errors display an error postcard and other errors crash the game (ideal for creating well-formed maps with minimal down-time)
"Resilient": avoid crashing or kicking the player out of the level at all costs (within reason of course, aimed at those who just want to play mods without distractions)
"FailFast": crash as soon as possible when something goes wrong to make debugging the root cause easier (ideal for development and code mods)
Implementing these levels, in particular "Resilient", would also provide an opportunity to show cleaner, more helpful error messages to those using the other levels.
Many crashes that commonly occur when creating or playing custom maps are avoidable or could use some better error reporting.
Reporting
A list of common crashes and their fixes is on the wiki but many of the suggested fixes could be displayed directly in the crash log.
Resistance
In order to show errors more appropriately where they are needed - or avoid showing them altogether - I would propose creating a setting to control Everest's "resilience", or, "How hard we try to keep the game running".
For now three different levels could be added (names TBD):
Implementing these levels, in particular "Resilient", would also provide an opportunity to show cleaner, more helpful error messages to those using the other levels.