Inspiration
We wanted to bridge the gap between classic elemental storytelling and reactive game mechanics. The project is inspired by the Avatar: The Last Airbender universe, and we wanted to include combat mechanics, which led us to create a narrative-driven boss gauntlet where the environment and characters evolve based on the progression of the player, exploring the themes of balance and resilience.
What It Does
Avatar: The Lost Twin is a third-person action-adventure prototype. Players begin with basic, elemental training under Avatar Aang, before they are introduced to a mystery involving their non-bender twin and a village full with corrupted spirits. The project features a multi-stage NPC system where characters transition back and forth between choice-driven dialogue and hostile combatants in custom-built spawning landscapes.
How We Built It
The project was built using Roblox Studio and Luau. We used a modular approach to handle the state machine of the NPCs. We used matrix operations for precise NPC placement. To handle fight scenes, we implemented a system of RemoteEvents to communicate between the client-side dialogue modules and the server-side spawner. The fighting and element animations were made using Blender. As for the visual environments, we used the existing building software to manipulate part lengths and build more sophisticated structures such as the Air Temple and forest villages.
Challenges We Ran Into
One of the biggest hurdles was clipping, as when replacing a hostile NPC with a dialogue NPC, the new model would often get stuck in the floor because the previous pivot point was too low. We solved this by implementing a vertical offset in the spawning function. We faced issues with race conditions as well, as sometimes the code would try to find a character part before the model had fully loaded into the Workspace. Therefore, we used task.defer() and WaitForChild() to ensure the physics engine and object hierarchy was ready before the logic executed. As for the fighting animations, we had to be careful with using R6 versus R15 rig models to make the sequences more interactive and appear more realistic.
Accomplishments that We're Proud Of
We are proud of our visual landscapes, specifically with the scale and detail of the Air Temples and forest villages that players could navigate. In addition, the combat system and accompanying animations make the game mechanics more exciting and interactive, especially when we play tested the final iterations of the product. We are proud of the successful swaps between the dialogue and hostile versions of difference characters, including the neighbor and twin, to keep the storyline continuous. Lastly. we enjoy how we synced the custom dialogue modules with the server spawners, so that choosing a specific dialogue option physically triggers a world change.
What We Learned
We deepened our understanding of server-client interactions, ensuring that critical game states, like boss health and spawning, are handled on the server to prevent exploits. Furthermore, we found important the need for version control and communication on which member was working on what to ensure our product could be made in a timely manner.
What's Next for Avatar: The Lost Twin
The next steps we would implement are an expanded bending-based combat system involving more elemental moves and animations outside of the tornado. We hope to add a dynamic camera system as well that could create more cinematic reveal shots for our custom scenery and engaging cutscenes with the dialogue we created, such as when the first enemy is revealed in the Air Arena or when the twin reveals their true intentions.
Built With
- blender
- luau
- roblox
- rojo
Log in or sign up for Devpost to join the conversation.