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.3.1

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 textboxes 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!

BoB-ble

Shoot your ball to teleport through obstacles, solve puzzles and go through the exit. Simple right? lol good luck.

Potato Cop

An action game where you avoid flying projectiles like spring onions. Get ready to smash your keyboard whilst you peel potatoes over and over.

There's a house in the sky

A simple and serene hill building game for minijam 173 with theme "Action" and constraint "From the top".

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!

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

Cats

GAKONS
Александр Гагарин

People who donated to ct.js

Ifritor
Desogen
Александр Гагарин
Alan
Leo🦁
Luca Maroccia
Leo🦁
Vint Prox
Дмитрий Елисеев
Michael Relkowski
GAKONS
Alexandr Chubutkin
(two anonymous donors)

Become a patronDonate

Join the world of game development

It's free!

Help ct.js grow!

Tell your friends about it