-
-
Notifications
You must be signed in to change notification settings - Fork 46
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
Mapping API support #89
Comments
mapping api ideas: my ramblings about zones: Start zone:Timer starts on jumping (or walking out of the zone). This is to prevent too much annoying start zone optimisation. End zone:Timer ends when touching it. Stage / checkpoint / split zones:Will be triggered by touching. There are 3 modes for a "checkpoint" zone, which are named differently to prevent ambiguity:
Stage zones and checkpoint zones can be used to prevent skips, split zones are only for comparing time differences. Zones in game could be differentiated by colour and shape (wireframe vs translucent). Examples:Maps like kz_beginnerblock are probably only gonna have split zones, for keeping track of splits (wow!). But obviously could also use stage & checkpoint zones, though there isn't much of a point. |
Add trigger volume that will mark every checkpoint made inside this zone with tag(s), that can be used by mapper to selectively delete certain checkpoints. Useful for non linear maps where you don't want the player to cheese by placing checkpoints before the path splits up. |
i think that would basically be the equivalent of putting an anti-checkpoint trigger in that area, cos if the checkpoints are gonna get deleted anyway, then they should've never existed in the first place if you know what i mean. |
Well not quite, they will be deleted once they reach certain spots, but before that it's still possible to make a checkpoint and teleport to it. For instance zxp_interstellar gas mask and tank should wipe all checkpoints made inside that room once touched, but before the player touches it they can still place and go to any checkpoint just fine. |
an anti-teleport trigger would be much simpler then |
If it's just a simple no tp trigger, then it's gonna cause a dilemma for mappers: make the trigger volume too small and the player can just cheese by slightly getting out of it and doing the same thing again, or make it too big and the player is unable to teleport while they should have been able to. In interstellar it wouldn't work, if you only cover the gas mask zone with anti tp then they will cheese by moving a bit away from the zone, if you cover too much then you will also cover spots that are part of the legit route where the player should be able to use teleport. |
filters exist |
to expand a bit more: the problem with tagging checkpoints and maybe deleting them later is also how you would communicate that to the player. when you enter a trigger that tags checkpoints, then would it print in chat "your checkpoints will now be tagged X, they may be deleted later" and when they get deleted: "checkpoints tagged X have been deleted". i think that feels much more confusing than for example in interstellar after getting that key an anti-teleport trigger activates in that room and prints in chat "teleporting has been disabled in this area". i think this requires much less thought from the player about what the heck is happening with their checkpoints. |
I'm not sure how filter is supposed to solve it when the two non linear sections have overlapping gameplay. Regardless, communication to the player would be an issue indeed, and forcing the player to keep track of them isn't very fun. A simple trigger that would wipe all checkpoints should be alright though. |
wiping all checkpoints would work nicely for those situations indeed. it'll be very jarring for the player, but that's fine. the message would be something like "the map has erased all of your checkpoints." |
Suggestion for the chat message. "erased/deleted/removed" all sound like potential errors. What about "locked"? That also communicates that your CP count is not reduced, just your access those CPs. entering the no cheese trigger (e.g. after a key grab): trying to tp immediately after: |
Also, instead of a separate zone/trigger, this could just be a flag available to the 3 main zone types?
|
yup, perfectly doable, i've already got an attribute "system" set up. |
Could potientially go through every trigger on map start and gets its entity KVs
The text was updated successfully, but these errors were encountered: