Skip to content

simeonradivoev/2D-Platformer

Repository files navigation

2D Action Platformer

A 2D Action Platformer Experiment made with ECS/DOTS

This project was created when ECS was just starting to roll out. It was made as an exploration of Unity's ECS. Even thought it is updated to work with the latest ECS, there were lots of ECS features that were not present at the beginning. For more info on the project check out the post on My Personal Blog copied from Unity Connect

Project was update to work with Unity 2019.4.34f1 LTS

IMAGE ALT TEXT

Controls

W/A/S/D - movement G - throw grenade R - Reload Tab - Open Inventory Space - Jump F - Vault

Gameplay

Given that this was more of a learning experience and a personal project there isn't much of a gameplay to it. I wanted to make the movement and the overall feel more slow pace and heavy. But looking at it now this might limit the gameplay opportunities since it is in 2D.

Notes

This repository used Git LFS

This was more of a educational project testing all the latest unity features at the time. This means there isn't much documentation in code, but I did use pretty verbose and self explanatory naming. This combined with the ECS structure should help with readability.

I Also stripped or replaced lots of the assets used that were from the unity asset store with open source ones. There are some left over that are no longer on the asset store so I decided to alter them and leave them in (like robots used from Anima2D)

Links

Tech Used

  • Dependency Injection (Extenject)
  • Unity Entity Component System - ECS
  • Unity Adressables
  • Goal Oriented Actions - GOAP
  • 2D Lighting engine
  • 2D Platformer Pathfinding
  • Unity 2D Inverse Kinematics
  • Unity 2D Tilemap
  • Unity Cinemachine 2D
  • Unity Post-Processing Stack
  • 2D Motion Blur

Main Packages

  • 2D IK
  • 2D Tilemap Editor
  • Addressables
  • Cinemachine
  • Collections
  • Entities
  • Input System
  • Newtonsoft Json
  • Post Processing
  • Text Mesh Pro
  • Vector Graphics
  • Extenject

Credits

Graphics

Code

Sounds

Fonts

License

All my code has the Apache 2.0 License. Where I could I added the appropriate license files per folder for external assets.