Delete indie_game_roadmap.html

This commit is contained in:
James 2025-05-01 01:06:00 -07:00 committed by GitHub
parent acbc7cc787
commit fc5965b3b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 0 additions and 185 deletions

View File

@ -1,185 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Indie Game Roadmap</title>
<style>
body {
font-family: 'Segoe UI', sans-serif;
background-color: #121212;
color: #ffffff;
margin: 0;
padding: 2rem;
}
h1, h2 {
color: #00bfff;
text-align: center;
}
.timeline {
display: flex;
flex-direction: column;
gap: 1.5rem;
max-width: 1000px;
margin: auto;
}
.phase {
background-color: #1f1f1f;
padding: 1rem 1.5rem;
border-left: 5px solid #00bfff;
border-radius: 6px;
box-shadow: 0 0 8px rgba(0, 191, 255, 0.2);
position: relative;
}
.phase h3 {
margin: 0;
font-size: 1.2rem;
color: #00e0ff;
}
.dates {
font-size: 0.9rem;
color: #aaaaaa;
margin-bottom: 0.5rem;
}
.description {
font-size: 1rem;
color: #dddddd;
}
.status {
font-size: 0.8rem;
padding: 2px 6px;
border-radius: 4px;
margin-left: 10px;
text-transform: uppercase;
}
.status.done {
background: #28a745;
color: #fff;
}
.status.progress {
background: #ffc107;
color: #000;
}
.status.not-started {
background: #dc3545;
color: #fff;
}
.toggle {
position: absolute;
top: 1rem;
right: 1rem;
font-size: 0.9rem;
cursor: pointer;
background-color: #2d2d2d;
color: #ffffff;
border: none;
padding: 0.3rem 0.6rem;
border-radius: 4px;
}
</style>
<script>
async function login() {
const password = document.getElementById('password').value;
const res = await fetch('/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ password })
});
const result = await res.json();
if (result.success) {
document.getElementById('login-status').textContent = '✅ Logged in';
document.getElementById('login-form').style.display = 'none';
loadRoadmap();
} else {
document.getElementById('login-status').textContent = '❌ Incorrect password';
}
}
async function loadRoadmap() {
const res = await fetch('/api/roadmap');
const data = await res.json();
const container = document.getElementById('roadmap');
container.innerHTML = '';
data.forEach(phase => {
const el = document.createElement('div');
el.className = 'phase';
el.innerHTML = `
<strong>${phase.title}</strong>
<span class="status">[${phase.status}]</span>
<select onchange="updateStatus(${phase.id}, this.value)">
<option value="not started" ${phase.status === 'not started' ? 'selected' : ''}>Not Started</option>
<option value="in progress" ${phase.status === 'in progress' ? 'selected' : ''}>In Progress</option>
<option value="done" ${phase.status === 'done' ? 'selected' : ''}>Done</option>
</select>
`;
container.appendChild(el);
});
}
async function updateStatus(id, newStatus) {
await fetch('/api/roadmap', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id, status: newStatus })
});
loadRoadmap();
}
// Auto-login check
fetch('/check-auth')
.then(res => res.json())
.then(data => {
if (data.authenticated) {
document.getElementById('login-form').style.display = 'none';
loadRoadmap();
}
});
</script>
</head>
<body>
<nav class="navbar">
<a href="https://www.oblistudios.com" >Home</a> |
<a href="https://www.oblistudios.com/servermanager.html" >Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html" >Shardwalker</a>
<a href="http://roadmap.oblistudios.com" class="btn-roadmap" >🛠 View Roadmap</a>
</nav>
<h1>Shardwalker: The Mirror's Edge</h1>
<div id="login-panel" style="text-align:center; margin-bottom:2rem;">
<input type="password" id="admin-pass" placeholder="Enter admin password" />
<button onclick="login()">Login</button>
<p id="login-status" style="color:#00bfff;"></p>
</div>
<h2>Indie Dev Production Roadmap</h2>
<div class="timeline" id="roadmap">
<div class="phase"><h3>Pre-Production <span class="status done">Done</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">Start: [Today] — End: +30 Days</div><div class="description">Design docs, game concept, visual target, core loop</div></div>
<div class="phase"><h3>Blockout Maps & Prototypes <span class="status progress">In Progress</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+31 Days — +75 Days</div><div class="description">Build test maps, whitebox environments, establish movement/combat feel</div></div>
<div class="phase"><h3>Core Mechanics Development <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+76 Days — +135 Days</div><div class="description">Implement combat, shard-switching, attunement system</div></div>
<div class="phase"><h3>First Playable (Vertical Slice) <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+136 Days — +165 Days</div><div class="description">Basic UI, combat, single map, testable state</div></div>
<div class="phase"><h3>Story & World Design <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+166 Days — +210 Days</div><div class="description">Write lore, quests, dialogue, map flow</div></div>
<div class="phase"><h3>Environment Art & Level Design <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+211 Days — +285 Days</div><div class="description">Model, texture, and populate maps</div></div>
<div class="phase"><h3>Multiplayer Networking Setup <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+286 Days — +330 Days</div><div class="description">Mirror or FishNet implementation, lobby & match start logic</div></div>
<div class="phase"><h3>UI/UX Polish <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+331 Days — +360 Days</div><div class="description">Final HUD, menus, pause screens</div></div>
<div class="phase"><h3>Sound, Music & VFX <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+361 Days — +390 Days</div><div class="description">Placeholders replaced with final effects, transitions</div></div>
<div class="phase"><h3>Beta Playtesting <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+391 Days — +420 Days</div><div class="description">Gather feedback on PvP and solo campaign</div></div>
<div class="phase"><h3>Final Polish & Optimization <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+421 Days — +450 Days</div><div class="description">Bug fixing, performance, controller support</div></div>
<div class="phase"><h3>Marketing & Steam Page Prep <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+451 Days — +471 Days</div><div class="description">Trailer, screenshots, copywriting</div></div>
<div class="phase"><h3>Launch <span class="status not-started">Not Started</span><button class="toggle" onclick="toggleStatus(this)">Toggle</button></h3><div class="dates">+472 Days — +479 Days</div><div class="description">Push to Steam, promote, manage release</div></div>
</div>
</body>
</html>