Echronia
Conor Kirkby
Click to Enlarge
Project description
Echronia is a narrative driven game heavily inspired by Final Fantasy, Undertale and Fallout 2. This project is extremely early in development and is still for the most part in the planning phase but it will be the project I work on in my personal time. The game will be a 2.5D adventure with action point, turn based combat such as those found in the early fallout games and others such as wasteland, Final Fantasy tactics and to an extent Baldurs gate 3.
The story will take place in the skeleton of an ancient and powerful city that was thought lost to time. The player will find themselves awakening in such a place, unknowing who they are, where they came from and what their purpose in this place is. The player must discover their origins and the history of how this city, a true eternal paradise was utterly and yet silently torn apart. The Black Line, an elite and unrelenting mercenary company who have claimed the ruins as their own, but to what purpose. The player will clash with the forces of this company in a bid to claim this city and truly uncover the truth of paradise. However, deep in the heart of the city, something ancient stirs... Something that will not be forgotten.
This game includes:
- A turn based combat system
- A narrative that makes the player think
- More TBC!...
Development Logs
- Devlog #1 - Setting up
- Devlog #2 - Crafting basic systems
- Devlog #2.5 - Creating the board pieces
- Devlog #3 - Tackling the AI
Project Contribution
2025 - Onwards
Project Lead
- What I learned:
- How to use the plugin 'Paper ZD' to easily implement sprite sheets into Unreal.
- The creation and use of bit-flags to have a multichoice selectable enum.
- Incorporating Unreal's interfaces into C++ and the use of them.
- How to do grid mathmatics using various functions such as the Chebyshev and Manhattan methods for movement, attacks and distance calculations.
- Different types of grid based pathfinding methods that are available to me such as Breadth-first search, A* and Dijkstras Algorithm
- How to use data assets to create a customisable, universal configuration for the AI to use for things such as health, movement speed, attacks, behaviours and any other data I wish to use for them that can be spread across all enemies of that type.
- What I contributed:
- Project planning, using tools such as trello, GitHub and obsidian to design the game.
- Creation of an indepth lore for the game. Including locations, characters, factions and backstories
- Development of the player character.
- Development of the prototype AI using turn based tactics with desicion based intellegence.
- Development of grid based mechanics and mathmathical calculations using the Chebyshev and Manhattan methods.
- Developed an A* pathfinding system for the movement
- What I overcame:
- The grid based maths was really difficult at first. I had little to no experience with this type of maths and had to learn all of it from scratch and a lot of trial and error. It got even more difficult when it was time to implement the pathfinding system. Based on research I got the idea that A* is generally the best method, although it takes more to setup, it generally is more performant as BFS from my understanding acts as a ripple that searches across the board whereas A* calculates the best path to the object based on deseriable traits such as distance and cost to move.
Bio
A long time ago, I wrote a book. While that book was published it was not terribly successful in any regard. However I still remain widly passionate about the story I made and the characters that dwelled within the book. While this game has nothing to do with that story it is set in the same world. I desperatly wanted to bring this story back to life and while I still remain a junior programming I also desperatly wanted to make a game. I love the concept of forgotten cities, ancient beings, lost powers and when one day I had a random thought about an ancient city that a player could explore. It exploded into this project.
This project wasnt something I truly expected to make, it might be quite a bit out of scope for what can be expected of a solo developer. However the passion I have been feeling for this has been blazing inside me for weeks now. I am going to try to keep this game as compact as possible. I have already divised multiple endings that are simply based upon two main things that is easily controllable throughout the development of the game. The story is in ongoing development but I have the generic A -> Z worked out. This is all going inside a GDD that I might make public at a later point.