This is the general design direction of the game. New development projects must respect those guidelines. Making changes to the guidelines must be deeply analyzed.
- No down time while in combat.
- Minimal menu-ing.
- Small down-time on death: Easy to revive partner. When eliminated in a quest, offer something to do meanwhile.
- Minimal preparation before combat
- Encourage risk taking / aggressive gameplay
- Small penalty on death
- Level and gears matter more than talent for solo-related content. (All content but highscore, competition and competitive PvP).
- Possible to grind if lack of talent. <- Issue right now
- Content must be as repeatable as possible to minimize development time.
- Repeatable content must have some depth. (Ex: Not killing x1000 the same monster.)
- Repeating content must give unique unreplacable rewards (aka be the only way to get a specific reward). Ex: Highscore stars, emoji. Only giving exp and items is not good.
- All decisions can be changed.
- Content must never become inaccessible.
- The cost to reroll may be high.
- Consequence: For quest storylines that split, must give option to repeat it with other branch.
- All progression-related content must be accessible on mobile. (Note: Cosmetic features don't have to.)
- No key feature on right-click or mouseover.
- All interfaces must handle both pc and mobile.
- Understandable and enjoyable even if skip all dialogues and cutscenes.
- Understandable even if no computer knowledge.
- May contain advanced computer notions, but must not be part of the main story. (Ex: Can be in lore books.)
- Must be expandable. Has no hard ending.
- Small number of characters. Focus on making them feel unique and interesting.
- Characters must be memorable, especially their name. This means easy to say and remember names.
- Story doesn't need to be linear.
- No irreversible storyline split.
- Must be enjoyable solo. (Doesn't require multiplayer to be a good game.)
- All content must be accessible solo. (Exception for non-content features such as achievements and highscores.)
- Trading is not mandatory to beat content.
- Best equipment must be obtained by yourself. Prevents secondary account and rwt.
- Encourage trading. (Ex: Common currency.)
- Prevent inflation
- Untradable top-tier equip.
- Consumable currency.
- Quick and easy to join friends at any time. (Exception for solo content.)
- Better to allow joining with reward penalty than to not allow.
- Limit RNG: Being unlucky increases chance to become lucky later. Ex: Pet drop rate.
- No situation where player lose all or win all.
- Prefer incremental progress over luck-based progress.
- PvP optional.
- Must not be able to be harassed by other players even when muted. Ex: Prevent players from doing something.
- Must not be forced to play with someone you don't like.
- Easy to get decent weapon but perfect weapon is very hard
- Entry cost should be very small to encourage early upgrade.
- Allow players to keep equip for a long time. (Allow to level up the equip.)
- Newly found equip must potentially be better than leveled up equip. <- Issue right now. Reduce max roll if leveled up?
- Less important than PvE
- A PvP update shouldn't degrade PvE.
- Keep PvP for fun. (Linked with Rage-quitting and engine limitation.)
- Allow PvP customization.
- High player density area
- Use static analysis as must as possible
- Minimize code using any typing.
- Permit shortcut against OOP, but must be statically validated.
- Minimize issue tracking overhead
- Stay up to date with new technology
- Support old browser versions only if doesn't affect code structure or performance.
- Server performance is more important than client performance
- Do as much work on the client as possible while remaining not exploitable
- Stay up to date with new technology
- Goal is 50 players per server. If not met, gameplay will need to be tuned down.
- Minimize manual testing by running integrity tests
- Downtime less than 30 minutes are acceptable.
- Keep the data up to date with the server. (Ex: Removed quests should be removed from database.)
- Data integrity more important than player progress. (Ex: Will not save player progress is corrupted.)