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.
π‘οΈ 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
Example
{
"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
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
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:
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_idxData Sources
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:
- Status effect match weighted by boss resistance (lower resistance = higher score)
- Physical damage type match weighted by boss negation difference
- 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
- Lore coverage: ~40% of entities have matched lore from HTML archives; rest use CSV descriptions
- DLC weapon scaling:
elden_ring_weapon.csvcovers base game only; DLC weapons may lack scaling data - Elemental weakness: Boss stats CSV does not include elemental damage negation β only physical types
- Resistance parsing: Some bosses have
"????"resistance values, treated as immune - Recommendation scope: Based on damage type + status + scaling only, not moveset or player skill
Citation
@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.
