Origin
I wanted a project where I could use machine learning and natural language processing. While I was mulling over project ideas and watching Westworld, a friend sent me a link to the WoW Classic announcement. That gave me the idea for Westworld of Warcraft.
What I wanted Westworld of Warcraft to be was a private server where there were other “players” that would be involved with the gameplay. Back in 2005, I remember playing with a number of memorable players each with personality quirks; an experience I hope to emulate with different hosts.
Goals
So here are the goals of the project (I will update them as I go):
Create programs that can interact with the game and consume generated data from the game.(Completed)Funnel consumed data to instances into Microsoft Azure.(Completed)- Build machine learning models around the consumed data to mimic players playing the game. Including:
- Questing
- PVP
- Raiding
- Grouping
- Being Apart of the Economy
- Build natural language processing models to:
- Allow bots to converse with players
- Spawn bots in response to continuing chat requests (LFG,LFM,WTS,etc.)
Change the bots to no longer need the client and use the server connection directly(Completed)
Where those goals ended up: bots now run in two interchangeable modes - injected into a real game client for parity, or fully headless against a C# implementation of the game protocol. Behavior is structured as a four-layer hierarchy, objective sequences are generated at runtime from the world database rather than scripted, and every character carries a personality derived deterministically from its account name. Machine learning and the persona dialogue runtime are both advisory: they break ties and draft text, and neither can choose an action or touch the world.
Series
The architecture is covered end to end in a thirteen-post series:
- Westworld of Warcraft: A Server That Plays Itself
- Two Ways to Wear a Character
- Activity, Objective, Task, Action
- Teaching a Bot to Walk
- The Cast: Personality as a Function of a Name
- Storylines the Players Actually Wrote
- The Social Fabric of a Populated Server
- The Economy Runs on Nobody
- Reset Night, World Buffs, and Why Bots Wait
- Advisory, Not Authoritative
- Ask and the World Answers
- Proving a World Is Alive
- The Westworld of Warcraft Reference Architecture