Giter Site home page Giter Site logo

igme119-2dplatformer's Introduction

This is the repo for the current RIT IGME-119(2D Animation and Asset Production) Final Project 2D Platformer Game.

The goal of this README is to provide an FAQ/Guide on how to take advantage of the features provided by this skeleton to create your own customized game for your final project.

Table of Contents

  1. Contributions / Issues
  2. Game Basics
  3. Texture Replacement
  4. Animations
  5. Jump Height
  6. Movement Speed
  7. Automatic Platform Spawning
  8. Platform Falling
  9. Menu Button Placement
  10. Player-centered Camera
  11. Player-Based Parallax
  12. Infinite Ground

Contributions / Issues

If you notice anything about the game that seems broken, or can think about any other way to better this game, please feel free to open an issue on Github. You can find instructions on how to do this here. Think you could fix the issue yourself, or want to add a feature you think future players will want? Your help is welcome and wanted! Simply fork this repository, and submit a pull request once you've updated your fork. We'll look through your update and if it looks good, we'll make it a part of the game!

Game Basics

The game is, by default, an auto-scrolling 2D Platformer.

  • Press Space or Left-Click to Attack.
  • Press Up to Jump.
  • Press Left/Right to move Left/Right.

Texture Replacement

The majority of the class you are taking is based around asset production. As such, the majority of your work (if not all) will consist of replacing textures in this game. The majority of textures are found in the Assets/Resources/Textures folder. There are instructions on replacing the assets in the highest level directory of the project.

Animations

Animations are preprogrammed into the game, and only require you to fill out the sprite sheet in the Textures folder to work. There are 8 Animations, each consisting of 8 frames, broken up as the 8 rows of the sprite sheet. The animations are, in order, Player_Idle, Player_Jump, Player_Walk, Player_Attack, Player_Injury, Enemy_Walk, Enemy_Attack, Enemy_Injury. This is detailed in the Spritesheet_Outline.png file in the Textures folder. I would recommend placing this outline as the background layer of a .psd file, so you can place your assets directly over it before replacing the sprite sheet.

Jump Height

Think the player is jumping too high? too low? You can change that!

  1. Open the Platformer_Float scene in the Scenes folder.
  2. In the Hierarchy, click the arrow next to the object named Layer to see its children.
  3. In the Hierarchy, click the arrow next to the object named 4 - player to see its children.
  4. In the Hierarchy, click on the object named hero
  5. In the Inspector, scroll down to the Component titled Simple Platform Controller, and select the box next to the words Jump Force
  6. Increasing this number will make the player jump higher. Decreasing this number will make the player jump lower. Alter this number as you see fit until you are satisfied with how your player jumps!
  7. Note: If you want the player to fall faster, you can find the Rigidbody 2D Component on the same object, and increase the Gravity Scale. The higher the Gravity Scale, the faster the player will fall.

Movement Speed

Think the player is moving too fast? too slow? You can change that!

  1. Follow steps 1-4 in the Jump Height section
  2. In the Inspector, scroll down to the Script Component titled Simple Platform Controller, and select the box next to the words Jump Force
  3. Increasing this number will make the player jump higher. Decreasing this number will make the player jump lower. Alter this number as you see fit until you are satisfied with how your player jumps!
  4. Note: If you want the player to fall faster, you can find the Rigidbody 2D Component on the same object, and increase the Gravity Scale. The higher the Gravity Scale, the faster the player will fall.

Automatic Platform Spawning

Platforms will spawn automatically by default. Want to turn this off? You can do that!

  1. Open the Platformer_Float scene in the Scenes folder.
  2. In the Hierarchy, click on the object named SpawnManager
  3. In the inspector, scroll down to the Script Component titled Spawn Manager, and click the checkbox next to Should Spawn Platforms
  4. Platforms will now stop spawning automatically. Want to turn this back on? Just turn the same checkbox back on!

Platform Falling

Platforms will fall automatically by default. Want to turn this off? You can do that!

  1. Open the Platformer_Float scene in the Scenes folder.
  2. In the Hierarchy, click the arrow next to the object named Layer to see its children.
  3. In the Hierarchy, click the arrow next to the object named 5 - Ground to see its children.
  4. In the Hierarchy, click on the object named Ground
  5. In the Inspector, scroll down to the Script Component titled Platform Fall, and click the checkbox next to Should Fall
  6. Note: If you want Platforms to default to not falling, scroll to the top of the inspector and click Apply
  7. Note: This setting can be changed on a platform by platform basis. You can have some platforms fall, and others not.

Menu Button Placement

Buttons are placed in the game using the Unity Canvas. Want to move the buttons in the game? You can do that!

  1. Open the scene whose buttons you want to move.
  2. In the inspector, click the arrow next to the object named Canvas to see its children.
  3. In the inspector, double-click the object named Canvas to focus on it.
  4. Select the button you want to move on the screen, and move it as you normally would any other object in Unity.
  5. Note: If you are trying to move the buttons displayed on death in the Platformer_Float scene, do the following after step 3 * At the top of the inspector, check the checkbox to the left of the word Canvas * When done moving your button, be sure to uncheck this checkbox so the buttons are hidden until death.

Player-centered Camera

Want a more classic Platformer, where the camera follows the player? You can do that!

  1. Follow steps 1-4 in the Jump Height section
  2. In the Inspector, scroll down to the Component titled Simple Platform Controller, and check the checkbox next to the words Camera Follow
  3. The Camera will now follow the player. If you want to disable this feature, simply uncheck the same checkbox.
  4. Want the parallax to correspond to the player and not automatically scroll? Follow the instructions in Player-Based Parallax

Player-Based Parallax

Want the Parallax to respond to the motion of the player instead of scrolling automatically with time? You can do that!

  1. Open the Platformer_Float scene in the Scenes folder.
  2. In the Hierarchy, click the arrow next to the object named Layer to see its children.
  3. In the Hierarchy, click on each Layer object, one at a time (0, 1, 2, 3, 5)
  4. For each Layer, in the Inspector, scroll down to the Component titled ScrollingScript, and check the checkbox next to the words Player Based Movement
  5. The Parallax will now move based on how the player moves and the Player Based Speed parameter
  6. Want to undo this? Simply uncheck the same checkbox to return to Automatic Based Movement

Infinite Ground

Want to spawn an infinite ground at the bottom of the screen? You can do that!

  1. Open the Platformer_Float scene in the Scenes folder.
  2. In the Hierarchy, click on the object named DynamicGroundSpawnManager
  3. In the inspector, scroll down to the Script Component titled Spawn Manager, and check the checkbox next to Should Spawn Platforms
  4. The ground will now dynamically spawn automatically. Want to turn this back off? Just uncheck the same checkbox!

igme119-2dplatformer's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.