Replay Virtual Opponent (Concepting)
How would I go about creating a virtual opponent for people to play against without making it feel like the opponent is prerecorded?
One of the most important tasks to start of with this internship is to create a virtual opponent. My coworker Jasper created a way to save playthroughs and store them locally. It is my job to implement these playthroughs in the game for people to play against them.
Research Methods
Library
- Game analysis
To be able to understand the things I was going to work on, I did some research on what's already there in the game to help me reach my goal. I setup a simple document to plan the way I would create the virtual opponent and get some more insight on the data I was going to be using in the virtual opponent.
The "recording virtual opponent" feature another intern made was also very useful as I was able to see what data was stored as seen below.

Field
- Stakeholder analysis
I talked to Pieter, Harm and Danilo about the creation of the virtual opponent. It is clear that they are not entirely on the same page, as Pieter wants a perfect virtual opponent played by a nurse while Harm wants the player to explore possibilities themselves. The perfect solution is a virtual opponent played by other patients so the player has the opportunity to chose the opponent themselves an pick out what interests them.
- Explore user requirements
Something else that is important to know before working on the replay feature is what is and isn't important to show the player so they can actually learn from their experience of playing against a virtual opponent and they have the feeling as if they aren't playing against a prerecorded bot. To be able to achieve this I would need to show the player all the opponent "actions". These include dice rolls, chosen tile, food ate, medicine taken, etc.
Results & Validation
The result is good knowledge about how I would have to go about implementing the virtual opponent and this can be validated in the devlog entry: Replay Virtual Opponent (Implementation).
Usage
I used the knowledge gathered together with the Replay Virtual Opponent document to start working on implementing the virtual opponent in the most efficient way with lower chances of failure.
Sources
Cuelenaere, J. J. P. (n.d.). Recording Virtual Opponent (Implementation). Graduation Internship Jasper Cuelenaere. Retrieved March 7, 2022, https://graduationinternshipjaspercuelenaere.webnode.nl/devlog/virtual-opponent/recording-implementation/
Short movie created by previous intern about saving ReplayManager (source unavailable)