Skip to content

Architecture

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

Frameworks and Libraries

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

Views:

371882593-51cf9a08-0566-4c95-9e6b-18b189632e14

Example of the title screen of the game would look like. Having both the options button and start button, it sets out what it is suppose and shows the basics of what a title screen should be. Simple and effective for the tester/player to understand what to do.

371883075-d88980fb-60b4-46ba-8ed2-19a51491beb5

A waiting/lobby room for players to wait for others to join them. You can ready up at any time with any amount of players and can go in alone, or with other people.

371883234-3844a2a0-cfcd-4807-a4c1-ecd2941a48fa

Example of what a the main game would look like with player in the middle, inventory in the bottom right, and health/oxygen meter top left, and the stamina meter is in the top left as well. It gives a good idea of what the game will look like from players/testers perspective.

371887758-eba77f83-8516-4615-bde7-b35710f8c9b3

Another example of what the main game would like with player picking up an "artifact" having inventory in the bottom right, oxygen and stamina in the top left and player in the middle.

371903432-6f49e6d9-2a4b-4fc5-827d-3f20891e9dfe 371903448-6ecd5e83-c314-4693-a85d-cf489b69aaa3 371903507-495da628-a25d-4da6-8adc-758196306e5f 371906901-d1eacf4c-3d9f-4766-bef9-237fb0739667

Tasks:

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

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

Scott Do: #59, #44, #43, #42, #39, #37, #36

Clone this wiki locally