Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
3d9ffb0
Update README.md (DRAFT)
westa3 Mar 21, 2024
81638dc
Update egdd.md
westa3 Mar 21, 2024
f6ae503
folders and files
zreggio Mar 21, 2024
004bdd6
Add files via upload
westa3 Mar 21, 2024
df63f4e
Update egdd.md (almost final)
westa3 Mar 21, 2024
1d6d73c
Update egdd.md (fixed storyboard not showing up)
westa3 Mar 21, 2024
47879eb
Update README.md (same as egdd)
westa3 Mar 21, 2024
c87a7fc
adding some texture files for game art demo
zreggio Mar 21, 2024
6a701de
Merge branch 'main' of https://github.com/UD-S24-CISC374/final-projec…
zreggio Mar 21, 2024
5b709bd
Update README.md
westa3 Mar 21, 2024
14b62fc
Update egdd.md (final)
westa3 Mar 21, 2024
f33acb2
Added pre alpha start, options and play buttons but they don't change…
westa3 Apr 3, 2024
b52d9b0
Added options, pause, start and level select functionality (scenes, b…
westa3 Apr 4, 2024
37a096b
Implemented rexUI, Created basic textbox, Created terminal scene with…
smoshy314 Apr 4, 2024
3659d91
pre-alpha platformer scene
zreggio Apr 4, 2024
f02a8c4
Merge branch 'main' into Ava-Screens
zreggio Apr 4, 2024
4a5b6de
Merge pull request #8 from UD-S24-CISC374/Ava-Screens
zreggio Apr 4, 2024
f348a32
Added editable text functionality just proof of concept
smoshy314 Apr 4, 2024
49d2b73
added level1 to main menu scene
zreggio Apr 4, 2024
83291e3
Merge branch 'main' into preA-terminal
smoshy314 Apr 4, 2024
631fb49
Merge pull request #9 from UD-S24-CISC374/preA-terminal
smoshy314 Apr 4, 2024
15ffc63
fixed duplicate update
smoshy314 Apr 4, 2024
985c841
Fixed silly merge erros
smoshy314 Apr 4, 2024
b636313
Added transition to terminal screen at end of level
smoshy314 Apr 4, 2024
5979535
Added button functionality to the terminal and sends events to level
smoshy314 Apr 11, 2024
55da4ce
Merge pull request #10 from UD-S24-CISC374/deeper_terminal
smoshy314 Apr 11, 2024
556b4c5
added planets as levels and space background for level scene
westa3 Apr 11, 2024
1a8d956
Merge conflicts with terminal button changes
westa3 Apr 11, 2024
3e53607
added the rest of the buttons
smoshy314 Apr 11, 2024
e50664e
Merge pull request #11 from UD-S24-CISC374/deeper_terminal
smoshy314 Apr 11, 2024
c11b662
Terminal png added, changed how terminal is launched, terminal screen…
westa3 Apr 11, 2024
04624ef
Merge conflicts with rest of terminal buttons
westa3 Apr 11, 2024
f371425
Merge pull request #12 from UD-S24-CISC374/Ava-Alpha
smoshy314 Apr 11, 2024
efe4865
added respawn capability
smoshy314 Apr 11, 2024
601f72b
fixed terminal scene staying after respawn
smoshy314 Apr 11, 2024
2a2b1d1
Merge pull request #13 from UD-S24-CISC374/Options-Josh
smoshy314 Apr 11, 2024
35f32f7
Merge pull request #14 from UD-S24-CISC374/Options-Josh
smoshy314 Apr 11, 2024
73d1c1c
Got basic logic for clicking the right terminal buttons per level down
westa3 Apr 11, 2024
479fdd4
handles when buttons are pressed currectly
westa3 Apr 11, 2024
9049a5a
Terminal stops after clicking 3 buttons and send correctness to a var…
westa3 Apr 11, 2024
cd54e38
Merge pull request #15 from UD-S24-CISC374/Ava-Alpha
westa3 Apr 11, 2024
40b888b
simplified event logic
smoshy314 Apr 12, 2024
e466b9c
initial push for working terminal
zreggio Apr 12, 2024
b544aa6
replaced assets, added music
zreggio Apr 12, 2024
f34e485
added npcs and basic dialogue, other basic fixes
zreggio Apr 12, 2024
275a547
Fixed bug that was launching termnial Scenes as you stood on terminal…
smoshy314 Apr 13, 2024
f3c8cd6
converted all buttons to objects. center aligned text
smoshy314 Apr 13, 2024
ff7d847
Can now generate all buttons with an array of names
smoshy314 Apr 13, 2024
73dc8b2
Added a LevelClass That Extends Phaser.Scene and has a termnial array
smoshy314 Apr 13, 2024
99e67c0
Made it so you can add a custom feedback function for each set of ter…
smoshy314 Apr 13, 2024
52ab0e9
TerminalScene OBSOLETE, terminal buttons will now be part of the scen…
smoshy314 Apr 13, 2024
36c52d5
Added a proof of concept feedback function
smoshy314 Apr 13, 2024
f02c91f
Merge pull request #16 from UD-S24-CISC374/abstract_everything
smoshy314 Apr 13, 2024
3b4bf8e
made a test scene (currently found by hitting back on level select) w…
zreggio Apr 15, 2024
021f71a
fixed level scene, added test scene button, added function to show pl…
zreggio Apr 15, 2024
19120e9
Merge pull request #17 from UD-S24-CISC374/zach-branch
zreggio Apr 15, 2024
1138fae
modualarize platforms
smoshy314 Apr 16, 2024
f04fba3
Merge pull request #18 from UD-S24-CISC374/abstract_everything
smoshy314 Apr 16, 2024
d3b5336
some cleanup
zreggio Apr 18, 2024
e44a599
Merge branch 'main' into zach-branch
zreggio Apr 18, 2024
e927a31
added new art/functions to test scene
zreggio Apr 18, 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
201 changes: 200 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,200 @@
REPLACE THIS WITH A DESCRIPTION OF YOUR GAME (in the README.md file).
# Git Cat

## Elevator Pitch

In the game there will be checkpoints placed within the platformer levels (similar to mario) that act as respawn/progress checkpoints. To unlock these checkpoints, the player must enter a terminal. Inside this terminal there will be three options; a minigame, a problem/learning objective and hints/tips. These hints and tips will be obtained by discovering them in various levels, interacting with NPCs or completing the Among Us style minigames.


## Influences (Brief)

- “Wall-E”
- Medium: Movie
- Explanation: World-building and story
- “Among Us”
- Medium: Game
- Explanation: Mechanics mainly focused around “mini games” within a grander game
- “Risk of Rain 2”
- Medium: Game
- Explanation: Music/soundtrack from the game
- “Mario (platformers)”
- Medium: Game
- Explanation: Gameplay (progression) style

## Core Gameplay Mechanics (Brief)

- Basic Platformer Movement Mechanics
- Git terminal
- Button’s to input commands initially
- Typing to insert commands at later levels.
- Among Us Style Mini Games. Drag matches together. Flick switches by clicking.
- Collect coins
- Spike respawn
- Enemy interaction, projectiles, jump on to damage.

# Learning Aspects

## Learning Domains

* Git knowledge
*Interacting with a git repo
*Using the console
*Learning commands
*Solving merge conflicts

## Target Audiences

* Beginner programmers
* Freshman in college or in AP programming courses (beyond 8th grade)

## Target Contexts

* The most likely use for this game is in an informal setting. A professor might recommend it as an external resource to get used to the git commands and using github without having the stress of an assignment.
* This game would not be suitable for a formal in class setting due to its use of audio and the time it might take to learn the content.

## Learning Objectives

- Git Commands: By the end of instruction students will be able to identify the proper situations to use git commands and execute them.
- GitHub Structure: By the end of instruction students will be able to explain how github repositories are structured and where the code is held.
- Git Errors: By the end of instruction students will be able to select the proper solutions to a github error.

## Prerequisite Knowledge

- Very basic programming knowledge (if, for, types)
- Know what github is. Don't have to know much about it.

## Assessment Measures

* Pre/Post Test
* Multiple-Choice Questions like: How would you handle this git error?
* What does this command do? etc.

# What sets this project apart?

- The game will be adaptable to the learning needs of the player
- The game will have a heavy narrative/set and setting that will not only drive the plot, but also the players interest and engagement
- Our approach to designing a platformer game will include ideas from a variety of other platformer titles such as difficulty through movement, time constraints, enemy types, etc…

# Player Interaction Patterns and Modes

## Player Interaction Pattern

Players will interact with the game in a solo setting as the game is intended to be played single player. There will be 3 distinct game modes with possible variation added in the future. These modes include the platformer mode, learning/terminal mode and minigame mode. The game will be played primarily using a mouse and keyboard with players using the keyboard to control player movement and their mouse to navigate through the UI elements of the game.

## Player Modes

- Main Menu: The player, when starting the game, will be greeted with a main menu giving them an option to play the game where they left off (continue), level select, options and help/tutorial
- Narrative: In between levels and UI menus, there will be a series of cutscenes that convey a story. Levels are locked until the prior level is completed (linear structure)
- Platformer: The main gameplay/level design will follow classic platformer structure
- Terminal: The terminal or checkpoints that are placed throughout the level are interactable and will contain the

# Gameplay Objectives

- Complete all Platformer Levels
- Description: Make it through the platformer levels and collect as many coins as possible.
- Alignment: Along the way will gain information on git commands or various errors as they progress.
- Complete Git Terminal. Bosses:
- Description: Given a particular git situation and have to find the solution
- Alignment: Assesses and refreshes the memory of knowledge gained throughout the platformer. Can use logs to help recall.

# Procedures/Actions

* You can walk and collect by colliding
* Interact with certain elements with e for example to pick up a log
* Typing in the terminal to solve issues

# Rules

* If the player reaches a certain point in the platformer they will get tips about git
* When the player collects coins they will know they’re on the right path
* When found logs will be given that give knowledge that can be used to fight the terminal boss. (These can be accessed at any time)
* If the player tries too many times and gets the wrong answer a hint will be given via relevant log.
* Over time the terminal bosses will range from:
* Easier where the git command is already on the screen (either in buttons or in tiles that need to be connected) and all the player has to do is select the proper order.
* Players need to type their own commands into the terminal.

# Objects/Entities

* There’s the main character who’s a small space cat
* There’s a couple other cats of similar style to the main character cat (differing in colors) that will act as NPCs. Some will have space outfits similar to the main characters and others will have outfits matching their planet/situation
* There’s blocks of broken up git commands in the terminal interface
* There’s various different enemies
* Platforms that will be collided with
* Coin counter
* A spaceship that the main character lands with
* A terminal that the main character interacts with (to be found while platforming)

## Core Gameplay Mechanics (Detailed)

- Basic Platformer Movement Mechanics: Wasd or arrow keys for movement. Space for jump. E to interact
- Git terminal: Navigate UI with mouse. Button’s to input commands initially. Typing to insert commands at later levels.
- Among Us Style Mini Games: Click and drag matches together. Flick switches by clicking.
- Collect coins: Walking over coins with wasd
- Spike respawn: Colliding with a spike or enemy will make you respawn at set checkpoints.
- Enemy interaction: Projectiles either fired by you or the enemies or both, Jump on or hit enemies with projectiles to damage.

## Feedback

* Sound when collecting coins
* Sound when finding a log
* Sound when reaching key checkpoints.
* Visual feedback when “winning a level”

* As they progress levels will unlock and that will show progression
* Negative feedback via sound or visual when getting something incorrect

# Story and Gameplay

## Presentation of Rules

The player will learn the core gameplay mechanics during the tutorial at the beginning of the game. It will teach them how to move (with which buttons) and how to jump. It will also show them that spikes or other enemies are dangerous to the player. There won’t be big walls of text and instead the player is expected to fail as many times as needed before understanding the mechanics of the game.

For the terminal mechanics there will be a hint system. In the terminal there will be an option to open “Logs” of past space cats who were having trouble navigating the terminal. In the Logs will be hints as to how the player can proceed and what the player should do.

## Presentation of Content

The player will learn the core material of Git through their interaction with NPCs, Logs and mini games. If the player chooses to interact with NPCs they will receive Git hints and clues relating to the upcoming Git “test” in that level. In each level there will also be mini games that will teach them how to connect, order and write Git commands. These mini games will be accessed through the same object that the player will interact with to get to the terminal. The “final” terminal screen features a coding assessment-style game that will test them on their new Git knowledge from the mini games, NPC dialogue and Logs. The Logs are accessed through the same object that is interacted with to get to the mini games and terminal. If the player decides they want help or need more Git information, they will be able to click on “Logs” and see previous cat messages pertaining to how they tackled the issue or what a command means.

## Story (Brief)

TLDR: Many cats are working together to face the enemy. You play as different characters on different levels and your goal is to collect clues that aid in completing your final task within the terminal.

## Storyboarding

![alt text](https://github.com/UD-S24-CISC374/final-project-magenta/blob/df63f4e046fcd08c05c41fde732cf85ab6ba25de/docs/Git%20Cat%20storyboard.png)

# Assets Needed

## Aesthetics

The primary aesthetic of the game will be “space/futuristic” including different planets, synth driven music and sound design and tying that all together through the narrative which fundamentally is a “space exploration game” where the player unlocks and travels to new planets (levels). Cave systems, secret areas or other similar ideas have been discussed and may slightly deviate from this aesthetic however not to the point where it feels like it doesn't fit, rather to throw some variety into the mix.

## Graphical

Link for all assets:
- Characters List
- Git: main character (player)
- Claw: antagonist
- Textures: https://github.com/UD-S24-CISC374/final-project-magenta/tree/main/assets/Art
- Environment Art/Textures :https://github.com/UD-S24-CISC374/final-project-magenta/tree/main/assets/Art

## Audio

- Music List (Ambient sound)
- https://github.com/UD-S24-CISC374/final-project-magenta/tree/main/assets/Sound
- all music/ambient sounds can be found inside this github repo link
- music and ambient noise is meant to feel spacy, futuristic, calming / increased tempo depending on in-game events. The player may be in space and the background music will contain synths and try to match that set/setting, on a planet, the music will change to reflect that environment more.
- inspiration for some of the music created: https://www.youtube.com/watch?v=EGXPAoyP_cg&list=PLLDf8Bnp1K1JPWia6_x8-1K2sVmXGYvJD&index=15

- Sound List (SFX)
- Item Collection:
- https://www.youtube.com/watch?v=TCD77mH0lYs
- https://www.youtube.com/watch?v=88Icb7OKexU
- UI interaction:
-https://www.youtube.com/watch?v=OOOm7jZicEg
-https://www.youtube.com/watch?v=V8JaLTqUx60

# Metadata

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

Binary file added assets/Art/CommTerminal.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/Art/background-1-level1.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/Art/background-2-level1.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/Art/blue_plat_1.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/Art/brown_plat_1.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/Art/buttons.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/Art/cat_1.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/Art/level_1_bg.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/Art/mars-tileset-1.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/Art/mars_plat_1.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/Art/npc_1.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/Art/npc_2.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/Art/npc_3.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/Art/planet-1.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/Art/planet-4.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/Art/red_plat_1.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/Art/space_bg.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/Art/spikes.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/Art/spikes_hor.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/Art/spikes_vert.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/Art/star.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/Sound/gitcat_chill_demo.mp3
Binary file not shown.
Binary file added assets/Sound/gitcat_chill_demo2.mp3
Binary file not shown.
Binary file added docs/Git Cat storyboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading