CoolFace
Datasetpublic

ArenaRune/EldenRingQA

πŸ—‘οΈ Elden Ring QA Dataset A domain-specific question-answering dataset for Elden Ring, covering weapons, bosses, armors, spells, NPCs, locations, creatures, skills, and ashes of war β€” including cross-entity boss vulnerability analysis and per-build weapon recommendations. Uses Intended Uses Fine-tuning language models for Elden Ring domain-specific QA Training instruction-following models on structured game knowledge Retrieval-augmented generation… See the full description on the dataset page: https://huggingface.co/datasets/ArenaRune/EldenRingQA.

sourceHugging Facecc-by-nc-4.0updated 7mo agoView on Hugging Face
0likes23downloads
Dataset Card

πŸ—‘οΈ Elden Ring QA Dataset

A domain-specific question-answering dataset for Elden Ring, covering weapons, bosses, armors, spells, NPCs, locations, creatures, skills, and ashes of war β€” including cross-entity boss vulnerability analysis and per-build weapon recommendations.

Dataset Description

  • β€”Created by: ArenaRune
  • β€”Language: English
  • β€”License: CC-BY-NC-4.0 (dataset construction; game content belongs to FromSoftware/Bandai Namco)
  • β€”Source data: Kaggle CSVs + GitHub lore archives (see Sources below)

Uses

Intended Uses

  • β€”Fine-tuning language models for Elden Ring domain-specific QA
  • β€”Training instruction-following models on structured game knowledge
  • β€”Retrieval-augmented generation (RAG) systems for game wikis/chatbots
  • β€”Research on domain adaptation and factual grounding in LLMs

Out-of-Scope Uses

  • β€”Commercial game guide products (game content belongs to FromSoftware)
  • β€”Factual reference without verification (some generated answers may contain approximations)

Dataset Structure

Format

JSONL β€” one JSON object per line.

Fields

FieldTypeDescription
instructionstringNatural language question about Elden Ring
inputstringAlways empty
outputstring1-2 sentence factual answer
metadata.entity_typestringEntity category (see below)
metadata.question_typestringQuestion category (see below)
metadata.entity_namestringEntity the question is about

Example

json
{
  "instruction": "What weapons are good against Mohg, Lord of Blood?",
  "input": "",
  "output": "Effective weapons against Mohg include: Varre's Bouquet (arcane build - Applies Hemorrhage, boss resistance: 290 / 332 / 430 / 720); Rivers of Blood (dexterity build - Applies Hemorrhage).",
  "metadata": {
    "entity_type": "boss",
    "question_type": "weapon_recommendation",
    "entity_name": "Mohg, Lord of Blood"
  }
}

Entity Types

Entity TypeDescription
weaponSwords, axes, staves, bows, shields, etc.
bossMajor and minor boss encounters
armorHelms, chest armor, gauntlets, leg armor
sorceryIntelligence-based spells
incantationFaith/Arcane-based spells
npcNon-player characters
locationDungeons, regions, landmarks
creatureRegular enemies
skillWeapon arts and abilities
ash_of_warEquippable skill items

Question Types

Weapons: lore, category, requirements, scaling, passive, skill, weight, base_damage

Bosses: lore, location, hp, weakness, weaponrecommendation, weaponrec{build}, statuscheck, inflicts, parry, boss_damage, drops

Spells: lore, effect, requirements, location, school

NPCs: lore, location, role

Locations: lore, region, bosses, npcs, items, creatures

Armors: lore, stats, acquisition, special

Creatures: lore, location, drops

Ashes of War / Skills: lore, skill, effect, equipment

Question Phrasing

Each question type includes 2-4 randomized phrasings mixing formal and casual styles:

  • β€”"What are the stat requirements for Rivers of Blood?"
  • β€”"What stats do I need for Rivers of Blood?"
  • β€”"I'm running a strength build, what should I use against Malenia?"
  • β€”"Does bleed work on Mohg?"
  • β€”"How do I beat Radahn?"

Loading the Dataset

python
from datasets import load_dataset

dataset = load_dataset("your-username/elden-ring-qa-dataset")

# Access examples
for ex in dataset["train"]:
    print(ex["instruction"])
    print(ex["output"])
    print(ex["metadata"]["entity_type"])

Stratified Splitting

The metadata enables stratified train/val/test splitting to ensure all (entity_type, question_type) combinations appear in every split:

python
from collections import defaultdict
import random

def stratified_split(dataset, train_r=0.8, val_r=0.1, test_r=0.1):
    groups = defaultdict(list)
    for i, ex in enumerate(dataset):
        key = (ex["metadata"]["entity_type"], ex["metadata"]["question_type"])
        groups[key].append(i)
    
    train_idx, val_idx, test_idx = [], [], []
    for key, indices in groups.items():
        random.shuffle(indices)
        n = len(indices)
        n_train, n_val = max(1, int(n * train_r)), max(1, int(n * val_r))
        if n >= 3:
            train_idx.extend(indices[:n_train])
            val_idx.extend(indices[n_train:n_train + n_val])
            test_idx.extend(indices[n_train + n_val:])
        elif n == 2:
            train_idx.append(indices[0])
            val_idx.append(indices[1])
        else:
            train_idx.append(indices[0])
    return train_idx, val_idx, test_idx

Data Sources

SourceTypeContent
Kaggle β€” Ultimate Elden Ring with Shadow of the Erdtree DLC12 CSVsWeapons (402), bosses (153), armors (723), NPCs (109), locations (286), sorceries (84), incantations (129), creatures (205), skills (257), ashes of war (117)
Kaggle β€” Elden Ring Boss Stats1 CSVBoss damage negation, status resistances, stance, defense (142 bosses)
Kaggle β€” Elden Ring Weapons1 CSVWeapon scaling grades, base damage breakdown (307 weapons)
GitHub β€” Impalers-ArchiveHTMLShadow of the Erdtree DLC text dump
GitHub β€” Carian-ArchiveHTMLBase game text dump

Construction Pipeline

extract_lore.py   β†’  master_lore.json        (HTML lore extraction)
                           ↓
fuse_data.py       β†’  elden_ring_enriched.json (Data fusion + cross-referencing)
                           ↓
generate_qa.py     β†’  elden_ring_final_train.jsonl (QA pair generation)

Key Pipeline Features

  • β€”Fuzzy name matching across sources using difflib (0.75 cutoff)
  • β€”Nested data parsing of string-encoded dicts/lists via ast.literal_eval
  • β€”Boss vulnerability analysis: Determines physical weakness (lowest damage negation), ranks status vulnerabilities by base resistance, and cross-references weapon index for per-build recommendations
  • β€”Weapon indexing: Groups weapons by damage type, status effect, category, and primary scaling stat
  • β€”Location cross-referencing: Reverse lookups from locations to bosses, NPCs, creatures

Unique Features

Boss Vulnerability β†’ Weapon Recommendations

Each boss entry includes programmatically generated weapon recommendations distributed across 5 build archetypes:

  • β€”Strength β€” weapons with high Str scaling matching boss weakness
  • β€”Dexterity β€” weapons with high Dex scaling matching boss weakness
  • β€”Intelligence β€” weapons with high Int scaling matching boss weakness
  • β€”Faith β€” weapons with high Fai scaling matching boss weakness
  • β€”Arcane β€” weapons with high Arc scaling matching boss weakness

Recommendations are scored by:

  1. 1.Status effect match weighted by boss resistance (lower resistance = higher score)
  2. 2.Physical damage type match weighted by boss negation difference
  3. 3.Weapons appearing in both status AND physical match score highest

Status Vulnerability Ranking

Boss status resistances like "290 / 332 / 430 / 720" are parsed and ranked. Lower base resistance = more effective. For example, Mohg has Hemorrhage resistance of 290 vs Scarlet Rot at 653, so Bleed weapons are prioritized in recommendations.

Limitations

  1. 1.Lore coverage: ~40% of entities have matched lore from HTML archives; rest use CSV descriptions
  2. 2.DLC weapon scaling: elden_ring_weapon.csv covers base game only; DLC weapons may lack scaling data
  3. 3.Elemental weakness: Boss stats CSV does not include elemental damage negation β€” only physical types
  4. 4.Resistance parsing: Some bosses have "????" resistance values, treated as immune
  5. 5.Recommendation scope: Based on damage type + status + scaling only, not moveset or player skill

Citation

bibtex
@misc{eldenring-qa-dataset-2026,
  author = {ArenaRune},
  title = {Elden Ring QA Dataset},
  year = {2026},
  publisher = {HuggingFace},
  url = {https://huggingface.co/datasets/ArenaRune/elden-ring-qa-dataset}
}

License

Dataset construction code and QA generation are provided under CC-BY-NC-4.0. Game data, lore text, and item descriptions are the property of FromSoftware / Bandai Namco Entertainment. Source datasets are subject to their respective Kaggle and GitHub licenses.