Event Storming Technique

posted in Event-driven engine for project Hangman
Published September 02, 2021
Advertisement

I was delaying this post till I started a new project. I have started with the new mini-game Secret Code but I need an editor to manage easily the Event-Action chain.
So I will try to apply the Event Storming Technique to build the editor.

We need to start with the User Stories, these are high level statements from the user's perspective. We will use the following template:

As a [type of user]
I want to [perform some task]
so that I can [reach some goal]

At the moment, I'm the only user with an editor role in the program. I will describe what i need from this software.

"As an editor
I want to add an event
so that I can see the events of my games"

"As an editor
I want to add an action
so that I can see the actions of my games"

"As an editor
I want to connect events with actions and vice verse
so that I can see the connections between them"

"As an editor
I want to change the layout of the objects
so that I can see better the flow diagram"

"As an editor
I want to save a flow diagram
so that I can load it in the future"

"As an editor
I want to load a flow diagram
so that I can see it"


I will use sticky notes to draw the flow diagram.

It doesn't matter the colors or the symbols, but choose any and get used to it.

For each User Story, we will start with the events (word - past verb).
For the first User Story:

"As an editor
I want to add an event
so that I can see the events of my games"

Firstly, the user triggers the action, so the first event is that the action has been triggered. Later the event is captured, then saved, the position is updated and later drawn in the screen.
This is the outcome of what we want to achieve.

Next we add the actions, what do we need to do to get those outcomes?
Just a high-level actions. Capture, validate, save, position in the layout, draw.
We are not providing details about how to implement the actions. Just what it is needed.



In the third step we assign those tasks to actors. Who does the action?

In ECS, the actor are the Systems, in my engine, the actors are entity.components. Simple classes that know how to do a specific task.

With the small number of User Stories, I have this flow diagram.
The diagram identifies what is needed to get the outcomes so you can work in any tasks knowing what is expected from it. If there is a team, different people can work in different tasks in parallel.
You focus on an EventIn-Action-EventOut, where you need to implement the Action, parsing the data from EventIn if needed and generate the data for the EventOut.

This is the link to the flow diagram in Miro tool:
https://miro.com/app/board/o9J_l3K4otc=

In the coming days, I will start implementing the different actions. I will share some progress.


Previous Entry Release 0.2.1
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement