It's the first project of Team UGD. We've been interested in the development of the game system more than the game itself. So the game quality, especially with regards to assets(e.g. graphics, motions, level design, ui, etc), may be rather low but it's really happy for us to implement most of game systems by our own efforts. We share scripts here used for "Back to The Dungeon" project.
If you're interested in individual portfolios, click the below links.
2D platformer shooting
We've used C# and Unity game engine.
- 2021-08 ~ 2022-04 (about 9 months) - main development and build for the pc version
- 2022-04 ~ now - build for the mobile version
- C# 7.2
- .Net Standard 2.0
- Unity Editor 2020.3.14f1
Note that library files are not included in this project.
- A* Pathfinding - version: 4.2.15
We've implemented most of game systems using only basic libraries provided by C# and Unity. A* Pathfinding as external library has been only used.
- Health
- Damage
- Input
- Movement
- Attack(shooting)
- Target Detection
- Movement
- Pathfinding(We use A* Pathfinding asset and implement our own pathfinding logic by using its API in the 2D platformer game.)
- Attack(by using skills)
- Guns
- Bullets
- Melee Weapon(only used for enemies)
We've implemented a lot of skills. Skill is only used by enemies.
It's only used for the player.
- Item
- Item Spawner
- HUD
- Game Start UI
- Store
- Setting
- Game Data
- Game Manager
- UI Manager
We've implemented a lot of interactive game objects like portal, trap, etc.
- Manager(only serves API)
- Listener(interface for synchronization)
- Physics
- Math
- Singleton
- Attributes(for unity editor)
- Should have planned the system thoroughly in advance
- Poor exception control
- Lack of modularization
- Lack of using unity basic components
- Poor skill system
- Lack of polymorphism
- Lack of interfaces
- Lack of events
- Poor weapon system
- Lack of code documentation
- Didn't use asynchronous programming with
async
andawait
- Should have considered the extension of input devices
- Poor management of scripts
- Poor management of log messages
- Poor management of directories, project structure
- Bad git version management
- Poor organization of objects in unity scene