UFL MINI

About

UFL Mini is a simple but flexible system for handling turn-based combat for your roleplaying games, with a focus on simplicity and ease of use. Inspired by DnD, UFL, Rendezvous Fight and other systems, simplified and distilled.

About Developer

Hello. I'm Wrecksler, also going by the name ShadeAnimator. I've been in ERP community since around 2010, and have been developing tools and systems for roleplayers since around 2013. Most notable are GMHelper, Rendezvous Fight and UFL, as well as Fallout4 F4AK - I was part of the team that cracked and simplified and developed tools an documentation about creating custom animations for Fallout 4.

Why "Mini"?

Because it is a spin-off project from UFL 2.0. While developing UFL 2.0 I realized that it will take a lot more time and effort to develop it, and it might even end up being too complex for majority of people. So I decided to take the core idea behind UFL 2.0 and make a project out of it. I called it UFL Mini, because it's a mini version of what UFL 2.0 was\is meant to be.

I don't yet know whether I will grow UFL Mini to become UFL 2.0 over time, or whether UFL 2.0 will be a separate project existing alongside UFL Mini. I guess we'll see!

UFL Mini - Rules & Guide

Quick Start

  1. Sign Up using only Username and Password. Your username will be your character's name. You can create multiple profiles for multiple characters.
  2. Adjust your character attributes (only a few), select pronouns and gender (helps AI narration avoid awkward misgendering), and optionally upload avatar images and character reference images (up to 3).
  3. Choose which moves your character can perform from a list of Default and Community moves.
  4. Earn gold and items - fight PvE enemies to earn XP, gold, and loot. Buy or craft gear from the Shop or Market.
  5. Create or join a room from the dashboard. You can fight other players (PvP) or challenge AI-controlled enemies (PvE).
  6. Select your role: participant fights; observer watches, chats and comments.
  7. As participant, click Join Room, then Ready. When all participants are ready, the match starts.

Core Rules

Stats

Each character has the following stats

  • HP (Health Points) - Your total health.
  • AC (Armor Class) - 0-20, default 10. Attacks must meet or exceed AC to hit.
  • DMG (Damage Modifier) - Flat bonus added to some damage rolls (e.g., 1d6 + DMG).
  • AP (Action Points) - Energy to perform moves each turn. Default 3 AP per turn.

Ranked vs Unranked Stats

You have both unranked stats and ranked stats.

Unranked stats are freely editable stat set for casual roleplay fights. There are no caps or restrictions - you can set them to whatever values you like. These stats are used in unranked (public casual) matches.

Ranked stats are a separate stat set used in competitive (ranked) fights. They start at baseline values and are upgraded using stat points earned through leveling up. This is your progression path - similar to an MMORPG, where you earn the right to improve your character.

Combat Flow

Most of this is handled internally by the game engine, but here are the core rules that it follows.

  • Initiative - At match start each participant rolls a d20. Highest to lowest defines turn order; ties break by username.
  • Attack Resolution - An attack hits on 1d20 ≥ target AC.
  • Critical Hit - Natural 20; damage is doubled.
  • Status
    • Alive: HP > 0.
    • Unconscious: HP ≤ 0.
    • Dead: HP ≤ −(Max HP ÷ 2). (e.g., if Max HP is 20, you die at −10 HP).
  • Turns & AP - On your turn, use moves while you have AP > 0. When AP is spent, your turn ends - click End Turn to pass to the next fighter.
  • Conditions - Some moves apply status effects (DoT, Stun, Stat debuffs/buffs). These expire after a set number of turns.

Match Types

  • Unranked - Casual fights with no XP or ELO consequences.
  • Ranked - Competitive fights. Win to earn XP, gold, and ELO rating. Loss still earns partial rewards.
  • PvE - Fight AI-controlled enemies. Win to earn XP, gold, and item drops. Enemies have difficulty levels (easy, medium, hard, boss) affecting rewards.

Disqualification & Victory

  • DQ Rule - Per-room setting: KO (lose on unconscious or dead) or Death (lose only on dead).
  • Victory - Currently: last fighter remaining who is not disqualified.

Per-Room State

In-match stats (current HP/AP, move uses, status, conditions) are instanced per room, so you can fight in multiple rooms independently.

Moves

  • Definition: Name, Damage (e.g., 1d6, 1d12, 1d20 + DMG), AP Cost, optional Uses per Match, Description.
  • Global Library: All user-created moves are available for others to select.
  • Selection: Each fighter builds a personal Move Set from the library.

Important: New fighters start with no moves selected. Go to Profile → Move Set and choose your moves, otherwise you cannot act in combat.

Creating Moves

To add a new move to the global library, use the Moves page. Each move consists of:

  • Name - A short, memorable name for the move.
  • Damage - A dice expression (e.g., 1d6, 1d8 + DMG, 2d6+3). Use HEAL prefix for healing moves (e.g., HEAL2d4).
  • AP Cost - Action points spent to use the move. Default is 1.
  • Uses per Match - Optional limit on how many times the move can be used in a single fight. Leave blank for unlimited.
  • Condition - Finisher moves require a target condition before use: below_25_pct (target below 25% HP) or unconscious. They can also have a Failure Penalty (e.g., backfire damage).
  • Heal - Optional healing expression for support moves (e.g., 2d4).
  • Cure Archetypes - Comma-separated list of condition types to remove from self (e.g., dot,stun).
  • Description - Plain text description shown to players.
  • Is Public - Whether other players can use your move in their movesets.

Move Conditions (Effects)

When creating a move, you can attach one or more Conditions - special effects that are applied to the target (or yourself) when the move hits:

  • Archetype - The type of effect:
    • dot - Damage over Time. Deals damage each turn at the start of the affected fighter's turn.
    • stun - Target loses their next turn.
    • stat_debuff - Reduces target's chosen stat (ac, dmg, hp, ap) for the duration.
    • stat_buff - Increases your own stat for the duration.
    • accuracy_debuff - Reduces target's chance to hit (lowers their d20 roll).
  • Magnitude - Effect strength (e.g., 2d6 for DoT damage, or 2 for stat penalties).
  • Duration - Number of turns the effect lasts.
  • Target - Who receives the effect: enemy or self.

Glossary of Terms & Abbreviations

  • AP - Action Points. Energy to perform moves each turn. Default 3 AP per turn.
  • DoT - Damage over Time. A condition that deals damage at the start of each turn.
  • AC - Armor Class. 0-20, default 10. Attacks must meet or exceed AC to hit.
  • DMG - Damage Modifier. Flat bonus added to damage rolls.
  • HP - Health Points. Your total health.
  • Power Score - A calculated value representing the overall strength of a move. Movesets have a budget based on your level.
  • KO - Knockout. When HP drops to 0 or below.
  • DQ Rule - Disqualification rule. Determines whether KO ("unconscious + dead") or Death ("dead only") triggers loss.
  • Overwhelm - A bonus triggered when a target has 3+ unique debuff types (-1 to all stats for 1 turn).
  • Shatter - A +50% damage bonus when hitting a stunned target.
  • Unranked Stats - Freely editable stats for casual fights. No caps, no restrictions. Used in unranked matches.
  • Ranked Stats - Progression-based stats for competitive fights. All characters start at the same baseline; upgrades are purchased with earned stat points.

Moveset Budget

Your moveset has a Power Score budget based on your level: 15 + level × 5. Each move has a power score calculated from its damage, healing, conditions, and efficiency. You cannot add moves that exceed your budget.

Lobby & Match

  • Roles: Participants fight; observers spectate and chat.
  • Ready: Match starts automatically when all participants are ready.
  • Log: The chat/log records turn changes, moves, rolls, damage, and status changes.

Have fun and welcome to the UFL underground.

Trust & Safety

New accounts start with limited social capabilities to protect the community from spam and abuse. As you play, your trust level increases automatically.

Trust Levels

  • New - Default for freshly created characters. Can fight in rooms and use basic features. Cannot vouch for others or file reports.
  • Verified - Automatically earned after completing 5 fights. Can vouch for new players and file reports. Full access to social features.
  • Trusted - Granted by admins to longstanding community members. Carries additional weight when vouching.

Vouching

If you are at least Verified, you can vouch for New characters from their profile page. Vouching signals that you've interacted with the player and they're legitimate. A character's vouch chain is visible to admins and helps identify alt accounts and bad actors.

Progression as Deterrent

Your character's level, items, ELO rating, and reputation represent real time investment. Banned characters lose all of this - creating a new account means starting from scratch. This is by design: the cost of being toxic should be tangible.

Multiple characters, alt accounts, username\character name.

The system is built around the concept that 1 user = 1 character. Your user account is your character account. This is unlike many other roleplaying platforms that are designed about the clear separation between a "user" and a "character".

After thinking this through - I don't see any real benefits to going this route. It only adds unnecessary complexity into code, and in the end it does not really help the user experience. Often all of t hese things are added to make it easier to ban people for breaking the rules, but it's not impossible to just make a new one from a different email, or using a different IP through VPN or proxy. I will think about alternative methods of protection.