Skip to content

Architecture

Joshua Kolbusz edited this page Oct 20, 2024 · 24 revisions

This will be a 2D game developed in Unity using C# as the programming language. The following libraries, frameworks, and services will be used:

  • Unity Engine: The core framework for building the game, handling the physics, animations, input, and rendering of 2D sprites and environments.

  • Unity UI Toolkit: Used to create and manage in-game user interfaces such as menus, HUD, and dialog systems.

  • Unity 2D Physics: Responsible for implementing the game's physics, including collision detection and responses for game objects.

  • Unity Animation System: Will be used to create smooth transitions and movements for characters and objects using 2D sprites.

  • Cinemachine: A camera system for smooth camera movement, zoom, and tracking of characters during gameplay.

  • Unity Input System: To handle player input for both keyboard and game controller setups.

  • TextMeshPro: For rendering high-quality text in the game UI and dialogues.

  • Unity Addressable Assets System: To manage and load assets effciently, allowing for dynamic loading of levels, characters, and other game assets.

  • Unity Analytics: To collect player data such as gameplay statistics, user engagement, and behavior in the game to inform design decisions.

The Unity package manager is what we will be using as our package/build manager.

Release

We will use a binary exe file, As Unity allows you to directly compile projects in exe files. Testers will then be linked to a separate Github Repository containing this executable.

General UML Chart:

umlchart

Tasks:

Joshua Kolbusz: Issues #45, #47, #48, #49, #51, #52

Kelly Thao: Issues #34, #33, #32, #27, #26, #22, #21

Clone this wiki locally