CRASH BASIC v1.4.7

BASIC that is actually extra

Crash-tan™, mascot with a heart of gold

Hi! I'm Crash-tan™. I have a heart of gold and a brain full of 3.5" floppy disks. Let me show you around!

Remember QBasic? That feeling of typing PRINT "Hello World" and watching magic happen on screen? Crash BASIC brings that back.

This is a passion project born from nostalgia and a simple belief: game programming should be fun, not frustrating. No frameworks to install. No dependencies to manage. Just open your browser and start making web games with old school BASIC and new school features!

Crash BASIC is free. Always will be.

Why Crash BASIC Exists

A language built on passion, not profit

For Wizards, Not Developers

You're not here to build enterprise software. You're here to make cool things.

No frameworks. No build systems. No dependency hell. Just open your browser and start creating.

💾

Born from Nostalgia

QBasic was my first programming language. Modern tools forgot what made old school BASIC programming fun.

Crash BASIC remembers. That moment when you typed your first PRINT statement and saw text appear on screen? We're bringing that classic BASIC experience back for a new generation of game programmers.

💥

The Ironic Name

"Crash" BASIC is actually designed to not crash. The name is tongue-in-cheek.

A safe language for learning and creating. We can't promise perfection, but we're building something you can trust.

💛

Free Forever

The Crash BASIC IDE is free. Always will be. Your creativity shouldn't have a paywall.

Crash BASIC Arcade is a paid service for sharing your creations with the world. That's how we keep the lights on while keeping the tools free.

Crash BASIC Features

Everything you need for web game development with classic BASIC syntax

🎮

Make Games, Not Software

Built-in sprite sheets, animation, and graphics commands. Just start creating.

  • Sprite sheets with LOADPNG
  • Frame-based animation
  • LINE, CIRCLE, POLYGON, PSET
  • Modern canvas rendering
🤖

Behaviors & Patterns

Define reusable sprite behaviors. Chain them into patterns. AI made simple.

  • BEHAVIOR blocks for sprite AI
  • PATTERN chaining
  • GHOST, SOLID, SPEED modifiers
  • No complex state machines
👾

Hardware Sprites

Real sprite management with ENABLE, SET, and MOVE. Classic game development made modern.

  • ENABLE SPRITE system
  • SET SPRITE with positioning
  • MOVE SPRITE with patterns
  • Automatic collision detection
🗺

Map Editor

Visual tile map creation with integrated IDE tooling. Design levels, not data files.

  • Visual tile placement
  • FOR MAPDATA iteration
  • Multi-layer support
  • Integrated in the IDE
🎨

Multi-Layer Graphics

Compose scenes with multiple layers, parallax scrolling, and frame buffering.

  • CREATE LAYER for composition
  • RESET LAYERS for scenes
  • BEGIN/END FRAME buffering
  • Per-layer scrolling

Mutations

Runtime geometry manipulation. Bend, twist, orbit, oscillate - dynamic visual effects.

  • Orbit and oscillate effects
  • Decay animations
  • Shape manipulation
  • Procedural visuals
💥

Collision System

Built-in collision detection with boundary regions and sprite-to-sprite checks.

  • FOR COLLISIONS loop
  • Boundary regions
  • Sprite collision events
  • No physics engine needed
📱

Mobile Touch Input

Make mobile games with TAP$ and DRAG$ functions. Works in any browser.

  • TAP$ for touch coordinates
  • DRAG$ for swipes
  • Works on mobile browsers
  • No special setup needed

Multi-Threading

Timers and threads for responsive game loops without callback spaghetti.

  • CALL TIMER for scheduling
  • CALL THREAD for background
  • BEGIN LOCK/END LOCK
  • Thread-safe by design
🎵

Retro Audio

Sound effects and music with custom instruments that reproduce the sound of old school systems.

  • MP3 and WAV support
  • Custom instrument definitions
  • PLAYMUSIC for soundtracks
  • Chiptune PLAY command
💻

No Setup Required

Professional IDE in your browser. Monaco editor, syntax highlighting, debugging.

  • Monaco editor built-in
  • Syntax highlighting
  • Integrated help
  • Just open and create
🔧

Custom Types & Saves

QBasic-style types with modern JSON serialization for game saves.

  • TYPE...END TYPE
  • Dynamic Object types
  • SERIALIZE$/DESERIALIZE$
  • Easy save/load

Get Started with Crash BASIC

Begin game development in minutes - no experience required

1

Open Your Browser

No downloads. No installs. No dependencies. We recommend Chrome for the best experience, but Safari works too.

2

Write BASIC Code

Type PRINT "Hello" just like in QBasic. Same classic syntax, modern results.

3

See It Run

Press F5. That's it. Your creation comes to life.

4

Share Your Game

Publish your web game to the Arcade for others to play!

Version 1.4.7

Latest features and improvements

Behaviors & Patterns

  • BEHAVIOR blocks for sprite AI
  • PATTERN chaining
  • GHOST, SOLID, SPEED modifiers
  • Reusable animation sequences

Hardware Sprites

  • ENABLE SPRITE system
  • SET SPRITE positioning
  • MOVE SPRITE with patterns
  • Sprite collision detection

Map Editor

  • Visual tile map creation
  • FOR MAPDATA iteration
  • Multi-layer map support
  • Integrated IDE tooling

Mutations

  • Runtime geometry manipulation
  • Orbit, oscillate, decay
  • Bend, twist, animate shapes
  • Dynamic visual effects

Recent Updates

  • Collision System: FOR COLLISIONS loop with boundary regions and sprite detection
  • Retro Music: Custom instrument definitions and PLAYMUSIC for old school game soundtracks
  • State Management: EVENT and SET STATE commands with INSTATE$ function
  • Custom Cursors: SET CURSOR command with hotspot positioning
  • Mobile Touch: TAP$ and DRAG$ functions for touch-based games