A few things about me:
Notable Personal Projects:
Ardenfall is an open world RPG built in Unity3D, and has been in development for over 4 years, with myself as the project lead and sole programmer. I have built this project from the ground up, and managed all systems to make a dynamic world possible.
Such a large task has forced me to develop habits that result in the stable and modular implementation of features. Managing a team has also taught me countless lessons, and has made me realize my passion for working with people.
The world is split into cells - each of these cells are individual scenes.
During runtime, cells are asynchronously streamed in a 3x3 grid around the player.
For distance objects, a Distant Cell is generated during edit time - this consists of a lowpoly mesh terrain, and any objects tagged as 'distant'
AI is split up into two forms - combat and idle.
Combat takes form of attack assets - when the NPC wish to attack, it calculates a cost value for each asset, and picks the best one.
Idles takes form of packages - these are much more modular, allowing for easy tweaks depending on the NPC. This is used to make npc's interact with certain objects in an area, or go to a location at a certain time of day.
Built atop FlowCanvas, Ardenfall's dialog system is designed to be as open ended as possible, while also being a breeze to use.
Dialog is built with graphs, and they are modular - a single npc may get a graph from a quest, and have their own graph as well, combining into one.
The Quest system also uses FlowCanvas, as well as its own editor to manage many different quest related variables.
Quest Objects allow for an easy reference to a character, character group, location, scene object, and more.
A Quest also contains phases and objectives, as well as macros and variables.