Giter Club home page Giter Club logo

ct-js / ct-js Goto Github PK

View Code? Open in Web Editor NEW
1.5K 22.0 117.0 250.73 MB

Ct.js is a desktop game engine that makes learning programming fun and game development easy by its visual editors and well-documented code library

Home Page: https://ctjs.rocks/

License: MIT License

CSS 0.58% HTML 0.70% JavaScript 29.03% Pug 0.61% Stylus 9.57% TypeScript 59.50% PowerShell 0.01%
gamedev game-engine 2d-game-engine pixijs game-editor html5-game-development webgl editor javascript pixi-js

ct-js's Issues

Rewrite room editor with pixi.js

This will reduce further development complexity, and make drawing faster and closer to the final game. The current canvas-based editor quickly loses its maintainability.

Also, see #40, #76, and #57

A mockup: https://www.figma.com/file/5ranH0vsypOnCYGIKntGVF/Ct.js-v2?node-id=1%3A2

TODO

  • Feature parity with the old editor
    • Camera controls
    • Rectangular grid
    • Drawing regular copies
    • Drawing tiles (pivots are wrong rn)
    • Drawing backgrounds
    • Placing copies
    • Placing tiles
    • Managing backgrounds
    • Custom properties for copies, added by a user without modules
    • Viewport management updates
    • Background color updates
    • Free placement mode for tiles and copies (alt key)
    • Better removal mode feedback (ctrl key)
    • actually save changes 🤣
  • Simulation controls
  • Transformer
  • Group transformation
  • Ability to ignore certain entity groups during selection (how do I fit it into UI? 🤔)
  • Ctrl+C, Ctrl+V
  • Ctrl+Z, Ctrl+Shift+Z (#76)
  • Delete key for the current selection
  • Make sure that tint and transforms are applied to both copies and tiles in the exported games
  • Apparently it is time to introduce more complex collision checks for tiles 🤔 as they can now be transformed and rotated. Oh well. They had already supported them.

New functionality:

  • Isometric/diagonal grids
  • Particle tandems
  • Ambient sounds
  • Triggers (#67)
  • Waypoints/paths
  • Additional view options:
    • Custom properties display
    • X-Ray mode
    • Collision group display? Collision shapes?

Демки и туториалы

In GitLab by @Comigo on Apr 1, 2018, 16:08

  • Демка с астероидами
  • Демка с платформером
  • Демка с мемокарточками
  • Текстовый туториал для части спэйс-шутера
  • Видеотуториал для спэйс-шутера на английском
  • Видеотуториал для спэйс-шутера на русском

Separate windows OR tabs in the editor

In GitLab by @Comigo on Feb 24, 2019, 20:47

"It would be cool to have separate windows in ct.js and not everything integrated into one big UI, as most developers work with two screens."

Code completions provided by modules

Catmods could provide additional configs that would allow extending the default autocompletion with their functions.


Modules with typedefs:

  • cutscene
  • eqs
  • fittoscreen
  • flow
  • keyboard
  • mouse
  • place
  • random
  • sound.howler
  • sprite
  • touch
  • tween
  • vkeys
  • yarn

Проапгрейдить Sound API

In GitLab by @Comigo on Mar 21, 2018, 00:30

Сейчас держится на HTML-тегах. Успело появиться нормальное апи для звуков.

Rework ct.keyboard, ct.mouse into a more abstract system

In GitLab by @Comigo on Feb 24, 2019, 20:44

Rework them into a mapped input system like seen in Unreal Engine, that also allows to integrate other input methods (like gyroscope, gamepad) with ease. Ideally, there should be a system where a programmer listens to actions, that are described as an aggregation of different inputs, e.g. action "To Left" that combines the "A" key, the arrow button, and gamepad stick or d-pad.

  • code it as a core module;
  • rework ct.keyboard, ct.mouse;
  • make a UI editor;
  • document the process of telling ct.IDE what keys are supported by a module;
  • test it on catsteroids or such;
  • update demos & examples;
  • update docs & tutorials;
  • add stupidity checks.

Backups

In GitLab by @Comigo on Feb 24, 2019, 20:45

Though ct.js already auto-saves the project to a recovery file, it would be great to save previous versions in separate files (similar to what YoYo GameMaker does).

Some things to consider:

  • it should be configurable, both in the number of backups and in the fact of creating them at all. One will not need backups if they use git or other svn (probably).
  • ideally, it should version assets, too. Maybe pack the project to a dated zip file?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.