Skip to main content
#01

Zafkiel Arcade

Zafkiel Arcade is a high-stakes, time-manipulating survival game inspired by the aesthetic of Kurumi Tokisaki. Unlike standard arcade clones, Zafkiel integrates a full Modular Monolith backend to track highscores, enforce zero-trust inputs, and stream real-time temporal state.

JavaScriptReactExpressModular MonolithSQLiteSurvival GameTime Manipulation
<p align="center"> <img src="assets/header.png" alt="Zafkiel Arcade Header" width="100%"/> </p> <h1 align="center">Zafkiel Arcade</h1> <p align="center"> <strong>Dark Gothic & Time-Manipulating Survival Game Engine</strong> </p> <p align="center"> <a href="https://zafkiel-arcade.curzy.dev"><strong>๐ŸŒ Live Demo Website</strong></a> </p> <div align="center">

Stars Forks License Platform

</div> <p align="center"> <a href="#-why-zafkiel-arcade">Why Zafkiel</a> ยท <a href="#-key-features">Features</a> ยท <a href="#%EF%B8%8F-architecture">Architecture</a> ยท <a href="#-quick-start">Quick Start</a> ยท <a href="#-security--logging">Security</a> </p>

๐Ÿ•’ Why Zafkiel Arcade?

Zafkiel Arcade is a high-stakes, time-manipulating survival game inspired by the aesthetic of Kurumi Tokisaki. Unlike standard arcade clones, Zafkiel integrates a full Modular Monolith backend to track highscores, enforce zero-trust inputs, and stream real-time temporal state.

๐Ÿ•’ Time-Manipulating PlayUse REWIND, FREEZE, ACCEL, and COLLECT skills to survive.
๐Ÿ”’ Zero-Trust LogicEvery game event and payload is validated via Zod schemas.
๐Ÿ“Š Real-time PersistenceHigh-performance SQLite database tracks highscores & logs.
๐Ÿ‘น Aggressive ScalingDynamic difficulty algorithms increase anomaly spawn rates.
๐Ÿ›ก๏ธ Hardened SecurityRate-limiting, CORS locks, and secure session management.

๐ŸŽฏ Key Features

Game Mechanics

Skill / MechanicStatusDescription
HP Drain (-1/s)โœ…Constant depletion of Time Essence. Collect stars to live.
REWIND (๐Ÿ•’)โœ…Reverse player trajectory to escape traps or reposition.
FREEZE (โ„๏ธ)โœ…Freeze all enemies temporarily to plan strategic moves.
ACCEL (โšก)โœ…Speed up game-loop speed to harvest resource stars quickly.
COLLECT (๐ŸŒŒ)โœ…Massive black-hole gravitational pull on nearby essence stars.
Rift Scalingโœ…Enemy speeds and spawn frequencies ramp up over survival time.

Technical Capabilities

CapabilityStatusDescription
Modular Monolithโœ…express.js v5 modular routing keeping logic compartmentalized.
Native DB Bindingsโœ…Native better-sqlite3 bindings for lightning-fast IO execution.
Winston Auditorโœ…Audit-trail pipeline capturing every action to persistent JSON.
Zod API Schemaโœ…Strict type-enforcement on incoming requests to prevent cheats.
Docker Packagingโœ…Multi-stage Docker config ready to run on any VPS.

๐Ÿ—๏ธ Architecture

The codebase separates the layout engine (Frontend UI) from temporal persistence (Backend API) while sharing core validation utilities:

zafkiel-arcade/
โ”œโ”€โ”€ core/
โ”‚   โ””โ”€โ”€ engine.js          # Time-manipulation mathematical rulesets & tick rate
โ”œโ”€โ”€ interface/
โ”‚   โ”œโ”€โ”€ api/               # Express backend controllers, security middleware
โ”‚   โ””โ”€โ”€ web/               # React SPA client bundle (Vite + Tailwind CSS)
โ”œโ”€โ”€ utils/
โ”‚   โ”œโ”€โ”€ validation.js      # Zero-trust validation rule files
โ”‚   โ”œโ”€โ”€ logger.js          # Winston logger instance (Temporal log outputs)
โ”‚   โ””โ”€โ”€ errors.js          # Global HTTP exception interceptors
โ”œโ”€โ”€ assets/                # Creative graphics, icons & theme audio files
โ”œโ”€โ”€ arcade.db              # Active local SQLite binary database
โ””โ”€โ”€ vercel.json            # Vercel deployment instructions

๐Ÿš€ Quick Start

Option A: Local Development

# Clone the repository
git clone https://github.com/Curzyori/zafkiel-arcade.git
cd zafkiel-arcade

# Install production and development dependencies
npm install

# Rebuild native better-sqlite3 drivers (Crucial for Linux platform)
npm rebuild better-sqlite3

# Create environment variable lock
cp .env.example .env

# Run hot-reload backend + Vite client
npm run dev

Option B: Docker Container

# Build and package app stack
docker build -t zafkiel-arcade .

# Start container instances mapping live ports
docker run -d -p 3000:3000 --name zafkiel-instance zafkiel-arcade

๐Ÿ”’ Security & Logging

Temporal Audit Trails

Zafkiel records every major database change, highscore submission, and cheat anomaly detected directly to standard outputs and /error.log via the Winston engine:

{"level":"info","message":"Temporal rewound executed successfully","timestamp":"2026-06-20T11:45:00Z"}

Input Hardening

Any client attempting to tamper with coordinates or simulate score updates will be blocked at the network gate. The server enforces a strong schema matching client structure using the Zod engine.


๐Ÿ“„ License

This project is released under the MIT License โ€” free for educational, personal, and research purposes.

โ˜• Support

If this project is useful, consider supporting its development!

<p align="center"> <a href="https://donate.curzy.dev/"><strong>๐Ÿ’ Donate via Crypto or QRIS</strong></a> </p>

Crypto payment details are maintained at donate.curzy.dev.

<sub>Built with passion as the 1st Project of the 50 Projects Challenge by @curzyori</sub>