--- breaks: true --- <style> html, body, .ui-content { background-color: #0D1117; color: #ddd; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .markdown-body pre { background-color: #161B22; border-radius: 8px; color: white; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #0D1117; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } .hljs { display: block; overflow-x: auto; padding: 0.5em; background: #1E1E1E; color: #DCDCDC; } .hljs-keyword, .hljs-literal, .hljs-symbol, .hljs-name { color: #569CD6; } .hljs-link { color: #569CD6; text-decoration: underline; } .hljs-built_in, .hljs-type { color: #4EC9B0; } .hljs-number, .hljs-class { color: #B8D7A3; } .hljs-string, .hljs-meta-string { color: #D69D85; } .hljs-regexp, .hljs-template-tag { color: #9A5334; } .hljs-subst, .hljs-function, .hljs-title, .hljs-params, .hljs-formula { color: #DCDCDC; } .hljs-comment, .hljs-quote { color: #57A64A; font-style: italic; } .hljs-doctag { color: #608B4E; } .hljs-meta, .hljs-meta-keyword, .hljs-tag { color: #9B9B9B; } .hljs-variable, .hljs-template-variable { color: #BD63C5; } .hljs-attr, .hljs-attribute, .hljs-builtin-name { color: #9CDCFE; } .hljs-section { color: gold; } .hljs-emphasis { font-style: italic; } .hljs-strong { font-weight: bold; } .hljs-bullet, .hljs-selector-tag, .hljs-selector-id, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo { color: #D7BA7D; } .hljs-addition { background-color: #144212; display: inline-block; width: 100%; } .hljs-deletion { background-color: #600; display: inline-block; width: 100%; } </style> # A Cyber-themed Game for the Singapore Army Open House ![](https://i.imgur.com/Tn8aiMH.png) ## Abstract The Singapore Army Open House is a quinquennial exhibition platform for bilateral interactions with the community and the army. This documentation will cover the complete architecture of COMMAND & CONTROL—a single-player puzzle-simulation game for the Singapore Army Open House 2022. COMMAND & CONTROL intends to educate players on the importance of cyber and password security. Player scores are tracked in a locally-hosted dockerised leaderboard on Windows 10. ## Contents - [Abstract](#Abstract) - [Introduction](#Introduction) ## Introduction ## Game ### Camera ### Canvas ### Scenes #### Start Menu #### Tutorial #### Game ##### Username ##### Password ##### Password Recall ##### Hacking ##### Scoring ## Leaderboard ## Setup ### Requirements #### Windows 10 #### Unity 2020.3.29f1 #### Microsoft .NET 4.6 Framework #### Docker ### Installation ### Source Control ## Development ### Known Issues #### Namespace Issue Occasionally, Visual Studio Code may run into the following namespace issue. > The type or namespace name '<namespace>' could not be found (are you missing a using directive or an assembly reference?)[Assembly-CSharp] To resolve this, simply close Unity and VSCode, and remove the Library directory from the project folder. Then, reopen Unity to rebuild the Library directory. ```bash rm -r Library ``` ### Future Improvements