Welcome to the official ct.js docs!

Learn ct.js, complete tutorials, and contribute to ct.js documentation

Read the docs →

Learn JavaScript

Games made in ct.js use JavaScript, or simply JS, to code its gameplay logic. Learn the needed part of it in our little Introduction to JS.

Learn JavaScript →

Complete tutorials

The best way to learn is by making, and you can create real games with our step-by-step tutorials:

Learn the core library

See additional methods and properties of copies, camera, rooms, and procedurally create tilemaps, backgrounds, and new copies.

Go to ct.js docs →

Notable additions in ct.js v1.6 and v1.7

  • Qewer wrote a nice tutorial about making drag-and-drop interactions in your game.
  • Two dope modules added for spectacular visual effects: ct.light for dynamic lighting system by Comigo and ct.filters with premade visual effects and for adding custom shaders, made by SN. See them in your engine!
  • Another cool catmod is ct.nakama that integrates ct.js with an open-source online gaming platform Nakama. This one comes with tutorial video series by Alexandar Gyurov!
  • Oh yeah, there is also ct.matter named after 2D physics engine Matter.js. Shortly, it is time to create Angry Birbs in ct.js!
  • We added a small list of free gamedev resources to help newcomers with their journey. All the linked resources are free!
  • Catmods can now group their fields into collapsible sections with a special group input. See live inside ct.light module!
Changelog →

Get the cheatsheet

Download the cheatsheet →

Join the community

Join our Discord server to meet other game developers, receive help, aid others, and share your creations. Alternatively, you can also post on our forum.

Discord Server → Forum →


Set up a dev environment to run a local docs server and use simple Markdown syntax to write new tutorials and send fixes.

You can also edit docs on Github — look for "Propose edits" links at the bottom of each page!

Visit the repo →