-
Notifications
You must be signed in to change notification settings - Fork 935
UI Guidelines
github-actions[bot] edited this page May 19, 2026
·
1 revision
Forge is a volunteer project and creativity is encouraged! This page is not a hard rule-book — the guidelines below are intended to give some direction to contributors submitting UI changes and help maintain a consistent UI approach across the project.
- Aim to be intuitive and user-friendly.
- Involve a good mix of dynamic and static elements.
- Use reasonable, context-driven default options.
- User-facing elements should always use localisation keys, not hard-coded strings.
- UI elements should be compatible with theme skinning — prefer skin-aware components and colours over hard-coded styles.
- The default Forge skin should favour accessibility.
- Purpose: detailed in-match configuration options.
- Heuristic: if it affects in-match gameplay or display and the user might want to change it mid-match, it should live in the Game menu for easy access.
The in-match menu bar is divided into the following top-level submenus:
- Game — how the user interacts with game state (e.g. yield options, auto yields and triggers, concede).
- Layout — visual UI and layout (e.g. XML layout files, theme selection, UI panel options).
- Display — how game state is displayed to the user (e.g. card overlays, targeting arcs, stack/group token options, separate combatants toggle).
- Audio — sound and music settings.
Conventions:
- If a new feature involves suboptions (not just a single checkbox), group them together in a submenu.
- Avoid nesting menu items more than 3 levels deep (e.g.
Forge > Game > Stack/Group optionsis as deep as we want to go).
- Purpose: quick shortcuts and toggles for the most commonly used gameplay functions.
- Heuristic: if the user would need to navigate the game menu multiple times per match to change a setting, it should have a button here.
- The dock is only ever a mirror of a setting or option — never the exclusive entry point.
- Purpose: comprehensive access to all available user preferences and options.
- The search filter makes this menu cheap to add to — don't be overly concerned about menu length.
Physical space is at a premium on mobile, so only the most essential settings a user needs to access in-match should appear in the game menu. Generally these will be settings that involve interacting with game state, not just display options.
- Purpose: comprehensive access to all available user preferences and options.
- The search filter makes this menu cheap to add to — don't be overly concerned about menu length.
-
Adventure Mode
-
Gameplay Guide
-
Tutorials
-
-
Development
-
Customization & Themes