lambdaclass / afk_gacha_game

AFK Gacha Game is an autobattler by LambdaClass
Apache License 2.0
3 stars 0 forks source link

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

Suggested Development Environment

Set up your environment with the following steps:

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