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

  • ct.backgrounds and ct.tilemaps — two new built-in APIs appeared for your needs in procedural generation.
  • ct.place got a bunch of tracing functions that you can use to test for collisions in an arbitrary area. See them in a new doc page at ct.js.
  • ct.tween module got three new interpolation methods thanks to kkornushin: elastic, bouncing motion, and motion with backwards overshoot. See ct.tween's docs at your ct.js editor.
  • You can now mark a room as a UI layer in room's properties instead of using isUi property!
  • New methods: ct.types.isCopy, ct.u.hexToPixi, ct.u.pixiToHex.
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.

Visit the repo →