<<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news instead of from the campaign, they lose trust. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers use their database training to send emails to donors even before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately a few Alissa supporters lose faith in the integrity of the fundraising campaign, but nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet in Olania about Boggs' former progressive political identity. "You'll never believe what we heard," you whisper over the phone.
The reporter is curious and diligently writes down everything you shared. She promises not to share that the lead came from you.
Published with quotes from an "inside source," the article goes on to essentially accuse Boggs of being a hardened, self-advancing hypocrite. His numbers in the polls dip slightly as Alissa's see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. Hopefully, the competition isn't working on retaliation as we speak. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information as leverage on Boggs, he likely would have retaliated with greater force...and potentially at an even more critical moment during the campaign. Better to run a clean campaign for Alissa's sake, but also to ensure that voters trust the political process and the players behind it. When they lose trust in the system, they're not only less likely to support Alissa, but also less likely to show up to the polls at all. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>It's always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately, without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news, instead of from the campaign, they feel betrayed. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>It's always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers, well trained in using the database, efficiently send emails to donors before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately, a few supporters still lose faith in Alissa's ability to win, but the drop in the polls is nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet about Boggs' former radical political identity. "You'll never believe what we learned," you whisper over the phone.
The reporter is curious and diligently writes down everything you share. She promises not to disclose that the lead came from you.
Published with quotes from a "political insider," the article goes on to essentially accuse Boggs of being a terrorist. His numbers in the polls dip slightly as Alissa’s see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. The newspaper may have kept your name out of the article, but there's little chance Boggs doesn't suspect your involvement. You can only hope he's too busy cleaning up the mess you made to retaliate. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information against Boggs, he likely would have retaliated with greater force. And, knowing Boggs, he wouldn't limit himself with accuracy. Better to run a clean campaign, not only for Alissa's sake, but also for the sake of the democratic process and the people of North Olania. When the public loses trust in the political system, people are less likely to vote, which weakens democracy. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies, including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news instead of from the campaign, they lose trust. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers use their database training to send emails to donors even before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately a few Alissa supporters lose faith in the integrity of the fundraising campaign, but nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet in Olania about Boggs' former progressive political identity. "You'll never believe what we heard," you whisper over the phone.
The reporter is curious and diligently writes down everything you shared. She promises not to share that the lead came from you.
Published with quotes from an "inside source," the article goes on to essentially accuse Boggs of being a hardened, self-advancing hypocrite. His numbers in the polls dip slightly as Alissa's see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. Hopefully, the competition isn't working on retaliation as we speak. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information as leverage on Boggs, he likely would have retaliated with greater force...and potentially at an even more critical moment during the campaign. Better to run a clean campaign for Alissa's sake, but also to ensure that voters trust the political process and the players behind it. When they lose trust in the system, they're not only less likely to support Alissa, but also less likely to show up to the polls at all. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news instead of from the campaign, they lose trust. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers use their database training to send emails to donors even before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately a few Alissa supporters lose faith in the integrity of the fundraising campaign, but nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet in Olania about Boggs' former progressive political identity. "You'll never believe what we heard," you whisper over the phone.
The reporter is curious and diligently writes down everything you shared. She promises not to share that the lead came from you.
Published with quotes from an "inside source," the article goes on to essentially accuse Boggs of being a hardened, self-advancing hypocrite. His numbers in the polls dip slightly as Alissa's see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. Hopefully, the competition isn't working on retaliation as we speak. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information as leverage on Boggs, he likely would have retaliated with greater force...and potentially at an even more critical moment during the campaign. Better to run a clean campaign for Alissa's sake, but also to ensure that voters trust the political process and the players behind it. When they lose trust in the system, they're not only less likely to support Alissa, but also less likely to show up to the polls at all. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>You're too low on <<if $funding lt 1>>funding<</if>><<if ($funding lt 1) and ($popularity lt 1)>> and <</if>><<if $popularity lt 1>>popularity<</if>> to continue!
And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<<if $fb2fa is true>><<set $policies to $policies + 1>>''Multifactor Authentication (MFA) for Social Media.'' A type of authentication that uses more than two types of verification. This ensures they will have to (1) enter the user name and password, (2) get a code texted to their phone, and (3) answer a security question to authenticate every time they log on.<</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>>''2-factor Authentication (2FA) for Email.'' A type of multifactor authentication that only uses two types of verification. In our case, they'll need to (1) enter the user name and password and (2) get a code texted to their phone to authenticate every time they log on.<</if>>
<<if $fboff is true>><<set $policies to $policies + 1>>''Social Media Onboard/Offboard Protocol.'' This ensures that volunteers and/or staff that might leave the campaign will be appropriately removed from administrator permissions on the social media platform, and staff who join the campaign will be appropriately trained to use a password manager with specific social media accounts. <</if>>
<<if $donation is true>><<set $policies to $policies + 1>>''Donation Policy.'' Donation policies ensure that your campaign doesn't accept any funds from potentially shady sources.<</if>>
<<if $von is true>><<set $policies to $policies + 1>>''Volunteer Onboard/Offboard Protocol.'' Provides volunteers with orientation to their responsibilities, systems, and the office; and ensures that volunteers no longer have access to any campaign documents, databases, and any physical files.<</if>>
<<if $dsec is true>>''Device Security Policy.'' Ensures that phones and computers are password protected.<<set $policies to $policies + 1>><</if>>
[[Training]]
<<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news instead of from the campaign, they lose trust. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers use their database training to send emails to donors even before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately a few Alissa supporters lose faith in the integrity of the fundraising campaign, but nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet in Olania about Boggs' former progressive political identity. "You'll never believe what we heard," you whisper over the phone.
The reporter is curious and diligently writes down everything you shared. She promises not to share that the lead came from you.
Published with quotes from an "inside source," the article goes on to essentially accuse Boggs of being a hardened, self-advancing hypocrite. His numbers in the polls dip slightly as Alissa's see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. Hopefully, the competition isn't working on retaliation as we speak. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information as leverage on Boggs, he likely would have retaliated with greater force...and potentially at an even more critical moment during the campaign. Better to run a clean campaign for Alissa's sake, but also to ensure that voters trust the political process and the players behind it. When they lose trust in the system, they're not only less likely to support Alissa, but also less likely to show up to the polls at all. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>It's always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately, without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news, instead of from the campaign, they feel betrayed. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>It's always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers, well trained in using the database, efficiently send emails to donors before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately, a few supporters still lose faith in Alissa's ability to win, but the drop in the polls is nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet about Boggs' former radical political identity. "You'll never believe what we learned," you whisper over the phone.
The reporter is curious and diligently writes down everything you share. She promises not to disclose that the lead came from you.
Published with quotes from a "political insider," the article goes on to essentially accuse Boggs of being a terrorist. His numbers in the polls dip slightly as Alissa’s see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. The newspaper may have kept your name out of the article, but there's little chance Boggs doesn't suspect your involvement. You can only hope he's too busy cleaning up the mess you made to retaliate. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information against Boggs, he likely would have retaliated with greater force. And, knowing Boggs, he wouldn't limit himself with accuracy. Better to run a clean campaign, not only for Alissa's sake, but also for the sake of the democratic process and the people of North Olania. When the public loses trust in the political system, people are less likely to vote, which weakens democracy. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies, including the possibility of reunification with South Olania.
<<include "Game Loop Menu">><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Stoller_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Dani Stoller</span>
<img src="alissa_images/of.png" width="89"></div></div></div>\
<<set $popularity to $popularity - 5>>
Stoller leans into the mic and begins her speech. To nobody's surprise she focuses on her plans for reunification, the central policy of her campaign. She waxes on about how a single economy will benefit businesses. You start to tune out when you hear Alissa's name. “Even my opponent, Alissa Orme, has come to recognize the benefits of reunification. My campaign manager just showed me Alissa’s website right before I walked on stage,” Stoller says through a sheepish grin, “and I could hardly believe my own eyes.” She continues, “After all this time, what a welcome change of heart. I expect we’ll hear Alissa explain how she’s come over to the good side of this critical issue right before election day…”
As Dani Stoller turns to look at a clearly confused Alissa, awaiting some sort of reply, you (and everyone else in the debate hall it seems) have taken out your phone to check the campaign website. And there it is, right at the top of the homepage: a “BREAKING NEWS” banner and a headline proclaiming: “Alissa Supports Reunification - It’s Time for Radical Change.”
You look back to Alissa on stage. Her face shows confusion, anger, and embarrassment in equal parts. After a few moments that seem to last for an eternity, she finds her words and desperately tries to explain that her position hasn’t changed. Clearly there has been some sort of technical mistake. Unfortunately, her embarrassment and confusion come across to viewers, and the debate heads into a much needed commercial break with Alissa reeling. The incident has cost Alissa significantly.<span class="neg">-5% voter support</span>
[[Commercial break]]And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
Boggs' ad makes you consider your situation. By making the right campaign choices, raising enough money, and letting Alissa shine you can win this race. As long as you don’t get derailed... and cybersecurity threats have been getting more ominous all the time. It's up to you and your staff and volunteers to make that happen.
Needless to say, funding is tight and you have some tough decisions ahead of you. You need to get out the word about Alissa, rally people around her cause, and hope there aren't too many negative attacks from opposition or other disgruntled parties. And your IT manager has sent several emails about the really dangerous cybersecurity environment you're dealing with.
For once, you and all of your managers are in the same room. Better talk to each of them now. You start with:
<<include "Manager Menu">>
[[ ->Manager Menu]] <<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>><<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news instead of from the campaign, they lose trust. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>Always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers use their database training to send emails to donors even before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately a few Alissa supporters lose faith in the integrity of the fundraising campaign, but nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet in Olania about Boggs' former progressive political identity. "You'll never believe what we heard," you whisper over the phone.
The reporter is curious and diligently writes down everything you shared. She promises not to share that the lead came from you.
Published with quotes from an "inside source," the article goes on to essentially accuse Boggs of being a hardened, self-advancing hypocrite. His numbers in the polls dip slightly as Alissa's see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. Hopefully, the competition isn't working on retaliation as we speak. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information as leverage on Boggs, he likely would have retaliated with greater force...and potentially at an even more critical moment during the campaign. Better to run a clean campaign for Alissa's sake, but also to ensure that voters trust the political process and the players behind it. When they lose trust in the system, they're not only less likely to support Alissa, but also less likely to show up to the polls at all. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<<if $Marcel is false>>[[Marcel, the Communications Manager ->Meet Marcel][$Marcel to true]]<</if>>
<<if $Kaz is false>>[[Kaz, the Office Manager ->Meet Kaz][$Kaz to true]]<</if>>
<<if $Fay is false>>[[Fay, the IT Manager ->Meet Fay][$Fay to true]]<</if>>
<<if $Kara is false>>[[Kara, the Volunteer Manager ->Meet Kara][$Kara to true]]<</if>>
<<if $Marcel is true and $Kaz is true and $Kara is true and $Fay is true>>Well, that was everyone. You hope you were able to meet their basic needs while still reserving enough of the budget for future endeavors. You can visit ''Inventory'' any time to check what you've purchased and buy some of the items you skipped in this first round.
<span class="rtn">[[Next ->Olania First]]</span><</if>>
/* Game Setup */
<<set $qualifiers to ["one", "two", "three"]>>
<<set $checks to [false, false, false]>>
<<set $lv1 to true>>
<<set $lv2 to false>>
<<set $lv3 to false>>
<<set $allowfundraising to true>>
<<set $tutorial to false>>
<<set $policies to 0>>
<<set $selectstaff to false>>
<<set $policymanager to false>>
<<set $crisismanager to false>>
<<set $popularity to 20>>
<<set $funding to 20000>>
<<set $fundraising to "low">>
<<set $fundraise to 0>>
/* Event Management */
<<set $events to ['AMA','op-ed','phish','travel','forum']>>
<<set $events2 to ['fire','husband','volunteer','campus','mystery','hack']>>
<<set $eventlist to 0>>
<<set $eventlist2 to 0>>
/* Staff Wishlist Toggles */
<<set $Marcel to false>>
<<set $Kaz to false>>
<<set $Kara to false>>
<<set $Fay to false>>
<<set $meetTeam to 0>>
/* Communication Manager Marcel Options */
<<set $outreach to false>>
<<set $outreachcost to 5000>>
<<set $socialcampaign to false>>
<<set $socialcampaigncost to 4000>>
<<set $donors to false>>
<<set $donorcost to 6000>>
<<set $pollinfo to false>>
<<set $pollinfocost to 3000>>
<<set $mediatraining to false>>
<<set $mediatrainingcost to 3000>>
/* IT Manager Fay Options */
<<set $antimalware to false>>
<<set $antimalwarecost to 1500>>
<<set $cloud to false>>
<<set $cloudcost to 1500>>
<<set $pwmanager to false>>
<<set $pwmanagercost to 1000>>
<<set $vpn to false>>
<<set $vpncost to 1500>>
<<set $ddos to false>>
<<set $ddoscost to 1000>>
<<set $encryption to false>>
<<set $encryptioncost to 1000>>
/* Volunteer Manager Kara Options */
<<set $dbtraining to false>>
<<set $dbtrainingcost to 2000>>
<<set $ctraining to false>>
<<set $ctrainingcost to 1000>>
<<set $phones to false>>
<<set $phonecost to 1200>>
<<set $computers to false>>
<<set $computercost to 6000>>
/* Office Manager Kaz Options */
<<set $windows to false>>
<<set $windowscost to 600>>
<<set $doorlocks to false>>
<<set $doorlockcost to 800>>
<<set $cabinetlocks to false>>
<<set $cabinetlockcost to 600>>
/* Policies Options */
<<set $fb2fa to false>>
<<set $email2fa to false>>
<<set $fboff to false>>
<<set $donation to false>>
<<set $von to false>>
<<set $voff to false>>
<<set $dsec to false>>
<<set $socialtraining to false>>
/*Advertising prices and effects*/
<<set $smpostcost to 1300>>
<<set $smposteffect to 2>>
<<set $smadcost to 2750>>
<<set $smadeffect to 3>>
<<set $staffpostcost to 0>>
<<set $staffposteffect to 1>>
<<set $radioadcost to 750>>
<<set $radioadeffect to 4>>
<<set $tvadcost to 3500>>
<<set $tvadcost to 5000>>
/* Research */
<<set $shareboggs to false>>
<<set $jonquestioned to false>>
<<set $review to false>>
<<set $encplan to false>>
<<set $research to false>>
<<set $voterbus to false>>
/* Campaign Variables */
<<set $days to 5>>
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Marcel_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Marcel, Communications Manager</span>
<img src="alissa_images/purple-new.svg" width="112"></div>
</div></div>
<<set $firstplay to false>>"Honestly, we need this whole list," says Marcel, the rather frenzied Communications Manager, waving at the potential purchases. He's been working with Alissa on campaigns for the last couple of years. His video game t-shirt and blazer combination makes him seem a little eccentric, but he's level-headed in a crisis, and when it comes to communications, he's the best. "I know some of it is costly, but if we want to really get the word out there, we need ALL of it..." he says.
<span class="pos">Keep your eye on the budget in the menu. It changes in real time as you spend.</span> If you change your mind and want to reset your purchases for this manager, you can <<click "Reset the Wishlist.">><<script>>location.reload()<</script>><</click>>
<<include "MarcelWishList">>
<<if $Marcel is false or $Kaz is false or $Kara is false or $Fay is false>><<include "Manager Menu">><</if>><<if $Marcel is true and $Kaz is true and $Kara is true and $Fay is true>>Well, that was everyone. You hope you were able to meet their basic needs while still reserving enough of the budget for future endeavors. You can visit ''Inventory'' any time to check what you've purchased, and you will have opportunities later on to buy some of the items you skipped in this first round at the ''Store.''
<span class="rtn">[[Next ->Olania First]]</span><</if>>
<<set $Marcel to true>>Cheppers UI Instructions
tag "blue" - Phase 2
tag "yellow" - Phase 3
-------------------------------------------------------------------
''For using Tweego''
Use d:filepath to change the directory OR use the full path in the tweego line
The tweego line: tweego -o thenameyouwant.html thefullpathtothetweegofile.tw
the html file will appear in the same directory as the tweego file)
------------------------------------------------------------------
There is javascript for Chapel's disable macro. Don't forget to copy it over to the main if it works.
Note: I didn't use it - doesn't work for my purposes. Leave it here and don't port it over or delete it.
-------------------------------------------------------------------
''Cool tutorial for how to use the share button:''
Source: https://missfruitypie.wordpress.com/2018/12/15/twine-tutorial-how-to-use-the-share-menu-in-sugarcube-v2/
Twitter link: https://twitter.com/intent/tweet?url=<your website>&text=<your message>&via=<your Twitter handle>&hashtags=<your hashtags>
Facebook link: https://www.facebook.com/sharer/sharer.php?u=<your URL>&src=sdkpreparse&display=popup
''To create a menu that includes the share button: ''
<<nobr>>
<nav id="menu" role="navigation">
<ul id="menu-core">
<li id="menu-item-saves">
<a onclick="SugarCube.UI.saves();" tabindex="0">Saves</a>
</li>
<li id="menu-item-settings">
<a onclick="SugarCube.UI.settings();" tabindex="0">Settings</a>
</li>
<li id="menu-item-restart">
<a onclick="SugarCube.UI.restart();" tabindex="0">Restart</a>
</li>
<li id="menu-item-share">
<a onclick="SugarCube.UI.share();" tabindex="0">Share</a>
</li>
</ul>
</nav>
<</nobr>>
'' Twee Notation''
Twee 3 notation is written as a series of four parts for the header of each passage:
Sigil: (Required) Two colons (":") followed by a space
Passage Name: (Required) The name of the passage
Tags: (Optional) Optional tags
Metadata: (Optional) Information about the passage
The content of a passage continues until the next header of a passage is found or the input ends with at least a single empty line between passage headers.
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Hold an online forum for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "travel">><<goto "Travel to other parts of North Olania to reach underrepresented communities">><<run $events.delete("travel")>><</if>>
<<if $currentEvent is "forum">><<goto "Alissa holds a forum on reunification">><<run $events.delete("forum")>><</if>>
You find Marcel in his office. "Marcel, can you order some ads for us?" He jumps to the occasion as if he has been waiting for this very moment.
"Certainly! What do you need?"
<<nobr>>''Social Media Posts'' - 12 professionally written posts published on the campaign's social media page ($$smpostcost) <<if $funding gte $smpostcost>><<link "[Buy]" "Results of the Advertising ">><<set $funding to $funding - $smpostcost>><<replace "#money">>$funding<</replace>><<set $socialcampaign to "true">><</link>><<elseif $funding lt $smpostcost>><span style="color:red">$$$</span>
<</if>><</nobr>>
<<nobr>>''Social Media Ad'' - One social media ad that targets potential voters ($$smadcost) <<if $funding gte $smadcost>><<link "[Buy]" "Results of the Advertising ">><<set $funding to $funding - $smadcost>><<replace "#money">>$funding<</replace>><<set $socialcampaign to "true">><</link>><<elseif $funding lt $smadcost>><span style="color:red">[$$$]</span>
<</if>><</nobr>>
<<nobr>>''Social Media Staff Post'' - A member of the campaign staff crafts a social media message to post on the campaign's social media page ($$staffpostcost) <<if $funding gte $staffpostcost>><<link "[Buy]" "Do you have multifactor authentication?">><<set $funding to $funding - $staffpostcost>><<replace "#money">>$funding<</replace>><</link>><<elseif $funding lt $staffpostcost>><span style="color:red">[$$$]</span>
<</if>><</nobr>>
<<nobr>>''Radio Ad'' - One radio ad that targets potential voters across a network of stations ($$radioadcost) <<if $funding gte $radioadcost>><<link "[Buy]" "Results of the Advertising ">><<set $funding to $funding - $radioadcost>><<replace "#money">>$funding<</replace>><</link>><<elseif $funding lt $radioadcost>><span style="color:red">[$$$]</span>
<</if>><</nobr>>
<<nobr>>''Television Ads'' - One television ad that targets potential voters during a popular show ($$tvadcost) <<if $funding gte $tvadcost>><<link "[Buy]" "Results of the Advertising ">><<set $funding to $funding - $tvadcost>><<replace "#money">>$funding<</replace>><</link>><<elseif $funding lt $tvadcost>><span style="color:red">[$$$]</span>
<</if>><</nobr>>
<<include "Game Loop Menu">>
[[ ->Results of the Advertising ]]Welcome to the Store, the premier place to purchase all the trainings and tools you could ever desire! NO RETURNS!!!
You can view your purchases at any time by clicking on the Inventory button.
Scroll to the bottom to continue playing after you've made your purchases.
<span class="pos">Keep your eye on the budget in the menu. It changes in real time as you spend.</span>
-------
Organizational wonder that you are, you've asked your Managers to establish wish lists on your account:
<span style="color:blue;font-weight:bold">Marcel's Wishlist for Communication Management</span>
<<include "MarcelWishList">>
<span style="color:blue;font-weight:bold">Kaz's Wishlist for Volunteer Management</span>
<<include "KazWishlist">>
<span style="color:blue;font-weight:bold">Fay's Wishlist for IT Management</span>
<<include "FayWishlist">>
<span style="color:blue;font-weight:bold">Kara's Wishlist for Office Management</span>
<<include "KaraWishlist">>
<<include "Game Loop Menu">><<nobr>>
<<set $fundraise to $fundraise + 1>>
<<set $fundraising to either("low", "medium", "high")>>
<<if $fundraising is "low">><<set $funding to $funding + 3000>>Your fundraising efforts were rewarded with <span class="pos">$3,000!</span><<replace "#money">>$funding<</replace>><</if>>
<<if $fundraising is "medium">><<set $funding to $funding + 6000>>Your fundraising efforts were rewarded with <span class="pos">$6,000!</span><<replace "#money">>$funding<</replace>>
<</if>>
<<if $fundraising is "high">><<set $funding to $funding + 7000>>You make a helpful chunk of change! Your fundraising efforts were rewarded with <span class="pos">$7,000!</span><<replace "#money">>$funding<</replace>><</if>><</nobr>>
<<if $fundraise gte 3>><<set $allowfundraising to false>><span class="neg">No more fundraising for this level!</span><</if>>
<<include "Game Loop Menu">><<print either("What to do now?","What next?","Move on to:","Onward and upward!","What do you do next?")>>
<<nobr>>
<<if $eventlist lte 4>>[[Event->Event]] <span class="pos">↑</span><span class="neg">↓</span>👍 - <span class="pos">↑</span><span class="neg">↓</span> <span class = "pos">$</span><</if>>
<<if $eventlist eq 5>> [[Event ->The ONN polling results are IN!]]<span class="pos">↑</span><span class="neg">↓</span>👍 - <span class="pos">↑</span><span class="neg">↓</span> <span class = "pos">$</span><</if>>
<<if $eventlist gt 5 and $eventlist lte 11>>[[Event->Event2]] <span class="pos">↑</span><span class="neg">↓</span>👍 - <span class="pos">↑</span><span class="neg">↓</span> <span class = "pos">$</span><</if>>
<<if $eventlist gte 12>>[[Event->An Office Dilemma]] <span class="pos">↑</span><span class="neg">↓</span>👍 - <span class="pos">↑</span><span class="neg">↓</span> <span class = "pos">$</span><</if>>
<</nobr>>
[[Advertise]] <span class="pos">↑</span><span class="neg">↓</span>👍 - <span class="neg">↓</span> <span class = "pos">$</span>
[[Store]] <span class="neg">↓</span> <span class = "pos">$</span>
<<if $allowfundraising is true>>[[Fundraise]] (<<print( 3-$fundraise)>> left) <span class="pos">↑</span> <span class = "pos">$</span><</if>>
👍 = popularity - <span class = "pos">$</span> = funding
<<nobr>>
<div id="toggle-button">
<<button "<span></span>">>
<<set UIBar.isStowed() ? UIBar.unstow() : UIBar.stow()>>
<</button>>
</div>
<div class="small-text mobile-d_none">An interactive campaigns and digital security adventure</div>
<div class="left-bar-wrapper"><span class="title-2">''Current state:''</span>
<div class="values-wrapper"><span class="values" id="fanbase">$popularity</span>''% popularity''</div>
<div class="values-wrapper"><span class="values" id="money"><<print setup.formatNumber($funding)>></span>''in funds''</div>
<span class="caption"><<if $tutorial is false>><<button [[Inventory]]>><</button>><</if>></span>
</div>
<div class="mobile-hide__wrapper">
<div class="mobile-hide">
<div class="row uppercase space-btw main-menu">
<<click "<span class='back-button'>go back</span>">>
<<script>>
State.backward()
<</script>>
<</click>>
<<click "<span class='forward-button'>go forward</span>">>
<<script>>
State.forward()
<</script>>
<</click>>
<<click "<span class='save-button'>Save / Load</span>">>
<<script>>
UI.saves()
<</script>>
<</click>>
<<click "<span class='restart-button'>Restart</span>">>
<<script>>
SugarCube.UI.restart()
<</script>>
<</click>>
</div>
<span class="caption transparent how-play"><<button [[How to play]]>><</button>></span>
</div>
</div>
<</nobr>><span class="pos">The staff posted their wish lists inside the door of the supply cabinet. You can check what items you've bought here. Anything you haven't bought can be purchased with a visit to the Store, which you can access at predefined points throughout the game.</span>
<<nobr>><<if $policymanager is true>>Note: Benet Etienne has joined your team as the Policy Manager - a Policy Manager can help the campaign with defining Alissa's policies and ensuring that they fit into a grand strategic plan, as well as working with Alissa and her staff to respond to policy-related questions<</if>><<if $crisismanager is true>>Note: Olga Aksamit has joined your team as the Crisis Communications Manager - a Crisis Communications Manager can help the campaign plan for and handle communications responses to crises, including cybersecurity attacks>><</if>><</nobr>>
''Marcel's Wish List - Communication and Outreach''
*<<if $outreach is "true">><s>Outreach Materials ($<<print setup.formatNumber($outreachcost)>>)</s> - <span class="pch">Purchased</span><<else>>Branded signs, flyers, and postcards for outreach ($<<print setup.formatNumber($outreachcost)>>)<</if>>
*<<if $socialcampaign is "true">><s>Paid Social Media Campaign. ($<<print setup.formatNumber($socialcampaigncost)>>)</s> - <span class="pch">Purchased</span><<else>>Paid Social Media Campaign ($<<print setup.formatNumber($socialcampaigncost)>>)<</if>>
*<<if $donors is "true">><s>Donor Research ($<<print setup.formatNumber($donorcost)>>)</s> - <span class="pch">Purchased</span><<else>>Research prospective donors ($<<print setup.formatNumber($donorcost)>>)<</if>>
*<<if $pollinfo is "true">><s>Survey Voters ($<<print setup.formatNumber($pollinfocost)>>)</s> - <span class="pch">Purchased</span><<else>>Survey prospective voters about key issues ($<<print setup.formatNumber($pollinfocost)>>)<</if>>
*<<if $mediatraining is "true">><s>Media Training. ($<<print setup.formatNumber($mediatrainingcost)>>)</s> - <span class="pch">Purchased</span><<else>>Media Training Package ($<<print setup.formatNumber($mediatrainingcost)>>)<</if>>
''Kaz's Wish List - Office Security''
*<<if $windows is "true">><s>Strong Window Locks ($<<print setup.formatNumber($windowscost)>>)</s> - <span class="pch">Purchased</span><<else>>Professionally insalled window locks ($<<print setup.formatNumber($windowscost)>>)<</if>>
*<<if $doorlocks is "true">><s>Security Door Locks ($<<print setup.formatNumber($doorlockcost)>>)</s> - <span class="pch">Purchased</span><<else>>Professionally installed secure door locks ($<<print setup.formatNumber($doorlockcost)>>)<</if>>
*<<if $cabinetlocks is "true">><s>Secure Cabinet Locks ($<<print setup.formatNumber($cabinetlockcost)>>)</s> - <span class="pch">Purchased</span><<else>>Professionally installed cabinet locking system ($<<print setup.formatNumber($cabinetlockcost)>>)<</if>>
''Fay's Wish List - Cybersecurity Items''
*<<if $antimalware is "true">><s>Antimalware ($<<print setup.formatNumber($antimalwarecost)>>)</s> - <span class="pch">Purchased</span><<else>>Purchase antimalware for the staff computers and phones ($<<print setup.formatNumber($antimalwarecost)>>)<</if>> <<linkreplace "[Description]" >><em>- Malware detection services identify and protect against harm from viruses, spyware, and other forms of malicious code. "Malware" includes computer viruses that are often contracted by clicking a link or downloading a file. Their purpose is either to shut down your computer or to obtain sensitive information.</em><</linkreplace>>
*<<if $cloud is "true">><s>Cloud Backup System ($<<print setup.formatNumber($cloudcost)>>)</s> - <span class="pch">Purchased</span><<else>>Purchase a cloud document system to backup your documents ($<<print setup.formatNumber($cloudcost)>>)<</if>> <<linkreplace "[Description]" >><em>- Having a cloud-based storage system like Google Docs ensures that everyone's folders are online rather than being saved on local drives. Data is stored, managed, and processed on a network of remote servers hosted on the internet, rather than on local servers or vulnerable personal computers.</em><</linkreplace>>
*<<if $pwmanager is "true">><s>Password Manager. ($<<print setup.formatNumber($pwmanagercost)>>)</s> - <span class="pch">Purchased</span><<else>>Purchase a password manager ($<<print setup.formatNumber($pwmanagercost)>>) <</if>> <<linkreplace "[Description]" >><em>- A password manager generates passwords that are unlikely to be guessed – and also means you don't have to store your passwords in your head. Password managers store your login information for all the websites you use and help you log into them automatically.</em><</linkreplace>>
*<<if $vpn is "true">><s>VPN Internet Security ($<<print setup.formatNumber($vpncost)>>)</s> - <span class="pch">Purchased</span><<else>>Purchase a VPN Internet Security System ($<<print setup.formatNumber($vpncost)>>)<</if>> <<linkreplace "[Description]" >><em>- A virtual private network or VPN adds a layer of privacy to your internet activity so that anyone observing networks you are on cannot see what you’re doing – or censor or block your connections.</em><</linkreplace>>
*<<if $ddos is "true">><s>DDOS Prevention ($<<print setup.formatNumber($ddoscost)>>)</s> - <span class="pch">Purchased</span> <<else>>Purchase DDOS protection ($<<print setup.formatNumber($ddoscost)>>)<</if>> <<linkreplace "[Description]" >><em>- Distributed Denial of Service or "DDOS" attacks send an overwhelming flood of data to a targeted website with the aim of exceeding the website's capacity and causing it to grind to a halt.</em><</linkreplace>>
*<<if $encryption is "true">><s>Encryption for Staff Computers ($<<print setup.formatNumber($encryptioncost)>>)</s> - <span class="pch">Purchased</span><<else>>Purchase encryption for staff computers ($<<print setup.formatNumber($encryptioncost)>>)<</if>> <<linkreplace "[Description]" >><em>- Disk encryption is a technology which protects information by converting it into unreadable code that cannot be deciphered by unauthorized people – for example, someone who steals your computer.</em><</linkreplace>>
''Kara's Wish List - Donor Management''
*<<if $dbtraining is "true">><s>Volunteer Database Training ($<<print setup.formatNumber($dbtrainingcost)>>)</s> - <span class="pch">Purchased</span><<else>>Train volunteers to manage the donor database ($<<print setup.formatNumber($dbtrainingcost)>>)<</if>>
*<<if $ctraining is "true">><s>Voter Poll Training ($<<print setup.formatNumber($ctrainingcost)>>)</s> - <span class="pch">Purchased</span><<else>>Train volunteers on the major talking points of the campaign ($<<print setup.formatNumber($ctrainingcost)>>)<</if>>
*<<if $phones is "true">><s>Phones for the Staff ($<<print setup.formatNumber($phonecost)>>)</s> - <span class="pch">Purchased</span><<else>>Buy phones for the staff ($<<print setup.formatNumber($phonecost)>>)<</if>>
*<<if $computers is "true">><s>Office Computers ($<<print setup.formatNumber($computercost)>>)</s> - <span class="pch">Purchased</span><<else>>Buy computers for the office ($<<print setup.formatNumber($computercost)>>)<</if>>
Return to the game: <span class="rtn"><<back>></span>
<nobr>
<<set $advfund to (random (500,900))>><<set $funding to $funding + $advfund>>
<<set $advpop to (random (1,5))>><<set $popularity to $popularity + $advpop>></nobr>
The campaign went well. Your popularity is now <span class="pos">$advpop points higher!</span>
A few donations came in, too. You have <span class="pos">$<<print setup.formatNumber($advfund)>></span> in your budget.
<<include "Game Loop Menu">>
Make sure you check out Fay's descriptions to understand what all of these cybersecurity items do.
*<<if $antimalware is "true">>You have purchased antimalware.<<else>>Purchase antimalware for the staff computers and phones ($<<print setup.formatNumber($antimalwarecost)>>)<</if>> <<if $funding gte $antimalwarecost and $antimalware is false>><<linkreplace "[Buy]">>[Sold!]<<set $antimalware to "true">><<set $funding to $funding - $antimalwarecost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $antimalwarecost and $antimalware is false>><span style="color:red">[$$$]</span>
<</if>> <<linkreplace "[Description]" >><em>- Malware detection services identify and protect against harm from viruses, spyware, and other forms of malicious code. "Malware" includes computer viruses that are often contracted by clicking a link or downloading a file. Their purpose is either to shut down your computer or to obtain sensitive information.</em><</linkreplace>>
*<<if $cloud is "true">>You have purchased a cloud document backup system.<<else>>Purchase a cloud document system to backup your documents ($<<print setup.formatNumber($cloudcost)>>)<</if>> <<if $funding gte $cloudcost and $cloud is false>><<linkreplace "[Buy]">>[Sold!]<<set $cloud to "true">><<set $funding to $funding - $cloudcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $cloudcost and $cloud is false>><span style="color:red">[$$$]</span><</if>> <<linkreplace "[Description]" >><em>- Having a cloud-based storage system like Google Docs ensures that everyone's folders are online rather than being saved on local drives. Data is stored, managed, and processed on a network of remote servers hosted on the internet, rather than on local servers or vulnerable personal computers.</em><</linkreplace>>
*<<if $pwmanager is "true">>You have purchased a password manager.<<else>>Purchase a password manager ($<<print setup.formatNumber($pwmanagercost)>>)<</if>> <<if $funding gte $pwmanagercost and $pwmanager is false>><<linkreplace "[Buy]">>[Sold!]<<set $pwmanager to "true">><<set $funding to $funding - $pwmanagercost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $pwmanagercost and $pwmanager is false>><span style="color:red">[$$$]</span><</if>> <<linkreplace "[Description]" >><em>- A password manager generates and securely stores strong passwords for your entire campaign. With it, staff have secure access to important shared accounts and don't have to store important passwords in their heads (or insecure sheets of paper). Password managers also help you log into your websites and accounts automatically.</em><</linkreplace>>
*<<if $vpn is "true">>You have purchased a VPN to make your internet connection more secure.<<else>>Purchase a VPN Internet Security System ($<<print setup.formatNumber($vpncost)>>)<</if>> <<if $funding gte $vpncost and $vpn is false>><<linkreplace "[Buy]">>[Sold!]<<set $vpn to "true">><<set $funding to $funding - $vpncost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $vpncost and $vpn is false>><span style="color:red">[$$$]</span><</if>> <<linkreplace "[Description]" >><em>- A virtual private network or VPN adds a layer of privacy to your internet activity so that anyone observing networks you are on cannot see what you’re doing – or censor or block your connections.</em><</linkreplace>>
*<<if $ddos is "true">>You have purchased DDOS protection. <<else>>Purchase DDOS protection. ($<<print setup.formatNumber($ddoscost)>>)<</if>> <<if $funding gte $ddoscost and $ddos is false>><<linkreplace "[Buy]">>[Sold!]<<set $ddos to "true">><<set $funding to $funding - $ddoscost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $ddoscost and $ddos is false>><span style="color:red">[$$$]</span><</if>> <<linkreplace "[Description]" >><em>- Distributed Denial of Service or "DDOS" attacks send an overwhelming flood of data to a targeted website with the aim of exceeding the website's capacity and causing it to grind to a halt.</em><</linkreplace>>
*<<if $encryption is "true">>You have purchased disc encryption.<<else>>Purchase encryption for staff computers ($<<print setup.formatNumber($encryptioncost)>>)<</if>> <<if $funding gte $encryptioncost and $encryption is false>><<linkreplace "[Buy]">>[Sold!]<<set $encryption to "true">><<set $funding to $funding - $encryptioncost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $encryptioncost and $encryption is false>><span style="color:red">[$$$]</span>
<</if>> <<linkreplace "[Description]" >><em>- Disk encryption is a technology which protects information by converting it into unreadable code that cannot be deciphered by unauthorized people – for example, someone who steals your computer.</em><</linkreplace>>*<<if $dbtraining is "true">>You have purchased Database Training.<<else>>Train volunteers to manage the donor database ($<<print setup.formatNumber($dbtrainingcost)>>)<</if>> <<if $funding gte $dbtrainingcost and $dbtraining is false>><<linkreplace "[Buy]">>[Sold!]<<set $dbtraining to "true">><<set $funding to $funding - $dbtrainingcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $dbtrainingcost and $dbtraining is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $ctraining is "true">>You have purchased Outreach Training.<<else>>Train volunteers on the major talking points of the campaign ($<<print setup.formatNumber($ctrainingcost)>>)<</if>> <<if $funding gte $ctrainingcost and $ctraining is false>><<linkreplace "[Buy]">>[Sold!]<<set $ctraining to "true">><<set $funding to $funding - $ctrainingcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $ctrainingcost and $ctraining is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $phones is "true">>You have purchased phones for the staff.<<else>>Buy phones for the staff ($<<print setup.formatNumber($phonecost)>>)<</if>> <<if $funding gte $phonecost and $phones is false>><<linkreplace "[Buy]">>[Sold!]<<set $phones to "true">><<set $funding to $funding - $phonecost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $phonecost and $phones is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $computers is "true">>You have purchased office computers.<<else>>Buy computers for the office ($<<print setup.formatNumber($computercost)>>)<</if>> <<if $funding gte $computercost and $computers is false>><<linkreplace "[Buy]">>[Sold!]<<set $computers to "true">><<set $funding to $funding - $computercost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $computercost and $computers is false>><span style="color:red">[$$$]</span>
<</if>>*<<if $windows is "true">>You have purchased strong locks for the windows.<<else>>Professionally insalled window locks ($<<print setup.formatNumber($windowscost)>>)<</if>> <<if $funding gte $windowscost and $windows is false>><<linkreplace "[Buy]">>[Sold!]<<set $windows to "true">><<set $funding to $funding - $windowscost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $windowscost and $windows is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $doorlocks is "true">>You have purchased security door locks.<<else>>Professionally installed secure door locks ($<<print setup.formatNumber($doorlockcost)>>)<</if>> <<if $funding gte $doorlockcost and $doorlocks is false>><<linkreplace "[Buy]">>[Sold!]<<set $doorlocks to "true">><<set $funding to $funding - $doorlockcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $doorlockcost and $doorlocks is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $cabinetlocks is "true">>You have installed secure cabinet locks.<<else>>Professionally installed cabinet locking system ($<<print setup.formatNumber($cabinetlockcost)>>)<</if>> <<if $funding gte $cabinetlockcost and $cabinetlocks is false>><<linkreplace "[Buy]">>[Sold!]<<set $cabinetlocks to "true">><<set $funding to $funding - $cabinetlockcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $cabinetlockcost and $cabinetlocks is false>><span style="color:red">[$$$]</span>
<</if>>*<<if $outreach is "true">>You have purchased outreach materials.<<else>>Branded signs, flyers, and postcards for outreach ($<<print setup.formatNumber($outreachcost)>>)<</if>> <<if $funding gte $outreachcost and $outreach is false>><<linkreplace "[Buy]">>[Sold!]<<set $outreach to "true">><<set $funding to $funding - $outreachcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $outreachcost and $outreach is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $socialcampaign is "true">>You have purchased a social media campaign.<<else>>Paid Social Media Campaign ($<<print setup.formatNumber($socialcampaigncost)>>)<</if>> <<if $funding gte $socialcampaigncost and $socialcampaign is false>><<linkreplace "[Buy]">>[Sold!]<<set $socialcampaign to "true">><<set $funding to $funding - $socialcampaigncost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $socialcampaigncost and $socialcampaign is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $donors is "true">>You have purchased donor research.<<else>>Research prospective donors ($<<print setup.formatNumber($donorcost)>>)<</if>> <<if $funding gte $donorcost and $donors is false>><<linkreplace "[Buy]">>[Sold!]<<set $donors to "true">><<set $funding to $funding - $donorcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $donorcost and $donors is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $pollinfo is "true">>You have polled prospective voters.<<else>>Survey prospective voters about key issues ($<<print setup.formatNumber($pollinfocost)>>)<</if>> <<if $funding gte $pollinfocost and $pollinfo is false>><<linkreplace "[Buy]">>[Sold!]<<set $pollinfo to "true">><<set $funding to $funding - $pollinfocost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $pollinfocost and $pollinfo is false>><span style="color:red">[$$$]</span>
<</if>>
*<<if $mediatraining is "true">>You have purchased Media Training.<<else>>Media Training Package ($<<print setup.formatNumber($mediatrainingcost)>>)<</if>> <<if $funding gte $mediatrainingcost and $mediatraining is false>><<linkreplace "[Buy]">><<set $mediatraining to "true">><<set $funding to $funding - $mediatrainingcost>><<replace "#money">>$funding<</replace>><<run Engine.show()>><</linkreplace>><<elseif $funding lt $mediatrainingcost and $mediatraining is false>><span style="color:red">[$$$]</span>
<</if>><<script>>UIBar.unstow()<</script>><<set $lv1 to true>>
<center><img srcimg src="alissa_images/purple-new.svg" width="300"></center>
You arrive at the office for your first day of work as a campaign manager for The Purple Party of North Olania. After several local elections, you've worked your way to the top. This is your first national election, and you have your work cut out for you.
Your home of ''North Olania'' gained independence from its larger southern neighbor, South Olania, 20 years ago, but the possibility of reunification keeps resurfacing and dividing the country. The issue lies with the North Olanians who live near the border and whose lives would be most affected by a merger. Polling on this remains unclear, but it will likely be a focus of the campaign - especially the debates.
[[Next ->Meet Alissa]]
You're mulling over your campaign strategy when you're interrupted by none other than Alissa Orme, the Purple Party Candidate. You knew that you would be working for her, but you're still a bit in awe of meeting her in person. After all, she just might be North Olania's next president.
But you're impressed by more than her political gravitas. The main topics of this campaign are ''education, the economy, and reunification,'' and you happen to agree with her on all three.
She greets you with a smile. Warm and genuine, she says, "Hello, I'm Alissa."
You shake her outstretched hand, "Hello Alissa, it's great to finally meet you!"
[[Next ->The Campaign Primary Phase]]
\
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112">
</div>\
</div>\
<span class="highlighted">Alissa is the current Mayor of Vario, a major North Olanian city, and a former human rights lawyer. Improving access to education is a key focus of her platform.</span></div>
\
Her eyes register a glint of recognition. "Our new Campaign Manager! We're so glad to have you."
She turns to walk down the hall, motioning for you to follow.
"So, as you know, we have six months until the election, but not every campaign will make it to election day. The next ten weeks make up the Primary Phase, which ends with the Olania News Network Presidential poll. Only candidates with at least 25% popularity and $10,000 continue on from there. Otherwise, it's just too big a hurdle to overcome."
[[Next ->The Main Campaign]]\
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div>\
</div>
\
"After that," she continues, "comes the Campaign Phase. For three months we'll continue advertising, fundraising, and making appearances, all culminating in a Candidate Forum!"
"And if we finish the Candidate Forum with at least 35% popularity, we make it to the Final Debate," you chime in.
"Right!" she answers, "35% popularity and at least $5,000."
"And then 50% to win the election?" you ask.
She smiles and nods, "Exactly."
She stops in front of the conference room and turns to you. "I have a meeting, but go on in and meet the team. We're just setting up, so each of them will have a list of tools and trainings they recommend for the office. We have a starting budget of $<<print setup.formatNumber($funding)>>, but it costs money to advertise and run events, so don't spend it all immediately. Throughout the campaign, we'll be able to do some fundraising and buy more supplies."
[[Next ->The Grey Party]]As you walk into the conference room, the team is gathered around the television.
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Boggs_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Bareth Boggs</span>
<img src="alissa_images/grey.png" width="124"></div>\
</div>\
<span class="highlighted">Bareth Boggs is the incumbent, and the Grey party has been in power for the last three election cycles. A key focus of Boggs' campaign is economic development. Currently, he is polling at a healthy 45%.</span>\
</div>
I'm Bareth Boggs, and the Grey Party has been taking care of North Olanians for the last decade. We hear the people, and we respond.
When times were tough in North Olania, we focused on economic development, reducing taxes, and building more infrastructure for our citizens. In time, these policies will benefit all North Olanians.
It's this kind of problem solving you can expect from the Grey Party. We take care of business.
[[Next ->The Team]]Boggs' ad makes you consider the situation. By making the right campaign choices, raising enough money, and letting Alissa shine you can win this race. But your political rivals will be seizing every opportunity to turn the conversation away from Alissa's policies, and antidemocratic forces will try to undermine the election any way they can. It's up to you and the campaign team to protect Alissa from threats both on and offline so she can focus on her message to voters.
Needless to say, funding is tight and you have some tough decisions ahead of you. You need to get the word out about Alissa, rally people around her cause, and hope there aren't too many negative attacks from the opposition or other disgruntled parties. And your IT manager has sent several emails about the dangerous cybersecurity environment surrounding the election.
The campaign kick off offers a rare opportunity to speak with all of your managers. Everyone has come together to strategize. You start by talking with:
<<include "Manager Menu">>
[[ ->Manager Menu]]
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Kaz_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Kaz, Office Manager</span>
<img src="alissa_images/purple-new.svg" width="112"></div>
</div></div>
As you approach the Office Manager, Kaz, her eyes meet yours and lock on. "We have to make this place physically safe," she says. "Ralphie can't be the only protection around here."
You look from Kaz to her dog, Ralphie, a pomeranian who is dressed in a doggie shirt with "Alissa Rocks!" on the back. With his best doggie smile and an ever-wagging tail, he seems the opposite of threatening.
Kaz looks amused, "Ralphie doesn't seem like a security dog - but don't cross him!"
<span class="pos">Keep your eye on the budget in the menu. It changes in real time as you spend.</span> If you change your mind and want to reset your purchases for this manager, you can <<click "Reset the Wishlist.">><<script>>location.reload()<</script>><</click>>
<<include "KazWishlist">>
<<if $Marcel is false or $Kaz is false or $Kara is false or $Fay is false>><<include "Manager Menu">><</if>><<if $Marcel is true and $Kaz is true and $Kara is true and $Fay is true>>Well, that was everyone. You hope you were able to meet their basic needs while still reserving enough of the budget for future endeavors. You can visit ''Inventory'' any time to check what you've purchased, and you will have opportunities later on to buy some of the items you skipped in this first round at the ''Store.''
<span class="rtn">[[Next ->Olania First]]</span><</if>>
<<set $Kaz to true>><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Fay_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Fay, IT Manager</span>
<img src="alissa_images/purple-new.svg" width="112"></div>
</div></div>
"We have to protect ourselves from hacking. It wouldn't be the first time a cyberattack ended a campaign," says the IT Manager, Fay. She's incredibly savvy and has been emailing you for several weeks to push you into investing in more cybersecurity infrastructure for the campaign. She is constantly reminding you how cyberattacks against candidates during the last election cost the Purple Party dearly. Maybe she's right, but sometimes it seems like she's just spewing tech jargon. Luckily she's included descriptions of the items on her list.
<span class="pos">Keep your eye on the budget in the menu. It changes in real time as you spend.</span> If you change your mind and want to reset your purchases for this manager, you can <<click "Reset the Wishlist.">><<script>>location.reload()<</script>><</click>>
<<include "FayWishlist">>
<<if $Marcel is false or $Kaz is false or $Kara is false or $Fay is false>><<include "Manager Menu">><</if>><<if $Marcel is true and $Kaz is true and $Kara is true and $Fay is true>>Well, that was everyone. You hope you were able to meet their basic needs while still reserving enough of the budget for future endeavors. You can visit ''Inventory'' any time to check what you've purchased, and you will have opportunities later on to buy some of the items you skipped in this first round at the ''Store.''
<span class="rtn">[[Next ->Olania First]]</span><</if>>
<<set $Fay to true>><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Kara_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Kara, Volunteer Manager</span>
<img src="alissa_images/purple-new.svg" width="112"></div>
</div></div>
"Our priority has to be equipping the volunteers to go out and effectively increase support. They have to know our target demographics and be able to communicate effectively." This is the advice from your Volunteer Manager, Kara, who is relatively new on the staff, but is well-informed about the communities that Alissa is most popular in – and has some clever ideas about how to build support in the places she is not.
<span class="pos">Keep your eye on the budget in the menu. It changes in real time as you spend.</span> If you change your mind and want to reset your purchases for this manager, you can <<click "Reset the Wishlist.">><<script>>location.reload()<</script>><</click>>
<<include "KaraWishlist">>
<<if $Marcel is false or $Kaz is false or $Kara is false or $Fay is false>><<include "Manager Menu">><</if>><<if $Marcel is true and $Kaz is true and $Kara is true and $Fay is true>>Well, that was everyone. You hope you were able to meet their basic needs while still reserving enough of the budget for future endeavors. You can visit ''Inventory'' any time to check what you've purchased, and you will have opportunities later on to buy some of the items you skipped in this first round at the ''Store.''
<span class="rtn">[[Next ->Olania First]]</span><</if>>
<<set $Kara to true>><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fgames.demcloud.org%2Fcybersecurity.html&text=Learn%20about%20Cybersecurity%20while%20you%20help%20your%20candidate%20win!&via=NDI&hashtags=cybersecuritygame" target=”_blank>Twitter</a>
<a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fgames.demcloud.org%2Fcybersecurity.html&src=sdkpreparse&display=popup
" target=”_blank>Facebook</a>
Learn%20about%20Cybersecurity%20while%20you%20help%20your%20candidate%20win!Revised Version (2022)
Writing and Twine: Katryna Starks
UI: Cheppers, Inc.
Character Images: AvatarMaker.com
Original Version
Writing: Jessica Dare Weaver
Programming: G.C. "Grim" Baccaris
Other:
Using code by: HiEv
Images by:<div class="fadeinout"><img src="alissa_images/NDI-logo.jpg"></div><<timed 3s>><<goto "Your First Day">><</timed>>
A familiar chime from the television gets everyone's attention and they gather around. Dani Stoller has a new campaign ad.
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Stoller_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Dani Stoller</span>
<img src="alissa_images/of.png" width="89"></div>\
</div>\
<span class="highlighted">The ''Olania First Party'' started as a radical social movement for reunification with South Olania and is led by Dani Stoller. The Olania First Party is only polling at 15%, but their rallies and public events seem to be getting a large and boisterous turnout. Stoller is a 40-year-old former business tycoon turned candidate.</span></div>\
Our businesses are moving to South Olania. We need to make our country more competitive. North Olanians have innovative, ambitious ideas for growth, but we are at a disadvantage after losing the resources we had as one nation.
So, if I'm elected, I will focus on unity. One Olania supporting another. Olania First to the world."
Echoes of patriotic music end the ad, and everyone turns back to the table.
"I wonder when they'll show ours", says Kaz.
Fay responds, "I've seen several of Olania First's. Our budget hasn't bought us nearly the same airtime."
Marcel gives an encouraging smile, "It's not always about the frequency. It's the impact. Our ad says a lot."
[[Next ->Policies]]
Now that you've met the team and made your initial purchases, it's time to focus.
You have ''$<<print setup.formatNumber($funding)>>'' left of your funding, and events cost money to run, though they can also bring in donations as well. You can also invest in advertising to help promote Alissa's agenda. You'll want to continue fundraising, but there's only so much money you can raise during the campaign season.
You need to launch the campaign with something big. What would you like to organize?
[[Community Rally]]
[[Major Donor Event]]
/* Changed "Kickoff Rally" to "Community Rally" because it seems strange to not kick off a campaign with a Kickoff Rally if that is an option */Everyone turns back to the conference room television as Alissa appears onscreen.
\
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div>\
</div>\
<span class="highlighted">Alissa is the 45-year-old Mayor of Vario, a major North Olanian city, and a former human rights lawyer.</span></div>
"Growing up in Vario, I was surrounded by smart, innovative young people, with tons of potential. But many of my peers' dreams were crushed when they couldn't pull together a small fortune to attend university.
I want to fight for our future by making university education accessible for all North Olanians, so that every young North Olanian will have the opportunity to pursue their dreams."
As the ad finishes, there is a murmur of excitement among the team.
Marcel gives you a knowing look. You respond, "You were right. The ad really does make an impact. Let's hope it's enough to push us to the top."
[[Next ->Launch the Campaign]]<<if $policies gt 2>><span class="neg">You cannot have more than 2 policies.
</span><<include "Policies">><<set $policies to 0>><<else>> You had to prioritize which trainings the staff would take, and you wish there was time to conduct trainings for more policies. Still, you're confident your team is going to do a great job. <<include "The Purple Party">><</if>>
[[ ->Policies]]
[[ ->The Purple Party]]
<img src="alissa_images/association-pixabay_640.png">This place is hopping! All the volunteers have their phones out capturing the signs and smiling faces of what they hope will be a commanding show by Alissa, who is meeting and greeting people on the side of a stage.
<<nobr>>
<<if ($outreach is "true") or ($ctraining is "true") or ($socialcampaign is "true")>>You survey the scene with pride. Your volunteers worked around the clock to raise awareness about the campaign, and it worked. The turnout is great, particularly among young people. Plus, you've gotten <span class="pos">$3,000 in donations and </span><span class="pos">+2% voter support!</span><<set $popularity to $popularity + 2>><<set $funding to $funding + 3000>><<replace "#money">>$funding<</replace>><</if>>
<</nobr>><<nobr>>
<<if $mediatraining is "true">> <<set $funding to $funding + 3000>><<set $popularity to $popularity + 3>>Alissa is out talking to voters, and with her recent media training, she is extra prepared, responding to voters' many questions about her vision for the future direction of North Olania. <span class="pos">+3% voter support</span> A major donor is impressed. <span class="pos">+$3000</span><br><br><</if>>
<</nobr>>
This is the perfect social media moment, so you consider your options. Which action do you take?
[[Tell the volunteers to post photos on the campaign's ImageBook page]]
[[Tell the communications manager to post photos from the campaign.]]
[[Save the posting for after the event]]
<<set $eventlist to $eventlist +1>>
<img src="alissa_images/speaker.png">Alissa strides out on the stage and makes a strong case for investing in North Olania's youth through accessible education. Alissa explains how planning for the future will benefit the economy of the entire country.
<<if $pollinfo is "true">><<set $popularity to $popularity + 5>><<set $funding to $funding + 7000>>Nice work! The polling information from voters was worth the cost. Alissa was able to tailor her message to her target audience, and the superintendent of a large school district endorsed her publicly. <span class="pos">+5% voter support, +$7000 donations. </span><<else>><<set $popularity to $popularity + 4>>Nice work! Getting to hear from the candidate herself really jazzed up the crowd. Moreover, Alissa really made an impact by sticking around after the event to talk with constituents long into the evening. <span class="pos">+4% voter support</span><br><br><</if>><<if $donors is "true">> The crowd reacts uproariously, fully behind Alissa's message.<</if>><<if $donors is false>><<set $funding to $funding - 3000>> Unfortunately, a few of the older donors were put off by Alissa's message and suspend their monthly donations. <span class="neg">-$3000 funding</span><</if>>
<<include "Game Loop Menu">><img src="alissa_images/social.png"><<if $fb2fa is true>>Marcel, the Communications Manager, heads back to the office after the event. When he arrives, he notices his desk chair isn't where he left it. Weird. Logging into his computer, he sees someone has been trying to log into his ImageBook account. Unfortunately his password is written on a post-it right on his desk. Luckily, Marcel had set up 2-factor authentication (2FA). The attacker had been unable to access the account because 2FA requires that users type in a code sent to Marcel's phone.
When he tells you about the attack, you guess it was a disgruntled volunteer, fired that day, who was trying to post something negative on Alissa's page. You admonish him about being so careless with his password, but you're thankful for the 2FA.
You briefly wonder if you should check the Store for added security options or if you should just get on with the campaign. After all, this was carelessness by one person. It probably won't happen again.
<<include "Game Loop Menu">>
<</if>><<if $fb2fa is false>><<set $popularity to $popularity - 8 >>
Marcel, the Communications Manager, heads back to the office after the event. When he arrives, he notices his desk chair isn't where he left it. Weird. Logging into his computer, he sees someone has been trying to log into his ImageBook account. Unfortunately his password is written on a post-it right on his desk. He checks the Purple Party page and sees that "Marcel" has apparently had a terrible experience working for the campaign. <<if $fboff is false>>He suspects that this post was planted by a disgruntled volunteer who was fired earlier in the day.<</if>>
He takes the posts down right away, but journalists have already spotted it. The newspaper headlines the next day seem to focus on nothing else, and Alissa's popularity takes a hit. <span class="neg">-8% voter support</span>
[[What are you paying him for? Fire him!]]
[[Marcel is trustworthy. Let him fix his mistake.]]
<</if>><img src="alissa_images/Shield.png">Marcel has worked with Alissa for years. As her trusted Communications Manager, he's been a scandal-free, loyal employee. Firing him would seriously impact the campaign strategy and probably damage your relationship with Alissa as well as the rest of the staff.
You go down the hall to admonish Marcel but not fire him. When you reach his desk, Marcel immediately informs you that he's changed the Imagebook admin password. <<if $pwmanager is "true">> He also assures you that he has started using the party-approved password manager.<</if>><<if $pwmanager is "false">>He also asks if there is a secure place to keep his passwords. A password manager, maybe?<</if>>
<<include "Game Loop Menu">><img src="alissa_images/Money.png" style="border-radius: 100px; padding-right: 10px"><<if $dbtraining is "true" and $donors is "true">><<set $funding to $funding + 10000>><<replace "#money">>$funding<</replace>>
The event was definitely worth the cost. Targeting invitations based on your donor database helped boost giving at the party. Donors continue to rally around Alissa. <span class="pos">+$10,000 funding</span><<else>><<set $funding to $funding + 7000>>The event was definitely worth the wait. It was a solid group of donors, but a little scattershot. Investing more in either research on potential donors or additional training on how to use the database would have helped you rake in more additional funds. That said, not too shabby in terms of net profit, either! <span class="pos">+ $7000 in funds.</span><</if>>
[[Next->Through the looking glass]] <img src="alissa_images/phone.png"><<if $dsec is false>><<set $popularity to $popularity - 5>>Photos are snapping all over. Overall, the event was a huge success. The volunteers are invigorated, and the crowd seems to be responding to Alissa's message.
It's great to have volunteers taking photos, but having them all post on the official ImageBook is a little risky. One volunteer, who is an ImageBook administrator, leaves her cell phone on a nearby bench, where it's picked up by one of Dani Stoller's volunteers. The phone was locked with "1234" instead of a strong password. As a result, Stoller's volunteer was able to unlock the phone and post a personal photo from a rather raucous volunteer party at Alissa's headquarters.
The photo makes the rounds on ImageBook. The Grey Party releases a statement saying that they do not condone partying among their campaigners (very haughtily), while Olania First criticizes the revelry in the context of the high levels of unemployment plaguing North Olania. <span class="neg">-5% voter support</span>
You immediately text Kaz to change the ImageBook password and schedule a talk with the volunteer.
<<include "Game Loop Menu">><</if>>
<<if $dsec is true>><<set $popularity to $popularity +3>><<set $funding to $funding + 4000>>Photos are snapping all over. Overall, the event was a huge success. <span class="pos">+$4000</span>The volunteers are invigorated and the crowd seems to be responding to Alissa's message. One volunteer, who is an ImageBook administrator, leaves her cell phone on a nearby bench, where it's picked up by one of Dani Stoller's volunteers. Thankfully, the phone had a strong password; so the Dani Stoller volunteer wasn't able to access any sensitive data or post anything detrimental to the campaign. <span class="pos">+3% voter support</span>
<<include "Game Loop Menu">><</if>><<set $eventlist to $eventlist +1>>
<big><big><big><<set $seconds to 25>><span id="countdown">You have $seconds seconds to make a choice!</span>
<<silently>>
<<repeat 1s>>
<<set $seconds to $seconds - 1>>
<<if $seconds gt 0>>
<<replace "#countdown">>You have $seconds seconds to make a choice!<</replace>>
<<else>>
<<replace "#countdown">><</replace>>
<<goto "Update Hooli security settings">>
<<stop>>
<</if>>
<</repeat>>
<</silently>></big></big></big>
You open the email (from ''[email protected]'') and read:
''Address:'' [email protected]
''Subject line:'' Hooli security updates
Hello,
Thank you for using Hooli as your voter and donor management system. Hooli is updating our platform to strengthen its security and ensure that the data of our members is intact. This update is
It is of paramount importance that you update the security settings of your Hooli account immediately. Please follow the link below and enter your account information in order to ensure that this update is completed. You can also view information about the security updates in the attachment below.
* [[Report the email as phishing]]
* Click the link in the email to [[Update Hooli security settings]]<<set $fundraise to 0>><<set $allowfundraising to true>>You made it past the Primary Phase! Alissa is still in the game, with <strong>$popularity%</strong> of voter support and <strong>$ $funding</strong> to fund the rest of the campaign. Like the Primary Phase, during the Campaign Phase, you will have limited opportunities for fundraising, but the Campaign Phase culminates in a Candidate Forum. You need at least 35% support and $5,000 to enter the Final Debate, which is your last chance to campaign before the election; so spend your money wisely.
A local company offers you a 20% discount on a consultant, bringing the cost down to $5,000. As you head into this new phase of the campaign, you think maybe this is the right time to hire an expert. Who are you going to hire?
<<checkbox "$crisismanager" false true>> Olga Aksamit, Crisis Communications Manager - a Crisis Communications Manager can help the campaign plan for and handle communications responses to crises, including cybersecurity attacks - $5,000
<<checkbox "$policymanager" false true>> Benet Etienne, Policy Manager - a Policy Manager can help the campaign with defining Alissa's policies and ensuring that they fit into a grand strategic plan, as well as working with Alissa and her staff to respond to policy-related questions - $5,000
[[Onward!]]
<<set $lv1 to false>><<set $lv2 to true>>Marcel doesn't seem to grasp the severity of the situation. "I've been with this campaign from day 1," he says, incredulous, when you approach him the next day at the office to discuss the breach.
"We are at a stage in our campaign where we just can't be making mistakes like this," you say. "It's nothing personal, but Alissa approved this decision."
He is incensed. To be fair, the decision was an abrupt one.
<<if $fboff is true>><<set $funding to $funding - 3000>>Cutting key staff this late in the campaign is a little risky. Without a communications and fundraising manager, the campaign's donations take quite a dip. Fortunately, by investing in social media offboarding, you avoid a potential disaster -- angry as he was, Marcel could have posted something and damaged the campaign even further. <span class="neg">-$3000</span><</if>><<if $fboff is not true>><<set $funding to $funding - 8000>><<set $popularity to $popularity - 4>>Cutting key staff this late in the campaign is a little risky. Without a communications and fundraising manager, the campaign's donations take quite a dip.
Additionally, because you never established a social media offboarding policy, Marcel is still an ImageBook administrator. Shortly after being fired, he posts an angry screed calling you out personally. Voters are put off by the campaign's dysfunction, so Alissa also loses points in the polls. <span class="neg">-$8000</span>, <span class="neg">-4% voter support</span><</if>>
With donations taking a hit, it's not a bad idea to try to drum up some cash, especially as Alissa is putting pressure on you. "Honestly," she says, pulling you into her office, "you chose to fire Marcel, knowing there would be consequences. It's up to you to cover his responsibilities."
<<include "Game Loop Menu">><img src="alissa_images/spy.png">Good job! Since you were quick to smell a phish, are there any other safety precautions you'd like to take, or would you rather focus on drumming up support for Alissa?
You have some tough decisions ahead about how to prioritize the candidate's time and your own staff's energies.
Alissa needs to be more accessible and more forthright with her personal narrative, particularly around the rumors that she knew more than she let on about the corruption surrounding a convicted legislator for whom she served as chief of staff several years ago.
On the other hand, this hacking attempt reminds you that you need to brush up on your cybersecurity. <<if $encryption is not true>>Better make sure this doesn't happen again.
<<include "Game Loop Menu">><</if>><img src="alissa_images/it.png"><<if $antimalware is false>><<set $funding to $funding - 8000>>Oops...the link was actually malware designed to capture the login information for your own supporter database. Now your computer is infected with malware, giving outside parties access to the personal data of your donors. The leak upsets some prominent donors, leading them to pull some big contributions to the campaign. <span class="neg">-$8000 funding</span> <</if>>
<<if $dbtraining is "true">> Fortunately, thanks to your decision to train the volunteers in how to use the database, the attackers were not able to access credit card numbers; otherwise things could have been much worse.<</if>><<if $dbtraining is false>><<set $popularity to $popularity - 6>> Unfortunately, without being trained in how to use the database, volunteers included credit card information in the notes section for some donors. You quickly send a reassuring email to donors, but the damage is done. Concern is spreading about whether voters can trust Alissa to protect North Olania if she cannot even protect her own donors' financial information. <span class="neg">-6% voter support</span><</if>><<if $antimalware is "true">><<set $popularity to $popularity + 2>>The link was actually malware designed to capture the login information for your own supporter database. By purchasing anti-malware software for the campaign team, you avoided your computer being infected and outside parties gaining access to the personal data therein (including credit cards used for donations). <span class="pos">+2% voter support</span><</if>>
<<include "Game Loop Menu">><img src="alissa_images/Cloud.png"><<set $cloud to true>>Good call. This is a good baseline (and relatively cheap purchase) that will ensure that your files and documents are digitally safe and backed up, rather than just being stored locally.
Sitting at your desk, you hear the ding of your email. Glancing over, you see it's marked urgent. [[Open it (time sensitive)]]?
Ignore the email. Everything is urgent these days, and you've got a lot to do.
<<include "Game Loop Menu">><<if $doorlocks is "true">>When you get back to the office to send out the email, Kaz meets you at the front door with an alarmed expression on her face. "Someone tried to break into our offices!" she exclaims. "Good thing we bought the stronger locks." You suspect your political rivals but don't want to jump to any conclusions. Maybe it was common thieves? Kaz doesn’t believe that for a second. "I didn't think the campaign was going to get so dirty," she says.
You're not sure. If Boggs and Stoller would consider burglarizing your office, then what's next?
<<set $popularity to $popularity + 2>><<set $funding to $funding + 3500>>
Thankful for Kaz's security advice, you pull up the supporter database and send the email. In response, supporters post about Alissa on social media and make donations to the campaign. <span class="pos">+2% voter support, +$3500 funding</span>
<<include "Game Loop Menu">><</if>>
<<if $doorlocks is false>><<set $popularity to $popularity - 5>>On your way back to the office to send the email, your cell phone rings. It's Kaz. "I TOLD you!" she shouts. You're at a loss. "Told me about what, Kaz?" you stammer out.
She responds, "Someone broke into our offices!"
"I told you we needed to buy reinforced locks," she says, pausing. "I can't believe the campaign got so dirty," she says. Neither can you. But it has, and whoever broke into the office stole a list of target swing voters. It would be impossible to prove that Stoller was behind the theft, but when Alissa's campaign reached out to the voters on that list, many of them informed the volunteers that they had decided to vote for Stoller. <span class="neg">-5% voter support</span>
<<include "Game Loop Menu">><</if>><<set $eventlist to $eventlist + 1>>
<<set $popularity to $popularity + 3>>Support is climbing across the country, particularly in the west. Alissa is connecting with voters outside of her geographic base, and that's reflected in the polls <span class="pos"> +3% voter support</span>. Despite these gains, Boggs continues to dominate in the northern regions of North Olania.
<img src="alissa_images/burglar.png"><<nobr>>Unfortunately, in the midst of all the travel, your Volunteer Manager, Kara, has her computer stolen from her hotel room while she's away at a campaign event. The computer is connected to the volunteer and donor database; its loss represents a data security risk.<</nobr>>
The next day a phone call comes in from an anonymous number offering to return the computer for ''$8000.''
[[Pay the fee]]
[[You can't trust them; just wait and see what the damage is]]<img src="alissa_images/Money.png"><<set $funding to $funding - 8000>>It's a bite to the budget, but you'd rather keep the donor and voter information safe. <span class="neg">-$8000</span>
As this phase of the campaign is drawing to a close, you have some tough decisions ahead about how to prioritize the candidate's time and your own staff's energies.
Alissa needs to be more accessible and more forthright with her personal narrative, particularly around the rumors that she knew more than she let on about the corruption scandal surrounding a convicted senior legislator for whom she served as Chief of Staff several years ago.
<<include "Game Loop Menu">><<if $encryption is not true>><<set $popularity to $popularity - 6>>And unfortunately the damage was pretty significant. In an unlikely turn of events, the Olania First Party is behind the theft. Because the hard drive wasn't encrypted, the scrappy activist party now has access to a database of voters who they are targeting for opposition calls. <span class="neg"> -6% voter support</span>
You need something to win back support, and you need to take steps to prevent similar attacks. You can't afford another loss this devastating.
<</if>>
<<if $encryption is true>> In an unlikely turn of events, the Olania First Party is behind the theft. However, because the hard drive of the computer was encrypted, the scrappy activist party was unable to gain access to your voter database, even with the computer. After taking a moment to thank your IT Manager, Fay, for insisting everyone encrypt their laptops, you turn your attention back to the campaign. <</if>>
<<include "Game Loop Menu">>
<img src="alissa_images/newsfeed.png"><<if $socialcampaign is false>><<set $funding to $funding + 3000>>It's possible that you might have generated a little more buzz at the event itself. But you also avoided mistakes that people posting in the heat of the moment are more prone to make. Alissa won't lose support, but unfortunately she won't gain any this time around either. She does however, rake in some funding. <span class="pos">+$3000</span><</if>><<if $socialcampaign is "true">><<set $funding to $funding + 3000>><<set $popularity to $popularity + 3>>Nice work! Investing in social media outreach made posting the photos from the rally more impactful. You also avoided making any of the mistakes commonly made by posting during the event, like using the campaign's account to post personal messages. And, in another win, you received some donations! <span class="pos">+3% voter support</span> <span class="pos">, +$3000</span><</if>>
<<include "Game Loop Menu">><<nobr>>
<<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<<set $pstres to (random(1,20))>>
<</nobr>>
fb2fa is $fb2fa, pstres is $pstres<<nobr>><<set $volunteer to (either ("Randy","Sam","Pat","Asher","James","Sophia","Benjamin","Evelyn","Harper","Henry","Ted"))>>
<<set $spouse to (either ("Olivia","Liam","Emma","Noah","Oliver","Charlotte","Amelia","William","Isabella","Lucas","Ava"))>>
<<set $relshp to (either ("spouse","friend","cousin","partner","pal","roommate","other half"))>>
<</nobr>>
<<if $fb2fa is true>><<set $popularity to $popularity + 1 >>A volunteer, $volunteer, eagerly posts to the campaign social media page. The posts are perfect and they're sure to log out when they're done. But, $volunteer is using their own computer to post on the campaign account.
When $volunteer goes home, their $relshp, $spouse, uses $volunteer's computer and clicks the ImageBook icon, but it opens to the ImageBook account with the campaign information auto-filled in the login section.
Since you have multifactor authentication on the account, it alerts $spouse to validate their login. Since they can't access the account, they realize that the auto-filled login was not theirs. $spouse logs into their own account and completes their posts. <span class="pos">''+1%'' voter support</span>.<</if>>
<<if $fb2fa is false>>A volunteer, $volunteer, eagerly posts to the campaign social media page. The posts are perfect and they're sure to log out when they're done. But, $volunteer is using their own computer, and there is no multifactor authentication on the campaign account.
When $volunteer goes home, their $relshp, $spouse, uses their computer and clicks the ImageBook icon, but it opens to the ImageBook account with the campaign information auto-filled in the login section. $spouse pushes the login button and posts several personal messages to the campaign account. The posts don't contain any controversial information, but it makes the campaign look unprofessional. <span class="neg">-4% voter support</span><<set $popularity to $popularity -4>>
Multifactor authentication would have stopped the campaign account from automatically logging $spouse in. It would have required another form of authentication, which would have alerted $spouse that they were not in their own account.
Grassroots campaigning through social media is significant part of your campaign, so you pull all of the volunteers from their normal fundraising activities for a multifactor authentication training. You lose <span class="neg">-$2000</span> but you can trust volunteers to post on social media now. <<set$fb2fa to true>><<set $funding to $funding - 2000>><</if>>
<<include "Game Loop Menu">>Time to kick it up a notch. Support has been growing steadily for Boggs, the incumbent, more the result of inertia and the comfort of a known quantity than the result of excitement about him or his policies. Support for Stoller's Olania First campaign seems to be holding steady as well.
The two candidates represent polar opposites regarding the possibility of reunification with South Olania. Boggs, the more traditional candidate, is staunchly opposed to the idea, arguing that reunification will jeopardize North Olania's control over its natural resources.
Stoller, by contrast, believes that reunification is the first step to fulfilling the glorious destiny of a united Olania, which she believes would be an economic powerhouse. Her rhetoric has been called out by minority ethnic groups within the country, but it has certainly struck a chord with some voters.
Alissa has been slowly finding her voice amidst what has been a challenging and, at times, ferocious campaign. However, her message about the need for change and the possibility of a better, less corrupt future has been gaining traction across all demographics around the country.
Of course, at this point, the volunteers and staff are pretty exhausted.
How do you want to start this next phase of the campaign?
<<include "Game Loop Menu">><<set $eventlist to $eventlist +1>><img src="alissa_images/volunteers.png">
Morale in the campaign office has gotten a little low. Everyone is burning out, you included, and there’s a long way to go.
You call a volunteer meeting to check in with the volunteers. "How's everyone doing?" you venture.
"I'm exhausted," says Kara. "I've been recruiting constantly, but it never seems like enough." Heads are nodding around the room.
A volunteer chimes in, "Recruiting? We're out there canvassing on the streets for hours without any food, getting yelled at by people, and those Stoller supporters can be scary. We need a break."
<<if $jonquestioned is false>>A new volunteer, Jon, stands up, "I dunno if we can afford to lose momentum! Everything's going really well; we're on a roll! GO ALISSA!" Everyone turns to him with silent glares. He's only been campaigning for what, a week? Someone mutters, “Talk to us after 3 months of this, buddy.”<</if>>
You're torn. Of course they're drained, but a break could mean a dip in voter support for Alissa, and you know the campaign needs at least 35% popularity and a minimum of $5,000 in funds to enter the Final Debate.
"I hear you," you say, surprising yourself. "Everyone has been working really hard. Let's all take a couple days off to regroup."[[Give them a break]]
"I'm sorry, guys. I know you've been working really hard, but we can't let up on the campaign right now. It's critical that we double down to get more support. The future of North Olania depends on us, and I know nobody at Boggs and Stoller headquarters is going to be taking it easy." [[Send them canvassing]]
"I hear you. These long shifts can get tiring and make you hungry. We’ll scrape together some money for donuts, sandwiches, and most importantly coffee and tea at your canvassing staging locations." Spend ''$3,000'' to [[Get some snacks]]<<set $eventlist to $eventlist +1>>
<img src="alissa_images/speaker.png">
<<if $policymanager is false>>Alissa arrives, with staff in tow, at Varia University, the largest university in the region, to tout her economic policies. An energetic crowd has gathered in the largest lecture hall on campus.
The event starts out with a lot of positive energy; students are leaning in, hanging on Alissa's every word. Then, a member of the Grey Party Student Association raises his hand, "We've heard a lot about your economic plan, but you still have explained how you're going to pay for all these policies! You’re going to bankrupt North Olania before us students even have a chance to enter the workforce!"
You brace yourself. The earlier part of the event has largely focused on the effects of Alissa's proposed economic investments. She hasn't gotten into the budget yet, and someone always brings up taxes. Another student from the Grey Party Student Association begins filming Alissa. You start to sweat.
[[Thank students for attending the event and usher Alissa out]]
[[Wait to see her response]]<</if>><<if $policymanager is true>><<set $popularity to $popularity + 2>>Alissa arrives, with staff in tow, at Grechka University to tout her economic policies. Your Policy Manager, Benet, researched the demographics of different schools in the area and selected one he thinks will be particularly receptive to the campaign's message. Alissa gathers with a wide cross-section of the student body in the university’s gymnasium. You can feel the enthusiasm in the air. <span class="pos">+2% voter support</span>
The event starts out with a lot of positive energy; students are leaning in, hanging on Alissa's every word. Then, a member of the Grey Party Student Association raises his hand, "We've heard a lot about your economic plan, but you still have explained how you're going to pay for all these policies! You’re going to bankrupt North Olania before us students even have a chance to enter the workforce!"
You brace yourself. The earlier part of the event has largely focused on the effects of Alissa's proposed economic investments. She hasn't gotten into the budget yet, and someone always brings up taxes. Another student from the Grey Party Student Association begins filming Alissa. You start to sweat.
[[Thank students for attending the event and usher Alissa out]]
[[Wait to see her response]]<</if>><<set $popularity to $popularity - 4>><<set $funding to $funding + 6000>>Giving the volunteers a break limited the number of prospective voters the campaign could reach out to, and you’ve lost some ground to the opposition. However, by prioritizing treating your workers well, you decreased the chance that they would quit the campaign in anger, which could lead to any number of nasty thefts, leaks, or defections.
Instead, giving the volunteers a few days off re-energized them, and they are able to pull in another major donor when they return. <span class="pos">+$6000</span> <span class="neg">-4% voter support</span>
<<include "Game Loop Menu">><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Kaz_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
</div>
</div></div>
A week or so later, Kaz approaches you in the office and asks for a few minutes of your time. She seems nervous, a little hesitant.
"Sorry to bother you," she says. "But I think Lyla, our research intern, is actually keeping pet rats in the office."
You balk. "I'm sorry, what? Keeping rats in the office?"
She nods. "I've seen her slipping food into a drawer on her desk and her space smells really odd. And, um..." she swallows hard “I’ve seen the tails. And heard the squeaking late at night.”
This one you didn't see coming. Who could have?
[[Fire Lyla]]
[[Talk to Lyla to get the rats out of the office]]<img src="alissa_images/Money.png"><<set $popularity to $popularity + 5>><<set $funding to $funding + 1000>>You hate to take away from your advertising budget, but feeding your volunteers makes sense. It shows them they're valued, and increases their productivity. Prioritzing treating your workers well also decreases the chance that they'll leave in a huff (potentially taking their passwords and/or computers with them).
Who doesn’t enjoy a donut or three between calls? The coffee alone probably doubled their pace. <span class="pos">+5% voter support</span>
Sure, you spent some money on nonessentials <span class="pos">-$3000</span>, but, with their morale higher and their bellies full, the volunteers are more enthusiastic in their donor push. With <span class="pos">+$4000</span> in donations, you've more than made up for the $3,000 in snacks.
<<include "Game Loop Menu">><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Lyla_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
</div>
</div></div>
<<if $cloud is false>><<set $popularity to $popularity - 7>>Unfortunately, firing Lyla without an offboarding policy or an HR Manager means that she left in a huff and took her computer with her. And it's not just losing the computer that's the bummer.
Without cloud-based collaboration tools (i.e. Google drive), she takes with her all of her research saved to her computer about the communities most likely to support Orme. Having to start the research from scratch, you lose potential support. <span class="neg">-7% voter support</span><</if>>
<<if $cloud is "true">><<set $funding to $funding + 8000>>Nice work! Without a cloud-based email provider and collaboration tool like Google Drive, Lyla could have taken files stored on her local computer. The research that was in her online files was used to target high net-worth potential donors, and you gain some much-needed funding. You can breathe a sigh of relief. <span class="pos">+$8000</span><</if>>
<<include "Game Loop Menu">><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Lyla_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
</div>
</div></div>
<<set $funding to $funding + 3000>>Because much of Lyla's research was centered around major donors, abruptly firing her seems like an unwise decision... particularly if you don't have automatic access to her research through copies saved in a cloud collaboration system. You take her aside and politely ask about when she will be able to remove the rats.
Lyla gets a bit teary, calling the rodents “the only people who really understand me” and tries to negotiate, asking if she can at least keep two in the office, but you stand firm. It’s either the rats or her. She takes the day off – going home with a large squeaking box – but is back, looking sad, the next day. She hands over her latest research on major donors with a stifled sob, but joins in the celebration when her research lands a big new contribution later that day. <span class="pos">+$3000</span>
<<include "Game Loop Menu">><img src="alissa_images/database.png"><<set $popularity to $popularity + 5>>Ah, it feels good not to have to worry about security. You've avoided a ton of potential fallout by ensuring that former staff no longer have access to campaign files or communication channels. You can take comfort in the knowledge that there will be no accidental or malicious theft and leak of critical confidential campaign materials . <span class="pos">+5% voter support</span>
Now, there's only one thing left to do.
[[Begin the Candidate Forum]] Fay motions you over to her computer. "Have you seen this?" she asks.
There is a picture of a former intern for Alissa's campaign, Lyla, at a high society event. She's accompanied by a young man who looks slightly familiar, but you don't think you've met him.
"Okaaaay, that's Lyla," you say, still confused.
"And that's Christopher Stoller. Dani's nephew," answers Fay. "The article is about their engagement. It says they've been dating for two years."
You normally don't pry into the private lives of your interns, but if you had known that Lyla was so closely associated with the Stollers, you would have rethought her role in the campaign.
"Do you think she was a ... mole?"
Fay shruggs her shoulders, "I hope not. I never saw her snooping around or anything. Other than the thing with the rats, she was really professional and just did her job."
You decide that the campaign should release an official statement about the news, in case there is trouble.
[[Accuse Lyla of being a spy]]
[[Congratulate Lyla on her engagement]]
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Jon_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;"></div>
</div></div>
"Hey, Jon," you venture, ambling over to where he's standing beside a large filing cabinet. "What are you up to?" He jumps, surprised by your presence.
"Oh, just, you know, making some copies," he replies. "Everyone else is out canvassing, but since I'm new, I thought it would make more sense to stay here and learn more about the campaign."
"Oh, yeah?" you respond. "I have a relatively quiet day. What would you like to know?"
"Everything!" he says, a spark in his eyes. "I'm studying political science at university, so I would love to learn more about the strategy aspect of the campaign. You know, like how do you know where to target your outreach, what do you know about the other candidates, stuff like that. Plus, I just love Alissa! She’s just the person that we need for our next leader!"
"How motivated," you think.
[[Share some strategy documents with him]]
[[Ask him more about why he likes Alissa]]
[[Focus on preparing for the Candidate Forum]] <div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Jon_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;"></div>
</div></div>
<<nobr>><<set $jonquestioned to true>><</nobr>>
<<if $cabinetlocks is false>><<set $popularity to $popularity - 8>>In his enthusiasm, Jon blurts out, "How did you land Harris Johnson as a donor? I thought he didn't agree with Alissa's plan to help parents."
"He doesn't! But we-" you cut yourself short as you realize that Jon shouldn't know Harris Johnson donated to the campaign. The only way he could know is if he'd seen the strategy documents already. You turn toward the filing cabinet and remember that you never bought locks. What else does he know about?
You turn to confront Jon, but he's gone. The next day, you call an emergency meeting with the Managers and ask what they know about him. Fay tells you she's seen copies of strategy documents in the copy room, but she didn't know who made them. Kara thinks she overheard Jon on the phone saying something about talking to Boggs.
It turns out that Jon was a mole for Boggs' campaign and was stealing paper copies of confidential strategy documents, Purple Party research, donor targeting information, and policy proposals! As a result, Boggs preempts Alissa’s big pro-parent campaign push. He introduces new healthcare and early education policies, both subjects that he had rarely spoken about before. And the voters respond to this new perspective from Boggs. Meanwhile, Alissa shows up to her Pro-Parents Campaign launch with nothing to announce, and more of her supporters flee. <span class="neg">-8% voter support</span><</if>><<if $cabinetlocks is "true">>
"Sure, I can briefly show you some documents," you say. You bring out the map of areas where Alissa is polling the highest and an outline of her pending policy positions. "Can I keep these?" he asks excitedly.
"Sorry, no," you reply. "These are internal campaign documents, and, unfortunately, we can't let anyone bring them home." Jon looks disappointed.
As you're heading home for the night, you hear a scratching sound. Lyla’s rats? Of course not, they're gone. It sounds like metal on metal, maybe? You follow the noise to the filing cabinet where the confidential strategy documents are secured. Well, well, well. There's Jon, crouched in the corner, trying to unlock the cabinet with a paperclip. Suddenly, it all makes sense. "What are you doing?!" you shout. Jon is clearly taken aback and stutters.
"I...I...I...Boggs! I work for Boggs! I didn't even want to do this! They just thought because I was young it would be more believable. They wanted me to dig up dirt on Alissa and Branbush."
You glare.
He continues with desperation in his voice: "He knows Alissa worked for Branbush, that politician from Valeria who was selling building permits to the highest bidder. Boggs says it doesn't matter if Alissa was involved, he can get people to believe she was."
"Good to know," you respond. "Now get out."<</if>>
[[Focus on preparing for the Candidate Forum]]<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Jon_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;"></div></div></div>
"Before we dive into all that, I'd love to know more about what drew you to the Purple Party," you say. You honestly don't know anything about him, and he joined unusually late in the campaign.
He seems taken aback by the question. "Uhhhh... you know, I just wanted to get involved and stuff."
"Okay, sure, but what made you want to volunteer for this campaign specifically?"
"I really like Alissa's stance on higher education. I might have to drop out of university next year because I can't afford the tuition. If she's elected, I might be able to graduate."
You smile. Jon sure knows his stuff. You're happy to have him on the team.
"The other volunteers are all canvassing today, but I could you use some help preparing for the Candidate Forum. Do you want to see how a candidate preps for policy questions?" you ask.
He looks excited.
[[Focus on preparing for the Candidate Forum]] <<set $eventlist to $eventlist +1>>
<<set $package to true>><img src="alissa_images/Papers.png">You walk over to front desk and pick up a thick envelope. Opening it, you find a pile of documents and photos of a much younger Boggs. Though the envelope is addressed to you, there's no return address, and how this pile of papers made its way to you and your campaign remains unclear.
Delving into the documents, you see that they prove that, when he was in university, Boggs was a part of a fringe group that pushed for the military annexation of South Olania. Moreover, some of his friends were involved in a series of pipe bomb attacks at the time. You're torn. Should you use this intel to your advantage or keep your mouth shut?
[[Share it publicly]].
[[Keep it to yourself]]. The Candidate Forum has finally arrived, and it looks like your competition will be Bareth Boggs and Dani Stoller, who, although initially somewhat of a dark horse, is seeing a groundswell of support from groups that are tired of "politicians as usual."
<<if $jonquestioned is false>><<set $popularity to $popularity - 4>>One week before the Candidate Forum, Jon, the eager volunteer, disappears. Turns out not only was he a mole from Boggs' campaign, but he had access to the team's social media pages!
He releases private chats, emails, and messages between the staff and volunteers one day before the Candidate Forum. While nothing is scandalous, there’s an awful lot of snark, nasty comments about frustrations with the branch offices, many pictures of cats, evidence of in-office dalliances, and, most damagingly, a coordinated media push to distance Alissa from her former boss, Representative Branbush, a legislator who was ultimately found guilty of corruption. <span class="neg">-4% voter support</span>
You've dropped a few points in the polls just before the Candidate Forum, but, by focusing on preparations, you know Alissa will be able to enter the discussion with a cool head and the tools to handle any question, including those on her reunification policy, an increasingly hot topic.
<</if>>
<<nobr>>
<<if $jonquestioned is "true">><<set $popularity to $popularity + 4>>By questioning and ultimately outing Jon as a Boggs campaign plant, you find out about his plan to leak all your internal conversations just in time. You cut off his access to the campaign's social media channels before he can post internal messages, which, taken out of context, make Alissa appear complicit in the corrupt activites of a former member of the legislature. The campaign issues a statement about this backhanded effort by Boggs to undermine the public's trust in Alissa and the election. Voters soundly disapprove of Boggs' underhanded strategy. <span class="pos">+4% voter support</span><</if>>
<</nobr>>
The last few days have highlighted your need for security, but you're running out of time.
[[Secure the campaign files]]
[[Begin the Candidate Forum]]
<img src="alissa_images/Microphone.png"><<if $ctraining is false>><<set $popularity to $popularity + 2>>Maybe some canvassing training would have helped make your crew more effective in communicating with the voters, but they did their best.
Despite slammed doors and questionable canines, Alissa gained <span class="pos">''+2%'' voter support</span>.
<</if>><<if $ctraining is "true">><<set $popularity to $popularity + 5>>Your investment in canvassing training really helped the team sell Alissa’s message, despite their exhaustion. <span class="pos">+5% voter support</span><</if>>
You want to keep the momentum going, but everyone is too tired to continue canvassing. Marcel had written an email promoting the campaign and soliciting donations. It would make a great follow up to a wonderful day of canvassing.
[[Send Marcel's email to Alissa's supporters]]
<<set $eventlist to $eventlist +1>>
<img src="alissa_images/social.png"><<set $popularity to $popularity + 6>><<set $funding to $funding + 5000>>
The team of volunteers gathers in the conference room, laptops at the ready. They brainstorm several posts about Alissa's core policies, including improving education.
A social media campaign is a promising way to get the word out to Orme's core demographic. Much to your delight, #OrmeforOlania starts trending on Imagebook. <span class="pos">+$5000</span> <span class="pos">+6% voter support</span>
[[Focus on preparing for the Candidate Forum]] <img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 1>>You reach out to a news outlet about Boggs' former radical political identity. "You'll never believe what we learned," you whisper over the phone.
The reporter is curious and diligently writes down everything you share. She promises not to disclose that the lead came from you.
Published with quotes from a "political insider," the article goes on to essentially accuse Boggs of being a terrorist. His numbers in the polls dip slightly as Alissa’s see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. The newspaper may have kept your name out of the article, but there's little chance Boggs doesn't suspect your involvement. You can only hope he's too busy cleaning up the mess you made to retaliate. <span class="pos">+1% voter support</span>
<<include "Game Loop Menu">><<set $shareboggs to false>><<set $popularity to $popularity + 2>>Wise choice. While you were tempted to use the information against Boggs, he likely would have retaliated with greater force. And, knowing Boggs, he wouldn't limit himself with accuracy. Better to run a clean campaign, not only for Alissa's sake, but also for the sake of the democratic process and the people of North Olania. When the public loses trust in the political system, people are less likely to vote, which weakens democracy. <span class="pos">+2% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies, including the possibility of reunification with South Olania.
<<include "Game Loop Menu">><<set $vpn to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<set $fb2fa to true>><img src="alissa_images/Shield.png">Good choice. At the Candidate Forum, voters from across the political spectrum are gathered to question the candidates about their policy priorities.
<<link "Open dialog!">>
<<script>>
Dialog.setup("Dialog");
Dialog.wiki("Text within the dialog window");
Dialog.open();
<</script>>
<</link>>The candidates take to the stage, and a hush falls over the room. You and the other Campaign Managers are standing just offstage, nervous but excited.
Dani Stoller receives the first question. A man in the audience asks about what commitments Stoller would be willing to make regarding the climate crisis. This is one of Stoller's policy pillars; so she's ready with a response. The crowd cheers.
Now it's Alissa’s turn. She receives a relatively easy question, but one whose answer will say a lot about Alissa’s political priorities. "What is the first policy change you'd make in North Olania?" asks a young woman from the lectern.
<<if $policymanager is true>><<set $popularity to $popularity + 3>>This is exactly why you hired a Policy Manager. Benet conducted additional research on North Olanians' primary areas of concern, and, because of this, you coached Alissa to present the cost of education, particularly higher education, and workforce development as her priorities. <span class="pos">+3% voter support</span><</if>><<if $policymanager is false>><<set $popularity to $popularity + 1>>Alissa responds ably enough, but, without a Policy Manager's to research her constituents' priorities, she isn't able to take full advantage of the question. Nevertheless, her answer resonates with a small band of avid supporters. <span class="pos">+1% voter support</span><</if>>
The next question is for Boggs.
[[Brace Yourself]]
<img src="alissa_images/newsfeed.png"><<if $crisismanager is false>><<set $popularity to $popularity - 5>>Alissa looks at you, panicked. Quickly, you stride onstage and put up your hand. "That's unfortunately all the time we have for today," you yelp, your voice breaking. There are clear indications of annoyance from the audience as students mutter and roll their eyes, but Alissa hurries off the stage and out the door.
The hasty exit is caught on camera, and the video makes its way onto social media. Though it doesn't go viral beyond the campus, it's still a ding in Orme's support.
A little deflated, the team heads back to the office, where you're greeted by the remainder of the staff, waiting to hear how Alissa killed it. Unfortunately, you have to tell them the opposite. "It was pretty tough," you share, "but we'll bounce back." Faces remain quizzical. You need a breather and head into your office. <span class="neg">-5% voter support</span><</if>>
<<if $crisismanager is true>><<set $popularity to $popularity - 1>>You decide to step in. "Unfortunately, that's all the time we have for today," you shout a little louder than you had meant to. The students are a bit baffled as Alissa hurries off the stage and out the door.
The hasty exit is caught on camera, but, luckily, your Crisis Manager, Olga, is able to spin the incident. She refocuses the conversation onto Alissa's education policy and support for diversity, preventing the negative impact expected from such a video making the rounds on social media.
When you get back to the campaign office, the rest of the staff has already heard about the failed event, and the air is rife with tension. You make a conciliatory speech assuring everyone that the campaign will get back on track before you escape to your office. <span class="neg">-1% voter support</span><</if>>
<<include "Game Loop Menu">><<if $policymanager is true>><<set $popularity to $popularity + 5>><<set $funding to $funding + 6500>>Thanks to the wise advice of your Policy Manager, Benet, Alissa's economic policy speech focused on what's important to the people, instead of technical details about marginal tax rates.
"You're right, the economy is struggling right now," Alissa begins. "And it’s a scary time to be entering the job market. However, my plan will make sure that our struggles lead to meaningful results: a future with a developed economy and new opportunities for people like you." Alissa goes on to eloquently describe her newest economic plan: lowering the cost of education in North Olania through stamping out government corruption.
The students cheer. At the end of the event, the President of the Purple Party Student Association starts a standing ovation. The association organizes a campus outreach effort that spreads to other universities. <span class="pos">+5% voter support</span> Knowing that Alissa's win will have a meaningful impact on their futures, the students fundraise for the Purple Party, collecting thousands of small contributions to the campaign. <span class="pos">+6500 funding</span>
<<include "Game Loop Menu">><</if>>
<<if $policymanager is false>><<set $popularity to $popularity - 5>>A Policy Manager could've helped Alissa articulate complex policy issues like this one. Alissa bumbles the answer, losing the audience in a technical discussion of marginal tax rates before coming to her big plan to lower the cost of education in North Olania by stamping out government corruption. Unfortunately, she's lost the audience's attention and interest. A video of the event circulates on social media, amassing numerous comments about Alissa's "rambling."
When you get back to the campaign office, everyone has already seen the video and the air is rife with tension. You make a conciliatory speech assuring everyone that the campaign will get back on track before you escape to your office. <span class="neg">-5% voter support</span>
<<include "Game Loop Menu">><</if>><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Boggs_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Bareth Boggs</span>
<img src="alissa_images/grey.png" width="124"></div>
</div></div>
"Why should the Grey Party stay in power?"<<if $vpn is "true">><<set $popularity to $popularity + 5>>
Boggs lifts his head and looks out into the audience with a serious expression. He turns to the camera broadcasting the event around the country and accuses Alissa's campaign of accepting donations from Senator Branbush, a corrupt ex-legislator. He brandishes a print out of the Purple Party's donor database and points to Branbush's name. Alissa is shocked and angry at the accusation, but she is confident in her campaign's ethics. She turns to Boggs and calmly informs him that she will prove him wrong.
Backstage, a volunteer tries to log on to the donor database but finds the site blocked. Following Kaz's advice, she quickly logs on to the Purple Party's VPN and is able to avoid the block and access the database site. While certainly suspicious, there is no time to investigate now. The volunteer quickly performs a search for donors with the last name "Branbush." While she finds one with a similar name, it is clear that Senator Branbush is not on the list. She rushes the laptop to Alissa on the stage and Alissa shows the audience. Alissa accuses Boggs of foul play, hacking into her database and then doctoring the results. A few more voters are turned off by his dirty tactics and lean toward the Purple Party. <span class="pos">+5% voter support</span>
<</if>><<if $vpn is false>><<set $popularity to $popularity - 2>>
A sly smile appears on Boggs' face. He's up to something. He lifts his head and looks out into the audience with a serious expression. He turns to the camera broadcasting the event around the country and accuses Alissa's campaign of accepting donations from Senator Branbush, a corrupt ex-legislator. He brandishes a print out of the Purple Party's donor database and points to Branbush's name. Alissa is shocked and angry at the accusation, but she is confident in her campaign's ethics. She turns to Boggs and calmly informs him that she will prove him wrong.
Backstage, a volunteer tries to log on to the donor database, but the site is blocked! Later you find out that Boggs' campaign pressured the debate venue's tech staff to block access to the database. Without a VPN, the volunteer is unable to navigate around the nefarious block. As a result, Alissa is left without the evidence necessary to refute Boggs' claims.
"I assure you, I've run a clean campaign. I stand on my reputation," she states.
While that is true, the lack of proof makes the audience a bit uneasy. A few more voters are turned off by the implication that Alissa is a hypocrite with shady donors and lean farther from the Purple Party. <span class="neg">-2% voter support</span><</if>>
See if you have enough support to make it to the Final Debate.
<center><<button [[See your results!]] >><</button>></center><<set $eventlist to $eventlist +1>>
<img src="alissa_images/chat.png"><<set $popularity to $popularity + 5>>Energizing Alissa's base was a great idea. The comments are lively, with some tough, but powerful, questions. This was an opportunity for her to share more about why she cares about North Olania. It also gave her an opportunity to expand on her position on reunification, which some have criticized as too liberal and others have described as too conservative. <span class="pos">+5% voter support</span>
<<if $donation is false>>Alissa hits a bit of a roadblock with a user named @Olaniafirstforever. Well, it's no surprise a supporter of Dani Stoller wanted to give Alissa a hard time.
"How do you explain accepting funds from Quil Govan, who has been convicted of stealing millions of taxpayer dollars intended for our country's school system, when you've said North Olania has to prioritize better education?"
Yikes. You and Alissa look at one another. "How did this happen?" she asks, frantic. Kara, overhearing the commotion, comes over. "We didn't have time to put together a solid donation policy. We've just been accepting funds."
"OK," she says. "Well, what do we do now?"
[["The important thing is that we achieve progress. The funder is irrelevant. We cannot reform corrupt systems or achieve our goals without representation in public office."]]
[["We are a small staff that is trying to do a lot at once. This was a mistake, and it will be corrected. We pledge to return the funds."]]<</if>><<if $donation is true>><<set $popularity to $popularity + 4>><<set $funding to $funding + 5000>>Nice work! By investing in a donation policy, the campaign avoided accepting money from a funder that would have raised many eyebrows and whose past actions are anathema to Alissa's values. You've ensured that all of the donations are legal. <span class="pos">+4% voter support, +$5000 donations.</span>
<<include "Game Loop Menu">>
<</if>>
<<set $eventlist to $eventlist+1>><<set $popularity to $popularity + 3>><<set $funding to $funding + 3000>>Given the concern about cyberattacks and data breaches impacting your campaign and the integrity of the election as a whole, you (with input from Fay, the IT Manager) encourage Alissa to write an op-ed.
"The campaign season has been rife with cyberattacks. All of the candidates have suffered losses from these attacks. An election determined by data breaches and digital foul play is not one that results in a united, educated, successful North Olania. It only serves to deepen our divides.
I hope my opponents will agree when I say this isn't just about the digital security of a campaign. It's a much bigger issue. It's about the safety of our elections, our democracy, our homeland. And make no mistake, while some bad actors may be delighting in the opportunity to cause digital chaos, I am more driven than ever to unite North Olania in addressing our most pressing issues." It's a powerful statement that earns her some of her support back. <span class="pos">+3% voter support, +$3000 donations</span>
<<if $mediatraining is "true">><<set $popularity to $popularity + 2>><<set $funding to $funding + 5000>>Your investment in media training has ensured that Orme's points land right where you want them to. You gain an extra bit of support! <span class="pos">+2% voter support, +$5000 donations</span><</if>>
<<include "Game Loop Menu">>
<<if $dbtraining is false>><<set $funding to $funding - 2000>><<set $popularity to $popularity - 2>>It's always best to be transparent about breaches in security, especially when financial information is at stake. Unfortunately, without database training, your volunteers are unable to send the emails efficiently. When supporters hear about the breach in the news, instead of from the campaign, they feel betrayed. <span class="neg">-$2000</span> <span class="neg">-2% voter support</span><</if>><<if $dbtraining is "true">><<set $popularity to $popularity - 2>>It's always best to be transparent about breaches in security, especially when financial information is at stake. Your volunteers, well trained in using the database, efficiently send emails to donors before the story hits the news, assuring them that the campaign's infrastructure is intact. Unfortunately, a few supporters still lose faith in Alissa's ability to win, but the drop in the polls is nothing you can't come back from.<span class="neg"> -2% voter support</span><</if>>
What will you do next?
<<Include "Game Loop Menu">><<set $boggsresearch to true>>You don't find any evidence that would lead you to believe Boggs was behind the phishing attempt, but you do find something interesting.
Rumors have long proliferated about Boggs' passion for poaching, which has been illegal in North Olania since the country separated from its southern neighbor twenty years ago. There is a recent picture of Boggs posing and smiling with a giraffe, that he obviously poached. You don't like running a dirty campaign, but the Grey Party has been in power for a long time, and you're greatly disturbed by the evidence that Boggs is a poacher.
On the other hand, the knowledge that Boggs is a poacher fits perfectly into the Olania First Party's narrative about the sacredness of Olanian land. You don't want to give Stoller another talking point, and exposing Boggs could make your campaign look desperate.
* [[Share it publicly->Expose Boggs for poaching]]
* [[Keep it to yourself->Keep Boggs' secret to yourself for now]]
<<if $popularity lt 35 or $funding lt 5000>>You ran a solid campaign, but unfortunately you fell short of the 35% voter support and $5,000 needed to continue the campaign. Alissa is disappointed, as are you, but campaigns are incredibly challenging. They become even more difficult when you don't have the proper digital security precautions in place.
Dropping out of the race isn't the end of the world. Perhaps Alissa will run again in the next election! If you do, consider what different investments and decisions you could make to mitigate damaging cybersecurity attacks.
<a onclick="SugarCube.UI.restart();" tabindex="0">Restart</a> or re-load a <a onclick="SugarCube.UI.saves();" tabindex="0">saved game</a>
[[More Cybersecurity Resources for YOUR Campaigns]]
<</if>><<if $popularity gte 35 and $funding gte 5000>>
Congratulations! You made it through the Campaign Phase with at least 35% voter support and $5,000, enough to enter the Final Debate!
[[The Final Debate]]<</if>>
<<set $allowfundraising to true>>
<<set $fundraise to 0>><img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet about Boggs' former radical political identity. "You'll never believe what we learned," you whisper over the phone.
The reporter is curious and diligently writes down everything you share. She promises not to disclose that the lead came from you.
Published with quotes from a "political insider," the article goes on to essentially accuse Boggs of being a terrorist. His numbers in the polls dip slightly as Alissa’s see a small boost, but his supporters aren't incredibly bothered; they care about who Boggs is now, not who he was when he was 27.
You took a big risk in outing your competition. The newspaper may have kept your name out of the article, but there's little chance Boggs doesn't suspect your involvement. You can only hope he's too busy cleaning up the mess you made to retaliate. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information against Boggs, he likely would have retaliated with greater force. And, knowing Boggs, he wouldn't limit himself with accuracy. Better to run a clean campaign, not only for Alissa's sake, but also for the sake of the democratic process and the people of North Olania. When the public loses trust in the political system, people are less likely to vote, which weakens democracy. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies, including the possibility of reunification with South Olania.
<<include "Game Loop Menu">><<set $eventlist to $eventlist +1>>
<div class="title2">Results</div>
<<if ($funding gte 10000) and ($popularity gte 25)>>''Congratulations'', you made it through the Primary Phase! Time for a campaign party!
Alissa's campaign comes into the ONN poll with over 25% of voter support and $10,000. This means she has a firm chance of making it to the final debate. Who knows... she might even win.
The next round is [[ramping up!->The Campaign Heats Up]]<<else>>You ran a solid campaign, but unfortunately you fell short of the 25% voter support and $10,000 needed to continue the campaign. Alissa is disappointed, as are you, but campaigns are incredibly challenging. They become even more difficult when you don't have the proper digital security precautions in place.
Dropping out of the race isn't the end of the world. Perhaps Alissa will run again in the next election! If you do, consider what different investments and decisions you could make to mitigate damaging cybersecurity attacks.
<a onclick="SugarCube.UI.restart();" tabindex="0">Restart</a> or re-load a <a onclick="SugarCube.UI.saves();" tabindex="0">saved game</a>
[[More Cybersecurity Resources for YOUR Campaigns]]
<</if>>
<<set $popularity to $popularity -2>>"So...basically you're saying the ends justify the means," the user shoots back.
"I absolutely will not be swayed by anyone looking to exert their influence over me," Alissa writes. "And that's true whether or not that person supports me."
It's a powerful statement, but you're starting to see more "hypocrite" comments coming through. <span class="neg">-2% voter support</span>
<<include "Game Loop Menu">>
<<set $popularity to $popularity + 3>><<set $funding to $funding + 2000>>Accepting accountability for the error and explaining the context (without making excuses) seems to resonate with the online audience. Some note that returning the funds, which Alissa has pledged to do, is more than the public could expect of most politicians. <span class="neg">-$3000</span>. Fortunately, the crowd supports the campaign so much that their donations more than cover the loss. <span class="pos">+$5000</span>
Of course there will always be trolls here and there, but Alissa handled herself well. You both give a big sigh of relief. <span class="pos">+3% voter support</span>
<<include "Game Loop Menu">><<set $eventlist to $eventlist +1>>
<img src="alissa_images/spy.png">You genuinely believe in the values Alissa stands for, and you believe she does too. Even so, there are some emails on your professional account that you wouldn't want getting exposed to the public, and you know the same is true for the rest of the staff.
<<if $email2fa is false>><<set $popularity to $popularity - 3>>
Unfortunately, that's exactly what happens. Because your email account did not require two-factor authentication, it was vulnerable to being hacked.
Luckily, the impact isn't too bad. Most of the stolen emails, published by a local newspaper, are fairly benign. The one outlier is a conversation between Alissa and an early consultant about how to distance herself from her previous boss's corruption scandal.
While hardcore supporters, like donors, aren't really put off, there are indeed voters who are disenchanted with Alissa after hearing the inside scoop about how a political candidate strategically presents themself. There are also several emails making somewhat tasteless jokes about the other candidates, even one from you. <span class="neg">-3% voter support</span> <<if $crisismanager is true>><<set $funding to $funding + 4000>>This is where Olga, your Crisis Communications Manager, comes in handy. She's a pro at spinning narratives like this and reaches out to the newspaper publishing the article to contextualize some of the emails.
Thanks to her handiwork, Alissa's donations grow! <span class="pos">+$4000</span><</if>><</if>><<if $email2fa is true>><<set $funding to $funding + 2500>>Luckily, you ensured that your email system was secure by procuring two-factor authentication.
You stymied an attempted hack that would've ended with the campaign's internal correspondence becoming public. Instead of dealing with the consequences such a leak would have, you can focus your team's time and energy on more meaningful actions.
When you receive an unexpected notification in your two-factor authentication app asking if you are trying to log into your email, you reject the prompt and change your password just to be safe. Without an authentication code or your approval on the app, the hackers can't break into the system. Good job thinking ahead.<span class="pos"> +$2500</span><</if>>
<<include "Game Loop Menu">><<set $eventlist to $eventlist +1>>
<img src="alissa_images/fire.png"><<if $cloud is "true">><<set $funding to $funding + 5000>>The fire was devastating. Several staff computers were destroyed in the inferno, and you had to spend valuable campaign funds to replace them. Luckily, your key files are safe thanks to your investment in cloud data storage. Because all your files are backed up in the cloud, you just need to download them again on the new computers to get the campaign back up and running. Having this backup saves an upcoming donor-call initiative that relied on the latest donor list. The initiative is a success, raking in more than enough donations to make up for the cost of the new computers. <span class="pos">+$5000</span>
The fire does get you thinking though, are there any other security items you need? Perhaps it's time for an assessment of your Inventory. <</if>>
<<if $cloud is false>><<set $popularity to $popularity -4>>Kaz is incensed. "I TOLD you we needed to replace that fire extinguisher," she says, shaking her head. "How much did we lose?"
Unfortunately, without cloud-based services for your files, the fire destroyed a number of important campaign documents that were only saved on the computers. Updated contact information for voters, polling data, and campaign strategy notes for the upcoming Candidate Forum were all lost.
This is a tough loss to swallow because now you have to spend weeks gathering all the information you had collected, which takes away from time that could be spent campaigning or prepping for the debate and puts Alissa behind her opponents. <span class="neg">-4% voter support</span>
<<if $policymamager is true>><<set $popularity to $popularity -3>>Thankfully, with Benet on your team, you're at least able to reacquire some of the lost strategy documents from his cloud backup, mitigating some of the effects of the fire. Seeing the efficiency of Benet's backup makes you realize that you should get your own cloud-based backup system. <span class="neg">-3% voter support</span><</if>>
<<if $policymanager is false>><<set $popularity to $popularity -5>>If your campaign strategy information had been backed up with a cloud storage service (something a Policy Manager might have helped with), perhaps the worst effects of the crisis would have been mitigated. Unfortunately, your volunteers stored this critical information only on computers and many of the files were destroyed in the office fire. Many volunteers used their own personal computers; so you can recover some of the files, but you'll have to track down everyone who has volunteered throughout the campaign, and volunteers don't always have time to come back. They have their own lives outside of the campaign. It will take a while.
Running around trying to recover individual files from various locations makes you realize a cloud backup system may not be a bad idea. Do you have the resources to afford it? <Span class="neg">-5% voter support</span><</if>><</if>>
<<include "Game Loop Menu">><<set $eventlist to $eventlist +1>>
Women running for political office face obstacles men do not. Alissa has complained privately about constantly being asked "how she does it" - raising two young children, being a dutiful spouse, and pursuing her political ambitions. Meanwhile, Barreth Boggs is being asked about his policies.
"She was never really around much," Alissa's ex-husband reveals in an interview with a reporter. "The kids just weren't a priority because her career always came first."
<<if $crisismanager is false>><<set $popularity to $popularity - 5>>Because most of Alissa's base is aware of the sexist foundations of his criticism, the statement isn't too impactful. However, the negative news cycle still has an effect on Alissa in the polls. <span class="neg">-5% voter support</span><</if>><<if $crisismanager is true>><<set $popularity to $popularity + 4>><<set $funding to $funding + 6000>>Hiring Olga, the new Crisis Communications Manager, was a smart move. She drafts a statement about how sexist Alissa's ex's comments were, noting how women are constantly held to a double standard, and men are rarely challenged on how they balance their professional and personal lives.
As a result, the campaign does not experience any dip in voter support! Alissa receives supportive messages from voters applauding her for withstanding gendered attacks. <span class="pos">+4% voter support, +$6000</span><</if>>
<<include "Game Loop Menu">>
<img src="alissa_images/chat.png"><div class="title2">ELECTION WEEK</div>
The Final Debate will begin in less than a week. Time is your most valuable commodity. For this final round of campaigning, you have a maximum of ''5 days'' leading up to the election. Each decision you take will represent a range of 1-5 days, depending on the scale of the decision. Even ''fundraising'' will now take precious time out of your remaining 5 days, so you can only do so ''once''.
After each choice, you'll head back to the office, where you can decide your next step. Keep in mind that the impact of each decision will also be HIGHER as you approach the end of the campaign.
There are many competing priorities: ensuring that the election goes off without a hitch, preparing policy arguments for the final debate, and preparing for attacks from Alissa’s competition and malign actors.
Right now, the office is abuzz. Everyone is moving a mile a minute, and everyone has a different opinion on what to prioritize.
[[How would you like to begin?->Back to the office]]
<<set $review to true>><<set $days to $days - 2>>
You gather the staff together at campaign headquarters.
Taking a deep breath, you explain, "The election is almost here, and the threat of cyberattacks is rising. As we get closer to the election, the amount of time we have to respond to attacks decreases. This fight is not just about our campaign; it's about the integrity of the election as a whole. If cyberattacks sway our voters' decisions, they are no longer voting for the policies and leadership they believe in."
Fay steps forward, "We need to be vigilant. Not only do we need to ensure our tools are working properly, but we also need to ensure that we aren't getting lax with our physical security, and that we, the staff, have our guard up and are following best practices, like only connecting to public wifi networks through a VPN. We're going to take today and tomorrow to go through the NDI Cybersecurity for Political Parties Handbook: https://www.ndi.org/publications/cybersecurity-handbook-political-parties"
[[Back to the office]]
<<if $days lt 0>><<goto "U-Turn!">><</if>><<if $days gte 0>><<set $days = 0>><<set $allowfundraising to false>><div class="title2">FINAL DEBATE</div>
The candidates walk onto the stage one at a time. Amid thunderous applause, jeers, and screams, they politely shake hands. You know she's nervous, but to the untrained eye, Alissa looks confident and professional. You and Fay exchange a glance, you're jittery but proud.
First up to speak on the topic of Olanian nationalism is no other than the preening white-haired man with tufted eyebrows himself, Boggs.
[[Share photos of the packed debate hall]]
[[Kick off the debate]]<</if>>
[[ ->U-Turn!]] <<set $voterbus to true>><<set $popularity to $popularity + 5>><<set $funding to $funding - 3500>><<set $days to $days - 3>>Knowing that all the campaigning in the world means nothing if voters can't get to the polls, you decide to sponsor and organize a free bus to take people to the polls.
There are a number of reasons people need help getting to the polls, including lack of childcare, inability to drive and/or lack of public transportation, and inability to take time off work. Many of these challenges disproportionately affect marginalized groups, and, even though free shuttle buses don't solve all of these issues, it strengthens democracy to mitigate barriers to participation.
A local transportation company offers the campaign 2 buses for $3,500 as a show of support for voting. What a deal! <span class="neg">-$3,500</span>
[[Back to the office]]
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div></div></div>
<<set $research to true>><<set $funding to $funding - 6500>><<set $days to $days - 2>>You've recently heard rumblings that Boggs' campaign is planning a dramatic reveal on his opponent at the Final Debate. The rumors are just that, rumors, but Alissa did work as the Chief of Staff for a politician, who, it was later discovered, was corrupt and was carrying out illicit activities during her tenure with him. You know Alissa would never have tolerated his actions had she known, but you have no doubt that Boggs could find "evidence" that, taken out of context and with limited time to refute, would implicate her.
You did some research on the subject when you first joined the campaign, but, because you're unsure what Boggs will throw at you, you have a lot more to do if you want to be certain you can respond with no delay. It's a pricey investment, but it will give you and Alissa confidence going into the Final Debate. <span class="neg">-$6,500</span>
[[Back to the office]]<<if $fundraise gte 1>><<set $allowfundraising to false>><</if>>At the office, as the days count down, you're figuring out how to invest the remaining time you have left to campaign.
Bear in mind that ''fundraising'' will now take precious time out of your remaining 5 days; so you can only afford to do so ''once'.'<br><br>
<<if $review is true>><s>Refresh cybersecurity training for campaign staff (-2 days)</s><<else>>[[Refresh cybersecurity training for campaign staff]] (-2 days)<</if>>
<<if $voterbus is true>><s>Offer free voter bus to encourage people to vote (-3 days) <span class="neg">↓</span> <span class = "pos">$</span></s><<else>>[[Offer free voter bus to encourage people to vote]] (-3 days)<span class="neg">↓</span> <span class = "pos">$</span><</if>>
<<if $research is true>><s>Conduct research into Alissa's past and gather evidence in preparation for accusations at the debate (-2 days)<span class="neg">↓</span> <span class = "pos">$</span></s><<else>>[[Conduct research into Alissa's past and gather evidence in preparation for accusations at the debate]] (-2 days)<span class="neg">↓</span> <span class = "pos">$</span><</if>>
<<if $encplan is true>><s>Develop Emergency Response and Communications Plan (-2 days)</s><<else>>[[Develop Emergency Response and Communications Plan]] (-2 days)<</if>>
<<nobr>><<if $allowfundraising is true>>[[Have a fundraising event->Election Week Fundraise]] (-1 day)<span class="pos">↑</span> <span class = "pos">$</span><<else>><s>Have a fundraising event->Election Week Fundraise (-1 day)<span class="pos">↑</span> <span class = "pos">$</span></s><</if>><</nobr>>
[[Head to the Final Debate]]
<span class="neg">You have $days days until the election.</span><<if $review is true>>In the heat of the moment, as volunteers are rushing to share photos of the Final Debate, you hear one of them calling to the others, "Do not use a personal USB to share photos. Share them on our group Signal chat or the cloud storage drive instead!" You give the volunteer a thumbs-up. By reviewing privacy practices with your staff, you avoided having photos uploaded with personal USB devices, which could contain malware and spread it to your campaign computers. <<set $popularity to $popularity + 2>><span class="pos">+2% voter support</span><</if>><<if $review is not true>>In the heat of the moment, as volunteers are rushing to share photos of the Final Debate, one accidentally uses her personal USB drive to upload her images. Unfortunately, the device was infected with malware, so all of the debate hall photos are lost. The missed opportunity costs Alissa dearly. <<set $popularity to $popularity - 3>><span class="neg">-3% voter support</span><</if>>
[[Kick off the debate]]<<set $popularity to $popularity - 2>>
Boggs is accusatory right out of the gate. "Before we talk about our identity as a nation, I think we need to discuss our responsibility as leaders of this nation."
"Alissa Orme used shady methods to essentially run a smear campaign against myself and my party in a race that I thought we agreed would be forward-looking and keep the best interests of North Olanians in mind. She is an opportunistic politician willing to do whatever it takes to get into office. She's a hypocrite!"
<<if $shareboggs is false>>
"While she was busy framing me for alleged indiscretions in the distant past, Alissa has been covering up a close relationship with Representative Branbush, who Alissa publicly distanced herself from when he was accused and ultimately convicted of corruption several years ago. We have here an affidavit signed by almost 10 of her fellow staffers stating that they believed, based on how essential she was to the office's ability to function, that she must've been aware of the corrupt activities Branbush was invovled in." <span class = "neg">-2% voter support</span><</if>>
<<if $shareboggs is true>><<set $popularity to $popularity - 2>>
"While she was busy framing me for alleged indiscretions in the distant past, Alissa has been covering up a close relationship with Representative Branbush, who Alissa publicly distanced herself from when he was accused and ultimately convicted of corruption several years ago. We have here an affidavit signed by almost 10 of her fellow staffers stating that they believed, based on how essential she was to the office's ability to function, that she must've been aware of the corrupt activities Branbush was invovled in."
It seems like airing Boggs' dirty laundry publicly did indeed result in a counter-attack.<span class="neg">-4% voter support</span><</if>>
<<if $jonquestioned is true>><<set $popularity to $popularity +2>> Having caught one of Boggs' volunteers trying to steal your campaign documents, Alissa is able to gain back some of her ground. "Oh, I'm the one who's hypocritical?" she says, incredulous. "You sent a man into my campaign offices to steal documents and leak information back to you." The crowd gasps, but Alissa doesn't have any evidence at the ready, so there's little she can do to prove Boggs sent a mole into her campaign.<span class = "pos">+2% voter support</span><</if>>
<<if $research is true>><<set $popularity to $popularity + 4>> Luckily for Alissa, you prepared for exactly this moment. Backstage, you and your team scramble to find video affidavits created by Alissa's old coworkers, swearing that she could not possibly have been aware of the crimes her boss was committing, and that he only got away with them for so long because he never carried out any corrupt dealings in the office where Alissa could see.
Onstage, Alissa draws herself upright. "My team is right now uploading video affidavits from those staffers which prove that your accusations are baseless lies! My old colleagues trust and respect me. Boggs' "evidence" is forged, and if you don't believe me, go onto ImageBook and check for yourselves!"<span class = "pos">+4% voter support</span><</if>>
Dani Stoller is next. She turns to Alissa with a fierce gaze.
[[Stoller's Last Stand]]<<if $popularity gte 50 and $funding gte 1>>
<big><big><big><big><big><big>''CONGRATULATIONS, ALISSA HAS WON!!''</big></big></big></big></big></big>
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<br>
<img src="alissa_images/purple-new.svg" width="200"></div>\
</div>
You were able to navigate both political and cybersecurity challenges to get over 50% of the vote and win Alissa North Olania's next presidency. Thanks to your smart planning and investments and wise technical decisions, you mitigated enough cybersecurity attacks to maintain an effective political campaign.
[[More Cybersecurity Resources for YOUR Campaigns]]
<</if>><<if $popularity lt 50>>
<div class="title2">Final Results</div>
You ran a solid campaign, but unfortunately Alissa lost the election. She was either in debt at the time of the election or received less than 50% of the votes. Alissa is disappointed, as are you, but campaigns are incredibly challenging. They become even more difficult when you don't have the proper digital security precautions in place.
Losing the election isn't the end of the world. Perhaps Alissa will run again! You can try again by clicking ''RESTART'' in the game's main menu. If you do, consider what different investments and decisions you could make to mitigate damaging cybersecurity attacks.
<a onclick="SugarCube.UI.restart();" tabindex="0">Restart</a> or re-load a <a onclick="SugarCube.UI.saves();" tabindex="0">saved game</a>
[[More Cybersecurity Resources for YOUR Campaigns]]
<</if>>
<<if not tags().includes("noheader")>><<set $me to passage()>> /* Passage name is $me */<div class="title2">$me</div><</if>>
You've taken too many days to prepare, and you've MISSED THE DEBATE!
Alissa is disappointed, as are you, but campaigns are incredibly challenging. They become even more difficult when you don't have the proper digital security precautions in place.
Dropping out of the race isn't the end of the world. Perhaps Alissa will run again in the next election! If you do, consider what different investments and decisions you could make to mitigate damaging cybersecurity attacks.
Try again by restoring a saved game <a onclick="SugarCube.UI.saves();" tabindex="0">saved game</a>
restarting the game <a onclick="SugarCube.UI.restart();" tabindex="0">Restart</a>
resetting to the last <<link "Checkpoint">><<goto "Begin preparing for the Final Debate">><<set $popularity to $checkpointPOP>>
<<set $funding to $checkpointFUND>>
<<set $days to 5>><</link>>
[[More Cybersecurity Resources for YOUR Campaigns]]And there's great news! A late donor push has led to another $8000, which is just enough for you to add a specialist to the team.<<set $funding to $funding + 8000>>
Olga Aksamit, Crisis Communications Manager - $8,000 [$crisismanager to true, $funding to $funding - 8000, $selectstaff to true]]
Benet Etienne, Policy Manager/Pollster - $8,000 [$policymanager to true, $funding to $funding - 8000, $selectstaff to true]]
<<include "Game Loop Menu">>
<<set $lv1 to true>>
<<set $events to ['AMA','op-ed','phish','hack','poach']>>
<<set $currentEvent to (either ($events))>>
<<if $currentEvent is "AMA">><<goto "Run an AMA on Reddit for younger voters about Alissa's political experience and the truth surrounding the corruption scandal">><<run $events.delete("AMA")>><</if>>
<<if $currentEvent is "op-ed">><<goto "Write an op-ed about the dirty tactics of the campaign">><<run $events.delete("op-ed")>><</if>>
<<if $currentEvent is "phish">><<goto "Open it (time sensitive)">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events.delete("phish")>><</if>>
<<if $currentEvent is "poach">><<goto "Conduct your own research on incumbent Barrett Boggs and Olania First's Dani Stoller">><<run $events.delete("poach")>><</if>>
<<include "Game Loop Menu">><<set $currentEvent2 to (either ($events2))>>
<<if $currentEvent2 is "fire">><<goto "Fire in the office destroys computers">><<run $events2.delete("fire")>><</if>>
<<if $currentEvent2 is "volunteer">><<goto "Volunteer meeting">><<run $events2.delete("volunteer")>><</if>>
<<if $currentEvent2 is "husband">><<goto "Ex-husband criticizes her as a mother">><<run $events2.delete("husband")>><</if>>
<<if $currentEvent2 is "campus">><<goto "Campus visit">><<run $events2.delete("campus")>><</if>>
<<if $currentEvent2 is "mystery">><<goto "Check out a mysterious package sent to the office with your name on it">><<run $events2.delete("mystery")>><</if>>
<<if $currentEvent2 is "hack">><<goto "Someone tried to hack the campaign's internal email system!">><<run $events2.delete("hack")>><</if>>A week later, with most volunteers out canvassing, you receive an email that's tagged as urgent. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
Despite a few publicity close calls, you manage to make it through the main campaign with <strong>$<<print setup.formatNumber($funding)>> and $popularity% popularity.</strong> Now, the only thing left is to push toward the final debate - which is right before the election.
Add game goals:
35% to move to the phase 3
$5,000 to phase 3
<<nobr>><<if $crisismanager is true and $policymanager is true>> <span class = "neg">Alissa has only authorized hiring one manager.</span> <<set $crisismanager to false>><<set $policymanager to false>><<include "LEVEL TWO: CAMPAIGN PHASE">> <<elseif $crisismanager is true or $policymanager is true>><<set $selectstaff to true>><<set $funding to $funding - 5000>><<include "Done!">><<else>><<include "Done!">><</if>>
<</nobr>>
[[ ->Done!]]
Good call. You made sure that the administrators' access to the campaign ImageBook account is secure and private.
Sitting at your desk, you hear the ding of your email. Glancing over, you see it's marked urgent.
* [[Open it (time sensitive)]]
Ignore the email. Everything is urgent these days, and you've got a lot to do.
<<include "Game Loop Menu">><strong><span style="color:purple">ABOUT THE GAME</span></strong>
<strong>Scenario:</strong> You have just been hired as the new Campaign Manager for the Purple Party of North Olania. The candidate is Alissa Orme, who is running in a tight race against North Olania’s incumbent President, as well as another outside challenger. Your job is to manage a team of four, as well as keep an eye on Alissa's popularity and the campaign funds. To win the election, Alissa will have to successfully advance through three phases:
<strong>Primary Phase:</strong> By the end of the Primary Phase, Alissa needs at least ''$10,000 and 25% popularity.'' If she reaches those marks, she’ll move ahead to the Campaign Phase.
<strong>Campaign Phase:</strong> By the end of the Campaign Phase, which culminates in the Candidate Forum, Alissa needs at least ''$5,000 and 35% popularity'' to enter the Final Debate, right before Election Day.
<strong>Final Debate/Election Day:</strong> To win the election, Alissa needs at least ''$1 and 50% popularity.''
<strong><span style="color:purple">ACTIONS</span></strong>
Throughout the game, there will be several actions you can take to earn campaign funds and raise Alissa’s popularity in the polls:
<strong>Events:</strong> Each event moves you forward in the game. Events include Alissa's public appearances, cybersecurity incidents you need to respond to, and other issues that keep you on your toes. //The decisions you make during those events can affect your funding and popularity in positive or negative ways.//
<strong>Advertise:</strong> You can raise your popularity at any time by advertising, but you’ll need to make sure you have enough money in your budget to do so. Advertising can also earn you some small monetary donations.
<strong>Purchase:</strong> At the beginning of the game, you will have the opportunity to purchase cybersecurity and other campaign items while meeting the team. After that, you will have many opportunities to return to the Store to buy more items. At any time, you can check to see what items you've purchased by clicking the //Inventory// button.
<strong>Fundraise:</strong> Fundraising will earn you money, but the amount varies and you only have //three// opportunities to fundraise during the Primary Phase and //three// opportunities during the Campaign Phase. In the Final Debate Phase, you will only be able to fundraise //once//.
<strong>Icons:</strong> When choosing between Event, Advertise, Store, and Fundraise, the corresponding icons indicate whether each action has the potential to affect your popularity and/or funding, and the arrows indicate whether each action will have a positive or negative impact.
👍 = popularity <span class = "pos">$</span> = funding
<span class="pos">↑</span><span class="neg">↓</span>👍 indicates that the action can result in a positive or negative effect on popularity.
<strong><span style="color:purple">HOW TO PLAY</span></strong>
<strong>Save Game:</strong> Use the //Save/Load// link underneath the //Resources// button to open the save/load screen.
<strong>Progress through the Game:</strong> This game uses links to progress. As you read through the story, you will be asked to make different choices about how you want to proceed. The outcome of the story will change depending on the choices you make. Be sure to keep an eye on your //popularity// and your //funds// throughout the game - drop too much in either category and you will lose the game!
<span class="rtn"><<back>></span>
In the office, Fay approaches you, "Hey, I need to talk to you." It sounds a bit ominous, and Fay isn’t one for drama. At the same time, the new volunteer, Jon, is looking a little lost. He's just wandering around opening various cabinets.
[[Go talk to Fay]]
[[Go talk to the new volunteer]]
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Kaz_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
</div>
</div></div>
As you return from the donor event, you see strange markings near the windows, as if someone was trying to open them from the outside. You enter the office and check the window locks.
<<if $windows is "true">><<set $popularity to $popularity + 4>> They're shut solid. By listening to Kaz and purchasing reinforced windows, you avoided a potential break-in that would have resulted in major donor contact information being leaked to the public. Nice work! <span class="pos">+4% voter support</span><</if>>
<<if $windows is false>><<set $funding to $funding - 8000>> One of the windows has a broken lock. When you look around, you find that, unfortunately one of your opponents sent over a spy to sneak in, utilizing the weak window locks, and grab identifying information about the donors at the event. Their cell phone numbers get published and, after getting countless calls, many are fed up. <span class="neg">-$8000</span><</if>>
[[Next->Kaz smells a rat]] <<nobr>>
<<if $fb2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>><</if>>
<<if $fboff is true>><<set $policies to $policies + 1>><</if>>
<<if $donation is true>><<set $policies to $policies + 1>><</if>>
<<if $von is true>><<set $policies to $policies + 1>><</if>>
<<if $dsec is true>><<set $policies to $policies + 1>><</if>>
<</nobr>>
You schedule the session for the end of the week. In the meantime, you brush up on your policy training.
<img src="alissa_images/commteam.png"><<set $shareboggs to true>><<set $popularity to $popularity + 4>>You reach out to a news outlet about Boggs' illegal activity. "Wait until you see the picture we found," you whisper over the phone.
The reporter is curious and diligently writes down everything you share. She promises not to disclose that the lead came from you.
Published with quotes from a "political insider," the article goes on to accuse Boggs of being a hardened, self-advancing hypocrite. His campaign has emphasized the importance of protecting North Olania's natural resources, saying they are essential to the growth of the independent country's economy. Meanwhile, he himself was putting those same natural resources at risk for his own pleasure by poaching. His numbers in the polls dip slightly as Alissa's see a small boost, but his supporters aren't incredibly bothered; a scandal isn't going to change their minds, and many of them enjoy hunting as well.
You took a big risk in outing your competition. The newspaper may have kept your name out of the article, but there's little chance Boggs doesn't suspect your involvement. You can only hope he's too busy cleaning up the mess you made to retaliate. <span class="pos">+4% voter support</span>
<<include "Game Loop Menu">>
<<set $shareboggs to false>><<set $popularity to $popularity + 5>>Wise choice. While you were tempted to use the information against Boggs, he likely would have retaliated with greater force. And, knowing Boggs, he wouldn't limit himself with accuracy. Better to run a clean campaign, not only for Alissa's sake, but also for the sake of the democratic process and the people of North Olania. When the public loses trust in the political system, people are less likely to vote, which weakens democracy. <span class="pos">+5% voter support</span>
Speaking of critical moments, it's almost time for the Candidate Forum event, where Orme, Boggs, and Stoller will be debating social and economic policies, including the possibility of reunification with South Olania.
<<include "Game Loop Menu">>Marcel reaches out to a local TV anchor about having a 1:1 sit-down interview with Orme. She has been on television many times before, but never with so many viewers.
The interviewer is Pia Lome, who is a well-known and respected co-anchor.
<<include Game Loop Menu>>You sign into the Purple Party Imagebook account and post a congratulatory message to the happy couple. Lyla responds with a hearty, "Thanks! #PurplePartyRocks!"
It's a short response, but it has an unexpected effect. The public takes it as an endorsement, and Alissa's popularity rises. <span class="pos">+3%.</span> <<set $popularity to $popularity +3>>
You're elated, but there's no time to rest. You're not done until the election is over.
[[Try a social media boost ->Focus on building a social media campaign]]
[[Focus on preparing for the Candidate Forum]] Even if she wasn't actively working for Stoller, Lyla could easily have accidentally dropped confidential information the Olania First Party's lap. You call Lyla and ask her about her involvement with Dani Stoller's nephew.
"What did you tell Christopher Stoller about your time at Purple Party headquarters?" you ask.
"What?!" Lyla responds, hurt by the question.
"I'm just worried that-" you start to respond before Lyla cuts you off.
"You think I would spy on the campaign?" she demands angrily.
"No, no, but maybe accidentally-" you try to calm her down.
"And to think I thought you were calling to congratulate me!" Lyla hangs up on you. Well, that call could've gone better.
Lyla's fiance, Christopher, posts an angry rant about the call on ImageBook, and it goes viral. The public considers Alissa cold and uncaring for her treatment of a former staff member, and it gets out that Lyla was an unpaid intern, despite an earlier statement by Alissa that unpaid work is undemocratic. Alissa's popularity drops. <span class="neg"> -3%.</span> <<set $popularity to $popularity -3>>
You're disappointed, but you still have the Candidate Forum to regain some public goodwill before the Final Debate.
[[Try a social media boost ->Focus on building a social media campaign]]
[[Focus on preparing for the Candidate Forum]] <<nobr>><<set $days to $days-1>><<set $fundraise to $fundraise + 1>>
<<set $fundraising to either("low", "medium", "high")>>
Funds are low; so you and your staff stage an impromptu fundraising rally at a local mall in an area that has shown high support for Alissa.
<<if $fundraising is "low">><<set $funding to $funding + 5000>>Your fundraising efforts were rewarded with <span class="pos">$5,000!</span><<replace "#money">>$funding<</replace>><</if>>
<<if $fundraising is "medium">><<set $funding to $funding + 7000>>Your fundraising efforts were rewarded with <span class="pos">$7,000!</span><<replace "#money">>$funding<</replace>>
<</if>>
<<if $fundraising is "high">><<set $funding to $funding + 9000>>You make a helpful chunk of change! Your fundraising efforts were rewarded with <span class="pos">$9,000!</span><<replace "#money">>$funding<</replace>><</if>><</nobr>>
<<if $allowfundraising is false>>
<span class="neg">No more fundraising for this level!</span><</if>>
[[Back to the office]]
<<script>>UIBar.stow()<</script>><center>
<img src="alissa_images/cybersim-logo.svg">\
<div class="title-big white">Alissa for North Olania!</div>\
<div class="subtitle uppercase white">An interactive campaigns and digital security adventure</div>\
<img src="alissa_images/ndi-logo-white.svg" style="margin-top: 15px;" width="100px">
<<button [[Start Game|How to Play]]>><</button>></center>
You're too low on <<if $funding lt 1>>funding<</if>><<if ($funding lt 1) and ($popularity lt 20)>> and <</if>><<if $popularity lt 20>>popularity<</if>> to continue! Try again by restoring a saved game, or restarting the game.
<<click "<span class='restart-button'>Restart</span>">>
<<script>>
SugarCube.UI.restart()
<</script>>
<</click>><img src="alissa_images/Shield.png"><<if $ddos is false>><<set $funding to $funding - 5000>>
A Distributed Denial-of-Service attack (DDOS attack) takes the campaign's website down for several hours, resulting in a newspaper story about the breach the following day.
DDOS attacks occur when hackers drive overwhelming amounts of traffic to a website in an effort to force it offline. DDOS protection tools can defend against such attacks, but you did not purchase this resource, leaving the website vulnerable.
While it doesn't affect voter support, having the campaign website go down looks unprofessional. It also prevents supporters from donating, while requiring the campaign to dip into its funds for emergency technical support to get the website back online.<span class="pos">-$5000</span><</if>><<if $ddos is "true">><<set $funding to $funding + 6000>>You pass Fay in the hall, and she seems slightly ruffled. "There was a ton of traffic on the server this morning," she says. "I think there was a DDOS attack. Don't worry, though. It wasn't successful."
She explains, "DDOS attacks occur when hackers drive overwhelming amounts of traffic to a website in an effort to force it offline. Luckily, we have DDoS protection. Remember? I convinced you to purchase it."
By investing in DDOS protection, you were able to completely repel an attempted DDOS attack. As a result, you avoid losing time and money, and you're able to keep fundraising. <span class="pos">+$6000</span><</if>>
[[Begin preparing for the Final Debate]]
Well, that was everyone. You hope you were able to meet their basic needs while still reserving enough of the budget for future endeavors. You can visit ''Inventory'' any time to check what you've purchased, and you will have opportunities later on to buy some of the items you skipped in this first round at the "Store."
<span class="rtn">[[Next ->Olania First]]</span>You made it to the Final Debate. This will be the last challenge before the election, but it will also be your last chance to earn support for Alissa. You won't need any campaign money after the debate, but you can't be in debt either, and you're going to need at least 50% of voter support to win the election.
Hopefully you made good cybersecurity choices throughout the campaign. Right before an election attacks often ramp up in intensity and speed because they are more impactful, targeted candidates don't have the time to refute them before the election, and the scandals are fresh in voters' minds as they head to the polls.
[[Almost there!->DDOS Attack!]]
<<set $lv1 to false>> <<set $lv2 to false>> <<set $lv3 to true>>
<<set $checkpointPOP to $popularity>>
<<set $checkpointFUND to $funding>>Thank you for playing Alissa for North Olania. This game was developed by the Democracy and Technology team at the National Democratic Institute (NDI) to demonstrate the key role cybersecurity plays in protecting democracy and teach users key lessons about cybersecurity tools and best practices. For more cybersecurity lessons and guidance implementing good cybersecurity practices, please see the resources below.
To learn more about how Parliaments can safeguard their cybersecurity, check out NDI's Cybersecurity Handbook for Parliaments: https://parliaments.cyberhandbook.org/
For more information on the cybersecurity steps Political Parties should be taking, please check out NDI's Cybersecurity Handbook for Political Parties: https://parties.cyberhandbook.org/
To learn more about the steps Civil Society Organizations can take to safeguard their cybersecurity, check out NDI's Cybersecurity Handbook for Civil Society Organizations: https://cso.cyberhandbook.org/
This resource is also available in the form of an online course: https://ed.ndi.org/courses/course-v1:NDI+CSO+2021/about
<<set $encplan to true>><<set $days to $days - 2>>
You gather the campaign's leadership together in Alissa's office. "We're doing everything we can to prevent last minute attacks before election day, but we just don't have the resources or time to cover every possibility. So we need to prepare for the worst." Heads nod around the room.
"I've asked you all here to develop a comprehensive emergency response plan," you continue. "Whatever attacks we face, be they disinformation, cyberattacks, physical security threats, or any combination of the lot, we're going to need a strong communications response, and our ability to access communications channels will depend on how well those channels are protected by our cybersecurity. If preventing a cyberattack doesn't work, getting control of our systems back has to be our first priority."
You step back and nod at your cybersecurity and communications experts. They take the lead, brainstorming with the group, trying to identify as many potential challenges as possible. After two days of hard work, the campaign has an Emergency Response and Communications Plan which accounts for more variables than you could've imagined before you joined Alissa's team. Any attack may still be detrimental to the campaign, but you think you've ensured that they can't derail you completely. Alissa will have a chance in the polls.
[[Back to the office]]
During the commercial break, you and Alissa both rush over to Fay, your trusty IT Manager, to figure out what has happened. With a little digging, you learn that your website’s TLS certificate, which keeps traffic to your website (including sensitive login information) secure via HTTPS, expired a few days ago. Your lead web developer, Milo, was making a few last minute tweaks to the site earlier today while on the debate hall’s public wifi network. Faye suspects someone must have stolen his credentials to the site at that time and used them to post the false information. “Without HTTPS,” Fay laments, “it wouldn’t have been all that hard for someone else on the debate hall’s wifi network to see Milo’s login information, use it themselves, and then edit the website content.”
<<if $encplan is true>>
The good news is you spent some critical time before the debate practicing and refining your Emergency Response and Communications Plan. As a result, during the rest of the commercial break, Fay is able to work with Milo to quickly get the website fixed, while the rest of the team huddles with Alissa to brainstorm her response, following the Communications principles laid out in the Plan. While damage has certainly been done, you’re feeling hopeful that Alissa can end the campaign on a less sour note thanks to your team’s preparation.
The commercial ends, and the spotlight is on the Purple Party again. Alissa takes a deep breath.
[["My campaign has been the subject of a cyberattack. Let me assure you my values have not changed. I still stand for education, economic reform, and the independence of our country."]]
[["I care about North Olania more than anything."]]
[["As the foul trick with my campaign's website demonstrates, President Boggs and Ms. Stoller care only about winning. They would sow distrust into our nation as you head to the polls, not just distrust in me and my campaign, but in the integrity of our democratic system. They are enemies of democracy and cannot be trusted in a position of power. Vote for me, and show them that dirty tactics don't pay off in North Olania!"]]
<</if>>
<<if $encplan is false>>
“So what am I supposed to do now?!?” Alissa interjects, clearly and understandably frustrated with you and the rest of her campaign team. Unfortunately, because you didn’t take time to refine and review an Emergency Response and Communications Plan, you and Fay are both at a loss for answers. Fay says she’ll try to find Milo to get the website cleaned up, and you offer Alissa some words of encouragement, but you’re kicking yourself for not being better prepared for this moment of crisis.
The commercial ends, and the spotlight is on the Purple Party again. Alissa takes a deep breath.
[["This race was undemocratic. Rather than electing the candidate whose policies they agree with, the people of North Olania will be under the leadership of the candidate most skilled at navigating underhanded tactics and blatant attacks. How could the results be just when there is a high likelihood that this cyberattack will prevent me from winning?"]]
[["The biggest issues facing our country today are healthcare, the economy, and education. Reunification is a discussion secondary to these needs."]]
[["I care about North Olania more than anything."]]
<</if>>
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div></div></div>
The audience appreciates Alissa's statement, and it's enough to move the conversation away from reunification, but it doesn't really clarify what happened or where Alissa stands on reunification. You don't lose support, but you don't gain any either.
<center><<button [[See the results!]] >><</button>></center><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div></div></div>
<<set $popularity to $popularity + 5>>Alissa attacks the opposing campaigns, turning the public's attention to the dirty tactics of Boggs' and Stoller's campaigns. The tactic moves the public's attention off of the confusion about reunification and ensures that people know where Alissa stands on the issue, especially because the website is fixed. However, it does not allow Alissa to pivot the conversation back to the key policies she had wanted to discuss. According to the best practices section of the Emergency Response and Communications Plan, it would be better if they could move public conversation back to Alissa's policies and plans, but she's too fired up to move on right now.<span class="pos">+5% voter support</span>
<center><<button [[See the results!]] >><</button>></center><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div></div></div>
<<set $popularity to $popularity + 10>>
Following the principles laid out in the Emergency Response and Communications Plan, Alissa's response addresses the incident and clarifies the confusion created by the website telling voters that her stance on reunification had changed, but it quickly refocuses to the subject the debate should focus on: her policies. The website has been fixed, so anyone still confused can read about the matter there. The public is excited to hear more about Alissa's policies and plans and quickly moves past the earlier attack. <span class="pos">+10% voter support</span>
<center><<button [[See the results!]] >><</button>></center><div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div></div></div>
<<set $popularity to $popularity - 5>>
Voters are confused by Alissa's statement. They wanted to hear about her policies and plans for healthcare, education, and the economy, but now they can't move past reunification because the Purple Party never explained what happened. Previously avid supporters of Alissa are scared to vote for her for fear that she will attempt to reunite North and South Olania. It doesn't help that the website still says that Alissa supports reunification. If only you had taken the time earlier to develop a plan for situations such as this one, maybe the team would've had a better idea of the best practices to mitigate such attacks and how to regain control of the website. <span class="neg">-5% voter support</span>
<center><<button [[See the results!]] >><</button>></center>
<div class="candidate-item">
<div class="row space-btw vertical-center">\
<div class="row vertical-center">\
<img src="alissa_images/Orme_kms.png" width="150px" style="border-radius: 100px; padding-right: 10px;">
<div><span class="title-3">Alissa Orme</span>
<img src="alissa_images/purple-new.svg" width="112"></div></div></div>
<<set $popularity to $popularity - 10>>
Alissa's rant about the dirty tactics of the campaign riles up the audience. Her most loyal supporters are shouting about how North Olania isn't a democracy if she doesn't win. Her opponents' supporters are shouting angrily that Alissa is a bad loser, and that saying if she loses, the election wasn't democratic is just a way to try to avoid accepting the results of the election. Meanwhile, most voters are confused about whether they should believe Alissa when she says their democratic system is broken. They don't know if there's a point in voting. Turnout decreases and the integrity of the country's democracy is weakened. <span class="neg">-10% voter support</span> If only you'd developed an Emergency Response and Communications Plan, you would've been able to give Alissa better advice on how to respond to this cyberattack.
<center><<button [[See the results!]] >><</button>></center>Review the descriptions to make sure you are happy with the policies you've chosen.
<<if $fb2fa is true>><<set $policies to $policies + 1>>''Multifactor Authentication (MFA) for Social Media.'' A type of authentication that uses more than two types of verification. This ensures they will have to (1) enter the user name and password, (2) get a code texted to their phone, and (3) answer a security question to authenticate every time they log on.<</if>>
<<if $email2fa is true>><<set $policies to $policies + 1>>''2-factor Authentication (2FA) for Email.'' A type of multifactor authentication that only uses two types of verification. In our case, they'll need to (1) enter the user name and password and (2) get a code texted to their phone to authenticate every time they log on.<</if>>
<<if $fboff is true>><<set $policies to $policies + 1>>''Social Media Onboard/Offboard Protocol.'' This ensures that volunteers and/or staff that might leave the campaign will be appropriately removed from administrator permissions on the social media platform, and staff who join the campaign will be appropriately trained to use a password manager with specific social media accounts. <</if>>
<<if $donation is true>><<set $policies to $policies + 1>>''Donation Policy.'' Donation policies ensure that your campaign doesn't accept any funds from potentially shady sources.<</if>>
<<if $von is true>><<set $policies to $policies + 1>>''Volunteer Onboard/Offboard Protocol.'' Provides volunteers with orientation to their responsibilities, systems, and the office; and ensures that volunteers no longer have access to any campaign documents, databases, and any physical files.<</if>>
<<if $dsec is true>>''Device Security Policy.'' Ensures that phones and computers are password protected.<<set $policies to $policies + 1>><</if>>
[[Training]]
Time is tight for the Purple Party's campaign. As a result, you are only able to set aside roughly a half-day of training for the staff and volunteers, which only allows for a few policies to be covered. ''This will be your only chance to select policies, and you can only select up to 2.''
<<checkbox "$fb2fa" false true>> ''2-Factor Authentication for Social Media.'' <<linkreplace "[Description]" >>2-Factor authentication (2FA) is an electronic authentication method in which the first factor is a password, and the second factor is something like an authentication app on your phone. Effective 2FA can keep hackers from accessing your account (and therefore away from private and sensitive information).
<</linkreplace>>
<<checkbox "$email2fa" false true>> ''2-Factor Authentication for Email.'' <<linkreplace "[Description]">>2-factor authentication (2FA) strengthens account security by requiring a second factor – other than just a password – to gain access. The second factor is usually something that you have, like a code from an app on your phone or a physical token or key. <</linkreplace>>
<<checkbox "$fboff" false true>> ''Social Media Onboard/Offboard Protocol.'' <<linkreplace "[Description]">>This ensures that volunteers and/or staff that might leave the campaign will be appropriately removed from administrator permissions on the social media platform, and staff who join the campaign will be appropriately trained to use a password manager with specific social media accounts.<</linkreplace>>
<<checkbox "$donation" false true>> ''Donation Protocol.'' <<linkreplace "[Description]">>Donation policies ensure that your campaign doesn't accept any funds from potentially shady sources.<</linkreplace>>
<<checkbox "$von" false true>> ''Volunteer Onboard/Offboard Protocol.'' <<linkreplace "[Description]">> Provides volunteers with orientation to their responsibilities, systems, and the office.<</linkreplace>>
<<checkbox "$dsec" false true>> ''Device Security.'' <<linkreplace "[Description]">>Ensures that phones and computers are password protected.<</linkreplace>>
[[Are you sure?]]<div>[[Your First Day]]</div>
Throughout the game, you will always be able to access //How to Play// in the game's main menu.
<strong><span style="color:purple">ABOUT THE GAME</span></strong>
<strong>Scenario:</strong> You have just been hired as the new Campaign Manager for the Purple Party of North Olania. The candidate is Alissa Orme, who is running in a tight race against North Olania’s incumbent President, as well as another outside challenger. Your job is to manage a team of four, as well as keep an eye on Alissa's popularity and the campaign funds. To win the election, Alissa will have to successfully advance through three phases:
<strong>Primary Phase:</strong> By the end of the Primary Phase, Alissa needs at least ''$10,000 and 25% popularity.'' If she reaches those marks, she’ll move ahead to the Campaign Phase.
<strong>Campaign Phase:</strong> By the end of the Campaign Phase, which culminates in the Candidate Forum, Alissa needs at least ''$5,000 and 35% popularity'' to enter the Final Debate, right before Election Day.
<strong>Final Debate/Election Day:</strong> To win the election, Alissa needs at least ''$1 and 50% popularity.''
<strong><span style="color:purple">ACTIONS</span></strong>
Throughout the game, there will be several actions you can take to earn campaign funds and raise Alissa’s popularity in the polls:
<strong>Events:</strong> Each event moves you forward in the game. Events include Alissa's public appearances, cybersecurity incidents you need to respond to, and other issues that keep you on your toes. //The decisions you make during those events can affect your funding and popularity in positive or negative ways.//
<strong>Advertise:</strong> You can raise your popularity at any time by advertising, but you’ll need to make sure you have enough money in your budget to do so. Advertising can also earn you some small monetary donations.
<strong>Purchase:</strong> At the beginning of the game, you will have the opportunity to purchase cybersecurity and other campaign items while meeting the team. After that, you will have many opportunities to return to the Store to buy more items. At any time, you can check to see what items you've purchased by clicking the //Inventory// button.
<strong>Fundraise:</strong> Fundraising will earn you money, but the amount varies and you only have //three// opportunities to fundraise during the Primary Phase and //three// opportunities during the Campaign Phase. In the Final Debate Phase, you will only be able to fundraise //once//.
<strong>Icons:</strong> When choosing between Event, Advertise, Store, and Fundraise, the corresponding icons indicate whether each action has the potential to affect your popularity and/or funding, and the arrows indicate whether each action will have a positive or negative impact.
👍 = popularity <span class = "pos">$</span> = funding
<span class="pos">↑</span><span class="neg">↓</span>👍 indicates that the action can result in a positive or negative effect on popularity.
<strong><span style="color:purple">HOW TO PLAY</span></strong>
<strong>Save Game:</strong> Use the //Save/Load// link underneath the //Resources// button to open the save/load screen.
<strong>Progress through the Game:</strong> This game uses links to progress. As you read through the story, you will be asked to make different choices about how you want to proceed. The outcome of the story will change depending on the choices you make. Be sure to keep an eye on your //popularity// and your //funds// throughout the game - drop too much in either category and you will lose the game!
<div>[[Your First Day]]</div>