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 a challenge closley related to the story and git concepts. Hints and tips will be obtained by discovering them in various levels, and interacting with NPCs.
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.
- Collect logs
- Spike respawn
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.
- Have heard some vocabulary around version control
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.
- Spike respawn: Colliding with a spike or enemy will make you respawn at set checkpoints.
- NPC interaction: NPCs will stop you and give important information.
Feedback
- Sound when completing or failing terminal
- 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
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
Created: May 17, 2024 11:17:04