CrucibleLab/Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096
<html lang="en" style="margin:0; padding:0; width:100%; height:100%;"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096</title> <link href="https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Orbitron:wght@600;800&family=Cascadia+Code&display=swap" rel="stylesheet"> <style> / MYSTIC SORCERER THEME / @media (max-width: 480px) { .debug-overflow { border: 2px solid red !important; } .composition-list li { grid-template-columns: 1fr; } .model-component a { display: inline; word-break: break-word; } .container { padding-left: 0; padding-right: 0; } }
- { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 16px; scroll-behavior: smooth; } body { font-family: 'Lora', serif; background-color: #1a2f28; color: #E8F0E8; line-height: 1.6; background: radial-gradient(ellipse at center, #2d3d36 0%, #1a2f28 60%, #0d1f18 100%); background-attachment: fixed; position: relative; overflow-x: hidden; margin: 0; padding: 0; font-size: 16px; overflow-y: auto; min-height: 100vh; height: auto; } body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 15% 25%, rgba(127, 219, 218, 0.12) 0%, transparent 35%), radial-gradient(circle at 85% 75%, rgba(218, 112, 214, 0.10) 0%, transparent 35%), radial-gradient(circle at 50% 50%, rgba(201, 162, 39, 0.08) 0%, transparent 50%); pointer-events: none; z-index: -1; } / Typography / h1, h2, h3, h4, h5, h6 { font-family: 'Cinzel Decorative', serif; font-weight: 700; color: #E8F0E8; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 1px; } p { margin-bottom: 1.5rem; color: rgba(232, 240, 232, 0.9); } a { color: #7FDBDA; text-decoration: none; transition: all 0.3s ease; } a:hover { color: #C9A227; text-shadow: 0 0 10px rgba(201, 162, 39, 0.7); } / Details & Summary / details { margin-bottom: 15px; } summary { cursor: pointer; list-style: none; position: relative; padding-left: 25px; outline: none; } summary::-webkit-details-marker { display: none; } summary::before { content: '►'; position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: #C9A227; font-size: 14px; transition: transform 0.3s ease; } details[open] summary::before { transform: translateY(-50%) rotate(90deg); } details[open] summary { margin-bottom: 20px; border-bottom: 1px solid rgba(201, 162, 39, 0.4); padding-bottom: 10px; } / Code blocks / code { font-family: 'Cascadia Code', 'Source Code Pro', monospace; background: rgba(127, 219, 218, 0.1); padding: 0.2rem 0.4rem; border: 1px solid rgba(127, 219, 218, 0.3); border-radius: 3px; font-size: 0.9rem; color: #7FDBDA; } pre { background: rgba(13, 31, 24, 0.9); padding: 1rem; border: 1px solid rgba(201, 162, 39, 0.3); border-left: 3px solid #C9A227; overflow-x: auto; margin-bottom: 1.5rem; border-radius: 0 8px 8px 0; white-space: pre-wrap; word-wrap: break-word; } pre code { background: transparent; padding: 0; border: none; color: #E8F0E8; font-size: 0.85rem; } / Metrics section / .metrics-section { margin-bottom: 30px; position: relative; } .core-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 15px; margin-bottom: 30px; } .metric-box { background: linear-gradient(145deg, rgba(26, 61, 46, 0.9), rgba(13, 40, 24, 0.95)); border: 2px solid #2d5a47; border-radius: 12px; padding: 15px; display: flex; flex-direction: column; gap: 8px; position: relative; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(201, 162, 39, 0.1); transition: all 0.3s ease; text-align: center; } .metric-box::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #C9A227, transparent); } .metric-box:hover { box-shadow: 0 6px 20px rgba(201, 162, 39, 0.2), inset 0 1px 0 rgba(201, 162, 39, 0.2); transform: translateY(-3px); border-color: #3d7a5e; } .metric-box .label { color: #E8F0E8; font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; } .metric-box .value { color: #C9A227; font-size: 24px; font-weight: 700; text-shadow: 0 0 15px rgba(201, 162, 39, 0.5); font-family: 'Orbitron', sans-serif; } .glow-card { position: relative; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); border: 2px solid #2d5a47; transition: all 0.5s ease; border-radius: 12px; } .glow-card:hover { box-shadow: 0 8px 30px rgba(201, 162, 39, 0.15), inset 0 0 20px rgba(127, 219, 218, 0.05); border-color: #3d7a5e; } .divider-rune { text-align: center; margin: 40px 0; color: #C9A227; font-size: 28px; text-shadow: 0 0 15px rgba(201, 162, 39, 0.6); font-family: 'Cinzel Decorative', serif; } .divider-rune::before, .divider-rune::after { content: '— ᛟ —'; color: #7FDBDA; margin: 0 15px; font-size: 18px; vertical-align: middle; text-shadow: 0 0 10px rgba(127, 219, 218, 0.4); } / Container & Layout / .container { width: 100%; max-width: 100%; margin: 0; padding: 20px; position: relative; background: linear-gradient(160deg, rgba(26, 61, 46, 0.95) 0%, rgba(13, 40, 24, 0.98) 50%, rgba(26, 47, 40, 0.95) 100%); border: 3px solid #2d5a47; box-shadow: 0 0 40px rgba(0, 0, 0, 0.5), inset 0 0 60px rgba(13, 31, 24, 0.5), 0 0 100px rgba(201, 162, 39, 0.08); border-radius: 16px; } .container::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 20% 30%, rgba(127, 219, 218, 0.08) 0%, transparent 40%), radial-gradient(circle at 80% 70%, rgba(218, 112, 214, 0.06) 0%, transparent 35%); pointer-events: none; z-index: -1; border-radius: 16px; } .header { margin-bottom: 40px; position: relative; padding-bottom: 20px; border-bottom: 2px solid transparent; border-image: linear-gradient(90deg, transparent 0%, #C9A227 20%, #C9A227 80%, transparent 100%) 1; overflow: hidden; } .header h1 { font-family: 'Cinzel Decorative', serif; font-size: 34px; color: #E8F0E8; text-align: center; text-transform: uppercase; letter-spacing: 2px; margin: 0; text-shadow: 0 0 20px rgba(201, 162, 39, 0.5), 0 2px 4px rgba(0, 0, 0, 0.5); background: linear-gradient(180deg, #F0E68C 0%, #C9A227 50%, #8B7355 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .info { margin-bottom: 50px; } .info > img { width: 100%; max-width: 100%; height: auto; object-fit: contain; border: 3px solid #2d5a47; margin-bottom: 30px; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4), 0 0 60px rgba(127, 219, 218, 0.1); background-color: rgba(13, 31, 24, 0.8); display: block; border-radius: 12px; margin-left: auto; margin-right: auto; } .section-container { margin-bottom: 40px; padding: 25px; background: linear-gradient(145deg, rgba(26, 61, 46, 0.85), rgba(13, 40, 24, 0.9)); border: 2px solid #2d5a47; border-left: 4px solid #C9A227; position: relative; box-shadow: 0 4px 25px rgba(0, 0, 0, 0.3); border-radius: 0 12px 12px 0; } .section-container h2 { margin-top: 0; border-bottom: 1px solid rgba(201, 162, 39, 0.3); padding-bottom: 10px; color: #C9A227; text-shadow: 0 0 10px rgba(201, 162, 39, 0.3); } .section-container h3 { color: #7FDBDA; font-size: 1.2rem; margin-top: 1.5rem; text-shadow: 0 0 8px rgba(127, 219, 218, 0.3); } .info-card { background: rgba(13, 31, 24, 0.6); border: 1px solid #2d5a47; border-radius: 10px; padding: 20px; margin-top: 15px; } .card-content { display: flex; flex-direction: column; gap: 15px; } .download-grid { display: flex; flex-wrap: wrap; gap: 15px; justify-content: flex-start; margin-top: 10px; } .universe-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; } .universe-col ul { list-style: none; padding-left: 0; } .universe-col li { padding: 6px 0; border-bottom: 1px solid rgba(45, 90, 71, 0.4); color: rgba(232, 240, 232, 0.85); } .universe-col li::before { content: '✦'; color: #C9A227; margin-right: 10px; text-shadow: 0 0 6px rgba(201, 162, 39, 0.5); } .mode-card { background: linear-gradient(145deg, rgba(26, 61, 46, 0.8), rgba(13, 40, 24, 0.9)); border: 2px solid #2d5a47; padding: 20px; margin-bottom: 20px; transition: all 0.3s ease; border-radius: 12px; } .mode-card:hover { background: linear-gradient(145deg, rgba(45, 90, 71, 0.85), rgba(26, 61, 46, 0.9)); border-color: #3d7a5e; transform: translateX(8px); box-shadow: 0 6px 25px rgba(0, 0, 0, 0.3); } .mode-card h3 { color: #7FDBDA; margin-top: 0; text-shadow: 0 0 10px rgba(127, 219, 218, 0.4); } .tag-item { display: flex; align-items: flex-start; margin-bottom: 10px; padding: 12px; background: rgba(13, 31, 24, 0.6); border-left: 3px solid #7FDBDA; border-radius: 0 8px 8px 0; } .tag-item code { margin-right: 15px; min-width: 200px; display: inline-block; } / Team Section / .team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 25px; } a.team-member { text-decoration: none; color: #E8F0E8; display: block; } .team-member { background: linear-gradient(145deg, rgba(26, 61, 46, 0.9), rgba(13, 40, 24, 0.95)); border: 2px solid #2d5a47; padding: 25px 20px; text-align: center; transition: all 0.3s ease; position: relative; overflow: hidden; border-radius: 16px; } .team-member::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, currentColor, transparent); opacity: 0.5; } .team-member:hover { transform: translateY(-8px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4); } .team-member img { width: 90px; height: 90px; border-radius: 50%; border: 3px solid; margin: 10px 0; object-fit: cover; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .member-role { font-family: 'Cinzel Decorative', serif; font-size: 0.9rem; letter-spacing: 1px; opacity: 0.9; margin-bottom: 15px; text-transform: uppercase; } .member-badge { font-size: 1.8rem; margin-bottom: 5px; filter: drop-shadow(0 0 8px rgba(255,255,255,0.4)); } .member-steel { border-color: #C9A227; } .member-steel::before { background: linear-gradient(90deg, transparent, #C9A227, transparent); } .member-steel:hover { box-shadow: 0 12px 40px rgba(201, 162, 39, 0.25), inset 0 0 20px rgba(201, 162, 39, 0.1); border-color: #DAA520; } .member-steel h3 { color: #C9A227; text-shadow: 0 0 12px rgba(201, 162, 39, 0.4); } .member-steel img { border-color: #C9A227; box-shadow: 0 0 20px rgba(162, 39, 0.35); } .member-steel .member-role { color: #F0E68C; } .member-tarek { border-color: #7FDBDA; } .member-tarek::before { background: linear-gradient(90deg, transparent, #7FDBDA, transparent); } .member-tarek:hover { box-shadow: 0 12px 40px rgba(127, 219, 218, 0.25), inset 0 0 20px rgba(127, 219, 218, 0.1); border-color: #5FCED6; } .member-tarek h3 { color: #7FDBDA; text-shadow: 0 0 12px rgba(127, 219, 218, 0.4); } .member-tarek img { border-color: #7FDBDA; box-shadow: 0 0 20px rgba(127, 219, 218, 0.35); } .member-tarek .member-role { color: #B0F0F0; } .member-darkhn { border-color: #DA70D6; } .member-darkhn::before { background: linear-gradient(90deg, transparent, #DA70D6, transparent); } .member-darkhn:hover { box-shadow: 0 12px 40px rgba(218, 112, 214, 0.25), inset 0 0 20px rgba(218, 112, 214, 0.1); border-color: #FF69B4; } .member-darkhn h3 { color: #DA70D6; text-shadow: 0 0 12px rgba(218, 112, 214, 0.4); } .member-darkhn img { border-color: #DA70D6; box-shadow: 0 0 20px rgba(218, 112, 214, 0.35); } .member-darkhn .member-role { color: #F0B0F0; } / Support Buttons / .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; background: linear-gradient(145deg, rgba(45, 90, 71, 0.8), rgba(26, 61, 46, 0.9)); color: #C9A227; border: 2px solid #C9A227; text-transform: uppercase; letter-spacing: 1.5px; cursor: pointer; transition: all 0.3s ease; text-align: center; border-radius: 25px; font-weight: 600; font-size: 0.85rem; text-shadow: 0 0 8px rgba(201, 162, 39, 0.3); } .button:hover { background: linear-gradient(145deg, rgba(201, 162, 39, 0.2), rgba(201, 162, 39, 0.1)); box-shadow: 0 0 25px rgba(201, 162, 39, 0.4), inset 0 0 15px rgba(201, 162, 39, 0.1); transform: translateY(-2px); color: #F0E68C; } .link-arrow { font-size: 1.1rem; transition: transform 0.2s ease; } .button:hover .link-arrow { transform: translateX(4px); } / Corners / .corner { position: absolute; width: 2.5em; height: 2.5em; border: 2px solid #C9A227; transition: all 0.3s ease; opacity: 0.7; } .topleft { top: 8px; left: 8px; border-right: none; border-bottom: none; border-radius: 8px 0 0 0; } .topright { top: 8px; right: 8px; border-left: none; border-bottom: none; border-radius: 0 8px 0 0; } .bottomleft { bottom: 8px; left: 8px; border-right: none; border-top: none; border-radius: 0 0 0 8px; } .bottomright { bottom: 8px; right: 8px; border-left: none; border-top: none; border-radius: 0 0 8px 0; } / Wisp animation / .wisp { position: fixed; width: 4px; height: 4px; background-color: #7FDBDA; border-radius: 50%; pointer-events: none; box-shadow: 0 0 12px #7FDBDA, 0 0 20px rgba(127, 219, 218, 0.5); animation: floatUp 8s linear infinite; opacity: 0; } @keyframes floatUp { 0% { transform: translateY(100vh) translateX(0); opacity: 0; } 10% { opacity: 0.7; } 90% { opacity: 0.7; } 100% { transform: translateY(-20vh) translateX(50px); opacity: 0; } } </style> </head> <body> <div id="wisp-container"></div> <div class="container"> <div class="corner topleft"></div> <div class="corner topright"></div> <div class="corner bottomleft"></div> <div class="corner bottomright"></div>
<div class="header"> <h1>Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096</h1> </div>
<div class="info"> <img src="https://huggingface.co/Darkhn/Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096/resolve/main/loki.gif" alt="Loki-v2 Model Art" style="width: 100%; max-width: 100%; height: auto; object-fit: contain; border: 3px solid #2d5a47; margin-bottom: 30px; box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4), 0 0 60px rgba(127, 219, 218, 0.1); background-color: rgba(13, 31, 24, 0.8); display: block; border-radius: 12px; margin-left: auto; margin-right: auto;"> </div>
<div class="section-container"> <details open> <summary><h2 style="display:inline-block; margin:0;">Quantized Models</h2></summary> <div class="info-card"> <div class="card-content"> <p>The quantized model files are available for download. Click the button below to view the files.</p> <div class="download-grid"> <a href="https://huggingface.co/CrucibleLab/Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096-GGUF" target="blank" class="button"> Download GGUF Files <span class="link-arrow">→</span> </a> <a href="https://huggingface.co/CrucibleLab/Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096-EXL3" target="blank" class="button"> Download EXL3 Files <span class="link-arrow">→</span> </a> <a href="https://huggingface.co/CrucibleLab/Gemma-4-31B-Loki-Scotoma-V2.0-Swa-4096-W8A16-PTQ" target="_blank" class="button"> Download W8A16-PTQ Files <span class="link-arrow">→</span> </a> </div> </div> </div> </details> </div>
<div class="section-container" style="border-left: 4px solid #DA70D6;"> <div class="corner topleft" style="border-color: #DA70D6;"></div> <div class="corner topright" style="border-color: #DA70D6;"></div> <div class="corner bottomleft" style="border-color: #DA70D6;"></div> <div class="corner bottomright" style="border-color: #DA70D6;"></div> <h2 style="color: #DA70D6;">Architecture & SWA Extension (4096)</h2> <p> This model is based on <a href="https://huggingface.co/ReadyArt/gemma-4-31B-it-scotoma-2" target="_blank" style="color: #7FDBDA; font-weight: 600;">ReadyArt/gemma-4-31B-it-scotoma-2</a> (a fine-tune of <code>google/gemma-4-31B-it</code> via <strong>γ-fold + DPO</strong>) trained on the <strong>Loki V2 dataset</strong>. </p>
<div style="background: rgba(13, 31, 24, 0.7); border-left: 3px solid #7FDBDA; padding: 15px 20px; margin: 15px 0; border-radius: 0 8px 8px 0;"> <h3 style="color: #7FDBDA; margin-top: 0; font-size: 1.1rem;">Two-Stage Sliding Window Attention (SWA) Expansion</h3> <p style="margin-bottom: 8px;"> The sliding window attention (SWA) context was extended in two progressive training stages: </p> <p style="font-family: 'Cascadia Code', monospace; color: #C9A227; font-size: 1rem; margin-bottom: 10px;"> 1024 ➔ 2048 ➔ 4096 (SWA Window) </p> <ul style="margin-left: 20px; color: rgba(232, 240, 232, 0.9);"> <li><strong>BABILong Needle Recall:</strong> Demonstrates an approximate <strong>10%–15% improvement</strong> in long-context retrieval over standard SWA layers.</li> <li><strong>Continuity:</strong> While absolute long-distance recall remains bounded by the SWA structural layers, local continuity and cross-paragraph reasoning in multi-turn roleplay are significantly sharper.</li> </ul> </div> </div>
<div class="section-container" style="border-left: 4px solid #7FDBDA; background: linear-gradient(145deg, rgba(20, 50, 40, 0.95), rgba(10, 30, 20, 0.98));"> <div class="corner topleft" style="border-color: #7FDBDA;"></div> <div class="corner topright" style="border-color: #7FDBDA;"></div> <div class="corner bottomleft" style="border-color: #7FDBDA;"></div> <div class="corner bottomright" style="border-color: #7FDBDA;"></div> <h2 style="color: #7FDBDA;">Quick Start & Sampler Settings</h2>
<div style="display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; margin-bottom: 25px;"> <a href="huggingface.co/Darkhn/Samplersettingsandsystemprompt/resolve/main/Gemma4ThinkSillyTavernsettings.json" class="button" style="flex: 1; min-width: 200px; max-width: 400px; box-shadow: 0 0 15px rgba(127, 219, 218, 0.3);"> Download Thinking Presets </a> <a href="huggingface.co/Darkhn/Samplersettingsandsystemprompt/resolve/main/Gemma4NoThinkSillyTavernsettings.json" class="button" style="flex: 1; min-width: 200px; max-width: 400px; box-shadow: 0 0 15px rgba(127, 219, 218, 0.3);"> Download Non-Thinking Presets </a> </div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin-bottom: 15px;"> <div class="metric-box" style="padding: 10px; min-height: auto;"> <span class="label" style="color: #7FDBDA; font-size: 0.8rem;">Format</span> <span class="value" style="font-size: 0.95rem;">Gemma 4</span> </div> <div class="metric-box" style="padding: 10px; min-height: auto;"> <span class="label" style="color: #7FDBDA; font-size: 0.8rem;">Temperature</span> <span class="value" style="font-size: 1rem;">1.0</span> </div> <div class="metric-box" style="padding: 10px; min-height: auto;"> <span class="label" style="color: #7FDBDA; font-size: 0.8rem;">Min P</span> <span class="value" style="font-size: 1rem;">0.02</span> </div> </div>
<summary><strong style="color: #7FDBDA; font-size: 1rem; cursor: pointer;">Prompt / Token Formatting Template</strong></summary> <div style="padding: 15px; background: rgba(0,0,0,0.25); border-radius: 8px; margin-top: 10px;"> <p style="margin-bottom: 8px;">Ensure your frontend (SillyTavern, LM Studio, Text-Generation-WebUI) uses this turn token sequence:</p> <pre><code><bos><|turn>system {{systemprompt}} <turn|> <|turn>user {{usermessage}} <turn|> <|turn>model {{model_response}} <turn|></code></pre> </div> </details>
<summary><strong style="color: #C9A227; font-size: 1rem; cursor: pointer;">Important: Prompting Strategy (Click to Expand)</strong></summary> <div style="padding: 15px; background: rgba(0,0,0,0.2); border-radius: 8px; margin-top: 10px;"> <p style="margin-bottom: 10px;">As the model was not strictly trained on rigid system prompts, the following formatting is not 'hardcoded', but guides roleplay scenarios significantly better.</p> <p style="margin-bottom: 0;">The main objective of the prompt/tones/tags is to <strong>prevent bleed-over of lore and abstract concepts</strong>. For fine-grained direction, refer to the <strong>Narrative Modes</strong> and <strong>Tags</strong> sections below.</p> </div> </details> </div>
<div class="metrics-section"> <h2 style="text-align: center; margin-bottom: 20px; color: #C9A227;">Dataset Statistics</h2> <div class="core-metrics-grid"> <div class="metric-box glow-card"> <span class="label">Total Tokens</span> <span class="value">600M+</span> </div> <div class="metric-box glow-card"> <span class="label">Total Size</span> <span class="value">2.5 GB</span> </div> <div class="metric-box glow-card"> <span class="label">QA Lines</span> <span class="value">46,800+</span> </div> <div class="metric-box glow-card"> <span class="label">Prose Lines</span> <span class="value">19,800+</span> </div> <div class="metric-box glow-card"> <span class="label">ERP Lines</span> <span class="value">16,600+</span> </div> <div class="metric-box glow-card"> <span class="label">Dark Lines</span> <span class="value">12,500+</span> </div> </div> </div>
<div class="section-container"> <h2>Overview</h2> <div style="background: linear-gradient(90deg, rgba(201, 162, 39, 0.1), transparent); border-left: 2px solid #C9A227; padding: 10px 15px; margin-bottom: 20px; border-radius: 0 8px 8px 0;"> <p style="margin: 0; font-style: italic; color: rgba(232, 240, 232, 0.85);"> <strong style="color: #C9A227;">Why "Loki"?</strong> Named for the Norse god of mischief, magic, and stories. A trickster who weaves tales and shapes narratives. Like its namesake, this model's goal is to excel at creative storytelling and narrative transformation. </p> </div> <p>This dataset is built to deliver <strong>deeply immersive roleplay and narrative experiences</strong> with strong consistency, clear narrative roles, and expressive prose. It prioritizes <strong>immersion over compliance</strong>, creating models that feel like creative partners rather than restrictive assistants.</p> <p>Rather than behaving like a generic chatbot, models trained on this dataset behave like:</p> <ul> <li style="margin-left: 20px; color: #7FDBDA;">Dungeonmasters — controlling worlds with consequence and stakes</li> <li style="margin-left: 20px; color: #7FDBDA;">Story authors — crafting canon-faithful, book-style prose</li> <li style="margin-left: 20px; color: #7FDBDA;">Creative narrators — expanding scenes with flexibility and style</li> </ul> <br> <p>The focus is <strong>experience first</strong>: tone, voice, continuity, and world fidelity. This approach ensures <strong>consistent long-form storytelling</strong> with clear narrative authority — no role confusion, no breaking character.</p> <h3 style="margin-top: 25px;">Who This Is For</h3> <ul> <li style="margin-bottom: 8px;">Roleplay enthusiasts seeking immersive experiences</li> <li style="margin-bottom: 8px;">Story-driven prompt engineers</li> <li style="margin-bottom: 8px;">Writers using LLMs as narrative tools</li> <li style="margin-bottom: 8px;">Anyone who wants <strong>stories</strong>, not assistants</li> </ul> </div>
<div class="section-container"> <h2>Universes & Beyond</h2> <p>The dataset was trained to capture the <strong>style, tone, and narrative feel</strong> of various well-known settings—allowing the model to naturally match themes, atmosphere, and storytelling conventions. This is about <strong>aesthetic and voice</strong>. You don't need to know every detail; the model understands them.</p> <div class="universe-grid"> <div class="universe-col"> <h3>Anime & Animation</h3> <ul> <li>Attack on Titan</li> <li>One Piece</li> <li>Hunter × Hunter</li> <li>Genshin Impact</li> <li>Fullmetal Alchemist</li> <li>Avatar: The Last Airbender</li> <li>Overlord</li> </ul> </div> <div class="universe-col"> <h3>Fantasy</h3> <ul> <li>Conan the Barbarian</li> <li>Dragon Age</li> <li>Dungeons & Dragons</li> <li>The Elder Scrolls</li> <li>Harry Potter</li> <li>The Lord of the Rings</li> <li>Warhammer Fantasy</li> <li>The Witcher</li> <li>Wings of Fire</li> </ul> </div> <div class="universe-col"> <h3>Science Fiction</h3> <ul> <li>Warhammer 40,000</li> <li>Mass Effect</li> <li>Star Trek</li> <li>Star Wars</li> </ul> </div> </div> <div style="margin-top: 10px; padding: 12px 15px; background: rgba(45, 90, 71, 0.2); border-radius: 8px; border: 1px solid rgba(127, 219, 218, 0.3);"> <p style="font-size: 0.85rem; color: rgba(232, 240, 232, 0.7); margin: 0;"> <strong style="color: #7FDBDA;">Ethical Training Standards:</strong> This model is unrestricted and trained on mature and dark themes for adult creative writing. However, it was <strong>not</strong> trained on any CSAM content or illegal content. All training data was vetted to exclude such material. We are committed to responsible AI development. </p> </div> <div style="margin-top: 20px; padding: 12px 15px; background: rgba(45, 90, 71, 0.2); border-radius: 8px; border: 1px solid rgba(201, 162, 39, 0.3);"> <p style="font-size: 0.85rem; color: rgba(232, 240, 232, 0.7); margin: 0;"> <strong style="color: #C9A227;">Disclaimer:</strong> This is an independent creative writing tool. All franchise names are trademarks of their respective owners. This project is not affiliated with, endorsed by, or officially connected to any listed property. The model was trained on well known and high quality publicly available material and synthetic data to capture narrative styles—it does not reproduce or contain copyrighted source material. This tool is not a substitute for consuming the original material. </p> </div> </div>
<div class="section-container"> <h2>Narrative Modes</h2> <p>Append your System Prompt with <code>You are a-</code> followed by one of the modes below:</p> <div style="background: linear-gradient(90deg, rgba(127, 219, 218, 0.1), transparent); border-left: 2px solid #7FDBDA; padding: 10px 15px; margin-bottom: 20px; border-radius: 0 8px 8px 0;"> <strong style="color: #7FDBDA;">Alternative Style:</strong> If you prefer a more 1-on-1 "act and react" style rather than the modes, try removing the narrative mode from the prompt entirely. </div>
<div class="mode-card glow-card"> <h3>Dungeonmaster (DM)</h3> <p>Controls the world and NPCs in true dungeonmaster narrative style. Enforces consequences (failure, harm, death). Designed to narrate the consequences and outcomes of user choices but not to decide the user's thoughts or actions.</p> <h3>Example system prompt:</h3> <pre><code>You are the Dungeonmaster (DM). You run the world, control NPCs, and describe consequences impartially. [Tone: Neutral] [Tone options: Neutral, Mature, or Dark] Rules:
- Agency: Never decide {{user}}'s actions or feelings. Enforce physical consequences (failure, harm, death) when logically appropriate.
- Narration: Describe actions, sensory detail, and environment vividly.
- Control: Follow OOC instructions such as skipping time or changing POV.
- Continuity: Advance the scene logically based on prior events and world state. [rest of prompt]</code></pre> <details style="margin-top: 15px;"> <summary><strong style="color: #7FDBDA;">Understanding Dungeonmaster Style (Click to Expand)</strong></summary> <div style="padding: 15px; background: rgba(0,0,0,0.2); border-radius: 8px; margin-top: 10px;"> <p style="margin-bottom: 15px;">This model is deliberately biased toward <strong>Dungeonmaster-style, multi-character roleplay</strong>—not strict turn-based "I act, AI reacts" chat. It's designed to color in the world around your actions, describing consequences, NPC reactions, atmosphere, and sometimes implicitly narrating what a player is doing as part of the scene flow.</p> <h4 style="color: #C9A227; margin-bottom: 10px;">Perspective & Tense</h4> <ul style="margin-left: 20px; margin-bottom: 15px;"> <li style="margin-bottom: 5px;">The model is trained on <strong>2nd person present tense</strong> (referring to you as "you")</li> <li>User turns should typically be in <strong>1st person</strong> ("I jump over the fence")</li> </ul> <h4 style="color: #C9A227; margin-bottom: 10px;">User Agency</h4> <p style="margin-bottom: 15px;">The model shouldn't make choices or act on your behalf, but takes your decisions and actions and colors them into the narrative.</p> <h4 style="color: #C9A227; margin-bottom: 10px;">Example Interaction</h4> <pre style="background: rgba(13, 31, 24, 0.8); padding: 15px; border-radius: 8px; margin-bottom: 0;"><code style="color: #E8F0E8;"><span style="color: #7FDBDA; font-weight: bold;">{User}:</span> I jump over the wall.
<span style="color: #C9A227; font-weight: bold;">{Dungeonmaster}:</span> You plant your foot against the stone and haul yourself upward. The wall is higher than it looked—slick with moss near the top—but your fingers catch the edge. You drop down on the other side, boots hitting packed dirt with a dull thud. A lone guard stands near a crate not ten paces away, torch in hand. He squints into the shadows, adjusting his grip on the spear. "Did you hear something…?" His eyes sweep the courtyard, stopping just short of where you landed. He hasn't recognized you yet.</code></pre> </div> </details> </div>
<div class="mode-card glow-card" style="border-color: #C9A227;"> <h3 style="color: #C9A227;">Storywriter</h3> <p>Set up to take cues from the user, who acts as a director steering the story from the outside, and then write out a response in a novel-like, lore accurate style.</p> <h3>Example system prompt:</h3> <pre><code>You are a Storywriter. Continue the narrative exactly as {user} directs. [Tone: Mature] [Tone options: Neutral, Mature, or Dark] Rules:
- Director: Treat {user} as an external director. Follow OOC instructions about pacing, focus, or emphasis immediately.
- Consistency: Maintain established character voices, relationships, and lore.
- Flow: Do not lecture or ask questions. Continue the scene smoothly from the prior turn.
- Perspective: Match the POV used in the existing scene unless {user} explicitly changes it. [rest of prompt]</code></pre> <details style="margin-top: 15px;"> <summary><strong style="color: #C9A227;">Understanding Storywriter Style (Click to Expand)</strong></summary> <div style="padding: 15px; background: rgba(0,0,0,0.2); border-radius: 8px; margin-top: 10px;"> <p style="margin-bottom: 15px;">Storywriter mode positions the model as a <strong>collaborative author</strong> working under your direction. Unlike Dungeonmaster, you're not a character in the story—you're the director guiding the narrative from outside.</p> <h4 style="color: #C9A227; margin-bottom: 10px;">Example Interaction</h4> <pre style="background: rgba(13, 31, 24, 0.8); padding: 15px; border-radius: 8px; margin-bottom: 0;"><code style="color: #E8F0E8;"><span style="color: #7FDBDA; font-weight: bold;">{User}:</span> Write a scene where Geralt confronts a village elder about the missing children.
<span style="color: #C9A227; font-weight: bold;">{Storywriter}:</span> The elder's hands trembled as Geralt stepped into the firelight. Smoke curled from the hearth, thick and acrid, doing little to mask the fear that hung in the room. "Witcher." The word came out like a curse. "We didn't send for you." Geralt's eyes—cat-yellow and unblinking—swept the room before settling on the old man. "No. But someone should have." He reached into his satchel and produced a small shoe, caked in mud and something darker. "Found this by the mill. Along with tracks. Not human." The elder's face went pale...</code></pre> </div> </details> </div>
<div class="mode-card glow-card"> <h3>Storyteller</h3> <p>More creative, given basic archetypes in the system prompt rather than fleshed out characters and then made to write out stories based on user director cues.</p> <h3>Example system prompt:</h3> <pre><code>You are a Creative Storyteller. Adapt the context to the scenario {user} defines. [Tone: Dark] [Tone options: Neutral, Mature, or Dark] Rules:
- Adaptation: Treat the context as a generic template. Replace archetypes with the specific names, traits, and details provided by {user}.
- Expansion: Build naturally on the events already shown, adding detail that matches the mood.
- Director: Treat {user} as an external director; follow OOC cues immediately.
- Perspective: Match the POV already used in the scene unless {user} changes it. [rest of prompt]</code></pre> </div> </div>
<div class="section-container"> <h2>Tone Selection</h2> <p>Place these exact tags (brackets included) into your system prompt to shift the model's behavior.</p> <div class="tag-item"> <code style="color: #7FDBDA;">[Tone: Neutral]</code> <span>Balanced, able to handle anything. Best for solid lore and strong prose.</span> </div> <div class="tag-item"> <code style="color: #DA70D6;">[Tone: Dark]</code> <span>Leans towards violence, horror and gore. Great for higher stakes and amplifying negative behavior.</span> </div> <div class="tag-item"> <code style="color: #C9A227;">[Tone: Mature]</code> <span>Adult content. Designed for spicier scenarios and mature themes.</span> </div> </div>
<details class="section-container"> <summary><h2 style="display:inline-block; margin:0;">Tags & Anatomy</h2></summary> <p>Most tags rely on the master tag. If you are using any tag below (except Comedic Voice), you <strong>MUST</strong> include:</p> <div style="text-align: center; margin-bottom: 20px;"> <code style="font-size: 1.2rem; border-color: #C9A227; color: #C9A227;">[TAG: ALTANATOMY]</code> </div> <h3 style="color: #DA70D6;">Identity & Body</h3> <div class="tag-item"><code>[TAG: IDENTITYTRANS]</code> <span>Female-presenting with human penis.</span></div> <div class="tag-item"><code>[TAG: IDENTITYFUTA]</code> <span>Female-presenting with dual or non-human anatomy.</span></div> <div class="tag-item"><code>[TAG: IDENTITYGENDERSWAP]</code> <span>Character has changed biological sex.</span></div> <div class="tag-item"><code>[TAG: IDENTITYFEMBOY]</code> <span>Male character with intentionally feminine presentation.</span></div> <h3 style="color: #DA70D6; margin-top: 20px;">Non-Human</h3> <div class="tag-item"><code>[TAG: MONSTER]</code> <span>Demons, aliens, fantasy species.</span></div> <div class="tag-item"><code>[TAG: FURRY]</code> <span>Anthropomorphic animal bodies.</span></div> <div class="tag-item"><code>[TAG: TENTACLES]</code> <span>Living, prehensile appendages.</span></div> <h3 style="color: #DA70D6; margin-top: 20px;">Physical Change</h3> <div class="tag-item"><code>[TAG: TRANSFORMATION]</code> <span>On-screen body changes.</span></div> <div class="tag-item"><code>[TAG: SIZECONTENT]</code> <span>Extreme size differences.</span></div> <div class="tag-item"><code>[TAG: INFLATION]</code> <span>Unnatural swelling or expansion.</span></div> <h3 style="color: #7FDBDA; margin-top: 20px;">Stylization</h3> <div class="tag-item"> <code>[TAG: COMEDICPHONETICVOICE]</code> <span>Signals intentionally exaggerated, phonetically spelled accents for humor. (Does NOT require ALT_ANATOMY).</span> </div> </details>
<div class="section-container" style="margin-top: 30px; border-left: 4px solid #7FDBDA;"> <div class="corner topleft"></div> <div class="corner topright"></div> <div class="corner bottomleft"></div> <div class="corner bottomright"></div> <h2 style="text-align: center; color: #7FDBDA;">The Team</h2> <div class="team-grid"> <a href="https://huggingface.co/Steelskull" target="blank" rel="noopener" class="team-member glow-card member-steel"> <div class="member-badge">⚙️</div> <img src="https://cdn-avatars.huggingface.co/v1/production/uploads/64545af5ec40bbbd01242ca6/xRbPO8262bQ030329Kn7R.png" alt="Steelskull"> <h3>Steelskull</h3> <p class="member-role">Paramancer</p> </a> <a href="https://huggingface.co/Tarek07" target="blank" rel="noopener" class="team-member glow-card member-tarek"> <div class="member-badge">⚡</div> <img src="https://cdn-avatars.huggingface.co/v1/production/uploads/64909c086073a0cd172d0411/Z4VkLtxQTg7Ex3vv84yz8.webp" alt="Tarek"> <h3>Tarek07</h3> <p class="member-role">Mad-Lad</p> </a> <a href="https://huggingface.co/Darkhn" target="_blank" rel="noopener" class="team-member glow-card member-darkhn"> <div class="member-badge">📜</div> <img src="https://cdn-avatars.huggingface.co/v1/production/uploads/673fa5ccbf2e9c35b2ec841a/rPHaMrqyYTfSJ89NN8KgY.jpeg" alt="Darkhn"> <h3>Darkhn</h3> <p class="member-role">Dataset Chronicler</p> </a> </div> </div>
<div class="support-section" style="text-align: center; margin-bottom: 50px; margin-top: 40px;"> <h2 style="color: #C9A227;">Support & Community</h2> <a href="https://discord.gg/4tCngSm3qZ" target="_blank" rel="noopener" class="button">Join Discord</a> </div> </div> </div>
<script> document.addEventListener('DOMContentLoaded', function() { const wispContainer = document.getElementById('wisp-container'); if (wispContainer) { function createWisp() { const wisp = document.createElement('div'); wisp.classList.add('wisp'); wisp.style.left = ${Math.random() * window.innerWidth}px; if (Math.random() > 0.5) { wisp.style.backgroundColor = '#DA70D6'; wisp.style.boxShadow = '0 0 12px #DA70D6, 0 0 20px rgba(218, 112, 214, 0.5)'; } wispContainer.appendChild(wisp); setTimeout(() => wisp.remove(), 8000); } setInterval(createWisp, 400); } }); </script> </body> </html>
