New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change default value for dist= in EndMissionTake and AudioChange #759
Comments
This is definitely a better version, less confusing and it makes more sense than current defaults. We might want to implement this, but we'll have to review existing missions. |
BTW why we still care about backward compatibility? |
The same reason we're not changing the CBOT design, it's a remake, not Colobot 2. |
Of course, it's a remake but in the plot/design/gameplay aspects, not engine aspects. |
We did already things breaking backward compatibility with original game, so why don't break compatibility with early alpha versions? |
You didn't understand, there are already user levels made specifically for GOLD, and this change will break backwards compatibility with them. That's why it's important to discuss it especially that it's a change that is easy to miss. |
That's why I always wanted inform level creators that they should do readme's for their work with info about what version of the GOLD is required. Until the game isn't finished, especially Scene refactoring, they should unfortunately live with that. |
Planned roadmap for this issue:
New (planned) defaults are:
If you want to keep your levels compatible with both old and new versions, always specify both pos= and dist=. If you only care about 0.1.9+, you can skip both of them to detect objects on the whole map. |
_WARNING! This is a backwards incompatible change that WILL break user levels that don't specify the value explicitly_
The default value for dist= has always confused me. By default it's set to value appropariate to cover the whole SpaceShip. If I omit pos= and dist=, I would expect the command to detect anywhere on the level. This is not how it works.
Consider this:
This looks like "the mission ends when one WheeledGrabber is produced anywhere on the map", while actually this is "the mission ends when one WheeledGrabber is placed at max 8 meters from the center of the map"
To get the desired behaviour, you have to type:
Which is longer and confusing.
Another common misconception might be assuming that pos= defaults to SpaceShip position. This is not how it works either. pos= defaults to the center of the map. To check for objects on SpaceShip, you still have to do this:
I believe it would be better to make this more explicit:
Additionaly, using only pos or only dist should not be allowed to avoid mistakes and the level parser should throw an error.
I would like to know what other people think about changing this, especially (user)level designers.
The text was updated successfully, but these errors were encountered: