Skip to content

Latest commit

 

History

History
120 lines (83 loc) · 7.33 KB

README.md

File metadata and controls

120 lines (83 loc) · 7.33 KB

AFK Gacha Game

AFKGachaBattle

Table of Contents

About

Welcome to the realm of AFK Gacha Game, crafted by LambdaClass.

AFK Gacha Game is the second game that utilizes our groundbreaking Game Backend. This open-source backend, meticulously developed by Lambda, ensures seamless and reliable gameplay.

Step into a universe where you, the player, get to turn the tides on an all-out war between the forces of good and evil. Side together with Mirra, the capricious deity known for manipulating entire societies by exploiting their deepest desires, or choose to rebel against its advances instead.

AFK Gacha Game is more than a game; it's an adventure into a world where strategy, skill, and a dash of chaos converge. Join the battle and confront the challenges that lie ahead in this captivating and dynamic gaming experience. The stage is set, and the Champions of Kaline await your commands—embrace the challenge and become a legend!

Licensing

The code is licensed under the Apache 2 license, while the music and graphics are licensed under a CC attribution and share-alike license.

Requirements

Unity Setup

  • In Unity Hub, click on the add project button and select the client folder.
  • To test the game, select the scene in Assets/Scenes/Overworld and run it by clicking the play button.

Suggested Development Environment

Set up your environment with the following steps:

  • Download the .NET SDK for your operating system.
  • In VSCode, download the .NET extension. After installation, change the version to 1.26 (locate the version dropdown next to the Uninstall button in the extension window).
  • To check if the setup is successful, go to VSCode's console, select the Output tab, and pick Omnisharp Log in the dropdown. If there are no error logs and Omnisharp is scanning the project, the configuration is correct.
  • Run make setup to install the necessary dependencies to format and lint the code.
  • Add dotnet-format to your PATH by running the following command in your terminal:
cat << \EOF >> ~/.zprofile
# Add .NET Core SDK tools
export PATH="$PATH:/Users/$USER/.dotnet/tools"
EOF

Contact and Socials

If you have any questions, feedback, or comments:

We share our development and creative process in the open, follow us for frequent updates on our game:

Documentation

Client Paths

The following diagram outlines the initialization process of a connection between the client and the backend, as well as the retrieval of the user's data to be displayed on the header.

On the start of the application, the SocketConnection, which is a game object in the scene, tries to establish a websocket connection with the backend. Upon successful establishment of the connection, the SocketConnection requests the current user data from the backend (note: the register/login logic is not shown in this diagram).

In parallel, the HeaderManager waits for the user information to be retrieved via the GlobalUserData, which is the class that contains the user information.

Once the user data is retrieved from the backend, it is sent to the HeaderManager, where the relevant information is displayed in the UI. Additionally, the HeaderManager subscribes to updates from the GlobalUserData, ensuring that any changes are promptly reflected in the UI.

Header Sequence Diagram


The next diagram depicts the actions that take place when a user enters the Summon scene.

When entering the Summon scene, the SummonManager script is responsible of fetching the summon boxes from the backend via the SocketConnection. When these are returned, the manager instantiates a UI element for each box.

The user can then buy one of these boxes, triggering a chain communication that traverses all the way to the backend, passing through currency availability checks first. Once the backend processes the user's request, it returns the summoned unit so the summon manager can display it in the UI.

Summon Sequence Diagram