🎮 RIFTFIRE: 360-Level Raycast FPS Built With Limn Engine — Now on CrazyGames

A full first-person shooter, a portal submission, and what it means for a lightweight JavaScript engine.

🎯 Play the Preview

Try RIFTFIRE on CrazyGames right now:

👉 CrazyGames Preview — RIFTFIRE

This is the developer preview link. It's the exact build currently awaiting review — you can play it before it goes live to the public.

Field Value
Build ID 6cd245c7-52d9-4741-892e-393271eb2fe3
Status Awaiting review
Category Shooting
Engine Limn Engine (epic.js)

RIFTFIRE on CrazyGames

📖 Introduction

CrazyGames is one of the largest browser game portals on the web. Being listed there means visibility at a scale no independent site can match.

RIFTFIRE is the first Limn Engine game submitted to a portal like this. It's a full raycaster — the same rendering technique that powered Wolfenstein 3D and Doom — built entirely in vanilla JavaScript with Limn Engine as the foundation.

This article covers what RIFTFIRE is, why the CrazyGames submission matters for the engine, and what happens next.

🎮 What RIFTFIRE Is

RIFTFIRE is a raycast first-person shooter. Instead of rendering a 3D scene with polygons, it casts a ray from the player's position for every vertical slice of the screen and draws walls based on where those rays hit. It's the same approach that powered Wolfenstein 3D in 1992 — and it runs remarkably well in a browser today.

The scale

Feature Details
Seasons 12
Levels per season 30
Total levels 360
Weapons 6 (Pistol, SMG, Shotgun, Rifle, Sniper, Minigun)
Enemy types 5 (Basic, Fast, Tank, Sniper, Boss)
Difficulty curve Eased ramp from 0.0 to 1.0 across all 360 levels
Map generation Procedurally seeded — each level is deterministic
Audio Fully procedural Web Audio API — no audio files
Rank system 10 ranks from Recruit to Commander
Game modes Campaign, Tournament, Daily Challenge

Features that make it more than a demo

  • Procedural maps. Every level is generated from a seed. The same seed always produces the same map, but no two runs share a layout.
  • Procedural audio. Gunshots, explosions, footsteps, and music are all synthesized at runtime with Web Audio. No audio assets, no loading time.
  • Boss fights. Each level ends with a boss wave — more HP, higher accuracy, and burst-fire patterns.
  • Persistence. Wallet, XP, ranks, kills, and level completions are saved to localStorage.
  • Tournaments. Five tiers (Bronze → Diamond), each a three-round gauntlet. Win three rounds in a row to earn a trophy.
  • Daily Challenge. A new level and gameplay modifier every day — Glass Cannon, Iron Skin, or Pistol Only.
  • Login rewards. A seven-day login streak system with escalating rewards.
  • Mobile support. Full touch controls — virtual joystick, aim-drag fire button, grenade, slide, bullet time, and zoom.

🏗️ Why This Matters for Limn Engine

For years, Limn Engine has been positioned as a beginner-friendly engine for 2D games. RIFTFIRE proves it can do more.

1. It proves the engine can handle 3D-style rendering. Raycasting is a form of 3D rendering. It isn't polygons, but it creates the illusion of depth with comparable complexity. If Limn Engine can drive a raycaster, it can drive a lot of other things.

2. It proves the engine scales to a real project. 360 levels, 6 weapons, 5 enemy types, 3 game modes, procedural audio and maps — this isn't a weekend experiment. It's a complete game with hundreds of hours of content.

3. It proves the engine can run on portals. CrazyGames has strict technical requirements. If RIFTFIRE passes, Limn Engine passes. That's a validation no article or tutorial can provide.

RIFTFIRE gameplay

📋 The CrazyGames Submission

Field Value
Game ID 165783
Build ID 6cd245c7-52d9-4741-892e-393271eb2fe3
Submission date October 11, 2026
Category Shooting
Status Awaiting review
Engine Limn Engine (epic.js)
Size ~139 KB game code + ~55 KB engine

What the review covers

CrazyGames reviews games against a published checklist. The review typically covers:

  • Technical quality. Does the game load reliably? Are there runtime errors? Does it crash on mobile?
  • Performance. Does it run at a stable frame rate on mid-range devices?
  • Content quality. Is the game complete? Does it have enough content to justify a portal listing?
  • User experience. Is it easy to understand? Does the first minute teach the player what to do?
  • Originality. Is it a clone, or does it stand out?
  • Ads and monetization. Does the game work with CrazyGames' ad platform?

The review can take anywhere from a few days to a few weeks. During that time, the game sits in Awaiting Review status.

🎯 What We Learn Regardless of the Outcome

If it's accepted:

  • Limn Engine has a validated path to portal distribution.
  • Other Limn Engine games can follow the same route.
  • We get real traffic, real feedback, and real data on how the engine performs in the wild.

If it's rejected:

  • The rejection reason is the most valuable thing we can get. It tells us exactly what to fix — performance, UX, content, or technical requirements.
  • Every fix we make in response to a portal review also improves the engine for every game built on it.
  • The next submission will be stronger.

Either way, the review is a learning experience.

🔄 What's Changing on the Limn Arcade

The Limn Arcade is being restructured. Some games are being moved off the platform as part of a broader strategy, and the lineup will look different in the coming weeks.

We're not announcing the full details yet. The short version: the arcade is being reorganized, not closed. Some of the games currently listed will move elsewhere, and the arcade will refocus on the games that fit its direction.

RIFTFIRE is not affected. It stays available on the arcade until the CrazyGames review is complete.

📊 What RIFTFIRE Uses From Limn Engine

RIFTFIRE is built entirely on Limn Engine's core features. Here's what it relies on:

Feature Where It's Used
Display The canvas, game loop, and input handling
Component The master render layer (masterLayer)
Camera The raycasting FOV calculation and camera transforms
Sound Not used — RIFTFIRE uses Web Audio directly for procedural audio
Particle / ParticleSystem Not used — RIFTFIRE has custom blood, damage, and explosion systems
Tctxt HUD text, menu labels, buttons
move Not used — RIFTFIRE handles movement directly
scene The scene system (menu, game, pause, win, lose, loading, shop, ranks, help, settings, play, tournament, daily, rewards)

What RIFTFIRE adds on top of Limn Engine

  • A raycasting renderer
  • Procedural map generation (mulberry32 seeded)
  • Enemy AI with line-of-sight detection
  • Weapon system with 6 weapons and per-weapon stats
  • Particle-based blood and damage number systems
  • Procedural Web Audio engine
  • Persistent state via localStorage
  • Touch controls

The engine handles the canvas, the game loop, the input layer, and the component system. Everything else is game code.

🚀 Try It Yourself

Play the CrazyGames preview:

👉 CrazyGames Preview — RIFTFIRE

Get Limn Engine:

👉 limn-engine-doc.vercel.app

Build your own game:

👉 limn-engine-doc.vercel.app/editor

📊 What You've Learned

Concept Why It Matters
Portal submission A major milestone for any engine or game
Raycasting A 1990s rendering technique that still works today
Procedural generation Seeded maps give 360 unique levels from one codebase
Procedural audio No files needed — sound is synthesized at runtime
Persistent state localStorage saves progress across sessions
Touch controls The same game works on mobile without a separate build
Engine validation A portal review validates the engine itself

⚠️ What's Next

The review is pending. Here's what happens either way:

If accepted:

  • RIFTFIRE goes live on CrazyGames.
  • We announce the launch and link to the portal listing.
  • We monitor reviews and fix any issues that come up.

If rejected:

  • We read the feedback carefully.
  • We fix the specific issues the reviewer raised.
  • We resubmit.

Either way, we'll write a follow-up article once the review is complete, sharing the outcome and what we learned from it.

🐛 Report Bugs

If you find a bug in RIFTFIRE, report it on GitHub:

👉 github.com/terracodes004/limn-engine-doc/issues

🔗 Resources

🎯 The One-Line Summary

"RIFTFIRE — a 360-level raycast FPS built with Limn Engine — is now awaiting review on CrazyGames. The preview build is playable today." 🎮🚀

Draw your game into existence — one submission at a time. 🎮🚀