Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Cosmo Myzrail Gorynych

A member registered Jul 03, 2016 · View creator page β†’

Creator of

Recent community posts

What a heartwarming comment ^-^

Nodes can be deleted using the Delete key on your keyboard. Other functions are absent (yet), and I currently don't have much spare time to make them real.


It requires an enormous amount of work, otherwise, it will be a mediocre limiting crap similar to Scratch. Scratch-like languages seen in YoYo Game Maker or Construct give no value, because they are just a line-by-line graphic/text representation of real code. JS is already easy to learn and is infinitely deep, so I would not add another language that will be thrown away by a user after two-three weeks of use, but would rather gradually teach a user how to code on js.

If we're talking about a holy grail similar to Unreal Engine's blueprints, a bunch of delicate questions appears. What about modules? What happens if one was removed/added? How to preserve JS flexibility and its prototype-based typing? What about purely JS, not-ct-targeted libraries? And, yeah, it requires even more work to be put into.

Not actually.

Though each "next" version is a fully-working IDE, each new one brings a bunch of breaking changes, and they all are incompatible with v 0.x. The next-2 has breaking changes in ct.fittoscreen module and camera variables. The next-3, or, maybe, the future release version will probably have breaking changes on how you manage graphics assets, though I will try to make these changes minimal for an end user.

Regarding its release cycle, I post updates as new major features come, similar to how Epic Games pushes its preview versions of Unreal Engine.

This is a planned feature. For now, you can only set a copy's scale.

Ugh, I'm in hurry and miss some things.

The license text is in the hamburger menu in ct.ide itself.

I won't open-source the engine, at least for now Β―\_(ツ)_/Β― But still I would like to get some help.

If you are willing to contribute to IDE, please contact me on Discord or at Telegram (@CoMiGo). I have a repo, automatic build pipeline, linters and stuff, so everything is ready for collaborative development.

Hi MelinSa,

In the next version of CE, time tracker will be launched from within the card viewer, and elapsed time will be automatically accounted on the card that initiated the pomodoro timer. It works in exactly the opposite direction if compared to your approach, but I hope it solves the common problem :D

There is no ETA for this version, though :( There is still much to do.

Yes, everything is clumsy and made in a weird way. This game was coded in 3 hours and I hadn't time for all that improvements

(1 edit)

Ok, so today I've set up a VM with Mojave, but was able to run a simple project and compile examples on v1.0 (though I don't have any additional video support and what I get is a flickering black screen :D but I can see that game logic runs and can interact with it).

I just downloaded ct.js for mac from the official site and run it from within Downloads folder.

Do you run v1? What else is written if you open the dev tools with the context menu? Any other info you can provide?

1st and 2nd: Thanks for reporting, I fixed it and these changes will come in a nearest update.

3rd, the license: I'm not a lawyer either Β―\_(ツ)_/Β― So creating a license is a way of trial and error for me.

But it is meant that the engine files combined with yours ones are licensed under your own terms:

I will think about how to make this section more clear and readable. Actually, there are four entities: ct.IDE, the Software, the ct.js library (the engine), Your Content and user-made modules (aka catmods). ct.IDE is immutable, the ct.js lib is ok to edit, and your content and user-generated modules should be licensed by their makers.

3rd again, the OSS: the main reason that it is not open-source is that everyone wants money ✨ and I would like to monetize ct.js in some way, but also in a non-restricting (for users) one. I understand that FOSS can be monetized, too, by rewards, pledges, Patreon, donations and stuff, but this all is new to me and I'm unsure on how to do it properly. So it is not actually about licensing, as I can make my own license if I need, or just go with GPL-3.

I will make it FOSS when I will think I'm ready, but not now. Maybe it will be OSS some day, maybe it will never ever be. If you have such experience and have a story to tell, you can speed up this process.

(1 edit)

Yes, these versions are slightly different, especially when it comes to drawing things. Also, some variable names differ, too. Besides that, games made in v1.0 are much, much faster than those that were built in v0.5.2.

As you are a new ct.js user, I recommend you to start using new ct.js v1.0 from the alpha channel, as it is a fully usable product: it has its own separate docs and tutorials, examples adapted to the new version. I also migrate some of my games and haven't seen any issues.

Thank you, SirePi!

I think so too, but for that I need to make data sync first.

I added a notice to my backlog so it doesn't slip out of sight

Oh no, you can't be added to Discord friends so easily bc of your privacy settings Β―\_(ツ)_/Β―
My tag is CoMiGo#7821

No and never thought about it.

THIS WORLD IS MIIINE *Kerrigan noises*

I even infested the skyyyyyy *screeches*

This game needs ending! And more content, maybe just more cities will be enough. They could be added to the existing world as other flying islands, and new enemies could include helicopters, tanks, military ships that require more vines to be totally disabled. Respawning enemies can also be a good balancer.

Aaand there should be a little notice that you do can eliminate firethrowers, as my first run ended with a fully infested city and untouched firethrowers :b

And the more buildings and links I have, the more popups become irresponsible untill they fully disappear on uninfested houses.

Great, I'm sold.

Do you have a telegram account or discord one?

OMG I forgot to credit font designers! Indeed it is your BitPotion. Thank you for this lovely font!

Regarding the sounds, I thought that the wave sounds were the most successful and life-like :|

(1 edit)

You mean storing personal settings and stuff to ct.js folder? Projects are saved inside the ct.js folder, and these projects may be moved freely.

Whoops, wrong community.

Ok, I added this to my backlog. Maybe I will implement this feature after v1.0 release. Follow the dev news at Discord.

Um, have you installed ct.js in your system in some way? I haven't faced handling such apps on macs before and thought that the app will be just extracted to some folder. And could use some more information to help mitigate this problem in future versions of ct.

And yes, you can copy your project to any directory and open it with a Browse button on the starting screen. As a workaround, here is an empty ct.js project:

PARRRTY TIIIME πŸ’€πŸ’€πŸ’€πŸ’€ Hell yeah!

Ok. I'm currently optimizing collisions in my engine, so it should be much faster the next time.

The game can be downloaded with the app and be played offline. My editor can't pack games to executables yet Β―\_(ツ)_/Β―

Well, it seems that there is still a limit to browser speed. :c

I checked the issue and it is mainly because of collision checks (there are too many itty-bitty tiles that should be calculated) and some advanced AI magic. It is indeed more applicable to the second level than to the first/third.

Also it seems that Chrome runs the game faster than Firefox.

It is not that often that you find strategy games or TD at game jams, and your entry is a really good exception! One of the best entries for this game jam imho :)

It is quite a good entry with nifty effects, nice SFX and overall graphics. I would like to see more patterns in enemy movement and spawn locations to strengthen that arcade feel. For now, there are so much enemies and it is sooo unordered that you don't focus on enemies at all, but on trying not to die.

In short: messy. Bad onboarding, tons of things throwing at you at the very first seconds of a play session, an intro text that makes no sense in terms of both the gameplay and the theme.

But if refined, this game may be a good thing to sell (and buy).

Switching between characters turns into skill, but I feel that it would be better if their abilities were recombined into one character with both grappling hook and jetpack as this "skill" is eaily achievable in one minute. The rectangle just makes no sense as it is slow, is a big target, and weak at the beginning.

Another bad thing about characters is that if one of them dies you a) lose its abilities; b) lose its weapon, if any and c) lose ability to move in many ways, which does make the game fun and, well, you can't do much with the circle only.

SFX and music are great.

Ah, and you should add borders to the room as you can't tell where is the end of it while playing in fullscreen

(2 edits)

It reminds me the classic Snake game as enemies spawn faster and faster when you eat these... squares and it gets harder to manage this tail of blue guys.

This game lacks dynamism as everything feels laaame... Tweaking spawn rate, movement and reload speed can help it. Also, different enemies with distinct movement patterns could spice the things up.

Regarding randomness, the use of such could be better, as I continuously bump into enemies that spawn right in front of me, without any chance to survive this collision.

The hardest thing is not to crash into the hostage xD

Thank you for playing! ^-^

XD Glad you like it!


I unlocked both endings ^-^

Yes, it did, and it is here:

Thank you for playing! Whew, I was very nervous about the game engaging a player in the late game.

As quite many people now tell me about red mushrooms, I wonder why didn't I come up with this simple idea before :/

The lake is designed to be both a source of life and to be the biggest trap. Wolves always spawn off the screen, but they are more likely to spawn around the lake. So maybe you got the most unfortunate night and wolves squeezed through your wall :) The best strategy in this game is to plant resources all over the map and not to sit on one place.

Or maybe the monster of the dark ate you right after your campfire ran out.

I think I will make a little update to this game, but after the voting process of Mini Jam.

I'm a Linux user; maybe you updated just Windows downloads??

And regarding voiceover, I'm not a native English speaker and when I heard the first part, I quickly turned into "meh whatever" mode thinking that there will be just a plot info, so I missed the whole speech πŸ˜…πŸ˜‚ Still audio cues helped to learn about scanning right in the game.

I don't even know how to rate it :c There isn't much work there to somehow evaluate this entry.
And for some reason I started without a gun?? I thought that you can jump on enemies or make them shoot each other, but was smashed. Then I randomly pressed any buttons on my keyboard until I got the gun .-.

That's a nice idea on replayability! But it can turn into a negative loop, making every run harder if you don't regrow the environment quickly. Tricky, but still a good suggestion.

Wolves were made as an inevitable danger on purpose. I thought about taunting them with food or stuff, about an end game where you, e.g., find a flare launcher (I guess that's how it is called?) to be saved, but unfortunately I didn't came up on how to add this end game without making replays extra short once you find out how to do it. Maybe next time!

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…