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!
The code is licensed under the Apache 2 license, while the music and graphics are licensed under a CC attribution and share-alike license.
Backend: Make sure you have Mirra Backend installed and running. This can be found here: https://github.com/lambdaclass/mirra_backend
Flaticon:
Unity:
client/Assets/ThirdParty
client
folder.Assets/Scenes/Overworld
and run it by clicking the play button.Set up your environment with the following steps:
make setup
to install the necessary dependencies to format and lint the code.cat << \EOF >> ~/.zprofile
# Add .NET Core SDK tools
export PATH="$PATH:/Users/$USER/.dotnet/tools"
EOF
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:
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.
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.