top of page

Shadows of Adrianople DevLog #1: Plot and NavMesh AI

Mattia Poggi
Nov 22, 2024
2 min read

Continuing my journey into game development, I’m excited to share more about my second project, Shadows of Adrianople—a 3D first-person survival game that blends historical themes with strategic gameplay and fantasy elements. In this post, I’ll dive into the game’s plot and highlight one of the key challenges I faced: implementing NavMesh AI to bring the enemies to life.


Overview of the Plot


Shadows of Adrianople takes place in 386 CE, a decade after the Roman legions suffered a devastating defeat at the hands of the Gothic army. The once-great fortress of Adrianople now lies in ruin, shrouded in mystery and dread. Whispers speak of a powerful weapon hidden among the ruins—one that holds the terrifying ability to command the spirits of the dead. As the player, you must navigate this treacherous landscape, uncovering dark secrets and deciding your fate. Will you harness this power, or will you fall like those before you?


The game’s narrative is rooted in historical events but introduces a dark, mystical twist. This blend allowed me to explore themes of leadership, loyalty, and the thin line between myth and reality.


Challenge: Implementing NavMesh AI for Enemy Behavior


One of the most significant technical challenges I faced was designing enemies that could intelligently navigate the battlefield using NavMesh AI. This system allowed me to create enemies that could chase, attack, and strategically move across the terrain.



Why NavMesh?

NavMesh (Navigation Mesh) is a powerful tool in Unity that enables AI agents to find paths and move through complex environments. For Shadows of Adrianople, it was essential to ensure that enemies didn’t just follow predefined paths but could dynamically respond to the player’s movements.


The Challenges I Encountered:


  • Dynamic Pathfinding: Making sure enemies could navigate around obstacles and pursue the player across varied terrain.

  • Behavior Logic: Balancing aggression and strategy—enemies needed to be challenging but not overwhelming.


How I Overcame Them:


  • Iterative Testing: I tested enemy behavior in small, controlled environments before scaling up to full levels.

  • Fine-Tuning: Adjusting parameters like speed, detection range, and attack timing helped create a balanced experience.


Lessons Learned:

Implementing NavMesh AI taught me a lot about the complexities of creating engaging enemy behavior. It reinforced the importance of iterative development and testing, especially when dealing with AI logic.


What’s Next?


I’m eager to apply what I’ve learned about AI and pathfinding to future projects, enhancing both gameplay depth and challenge. Stay tuned for more insights into the development process behind this and my other games!

Comments


Made by Mattia Poggi, 2024. Powered by Wix

bottom of page