Build a GameCreating Sky Ace

Appendix B — Message Map

Sky Ace is built on messages (Custom Events): one piece of the game announces something, and the pieces that care listen. This map shows every message in the game: who sends it, who it goes to, and who hears it. A message must be spelled exactly the same where it is sent and where it is heard; this is the place to check.

Two ways to send. Trigger Custom Event goes to everyone who listens (a broadcast). Trigger Custom Event on Object goes to one Object only; in this game almost always the sender’s own Object, so that one Logic can tell the next Logic on the same Object that its part is done.

B.1 Chains to Follow

Read each line left to right: a message, the Logic (in bold) that hears it and sends the next message, and at the end the Logic that hears the last one.

  • roundHit → Takes Hits → changeMeter → Meter with Thresholds
  • roundHit → Takes Hits → hitCounted → Sky Fortress Battle → fortressDamaged → Fortress Health Fill
  • bombDropped → Takes Hits → changeMeter → Meter with Thresholds
  • bombDropped → Takes Hits → hitCounted → Sky Fortress Battle → fortressDamaged → Fortress Health Fill
  • fortressDown → Takes Hits → changeMeter → Meter with Thresholds
  • fortressDown → Takes Hits → hitCounted → Sky Fortress Battle → fortressDamaged → Fortress Health Fill
  • spreadShotCollected → Weapon Pickups → rapidGunsEnded → Show Rapid Time
  • rapidGunsCollected → Weapon Pickups → rapidGunsStarted → Show Rapid Time
  • quitMission → Pause → missionQuit → High Score
  • quitMission → Pause → hidePauseOverlay → Pause Overlay Lifecycle

B.2 All Messages, in the Order the Build Adds Them

Message Sent by Goes to Heard by Chapter
changeMeter Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress) its own Object only Meter with Thresholds (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress) 3
enemyShotDown Shot Down (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber); Sky Fortress Battle (on Sky Fortress) everyone who listens Add Points (on Game Rules) 3
roundHit Breaks on Hit (on MG Round, Spread Round, Rapid Round) the Object it touched (the Other of its Event) Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress) 3
fighterHit Hurt the Fighter everyone who listens Lose a Medkit (on Game Rules); Lose a Gun Level (on Game Rules) 4
protectionStarted Start Protection its own Object only Protection Blink (on Fighter) 4
showResults Mission Over (on Game Rules) everyone who listens Show With Results (on Result Veil, Game Over Banner, Final Score, Result High Score, Fly Again Key, Fly Again Prompt, Mission Complete Banner, Return Key, Return Prompt, Main Menu Key, Main Menu Prompt) 4
waveStarted Run Waves (on Game Rules) everyone who listens Show Banner (on Banner Strip, Banner Text) 6
bombCrateCollected Collected by Fighter (on Bomb Crate Pickup) everyone who listens Pickup Rewards (on Game Rules) 8
bombDropped Drops Bombs (on Fighter) everyone who listens Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress); Spend a Bomb (on Game Rules); Breaks on Bomb (on Enemy Round, Fortress Shell) 8
medkitCollected Collected by Fighter (on Medkit Pickup) everyone who listens Pickup Rewards (on Game Rules) 8
powerUpCollected Collected by Fighter (on Power Up Pickup) everyone who listens Pickup Rewards (on Game Rules) 8
rapidGunsCollected Collected by Fighter (on Rapid Guns Pickup) everyone who listens Weapon Pickups (on Fighter) 8
rapidGunsEnded Weapon Pickups (on Fighter) everyone who listens Show Rapid Time (on Rapid Meter) 8
rapidGunsStarted Weapon Pickups (on Fighter) everyone who listens Show Rapid Time (on Rapid Meter) 8
shotDown Shot Down (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber) its own Object only Drops a Pickup (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber) 8
spreadShotCollected Collected by Fighter (on Spread Shot Pickup) everyone who listens Weapon Pickups (on Fighter) 8
fortressArrived Sky Fortress Battle (on Sky Fortress) everyone who listens Show With Fortress (on Health Bar Frame, Health Bar Fill, Health Bar Name) 9
fortressDamaged Sky Fortress Battle (on Sky Fortress) everyone who listens Fortress Health Fill (on Health Bar Fill) 9
fortressDown Sky Fortress Battle (on Sky Fortress) everyone who listens Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress); Breaks on Bomb (on Enemy Round, Fortress Shell); Sinks When Shot Down (on Sky Fortress) 9
fortressEnraged Sky Fortress Battle (on Sky Fortress) everyone who listens Show Banner (on Banner Strip, Banner Text); Calls Escorts (on Sky Fortress) 9
fortressSunk Sinks When Shot Down (on Sky Fortress) everyone who listens Show With Fortress (on Health Bar Frame, Health Bar Fill, Health Bar Name); Mission Complete (on Game Rules) 9
fortressWarning Run Waves (on Game Rules) everyone who listens Mission Music (on Game Rules); Blink Warning (on Warning Banner) 9
hitCounted Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress) its own Object only Sky Fortress Battle (on Sky Fortress) 9
hidePauseOverlay Pause (on Game Rules) everyone who listens Pause Overlay Lifecycle (on Game Rules) 10
howToPlayClosed Close How to Play everyone who listens Main Menu Keys (on Menu Controls); Menu Choice (on Menu Button); Show With How to Play (on How to Play Veil, How to Play Panel, How to Play Text, How to Play Strip, How to Play Key, How to Play Pickup) 10
howToPlayOpened Open How to Play everyone who listens Main Menu Keys (on Menu Controls); Menu Choice (on Menu Button); Show With How to Play (on How to Play Veil, How to Play Panel, How to Play Text, How to Play Strip, How to Play Key, How to Play Pickup) 10
menuConfirmed Main Menu Keys (on Menu Controls) everyone who listens Menu Choice (on Menu Button) 10
missionQuit Pause (on Game Rules) everyone who listens High Score (on Game Rules, Title Controls, Menu Controls) 10
quitMission the PAUSED menu (Pause Overlay Lifecycle on Game Rules) everyone who listens Pause (on Game Rules) 10
resumePauseOverlay the PAUSED menu (Pause Overlay Lifecycle on Game Rules) everyone who listens Pause Overlay Lifecycle (on Game Rules); Pause (on Game Rules) 10
showPauseOverlay Pause (on Game Rules) everyone who listens Pause Overlay Lifecycle (on Game Rules) 10

From here on, each message has a list of its own, under the chapter that adds it. The name in quotes is the Mode that sends or hears it. An Event with only one Mode has it under its Logic Component’s name, and a Function sends “when called”.

B.3 Chapter 3: Enemy Fighters

B.3.1 changeMeter

  • Sent by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress), in “Take a Hit”, to its own Object only.
  • Sent by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress), in “Take the Blast”, to its own Object only.
  • Heard by Meter with Thresholds (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress): “Meter with Thresholds”.

B.3.2 enemyShotDown

  • Sent by Shot Down (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber), in “Shot Down”, to everyone who listens.
  • Sent by Sky Fortress Battle (on Sky Fortress), in “Go Down”, to everyone who listens.
  • Heard by Add Points (on Game Rules): “Add Its Points”.

B.3.3 roundHit

  • Sent by Breaks on Hit (on MG Round, Spread Round, Rapid Round), in “Break”, to the Object it touched (the Other of its Event).
  • Heard by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress): “Take a Hit”.

B.4 Chapter 4: Mission Failed

B.4.1 fighterHit

  • Sent by Hurt the Fighter, in “when called”, to everyone who listens.
  • Heard by Lose a Medkit (on Game Rules): “Lose a Medkit”.
  • Heard by Lose a Gun Level (on Game Rules): “Lose a Gun Level”.

B.4.2 protectionStarted

  • Sent by Start Protection, in “when called”, to its own Object only.
  • Heard by Protection Blink (on Fighter): “Start Blinking”.

B.4.3 showResults

  • Sent by Mission Over (on Game Rules), in “Show the Results”, to everyone who listens.
  • Heard by Show With Results (on Result Veil, Game Over Banner, Final Score, Result High Score, Fly Again Key, Fly Again Prompt, Mission Complete Banner, Return Key, Return Prompt, Main Menu Key, Main Menu Prompt): “Show Me”.

B.5 Chapter 6: Mission Timeline

B.5.1 waveStarted

  • Sent by Run Waves (on Game Rules), in “Start the Wave”, to everyone who listens.
  • Heard by Show Banner (on Banner Strip, Banner Text): “Raise the Banner”.

B.6 Chapter 8: Pickups, Weapons and Bombs

B.6.1 bombCrateCollected

  • Sent by Collected by Fighter (on Bomb Crate Pickup), in “Be Collected”, to everyone who listens.
  • Heard by Pickup Rewards (on Game Rules): “Reward the Bomb Crate”.

B.6.2 bombDropped

  • Sent by Drops Bombs (on Fighter), in “Set Off a Bomb”, to everyone who listens.
  • Heard by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress): “Take the Blast”.
  • Heard by Spend a Bomb (on Game Rules): “Take a Bomb”.
  • Heard by Breaks on Bomb (on Enemy Round, Fortress Shell): “Break”.

B.6.3 medkitCollected

  • Sent by Collected by Fighter (on Medkit Pickup), in “Be Collected”, to everyone who listens.
  • Heard by Pickup Rewards (on Game Rules): “Reward the Medkit”.

B.6.4 powerUpCollected

  • Sent by Collected by Fighter (on Power Up Pickup), in “Be Collected”, to everyone who listens.
  • Heard by Pickup Rewards (on Game Rules): “Reward the Power Up”.

B.6.5 rapidGunsCollected

  • Sent by Collected by Fighter (on Rapid Guns Pickup), in “Be Collected”, to everyone who listens.
  • Heard by Weapon Pickups (on Fighter): “Switch to Rapid Guns”.

B.6.6 rapidGunsEnded

  • Sent by Weapon Pickups (on Fighter), in “Switch to Spread Shot”, to everyone who listens.
  • Sent by Weapon Pickups (on Fighter), in “Back to Machine Guns”, to everyone who listens.
  • Heard by Show Rapid Time (on Rapid Meter): “Hide”.

B.6.7 rapidGunsStarted

  • Sent by Weapon Pickups (on Fighter), in “Switch to Rapid Guns”, to everyone who listens.
  • Heard by Show Rapid Time (on Rapid Meter): “Fill and Run Down”.

B.6.8 shotDown

  • Sent by Shot Down (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber), in “Shot Down”, to its own Object only.
  • Heard by Drops a Pickup (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber): “Maybe Drop”.

B.6.9 spreadShotCollected

  • Sent by Collected by Fighter (on Spread Shot Pickup), in “Be Collected”, to everyone who listens.
  • Heard by Weapon Pickups (on Fighter): “Switch to Spread Shot”.

B.7 Chapter 9: The Sky Fortress

B.7.1 fortressArrived

  • Sent by Sky Fortress Battle (on Sky Fortress), in “Come Down”, to everyone who listens.
  • Heard by Show With Fortress (on Health Bar Frame, Health Bar Fill, Health Bar Name): “Show”.

B.7.2 fortressDamaged

  • Sent by Sky Fortress Battle (on Sky Fortress), in “Show the Damage”, to everyone who listens.
  • Heard by Fortress Health Fill (on Health Bar Fill): “Shrink”.

B.7.3 fortressDown

  • Sent by Sky Fortress Battle (on Sky Fortress), in “Go Down”, to everyone who listens.
  • Heard by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress): “Take the Blast”.
  • Heard by Breaks on Bomb (on Enemy Round, Fortress Shell): “Break”.
  • Heard by Sinks When Shot Down (on Sky Fortress): “Start Sinking”.

B.7.4 fortressEnraged

  • Sent by Sky Fortress Battle (on Sky Fortress), in “Enraged”, to everyone who listens.
  • Heard by Show Banner (on Banner Strip, Banner Text): “Raise the Banner”.
  • Heard by Calls Escorts (on Sky Fortress): “Call Them”.

B.7.5 fortressSunk

  • Sent by Sinks When Shot Down (on Sky Fortress), in “Burst”, to everyone who listens.
  • Heard by Show With Fortress (on Health Bar Frame, Health Bar Fill, Health Bar Name): “Hide”.
  • Heard by Mission Complete (on Game Rules): “Win the Mission”.

B.7.6 fortressWarning

  • Sent by Run Waves (on Game Rules), in “Start the Wave”, to everyone who listens.
  • Heard by Mission Music (on Game Rules): “Boss Theme”.
  • Heard by Blink Warning (on Warning Banner): “Start Blinking”.

B.7.7 hitCounted

  • Sent by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress), in “Take a Hit”, to its own Object only.
  • Sent by Takes Hits (on Zero Fighter, Red Ace, Dive Bomber, Heavy Bomber, Sky Fortress), in “Take the Blast”, to its own Object only.
  • Heard by Sky Fortress Battle (on Sky Fortress): “Show the Damage”.

B.8 Chapter 10: Title and Menus

B.8.1 hidePauseOverlay

  • Sent by Pause (on Game Rules), in “Quit to the Main Menu”, to everyone who listens.
  • Heard by Pause Overlay Lifecycle (on Game Rules): “Pause Overlay Lifecycle”.

B.8.2 howToPlayClosed

  • Sent by Close How to Play, in “when called”, to everyone who listens.
  • Heard by Main Menu Keys (on Menu Controls): “Back to Choosing”.
  • Heard by Menu Choice (on Menu Button): “Back to Choosing”.
  • Heard by Show With How to Play (on How to Play Veil, How to Play Panel, How to Play Text, How to Play Strip, How to Play Key, How to Play Pickup): “Hide”.

B.8.3 howToPlayOpened

  • Sent by Open How to Play, in “when called”, to everyone who listens.
  • Heard by Main Menu Keys (on Menu Controls): “Start Reading”.
  • Heard by Menu Choice (on Menu Button): “Ignore the Mouse”.
  • Heard by Show With How to Play (on How to Play Veil, How to Play Panel, How to Play Text, How to Play Strip, How to Play Key, How to Play Pickup): “Show”.

B.8.5 missionQuit

  • Sent by Pause (on Game Rules), in “Quit to the Main Menu”, to everyone who listens.
  • Heard by High Score (on Game Rules, Title Controls, Menu Controls): “Keep a Better Score”.

B.8.6 quitMission

  • Sent by the PAUSED menu (Pause Overlay Lifecycle on Game Rules), when QUIT TO MAIN MENU is chosen, to everyone who listens.
  • Heard by Pause (on Game Rules): “Quit to the Main Menu”.

B.8.7 resumePauseOverlay

  • Sent by the PAUSED menu (Pause Overlay Lifecycle on Game Rules), when RESUME MISSION is chosen, to everyone who listens.
  • Sent by the PAUSED menu (Pause Overlay Lifecycle on Game Rules), when Esc is pressed in it, to everyone who listens.
  • Heard by Pause Overlay Lifecycle (on Game Rules): “Pause Overlay Lifecycle”.
  • Heard by Pause (on Game Rules): “Resume the Mission”.

B.8.8 showPauseOverlay

  • Sent by Pause (on Game Rules), in “Open the PAUSED Menu”, to everyone who listens.
  • Heard by Pause Overlay Lifecycle (on Game Rules): “Pause Overlay Lifecycle”.

B.9 Game State Changes (Sent by the Engine)

Set Game State makes the engine send Game State Changed to everyone who listens.

  • Lose a Medkit sets Mission Failed in “Lose a Medkit”.
  • Mission Start sets Playing in “A Fresh Mission”.
  • Mission Complete sets Mission Complete in “Win the Mission”.
  • Heard by: High Score, Mission Music, Mission Over, Lost With the Last Medkit, Show Banner, Stops When the Mission Is Won.