Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
a3cf0df
Update egdd.md
jhcooper Mar 19, 2024
999543b
Update README.md
jhcooper Mar 19, 2024
3aceee4
Add files via upload
njlago Mar 19, 2024
8cc9526
Rename Group 1.jpg to Storyboard.jpg
njlago Mar 19, 2024
1952017
Update egdd.md
njlago Mar 19, 2024
e772a04
Update egdd.md
njlago Mar 19, 2024
666155d
Update egdd.md
njlago Mar 19, 2024
9cd54aa
Add files via upload
njlago Mar 19, 2024
a21a1a3
Rename Group 1.jpg to Storyboard.jpg
njlago Mar 19, 2024
3a61146
Update egdd.md
jhcooper Mar 20, 2024
e00d2be
first commit
njlago Mar 24, 2024
ec5fe25
first commit
njlago Mar 24, 2024
e3aa075
functionality of ls cd and cd ..
njlago Apr 3, 2024
4520444
fixing terminal
njlago Apr 4, 2024
ea3a428
cd.. fix
njlago Apr 4, 2024
30d3341
text box container and alfred icon
njlago Apr 4, 2024
36542ae
man alfred
njlago Apr 4, 2024
effc1fa
level door, opens but not included yet
alexmaneri Apr 4, 2024
769ca4b
doors
alexmaneri Apr 4, 2024
d027f8f
pin
njlago Apr 4, 2024
d84751b
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
njlago Apr 4, 2024
9ee830c
merged new stuff and fixed space bar
njlago Apr 4, 2024
fbf0089
level 1 basic setup
jhcooper Apr 4, 2024
ec304bc
added backgrounds and level 1 intro
jhcooper Apr 4, 2024
8ab8109
temp lvl select
alexmaneri Apr 4, 2024
042605e
tmp lvl select
alexmaneri Apr 4, 2024
f50b0ef
completed level 1
jhcooper Apr 5, 2024
c86ee5c
Merge pull request #1 from UD-S24-CISC374/main
jhcooper Apr 5, 2024
a43db69
Merge pull request #2 from UD-S24-CISC374/level-01
jhcooper Apr 5, 2024
0dbd705
oops
jhcooper Apr 5, 2024
c126d81
fixed merge conflicts and bugs
jhcooper Apr 5, 2024
fd95c68
Merge pull request #3 from UD-S24-CISC374/level-01
jhcooper Apr 5, 2024
e844260
fixed image loading issue
jhcooper Apr 5, 2024
28c3469
Merge pull request #4 from UD-S24-CISC374/level-01
jhcooper Apr 5, 2024
b0e21e0
Rename level1background.png to Level1Background.png
jhcooper Apr 5, 2024
74b7901
added commenting to level 01
jhcooper Apr 5, 2024
e39abea
Merge pull request #5 from UD-S24-CISC374/level-01
jhcooper Apr 5, 2024
d630a07
black bg, and cd .. working now
njlago Apr 5, 2024
d76e7b5
\n working
njlago Apr 5, 2024
fea467c
some stuff
njlago Apr 5, 2024
2fcf652
Add files via upload
njlago Apr 5, 2024
7204b5a
prompt
njlago Apr 5, 2024
4aa05b0
locked door art
alexmaneri Apr 6, 2024
2c9badf
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
alexmaneri Apr 6, 2024
5dd5a06
small change
njlago Apr 6, 2024
a87dae0
blue
njlago Apr 6, 2024
6184dc2
testing branch pushing
alexmaneri Apr 6, 2024
6dba31d
Merge remote-tracking branch 'origin/main' into alex_branch
alexmaneri Apr 6, 2024
d07fcc4
intro scene
njlago Apr 6, 2024
49ee818
Merge remote-tracking branch 'origin/main' into nickbranch
njlago Apr 6, 2024
39d2311
level unlock logic
alexmaneri Apr 6, 2024
ff355f7
Merge remote-tracking branch 'origin/main' into alex_branch
alexmaneri Apr 6, 2024
2d1e486
level unlocks working
alexmaneri Apr 6, 2024
d549bd6
level 1 story
njlago Apr 7, 2024
9db0d0d
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
njlago Apr 7, 2024
20e792b
audios
njlago Apr 7, 2024
f196368
sounds and login
njlago Apr 8, 2024
1bb1ff4
timer and login
njlago Apr 8, 2024
574f403
walls on lvl select and backDoor
alexmaneri Apr 8, 2024
a5be34b
resolved conflicts
alexmaneri Apr 8, 2024
6c67461
trying to fix
njlago Apr 9, 2024
c9f6d2f
resolved space issue
njlago Apr 9, 2024
a51479d
loadingScene1 conflict fix
alexmaneri Apr 9, 2024
2cdca3d
small enter bug
njlago Apr 9, 2024
e2b00a2
levelSelect 150 lines shorter
alexmaneri Apr 9, 2024
9e01404
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
alexmaneri Apr 9, 2024
7bb8a18
fixed back door closing glitch
alexmaneri Apr 9, 2024
7cc95e6
timer stops and walking animations
njlago Apr 10, 2024
5c69bc3
tutorial base
njlago Apr 10, 2024
f0c327a
commit to merge
alexmaneri Apr 10, 2024
65fbef0
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
alexmaneri Apr 10, 2024
ffa24ee
tutorial
njlago Apr 10, 2024
df5a7b0
updated tracking to main
jhcooper Apr 11, 2024
b2fac99
tutorial fixed
njlago Apr 13, 2024
cdbb12a
linter, and tutorial fixed
njlago Apr 13, 2024
31908ae
tutorial bug
njlago Apr 13, 2024
6b29af6
music
njlago Apr 15, 2024
1537c0d
level 2 and fixed level doors
njlago Apr 15, 2024
c8949b5
level2 fixed
njlago Apr 15, 2024
6c36958
upArrow working
njlago Apr 16, 2024
e047bab
bs commit
jhcooper Apr 16, 2024
eea7af0
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
jhcooper Apr 16, 2024
322d43d
updated tracking to main
jhcooper Apr 16, 2024
85f8aee
Working Manual
jhcooper Apr 17, 2024
2b33ba2
added admin priveledges
jhcooper Apr 17, 2024
ce82951
fixed admin perms bugs
jhcooper Apr 17, 2024
14ae16e
Merge pull request #6 from UD-S24-CISC374/manual
jhcooper Apr 17, 2024
53dd281
changed manual position
jhcooper Apr 17, 2024
bdb37e2
level 3 without pinpad
alexmaneri Apr 17, 2024
3d68ee9
real lvl3 no pinpad
alexmaneri Apr 17, 2024
e2ced6b
lvl3
alexmaneri Apr 17, 2024
98e8cb5
lvl3 w/o pinpad
alexmaneri Apr 17, 2024
058bfcf
tmp padlock
alexmaneri Apr 17, 2024
a4c5b26
level3 bug fix
njlago Apr 17, 2024
2426f2e
level3 fixed cd..
njlago Apr 17, 2024
3320d69
wts
jhcooper Apr 17, 2024
ca795a0
cat intro
alexmaneri Apr 17, 2024
e277d45
cat intro?
alexmaneri Apr 17, 2024
80e2a68
fixed manual appearance
jhcooper Apr 17, 2024
c753a30
Merge pull request #7 from UD-S24-CISC374/manual
jhcooper Apr 17, 2024
5f29c34
glitch
alexmaneri Apr 17, 2024
2a6fd3f
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
alexmaneri Apr 17, 2024
e0689de
level 3 fix
njlago Apr 17, 2024
b25c7ca
arrows working
njlago Apr 17, 2024
d5ac1f3
arrows are better
njlago Apr 17, 2024
f2dddde
arrow functionality on all levels
njlago Apr 17, 2024
12aa678
tracker
jhcooper Apr 17, 2024
6887fff
colored dir_ and files_
njlago Apr 17, 2024
e13527c
text borders, and placeholder
njlago Apr 17, 2024
018339c
working lvl 3
alexmaneri Apr 17, 2024
9ca72d4
lvl 3 working
alexmaneri Apr 17, 2024
e1740f4
i just wanna rock
jhcooper Apr 18, 2024
6b4c50c
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
jhcooper Apr 18, 2024
e8de58f
added cutsceen once timer expires (level 1 only)
jhcooper Apr 18, 2024
580479d
added securty breach cutscene to all levels
jhcooper Apr 18, 2024
9527de5
Merge pull request #8 from UD-S24-CISC374/manual
jhcooper Apr 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
REPLACE THIS WITH A DESCRIPTION OF YOUR GAME (in the README.md file).
# Cyber Spy - Learn to Hack, Hack to Learn

Welcome to *Cyber Spy*, an educational puzzle adventure that immerses you in the thrilling world of cyber espionage while teaching you the fundamentals of bash commands and terminal navigation. Designed for incoming freshmen pursuing a computer science degree or anyone eager to master the command line, this game combines a compelling narrative with engaging gameplay to make learning an exhilarating experience.

## About Cyber Spy

In *Cyber Spy*, players step into the shoes of a hacker, accompanied by a trusty companion, Alfred, on a mission to dismantle a corrupt organization. Through a series of time-sensitive missions, players will navigate through a terminal interface, employing basic to advanced bash commands to infiltrate enemy facilities, gather intelligence, and thwart the organization's nefarious plans.

Inspired by the engaging puzzles of *Hacknet*, the adventurous spirit of *Super Mario World*, and the thrilling espionage of *Mission Impossible*, *Cyber Spy* offers a unique educational experience that teaches as it entertains.
Binary file added assets/.DS_Store
Binary file not shown.
Binary file added assets/AlfredDeathMusic.mp3
Binary file not shown.
Binary file added assets/AlfredIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/ClosedBook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/CyberSpyTitleScreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/HoveredBook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions assets/Level1Background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/LevelSelectBackground.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/OpenBook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/PinPadText.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/PromptBox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/SpyIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/Storyboard.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/alfred.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/arrow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/backwardsDoor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/bomb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/cdBackDing.mp3
Binary file not shown.
Binary file added assets/cdDing.mp3
Binary file not shown.
Binary file added assets/closed_metal_door.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/ding.mp3
Binary file not shown.
Binary file added assets/dude.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/dudes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/dudes1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/evil.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/fonts/JetBrains.ttf
Binary file not shown.
Binary file added assets/forest.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/img/phaser-logo.png
Binary file not shown.
Binary file added assets/lasdfsa.mp3
Binary file not shown.
Binary file added assets/lockedDoor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/lsDing.mp3
Binary file not shown.
Binary file added assets/manDing.mp3
Binary file not shown.
Binary file added assets/matrix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/menuMusic.mp3
Binary file not shown.
Binary file added assets/metalDoor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/num0.png
Binary file added assets/num1.png
Binary file added assets/num2.png
Binary file added assets/num3.png
Binary file added assets/num4.png
Binary file added assets/num5.png
Binary file added assets/num6.png
Binary file added assets/num7.png
Binary file added assets/num8.png
Binary file added assets/num9.png
Binary file added assets/open_metal_door.png
Binary file added assets/padCheck.png
Binary file added assets/padx.png
Binary file added assets/pin.png
Binary file added assets/platform.png
Binary file added assets/radar.gif
Binary file added assets/shield.png
Binary file added assets/sky.png
Binary file added assets/space.png
Binary file added assets/star.png
8 changes: 8 additions & 0 deletions assets/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
@font-face {
font-family: "jetbrains";
src: url("/assets/fonts/JetBrains.ttf") format("truetype");
}

body {
font-family: "jetbrains";
}
Binary file added assets/wallDoor.png
186 changes: 185 additions & 1 deletion docs/egdd.md
Original file line number Diff line number Diff line change
@@ -1 +1,185 @@
REPLACE THIS TEXT WITH YOUR EGDD MARKDOWN.
# Cyber Spy

## Elevator Pitch

Cyber Spy is an educational puzzle game with a dramatic storyline attached. Cyber Spy will introduce players to basic bash commands through a time based environment. The story follows a hacker, and his companion Alfred, through several missions to dethrone a corrupt organization. Players should be able to traverse through the terminal efficiently with the knowledge gained after completing this game.

## Influences (Brief)

- Super Mario World:
- Medium: Game
- Explanation: *We plan to mimic the style of super mario world and the pixel art. The movement in between levels will resemble the movement of a platformer like mario*
- Hacknet (https://en.wikipedia.org/wiki/Hacknet):
- Medium: Game
- Explanation: Much like our planned game, Hacknet is a hacking-based puzzle game in which the majority of gameplay comes in the form of typing commands in a Unix-like terminal. The main goal in Hacknet is to ‘hack’ into other computer systems, steal imaginary files, and acquire superuser privileges. It incorporates gameplay aspects like memory management (you can only run a certain amount of programs before you run out of memory) and a timer later on in the game to make doing so more difficult. We plan on taking inspiration from the terminal design, as well as aspects like the timer.
- Mission Impossible
- Medium: Movie
- Explanation: We plan on creating a mission based game where the user must break into a facility (directory) using terminal commands. There will also be a time constraint. There will also be a butler/narrator character, much like the tech team in Mission impossible, that will guide you through your mission, providing hints and instructions as needed.

## Core Gameplay Mechanics (Brief)

- Typing commands into terminal to perform actions
- 2D Navigation Throughout the facility
- Item Collection within your inventory
- Display success screen after completing a mission
- Display defeat screen after failing a mission

# Learning Aspects

## Learning Domains

Introduction Systems Programming
Machine Organization and Assembly Language
Introduction to Software Engineering

## Target Audiences

Incoming freshmen in college pursuing a computer science degree. Specifically students learning how to use bash commands.

## Target Contexts

This could be used as an introductory assignment for CISC210. Students looking to practice their skills in the terminal can also play this game in their free time.

## Learning Objectives

After playing Cyber Spy, students should be able to traverse the terminal using the command line efficiently.

- By the end of the game, students should be able to access files using terminal commands
- By the end of the game, students should be able to modify the contents a file using basic nano commands
- By the end of the game, students should be able to navigate through different directories
- By the end of the game, students should be able to move/remove files across different directories using terminal commands.
- By the end of the game, students should be able to create and write to new directories and files.

## Prerequisite Knowledge

- Players should know how to type a minimum of 30 wpm
- Players should know that commands can cause their computer to perform actions

## Assessment Measures

A short pre-test, and matching post-test.

Given a directory name, utilize bash commands to access it.
Given a file name, utilize bash commands to delete it.
Given a file and directory name, utilize bash commands to move it to another given directory.

# What sets this project apart?

- Most coding assessments that introduce students to the terminal don't intend to be entertaining, but our game will have fun graphics, an engaging story, and thrilling gameplay.
- The game will be educational yet still have aspects of a fun video game integrated seamlessly into it.

# Player Interaction Patterns and Modes

## Player Interaction Pattern

This is a single player game. The player will interact with the via typing keyboard inputs, moving with arrows, and clicking on menu buttons when needed.

## Player Modes

- Single-player: You repeatedly complete missions to advance through the story.

# Gameplay Objectives

- Reach the end of the mission:
- Description: Do what the prompt at the top of the screen requests
- Alignment: This aligns with our learning objective because it forces players to hone the skills they've learned and will help them memorize commands after repeated use.
- Complete all missions to finish the game:
- Description: Traverse through each mission by accomplishing their respective goals
- Alignment: Each mission will establish a new topic for the player to learn. Each topic will build upon each other, and by the end players will know what each command does and when to use them.

# Procedures/Actions

You can type when a command line is shown, and enter these commands. In between missions you can move around using arrow keys, and press a button to start mission.

# Rules

- If the player enters an invalid command, they will get an error and hint
- If the player enters a valid command, it will work and they will advance through the current mission
- They will have a toolset of commands available to them to reference and utilize
- The list of commands that they will learn through the missions are as follows:
ls
cd
rm
touch
cat
mv
cp

# Objects/Entities

- There is a text input for users to type into
- There is a command line that user input is displayed when entered
- There is a prompt
- There is a main character to control in between missions
- There is a companion character that will speak to you during missions
- There is a timer during missions

## Core Gameplay Mechanics (Detailed)

- Typing commands into your “terminal”*: *The majority of game interaction will take place by the player typing commands into their terminal. Assuming the user types the correct command sequence, they will be moved to their next task. The player will initially start with a limited number of basic commands such as ‘ls’, then as they progress further, unlock new commands through their companion. E.g., “use ‘cd’ to access a new directory, or in this case your backpack, with ‘cd backpack’”.
- Picking up tools*: *A large part of the education in Cyber Spy will take place because of an increase in difficulty as a player progresses through levels. This increase will be due to the player picking up tools along the way in the form of new commands. Some of these commands will be highlighted/vibrating in levels for the player to collect, while others will be transferred directly to the players backpack via their companion. It is then up to the player to decide when the right time to use a given tool is.
- Navigation through 2D levels*: *The high-level goal of this game is to navigate your player sprite through several rooms of an advanced technology facility and destroy the internal corruption taking place there. You will navigate your player using terminal commands, and with the help of your companion to explain what new tools do as you collect them.


## Feedback

If a command is wrong, your companion will tell you it is wrong and give you a hint in the right direction. Text on the screen shows if a command worked or did not work.

# Story and Gameplay

## Presentation of Rules

Players have a virtual assistant like Alfred is to Batman. Alfred will introduce your mission, tasks, and give you your tools (ls, cd, touch, etc.) as they become needed.

## Presentation of Content

Players will slowly be given tools as mentioned before, and expected to use them at least one time before being given a different tool by alfred, e.g. Alfred: “You’re gonna need a wrench to break that glass. Use 'ls' to view your backpack items, including the wrench I just gave you.”

## Story (Brief)

Our story will follow a hacker and his trusty companion through a series of missions to dethrone a corrupt organization. They will do this using a variety of commands to access the opposition's files, and take down their servers. All while attempting to be stealthy and quick enough to finish these missions before the time runs out. Will your coding abilities be able to save the world? Or will you fold under pressure? Who can be trusted? Cyber Spy will answer all of your questions.

## Storyboarding
![alttext](../assets/Storyboard.jpg)

# Assets Needed

## Aethestics

This game should feel high pressure, but rewarding. It should encourage players to code fast and also avoid mistakes. The aesthetics of the game will be dark, dramatic, and retro.

## Graphical

- Characters List
- Agent User
- Companion (Woz/Alfred)
- Textures:
- Level entrances
- Environment Art/Textures:
- Coding background
- Level select background
- Unique backgrounds for special directories


## Audio

- Music List (Ambient sound)
- General gameplay: 8 bit, eerie stealth music like the music from Batman Begins GBA: https://www.youtube.com/watch?v=MIppc7zfqis&list=PLO4jlmGoc6uAy9S9J3SPXv-UrHBm9Bgz9&index=2
- General gameplay: 8 bit, action music like the music from Batman Begins GBA:
https://www.youtube.com/watch?v=Px-bsXoXdhc&list=PLO4jlmGoc6uAy9S9J3SPXv-UrHBm9Bgz9&index=1

*Game Interactions are things that trigger SFX, like character movement, hitting a spiky enemy, collecting a coin.*

- Sound List (SFX)
- Entering a line of code: pleasant ping noise found online
- Typing sounds: recorded by us or found on YouTube
- Error: Buzz/dud sound
- Dialogue: digital noises made to queue while speaking occurs, but all dialogue will be text written on the screen


# Metadata

* Template created by Austin Cory Bart <[email protected]>, Mark Sheriff, Alec Markarian, and Benjamin Stanley.
* Version 0.0.3


Loading