The future of ct.js
So, what's next?
Ct.js has walked an eventful journey during this year or two. It got a much more performant graphics engine, more modules, more input methods, code editor with powerful typing capabilities, smooth UI, and became an all-round engine for prototyping, learning, and making hobby games. It is now time to become the best engine. At least for 2D games 😃
Ct.js once again enters its Next phase — a phase of exploration, new possibilities, removal of the old stuff, and building new spaceships. The phase of prereleases. 🛸✨💃
These prereleases will heavily remake the basis of ct.js. We promise no backward (or even forward) compatibility as the changes are really game-changing and already workload-heavy. In particular, we plan to make at least three prereleases that all will focus on a specific issue:
- The first one will focus on making ct.js more suitable for bigger games: projects' structure will become entirely file-based, there will be an asset browser with all your assets, and UI will be tabbed. (Yea, it is already tabbed, but you will be able to open several assets of one type at once! Wooo!)
- The second prerelease will come with a new room editor — it is probably the heart of most engines as that's where the actual gameplay and stories are created. We will base it on pixi.js. It will match the performance and behavior of your games, and will not only add new features for level building but also make the whole process more… immersive. If you understand what I mean. 👀 If not, stay tuned, hehe! 👽
- The third prerelease will rework the engine and ct.IDE to allow the usage of numerous base classes on top of which you can build stuff, as well as implement native class inheritance. Think of buttons, 9-patches, skeletal sprites as first-class objects for which you can declare events, the same way as you do it for regular types and copies. We also plan on greatly expanding the number of events you can work with, beyond basic On Create, On Step, On Draw as well as make events framework moddable.
⬆ This is our current vision of a room editor and tabbed interface.
Each prerelease will be publicly available and ready for fiddling. We can say that releases will be self-sufficient so you will be able to make a complete game in it, but again, we also don't promise your projects will be easily transferable to subsequent versions. We may release bug fixes, QoL updates, and such to prereleases depending on their popularity, compatibility, and your requests.
After these three steps, we will need some more time to polish ct.js and add less significant, but still relevant features: starter templates, configurable splash screens, further customizations for your projects, etc. Only then ct.js will return to its more stable release cycle. 😃
Of course, this is a helluva work, and without support, the development will… be… stretched… a lot. There are numerous ways to support ct.js:
- By coding! Ct.js is an open-source project under the MIT license, and it is ready for your PRs at ct.js repo.
- Donations help me work on ct.js more as I'll be able to shorten work hours. I currently have Patreon page that is ready for new supporters, but if you prefer one-time transactions with Paypal or Yandex Money, contact me.
- Spreading the word helps too: the more people know and love ct.js, the more it gets contributors.
Currently, ct.js is programmed mainly by me (CoMiGo) with regular contributions from @naturecodevoid from Github. And this is bad. Such big OSS projects don't usually survive at all at such a team scale. If you want to make the future of ct.js more sturdy and take an active part in its development, join our Discord server, say "hi", coordinate with us at the #engine-development channel, and start solving issues from our git repo.
Is v1.4.1 the final version of ct.js v1.x?
Nope, we would like to provide a couple more nifty things to you and v1.4 and provide bug fixes. And if you send a PR with a feature request fulfilled, we will surely release it as a new version. 😃
Where's that Discord server everyone is talking about? 😳
Leave a comment
Log in with itch.io to leave a comment.