My number one of missing features is:
1. Waypoints
Currently the user is guided to the next location through radar markers and you really have to read the messages carefully and think about which navigation marker could be the right one. Waypoints would guide the user to the next location.
Examples:
- If there are less than 3 boxes left, the pirates are highlighted
- It sais "Fly towards the pirates" but there's a big white arrow directing you to the space station / portal
- "Find the Hydrogen Farmer." What's that?
- Suddenly the docking menu pops up. Should I really do that? I'm trying to find that god damn hydrogen farmer
So I guess feature number two is (not necessarily a coding feature, could probably be done by spawning objects like pirates, portals, etc only when they are needed):
2. Hide unrelated radar markers. Maybe use a maximum distance to hide the objects at the other end of the portal?
And finally the notifications:
3. They should disappear after some time. New notifications should maybe flash when they show up? If there are multiple messages in short time, show them below each other (like the chat overlay).
Otherwise the tutorial looks quite good. Maybe the movement stuff should be explained before shooting?
Concerning the non-linearity of the triggers, I also noticed that sometimes the whole cascade of triggers fires off. I guess this depends on the order in which the triggers are updated. If the first box is destroyed, all listeners are noticed. If we're lucky, all triggers except boxtrigger1 are inactive, so only boxtrigger1 can be triggered. This is often the case because of the order how the triggers are defined in the XML file (boxtrigger4 before boxtrigger3, 2, 1). So naturally they will be updated in this order. But for some reason they might be updated the other way round. In this case, boxtrigger1 gets triggered right away. Then boxtrigger2 gets the notification and because boxtrigger1 is already triggered, boxtrigger2 will be triggered as well, etc.
To fix this, I think we can add a small delay. Now the boxtriggers get activated shortly after a box was destroyed. I think the delay can be almost infinitesimally small because every delay > 0 will lead to at least 1 tick delay (which is already enough). However 0.1 second is also fast enough because it takes some time to notice the explosion of the boxes anyway.
Code: Select all
<EventTrigger name="boxtrigger4" activations="1" stayactive="true" delay="0.1">
<events>
<trigger>
<EventListener event="box" />
</trigger>
</events>
<EventTrigger name="boxtrigger3" activations="1" stayactive="true" delay="0.1">
<events>
<trigger>
<EventListener event="box" />
</trigger>
</events>
<EventTrigger name="boxtrigger2" activations="1" stayactive="true" delay="0.1">
<events>
<trigger>
<EventListener event="box" />
</trigger>
</events>
<EventTrigger name="boxtrigger1" activations="1" stayactive="true" delay="0.1">
<events>
<trigger>
<EventListener event="box" />
</trigger>
</events>
</EventTrigger>
</EventTrigger>
</EventTrigger>
</EventTrigger>