All Projects → ta-david-yu → 2D-Platformer-Hunter

ta-david-yu / 2D-Platformer-Hunter

Licence: other
A 2D Platformer Controller in Unity

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to 2D-Platformer-Hunter

Gamedev Resources
🎮 🎲 A wonderful list of Game Development resources.
Stars: ✭ 2,054 (+1242.48%)
Mutual labels:  2d-game, 2d, game-dev
learn-dlang
Learn D programming language by creating games!
Stars: ✭ 42 (-72.55%)
Mutual labels:  2d-game, 2d, game-dev
O2
2D Game Engine with visual WYSIWYG editor
Stars: ✭ 121 (-20.92%)
Mutual labels:  2d-game, 2d, game-dev
Gizmo
2D Pixel Destruction Game written in Go.
Stars: ✭ 114 (-25.49%)
Mutual labels:  2d-game, 2d
surfacer
AI and pathfinding for 2D-platformers in Godot.
Stars: ✭ 56 (-63.4%)
Mutual labels:  2d, 2d-platformer
2d Spaceshooter
A very simple 2D space shooter game made with Unity
Stars: ✭ 6 (-96.08%)
Mutual labels:  2d-game, 2d
Spine Runtimes
2D skeletal animation runtimes for Spine.
Stars: ✭ 3,171 (+1972.55%)
Mutual labels:  2d, game-dev
rpg
OpenGL cross platform topdown 2d magic action rpg game single player arpg
Stars: ✭ 20 (-86.93%)
Mutual labels:  2d-game, 2d
Kaetram Open
An open-source 2D HTML5 adventure based off BrowserQuest (BQ).
Stars: ✭ 138 (-9.8%)
Mutual labels:  2d-game, 2d
GizmosPlus
A Unity Package that provides additional GIzmo shapes and tools.
Stars: ✭ 35 (-77.12%)
Mutual labels:  unity-package-manager, unity-package
LOST--Java-2D-Game
2D side-scrolling game made in JAVA with sprite sheet animations
Stars: ✭ 2 (-98.69%)
Mutual labels:  2d-game, 2d-platformer
Cdogs Sdl
Classic overhead run-and-gun game
Stars: ✭ 422 (+175.82%)
Mutual labels:  2d-game, 2d
Godot Platformer 2d
2d Metroidvania-inspired game for the 2019 GDquest Godot Kickstarter course project.
Stars: ✭ 365 (+138.56%)
Mutual labels:  2d-game, 2d
Flutter Galaxy Game
2D Flutter Galaxy Game
Stars: ✭ 111 (-27.45%)
Mutual labels:  2d-game, 2d
Dot-World-Maker
Online web role playing game (RPG) engine let you build your own game directly from your browser.
Stars: ✭ 25 (-83.66%)
Mutual labels:  2d-game, 2d
platform template
Template project for platform games in Godot Engine.
Stars: ✭ 61 (-60.13%)
Mutual labels:  2d-game, 2d-platformer
jdrive
OpenTTD port to Java
Stars: ✭ 23 (-84.97%)
Mutual labels:  2d-game, game-dev
Cut The Rope Replica
A "Cut the Rope" game replica, 2D fun mobile game about helping the frog get the candy.
Stars: ✭ 26 (-83.01%)
Mutual labels:  2d-game, 2d
framework
The exomia/framework is used for building 2D and 3D games and more inspired by the XNA/Mono framework.
Stars: ✭ 21 (-86.27%)
Mutual labels:  2d, game-dev
alpha
alpha - deprecated 2015~2016. unrelated to the new engine! view the new engine here - https://luxeengine.com/
Stars: ✭ 573 (+274.51%)
Mutual labels:  game-dev

2D Platformer Hunter

image
Features video links here
I've also made a short level with it
Implementation of a raycast-based 2D platformer controller in Unity.
Extended from Sebastian Lague's Creating a 2D Platformer series with more customizable options and better modularization.

Requirement

Unity 2018.3.8f1 or later

How to install

Design

The code structure is based on a model that I call Input-Controller-Motor model. Each controller consists of three modules: Input, Controller and Motor. Each module can be replaced with user-customized module to achieve various gameplay mechanics.

  • Input represents the brain of a controller. The brain can be player's input or an AI. Waypoint navigation for moving platform is also a type of Input module.
  • Controller represents the body of a controller. The body decides what a character can do, such as, double jumpping, dasing.
  • Motor represents the physics law of a controller. For example, a character motor collides with obstacles; a platform motor can carry other motors or transforms.

Any other behaviours that do not belong to these three modules should instead be implemented in a different components and listen to events sent by three main modules. For instance, a sprite animation controller that changes sprite when a character jumps should subscribe to OnJump event of the CharacterController.

Features

  • Variable Jump Height
  • On-Slope Movement
  • Air Jump
  • Wall Jump
  • Climbing Area - Ladder/rope climbing behaviour
  • Restricted Climbing Area - Users can separate the actual movable area in climbing state with the trigger area. Controller will be smoothly interpolated from triggered position to restricted area when entering climbing state.
  • One-Way Platform - Add the OneWayPlatform component to the platform which you want it to be One-Way Platform
  • Moving Platform - Including a node editor for editing waypoints.
  • Dash - User is able to customize dash modules that can be applied to a controller.
  • Jump Input Buffering - The jump input will be buffered for a period of time when the character controller is still in the air.
  • Coyote Time - Also known as grace period jumping. It allows players to register jump input in a small period of time even after moving off ledges.
  • Ledge Grabbing
  • Wall Climbing - You can configure whether your controller slides on wall or climbs on walls (just like how Knuckles does)

Documentation

  • The collision layer of the raycaster on a controller should be different from the layer of the gameobject itself, otherwise you fly :D
  • More to be added :D

Materials

rvros - Animated Pixel Adventurer https://rvros.itch.io/animated-pixel-hero

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].