Skip to content

HuskyGameDev/2018-team3

Repository files navigation

Temple of the Sun

Revision 1.0.0 By TEAM HIGHGROUND

Last Updated: 09/23/2018

This GDD is adapted from the GDD Template written by: Benjamin “HeadClot” Stanley and Alec Markarian found here.

Overview

Theme / Setting / Genre

  • Exploration & Treasure Hunting / Aztec-style world / 3D Platformer

Core Gameplay Mechanics (Brief)

  • Player has the ability to walk (default speed)
  • Player has the ability to dash (faster than walking)
    • The dash ability does not timeout; i.e. no stamina.
  • Player has the ability to single jump
  • Player can pick-up coins distributed throughout levels by passing through the coin
  • Basic "pick-up-and-throw" mechanic that can be reused to complete puzzles, attack, placing treasure in inventory, etc.
  • Heart mechanic / 1UP mechanic - see the Core Gameplay Mechanics (Detailed) section for more info

Targeted platforms

  • Windows 10 Desktop OS only.
  • A standard Xbox 360-type controller will be required to play.

Monetization model (Brief/Document)

  • We are currently not planning on monetizing our game.

Project Scope

  • The project will span 2 semesters at MTU (8 months)
  • High Level Project Time Planning
    • Semester 1
      • Sprint 1: Develop character physics / create level 1
      • Sprint 2: Continue developing physics and begin testing in first level
      • Sprint 3: Refine character physics based on testing with level 1
    • Semester 2
      • Develop more levels/Debugging
      • Polishing
  • 5-Member Team + Ancillary Sound Team
    • Core Programming Team
      • Evan Overweg
        • Team Leader
        • Scrum Master
        • Programming
        • Level Design
      • Riley Mulford
        • Implement world/character mechanics
        • Programming
      • Abri Ingrassia
        • Art
        • Modeling
      • Michael Spoehr
        • Programming
        • Level Design
        • Maintainer of this GDD
      • Christian Clemmons
        • Programming
        • Level Design
    • Sound Team
  • Software and Tools
    • Unity Personal Edition (free)
    • GitHub (for both SCM and Issue/Project management)
    • Slack (for team communication)

Influences (Brief)

  • Super Mario 64
    • Nintendo 64 Game, released in June 1996
    • This was the 3D platformer that defined the genre. For the time, the game was innovative and helped set the foundation for 3D platformers by showing how to run and jump in a 3D space while still completing objectives but with simplistic controls and a bare story. We will be using the core mechanics of Mario, running and jumping.
  • Conker’s Bad Fur Day
    • Nintendo 64 Game, released in March 2001
    • This was a 3D platformer that followed the traditional collect-a-thon formula but add adult humor and graphic violence to the game. This showed that 3D platformers should have their own identity when following the standards of a 3D collect-a-thon platformer. We are creating a story with humorous elements.
  • Banjo Kazooie
    • Nintendo 64 Game, released in 1998
    • This game introduced a zany and lovable mascot that people still remember to this day. It was a wacky platformer that showed memorable characters and solid gameplay for the 3D platformer genre. We are going to create a wacky character to star in our platformer.
  • Donkey Kong 64
    • Nintendo 64 Game, released in 1999
    • We are going to create a wacky character to star in our platformer.
  • Yooka-Laylee
    • PC Game, released in April 2017
    • We are going to create a wacky character to star in our platformer.
  • Celeste
    • All modern Consoles/OS’s, released January 2018
    • We are basing the level design off of Celeste, each level will have its own unique feel.
  • 1001 Spikes
    • PC Game, released in June 2014
    • We will be using some of the art styles from this game as inspiration, particularly the Aztec/jungle themes. We will also be drawing inspiration from the storyline, as a character is searching for something through the jungle.

The Elevator Pitch

Temple of the Sun is a 3D platformer, styled similarly to games of the N64 era, where the main character is adventuring through the Aztec jungle in search of hidden treasure, all the while being challenged by his rival.

Project Description (Brief)

The goal of this project is to create a throwback 3D platformer reminiscent of classic 3D platformers from the N64 era. The game’s main protagonist will be a Tiger named Reggie who is an explorer, seeking lost treasures in the Temple of the Sun. The game’s main antagonist will be a Fox named Foxtail, who rivals Reggie and attempts to find the treasure before him. We aim to keep the game lighthearted and fun, making the player laugh at times and leaving them feeling refreshed. Additionally, we aim to keep the gameplay mechanics intentionally simple so that the game is easy to pick up and play.

Our game will be developed using an Agile software development approach, namely Scrum. The game will be developed by a team of five, with Evan Overweg acting as Team Leader and Scrum Master. It is to be completed within 2 Semesters at MTU, or approximately 8 months. We aim to have Level 1 of the game, all of the character mechanics (not necessarily with animations), coins/hearts/1UP mechanics, a subset of all sounds, and a rudimentary menu system implemented by the end of Semester 1. The is what we define to be the Temple of the Sun MVP. Later levels, additional sounds, animations, and refinements will be completed in Semester 2.

Project Description (Detailed)

The goal of this project is to create a throwback 3D platformer reminiscent of classic 3D platformers from the N64 era. 3D platformers formed the backbone of games in the N64 and Playstation 1 era. Sadly, this genre of games has very little representation in the modern era, with only Nintendo consistently releasing top-tier 3D platformers. With our game, we hope to bring back the classic 3D platformer style that gamers enjoyed in the 90s. Each of our team members have distinct nostalgic memories of playing many of the classic 3D platformers as a kid. we hope to utilize our love of classic games like Super Mario 64 and Banjo Kazooie to bring an authentic experience to our customers.

The games main protagonist is a tiger named Reggie who is an explorer, seeking lost treasures in the Temple of the Sun. Reggie shares many of the same values as our intended audience for the game; someone who loves adventuring, discovering new things, and exploring. Reggie has a rival named Foxtail who is also an adventurer. Foxtail will stop at nothing to claim the treasures of The Temple of the Sun for himself.

We are aiming to keep the game lighthearted and fun, with colorful visuals and cheery, upbeat music. We want our player to feel joyous from playing our game. We want our game to evoke nostalgia in our audience who grew up in the N64 / Playstation 1 era, but also be a fun, new experience for the younger generation. The world will be relatively well lit incentivising exploration. We hope to evoke the feelings felt by gamers when they first starting playing classic 3D games.

Our game will be developed using an Agile software development approach, namely Scrum. The game will be developed by a team of five, with Evan Overweg acting as Team Leader and Scrum Master as well as programmer. Riley Mulford, Michael Spoehr and Christian Clemmons will be programmers and Abri Ingrassia will handle the artwork and 3D models. It is to be completed within 2 Semesters at MTU, or approximately 8 months. We aim to have Level 1 of the game, all of the character mechanics (not necessarily with animations), coins/hearts/1UP mechanics, a subset of all sounds, and a rudimentary menu system implemented by the end of Semester 1. The is what we define to be the Temple of the Sun MVP. Later levels, additional sounds, animations, and refinements will be completed in Semester 2.

Our team consists of several new members that are completely new to game development, so we are proceeding cautiously with our planning. We have implemented a contingency plan to account for the situation that we fall behind in implementation. New members are expected to get up to speed in Unity relatively quickly in the first semester, using the first sprint to learn the essentials.

We will be using GitHub as a source code manager, as well as a place to keep all issues/tasks. The taskboard will be the goto source of todo items and planning for the sprint. Additionally, the team will use Slack to communicate. Tentatively, we plan on having 4 hour workjams either Sunday afternoons or Saturday mornings as we see fit.

What sets this project apart?

  • Simple mechanics, no overcomplicated tutorials, etc.
  • We want the levels to speak for themselves, and be fun and entertaining because the level design was done thoughtfully.
  • High quality love letter to classic N64 3D platformer enthusiasts
  • A "fresh" take on classic games that are played decades later
  • A fun and lighthearted game that can make the player laugh

Core Gameplay Mechanics (Detailed)

  • Jump
    • The player can jump to overcome obstacles.
    • The player will be able to jump from platform to platform which will be essential to completing each level.
    • The player will be able to jump a fixed height and cannot jump again until landing.
    • The player will be able to slightly control their movement in the air.
  • Walk/Run
    • The player will be able to walk or run throughout levels
    • The default speed is a walk but if the player holds down the run button they will break into a run allowing them to go faster.
    • There is no stamina mechanic. Running can be held indefinitely.
    • Running at all times (opposed to walking) is not advised. In order to enforce this in levels, we may take one of these strategies:
      • Running in certain areas causes damage to the player due to the environment
      • Running alerts enemies to the presence of the player
      • This is not included in the Semester 1 plan, and will be implemented in Semester 2.
  • Pick up items
    • Player will be able to pick up items distributed throughout the levels.
    • The player collects items by either running, jumping, or walking through the item.
  • Throw
    • Player can throw items previously collected to solve puzzles, attack, etc.
    • By pressing “throw” button, player will toss item forward at target.
    • There is no concept of "choosing what to throw", the last item picked up that is able to be thrown will be thrown.
      • Coins and Hearts are not able to be thrown.
      • A rock is an example of an item that can be thrown.
  • Coins / Points
    • The player will gain points by picking up coins, beating the level quickly, and not dying.
    • Coins only influence the points earned at the end of a level and allow the player to obtain 1UPs. They have no other purpose, keeping the game mechanics simple and straightforward for the player.
  • Hearts / 1UPS
    • The player begins with 3 hearts. Each source of damage results in the reduction of 1 heart.
    • If the player runs out of hearts, they die. This results in the loss of a single 1UP and the restoration of all 3 hearts. If the player runs out of 1UPs, the game is over.
    • The player starts with 4 1UPs, but they can be obtained by collecting 100 coins. 1UPs are automatically awarded based on the coins collected at the end of a level.
    • Additional Hearts may be spread throughout levels and when passed through, will fill a single missing heart for the player. If the player already has 3 hearts, passing through the heart does not consume it and takes no action.

Story and Gameplay

Story (Brief)

Reggie (Tiger) goes to the temple in search of hidden treasure. Rival Foxtail (Fox) tries to stop him.

Story (Detailed)

Ever since Reggie was a child, he has had a desire to go on adventures. The young tiger would spare no one the privilege of hearing his dreams of travel and finding countless treasures, including his all-but-equal Foxtail. As Reggie’s dreams grew larger, Foxtail became angry and swore an oath to prevent Reggie from ever fulfilling his dreams. In fact, Foxtail works night and day to not only stop Reggie from finding the secrets locked away in forgotten chambers, but secure the riches for himself. After years of searching, Reggie has finally secured the location of the infamous Temple of the Sun - known to house the greatest score any adventurer could dream of. In a race against time, Reggie must survive the trials The Temple has in store from him and find the hidden treasures before his rival Foxtail.

Story Breakdown per Level

  • Level 1
    • Having just set off, Reggie must fight his way through the jungle to get to the Temple.
    • Reggie learns that Foxtail has been monitoring his progress
    • The level ends with Reggie finding the Temple.
  • Level 2, etc.
    • Further levels are not within the scope of the Semester 1 plan and will be implemented in Semester 2.
    • The last level will end with Reggie beating Foxtail in a duel and scoring the hidden treasure in the Temple.

Gameplay (Brief)

The player will run, jump and fight their way through numerous levels. The player can pick up coins which add points to their score. They can pick up various objects and throw them or set them down, allowing for a single mechanic to interact with puzzles, attack, place treasure in inventory, etc. The game uses a basic 3-heart with 1UP system for player lives.

Gameplay (Detailed)

The core gameplay for Temple of the Sun revolves around the player running and jumping through each level to get to the end of the level. Running can be held an indefinite amount of time without stopping; i.e. there is no stamina mechanic. There will be obstacles to impede the player’s progress: spike pits, flame traps, boulder traps, arrow traps, temple guardians, bottomless pits, trap doors, etc. Each damage source will deal 1 heart of damage (out of three total). The player can pick up hearts spread throughout levels to recover lost hearts. If the player takes three sources of damage (3 hearts) without restoring them, they will die, resulting in the reduction of a single 1UP. If the player runs out of 1UPs, the game is over.

Coins will also be spread throughout the level. They serve two purposes: additional points added to the score at the end of the level, and obtaining additional 1UPs. After successful completion of a level, the player will receive a 1UP for every 100 coins they have collected.

The player will be also scored at the end of each level. Points are awarded for picking up coins, finding collectibles, and are taken away for losing hearts or dying in a level. There is also potential for awarding points for unusual achievements (like taking exactly 343 seconds to finish a level, or opening all doors by throwing a barrel at them). However, this will be implemented in Semester 2.

The pick-up-and-throw mechanic is the only non-movement mechanic in the game. Players can pick up hearts and coins by passing through them. These items cannot be thrown, as they have other uses. The player can pass through rocks to pick them up, and these can be thrown forward by pressing the throw button.

Assets Needed

2D

  • Textures
    • Jungle
    • Temple
    • Bricks
    • Heart display (full and empty hearts)
    • Coins
  • Heightmap data
    • If used, its going to be smoothed random data to make the terrain interesting. This item is still TBD.

3D

  • Characters List
    • Reggie (Protagonist)
      • A tiger
    • Foxtail (Antagonist)
      • A fox
  • Environmental Art Lists
    • Jungle
      • Trees (a few varieties)
      • Bushes (a few varieties)
      • Rocks (a few varieties)
      • Vines
      • Swamps
      • River
      • Wood (for bridges)
    • Temple (these are largely for levels to be designed in Semester 2, but we would like to have some of these assets ahead of time.)
      • Torches
      • Pitfalls
      • Boulders
      • Walls, floor
      • Bricks
    • Other
      • Coins
      • Hearts

Sound

  • Sound List (Ambient)
    • Outside
      • Level 1 - Sounds of a jungle
        • Birds
        • Insects buzzing
        • Wind
        • Sticks snapping
      • Level 2 - further levels have yet to be designed. This will be done in Semester 2.
    • Inside
      • Level 1 - none required.
      • Level 2 - further levels have yet to be designed. This will be done in Semester 2.
  • Sound List (Player)
    • Character Movement Sound List
      • Jumping causes a crunch noise when lifting off the ground
      • Jumping causes a thud noise when landing
      • Picking up throwable objects sound
      • Throwing sound
      • Footsteps
        • should be relatively quiet, considering player is a feline. Recommendations: light crunching of leaves?
        • Footsteps are louder when running (same asset, but played louder and more frequently)
        • We plan on this changing depending on the environment/level, but this is not in the scope of the Semester 1 plan.
    • Character Hit / Collision Sound list
      • Generic hurt sound
      • Reggie will make one of a set of different expressions; i.e. “Ouch!", "That hurt!", etc.
        • This item is not part of the MVP, and is not included in the Semester 1 plan.
    • Character on Injured / Death sound list
      • Generic death sound
      • Foxtail may make one of a set of different taunts; i.e. "Ha ha ha!", "I knew you wouldn't beat me!", etc.
        • This item is not part of the MVP, and is not included in the Semester 1 plan.
    • Item Pick-Up Sound List
      • Coin picked up
      • Heart picked up
      • 100x Coins collected (notify sound)
  • Sound List (Other)
    • Level completed sound effect
    • Game over sound effect (running out of 1UPs)
    • Menu button press sound
      • This item is not part of the MVP, and is not included in the Semester 1 plan.
    • Menu navigate sound
      • This item is not part of the MVP, and is not included in the Semester 1 plan.
    • We would like the game to have background music. The specifics of this requirement will be discussed with the Sound Team before the end of Sprint 1.

Code

  • PlayerController: Handles user interactions with player
  • CameraController: Handles the in-game camera view

NPC Scripts

  • Limited interactions with Foxtail in Level 1
  • More interactions (ending with a final boss battle, for later levels)

Animation

  • Environment Animations
    • Score will appear at the end of level
    • Flames on torches
    • Boulders rolling
    • Arrows flying
    • Trap door opening
  • Character Animations
    • Reggie (Tiger)
      • Running
      • Jumping
      • Picking up objects
      • Throwing objects
      • Collecting Coins
      • Collecting Hearts
      • Damage taken
      • Death
    • Enemies
      • Moving back and forth

Schedule

Semester 1

  • Sprint 1 (3 weeks)
    • Implement Walking/Running Character Mechanic
    • Implement Jumping Character Mechanic
    • Begin design on Level 1
    • Create Character Models
    • Meet with sound team
    • Spike: learn how to develop using Unity
  • Sprint 2 (3 weeks)
    • Implement Picking Up/Throwing Character Mechanic
    • Finish Designing Level 1 and begin implementation (include sounds here)
    • Create Essential Assets (i.e. textures for hearts, coins, etc.)
    • Implement Coins/Hearts/1UP mechanics
  • Sprint 3 (3 weeks)
    • Refinement of Character Mechanics based on testing with Level 1
    • Begin NPC scripts
    • Testing and debugging
    • Create End of Level Screen
    • Create menus

Semester 2

  • Design and implement at least 3 more puzzle levels
  • Design and implement a final boss level where Reggie must face Foxtail
  • Implement defined items above not in Semester 1 plan:
    • Character expressions / taunts
    • Menu sounds
    • "Achievement" score items after a level
  • Add animations to game mechanics
  • Debugging
  • Polishing
  • Finishing and refinement of features not completed in Semester 1

Expected Release: Spring 2019

Contingency Plan

In the event that the above plan is too optimistic and we must cut back the features in the game in order to meet our release date, these are the features that we plan to cut in order of priority (roughly):

  1. Remove the picking up/throwing items mechanic
  2. Scale back number of levels and size of levels
  3. Remove direct interactions with non-Foxtail NPC’s (i.e. hazards that move)
  4. Remove direct interactions with Foxtail
  5. Reduce amount of sound effects
  6. Remove Coins/scoring system
  7. Remove Foxtail entirely
  8. Remove heart mechanics. Make all damage events insta-kill.

Remember to maintain the high ground!

Releases

No releases published

Packages

No packages published

Languages