As a game developer
I want to visually build logical conditions through a dedicated Condition Builder
So that I can express gameplay logic without writing Ruby code while keeping my events readable, maintainable and scalable
The Condition Builder is the modern replacement for RPG Maker XP's Conditional Branch command.
Rather than exposing a fixed command with hardcoded inputs, Pokémon Studio provides a reusable visual component capable of composing logical expressions from conditions exposed by the Condition Registry (see #781).
The builder itself is completely generic: it knows how to build conditions, but not which conditions exist.
This separation ensures that new gameplay systems (Quests, Day Care, Pokédex, Plugins, etc.) can extend the available conditions without requiring modifications to the builder itself.
Objectives
The Condition Builder should:
- replace RPG Maker XP's Conditional Branch editor
- provide a modern and discoverable UX
- remain completely independent from gameplay logic
- support progressively richer gameplay systems through the Condition Registry
- become a reusable component across Pokémon Studio
Acceptance Criteria
General Component
Condition Editing
Users can create one or more conditions.
For each condition, the builder allows selecting:
The builder automatically adapts its UI according to the selected condition definition.
Examples include:
- Boolean toggle
- Numeric input
- Text input
- Enum selector
- Multi-select
- Database selector
- Duration picker
The user never manually chooses an editor type.
Dynamic Behaviour
Logical Groups
The builder supports logical expressions.
Users can:
The visual hierarchy clearly represents the logical evaluation order.
User Experience
The builder should prioritize:
- readability
- discoverability
- progressive disclosure
- minimal number of clicks
- consistency with the rest of Pokémon Studio.
Only relevant information should be displayed at each step.
The interface should guide users toward valid conditions rather than relying on validation errors.
Serialization
Accessibility
Documentation
Design Guidelines
The component should draw inspiration from modern rule builders (Power Automate, Airtable, Miro, Notion, etc.) while remaining consistent with Pokémon Studio's visual scripting philosophy.
The objective is not to reproduce RPG Maker XP's Conditional Branch interface, but to provide a significantly better editing experience.
The UI should remain compact enough to support complex expressions without overwhelming the user.
References
Out of Scope
This story does not include:
- implementation of gameplay conditions
- runtime evaluation
- compilation to PSDK instructions
- migration from RPG Maker XP
- plugin-defined conditions.
These concerns are handled by dedicated stories.
Product Notes
The Condition Builder is intended to become one of Pokémon Studio's core UI components.
Future systems should reuse it whenever users need to express logical rules.
For this reason, the builder should never contain hardcoded knowledge about Pokémon-specific concepts. It is solely responsible for building and editing logical expressions based on condition definitions exposed by the Condition Registry.
As a game developer
I want to visually build logical conditions through a dedicated Condition Builder
So that I can express gameplay logic without writing Ruby code while keeping my events readable, maintainable and scalable
The Condition Builder is the modern replacement for RPG Maker XP's Conditional Branch command.
Rather than exposing a fixed command with hardcoded inputs, Pokémon Studio provides a reusable visual component capable of composing logical expressions from conditions exposed by the Condition Registry (see #781).
The builder itself is completely generic: it knows how to build conditions, but not which conditions exist.
This separation ensures that new gameplay systems (Quests, Day Care, Pokédex, Plugins, etc.) can extend the available conditions without requiring modifications to the builder itself.
Objectives
The Condition Builder should:
Acceptance Criteria
General Component
Condition Editing
Users can create one or more conditions.
For each condition, the builder allows selecting:
The builder automatically adapts its UI according to the selected condition definition.
Examples include:
The user never manually chooses an editor type.
Dynamic Behaviour
Logical Groups
The builder supports logical expressions.
Users can:
The visual hierarchy clearly represents the logical evaluation order.
User Experience
The builder should prioritize:
Only relevant information should be displayed at each step.
The interface should guide users toward valid conditions rather than relying on validation errors.
Serialization
Accessibility
Documentation
User documentation explains:
Developer documentation explains:
Design Guidelines
The component should draw inspiration from modern rule builders (Power Automate, Airtable, Miro, Notion, etc.) while remaining consistent with Pokémon Studio's visual scripting philosophy.
The objective is not to reproduce RPG Maker XP's Conditional Branch interface, but to provide a significantly better editing experience.
The UI should remain compact enough to support complex expressions without overwhelming the user.
References
Out of Scope
This story does not include:
These concerns are handled by dedicated stories.
Product Notes
The Condition Builder is intended to become one of Pokémon Studio's core UI components.
Future systems should reuse it whenever users need to express logical rules.
For this reason, the builder should never contain hardcoded knowledge about Pokémon-specific concepts. It is solely responsible for building and editing logical expressions based on condition definitions exposed by the Condition Registry.