Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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 <acbart@udel.edu>, Mark Sheriff, Alec Markarian, and Benjamin Stanley.
* Version 0.0.3

Binary file added assets/Art/background_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/background_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/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/cave_floor_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/cave_floor_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/decorations_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/decorations_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/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/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/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