Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


Create cool 2D games with a free game editor! · By Cosmo Myzrail Gorynych


A topic by created Aug 09, 2018 Views: 326 Replies: 19
Viewing posts 1 to 9
(2 edits) (+2)
Please send your suggestions to our issue board at GitHub instead of posting them here, so your suggestions don't get lost.
I also don't think that intended this topic to be a place for others' suggestions :)
~ Comigo
  • At the moment after you build and run the project it has to open a new browser tab everytime you click play that becomes a bit annoying to work with after so many times so my suggestion is that,if the user already has a a devmode preview running clicking play should just update that preview rather than constantly open a new window
  • [PlaceHolder]
  • [PlaceHolder]
  • [PlaceHolder]
  • [PlaceHolder]
  • [PlaceHolder]
  • [PlaceHolder]
  • [PlaceHolder]
  • [PlaceHolder]

Support for multi touch screen

(1 edit)

websockets support ( for the 1.0 release maybe)


This is out of scope, at least for now.

You can use any js libraries with ct.js, though, so I would recommend searching to existing solutions and including it to your ct projects. For example, this is a browser-side library by After getting the library you create a folder called `include` in your project's folder (like `ctjs/projects/fancyGame/includes/`) and put the library here. After this, put a <script> tag to your game code with a module called `akatemplate`.

Another way to include a library is to paste it to the Scripts section at the Settings tab.


I'm currently working on an integrated debugger for ct.js games that will solve a problem with numerous tabs. Aaand it is also handy as is.

Nice! any plan to implemet multi touch support?


It is implemented in my dev branch, though in a quite basic form. Its API is pretty similar to ct.mouse. Await for a new release.

Good job :D 

New function for ct.mouse: ct.mouse.insideType
to verify that the mouse is within some type, this can be useful for interface elements.


You're probably talking about something like ct.mouse.insideCopy, as type-wide checks would better serve for gameplay elements and not UI :) I'll add them in a future release.

For the current and upcoming versions, there are methods ct.u.prect and ct.u.pcircle. You can pass mouse coordinates and a copy to them, like this:

if (ct.u.prect(ct.mouse.x, ct.mouse.y, this)) {
    if (ct.mouse.pressed) {

When I need to check against all the copies, I make a fake object for and check for collisions. This is quite a hacky way to do this, though:

var hit ={shape: {
    type: 'point'
}}, ct.mouse.x, ct.mouse.y, 'Enemy');
if (hit) {
   // Do something with an enemy under the cursor…
(1 edit)

Particle system.



I'll work on particles after I add a WebGL renderer. And particle.js is a bad library when it comes to games

ct.gamepad module


This is a good idea for a community module, as it is not that hard task

1. I'd suggest "Begin Step" and "End Step" events.

2. Being able to drag "Copies" to different positions in the room editor after it has already been placed.

3. (x,y) position of the mouse in the room editor.

4. Since the room can expand infinitely, it would seem easy to lose track of Copies and tiles in the room editor. A way to see what copies/tiles are in the room and being able to navigate to that said object/tile would be very helpful.

Since we're coding in javaScript is there a way to plug in an external code editor like Atom or VsCode ?


I think that it would be better to improve the current editor; adding bridges to vscode or such is a dead matter, being workflow-unfriendly and a way to crappy half-finished frameworks.

What issues do you face while using the default ct.js editor?  What is missing? What could be better? When do you feel that you need VSCode/Atom? This may be limited not to code editor but to ct.js in general.

Oh well usually it's a matter of Intellisense.
For example if I type "" I don't have the suggestion for, but I have the suggestion for "ct.u.deltaDir( )"
Also It doesn't suggest variables that you create earlier in the script or that the class (and/or parent classes) contain like this.speed or this.ctype


I admit that sometimes the code completion is just out of place. It also doesn't provide code completion for enabled mods (e.g. this.ctype and all the methods), though it is to be solved soon 👌

I've just dug into our current code editor and enabled local code completions (meaning that it will propose the names you used in the same document). I also added to the built-in autocompletion list (please let me know if you find other lost parameters). You can build a copy of ct.js by yourself or wait for the next release.

Hell yeah this sound awesome !

Well I'm just starting javaScript so building a custom version of the engine is not an option for me :P