Meet ct.js,your new 2D game engine

ct.js makes learning programming fun and game development easy with its visual tools, good docs and flexible, modular library, and several coding language options.

It is free, open-source, and loved by hobbyists, professionals, teachers, and their students.

Download v5.2.0

Ct.js brings exceptional tools for your game making needs

😙👌✨💅💪

One-click instant export

For web and desktop

Tools for responsive UI layouts

Adapt interface to any screen

Code editor with error checks and tons of features

VSCode-like code editor for JS and a custom-made editor for the visual language

Dynamic sound system

Randomize volume, pitch, add effects, and place 3D sounds

Satisfying to use level editor

Tilemap editor, brush-like object placement, live animation preview

Pixelart render

Enabled in one click in project's render settings

Bitmap fonts

Crisp and performant fonts for pixelart games

Visual particle system editor for special effects

Layer emitters for complex effects with no code

White-labelling

Brand your app and hide ct.js logo — or don't and spread the love!

Behaviors and content system for data-driven games and designers' tools

Compose gameplay logic, define your fields for objects and create structured data tables

Bundled in-editor docs

Always available in a sidebar

UI elements

Cross-platform buttons, panels, and checkboxes that just work

Rich debugger

Pause, navigate around, execute commands, and run on mobile devices in your local network

Extendable and moddable

Add custom JavaScript or use existing catmods

Flexible input & actions system

One line of code for keyboard, gamepad, and mobile. Nice!

Three programming languages. Same powers. Yours to choose.

JavaScript & TypeScript

JavaScript is the language of the web, and optional TypeScript features provide rich coding tools.
// Event for a collision with a bullet
var damage = 5;
// 15% crit chance!
if (random.chance(15, 100)) {
    damage *= 2;
}
this.hp -= damage;

// Destroy the projectile
other.kill = true;

if (this.hp <= 0) {
    this.kill = true;
}

CoffeeScript

A python-like language with a concise and beginner-friendly syntax.
# Event for collision with a bullet
damage = 5

# 15% crit chance!
if random.chance 15, 100
    damage *= 2

@hp -= damage

# Destroy the projectile
other.kill = true

if @hp <= 0
    @kill = true

Catnip

A visual programming language made specially for ct.js that works similarly to Scratch, but better.
SetdamagevalueIfrandom chance
Setdamagevaluedamage×
Decreasehpbydamage Destroy the projectileWith copyother
Destroy this copy
Ifhp
Destroy this copy

Create games of any genre

Shooters, arcades, adventures, survivals, puzzles, visual novels — you name it!

Cleopawtra

Play as Cleopawtra and rescue your husband, Meowrc Antony. An entry to the recent ct.js jam!

Cat-Apocalypse

This game, created for the ct.js game jam, casts you as a blue cat from the future on a mission to save the dinosaurs from extinction using his deadliest weapon... yarn balls.

Pronipbition

You're a parched cat looking for some real drinks in the city. Explore the streets and chat with locals to find the secret location of the speakeasy in this vaguely historically inspired adventure game! An entry to the recent ct.js jam!

Hollow Floor

Hollow Floor is an exploration-based single-sitting Metroidvania inspired by VVVVVV and REDDER. Hollow Floor is a relaxed game that is full of secrets and hard challenges that can be tackled at any moment in the game or completely ignored. Checkout the demo and buy on Steam!

Crimson Hero Quest

Crimson Hero Quest is an engaging platformer game that invites players into a captivating pixel art world rendered in charming 16x16 graphics. Set in a vibrant universe, players embark on a heroic journey through lush forests and formidable castles.

Crazy One (open for playtests!)

A game where you try to break through a very heavy hatch by dumping everything you find on it while pew-pewing monsters in procedurally generated levels. Different heroes and weapons to choose, and… pills??

Our Partner

Mini Jam is an open recurring game jam that is held every two weeks on itch.io. Join their Discord server or visit their official site!

Ct.js' patrons

Business cats

Leo🦁

Cats

GAKONS

People who donated to ct.js

Vint Prox
Дмитрий Елисеев
Michael Relkowski
GAKONS
Alexandr Chubutkin

Become a patron

Join the world of game development

It's free!

Help ct.js grow!

Tell your friends about it