Skip to content

Team-UGD/back-to-the-dungeon-scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Back to The Dungeon

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.

Portfolios

If you're interested in individual portfolios, click the below links.

Game

Game trailer - Youtube

Back to The Dungeon Trailer

Downloads

Genres

2D platformer shooting

Platforms

Project

Development kits

We've used C# and Unity game engine.

Periods

  • 2021-08 ~ 2022-04 (about 9 months) - main development and build for the pc version
  • 2022-04 ~ now - build for the mobile version

Scripts overview

Environments

  • C# 7.2
  • .Net Standard 2.0
  • Unity Editor 2020.3.14f1

External Libraries

Note that library files are not included in this project.

Implemented systems

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.

Entity

  • Health
  • Damage

Player

  • Input
  • Movement
  • Attack(shooting)

Enemy

  • 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)

Weapon

  • Guns
  • Bullets
  • Melee Weapon(only used for enemies)

Skill

We've implemented a lot of skills. Skill is only used by enemies.

Item

It's only used for the player.

  • Item
  • Item Spawner

UI

  • HUD
  • Game Start UI
  • Store
  • Setting
  • Game Data

Manager

  • Game Manager
  • UI Manager

Game Object

We've implemented a lot of interactive game objects like portal, trap, etc.

Save System

  • Manager(only serves API)
  • Listener(interface for synchronization)

Utility

  • Physics
  • Math
  • Singleton
  • Attributes(for unity editor)

Feedback

  • 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 and await
  • 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