Skip to content
forked from ct-js/ct-js

A desktop game editor that makes learning programming fun and game development easy by its visual editors and well-documented code library

License

Notifications You must be signed in to change notification settings

androidpal/ct-js

 
 

Repository files navigation

GitHub tag (latest by date) Travis (.org) master branch Travis (.org) develop branch

GitHub issues by-label GitHub issues by-label GitHub issues by-label

Ct.js is a 2D game editor that makes its bet on good documentation, visual tools and smooth workflow.


For bugs, feature requests, developing questions, please use GitHub issues so we can better track them. For general support about making games, ask a question at our discord server.


Support ct.js on product-hunting sites:

Repo structure & tools

  • app — an NW.js app, with its configs and static files.
    • data
      • ct.release — the ct.js game library, aka its "core"
      • ct.libs — catmods (modules) that ship with ct.js. Feel free to create a pull request with your module!
      • i18n — UI language schemes. Open for pull requests! :)
  • src — a source folder that compile into /app folder at a build time.
    • js — different top-level scripts, including 3rd-party libraries.
    • node_requires — these are copied as is to the /app directory upon building ct.js, contain reusable code, and are meant to be used by require('./data/node_requires/…').
    • pug — HTML sources of editor's windows, written in Pug.
    • riotTags — components that drive all the logic in ct.js. Written in Pug and Riot.js v3.
    • styl — style sheets, written in Stylus.
  • branding — logos and icons belong here.
  • docs — official docs of ct.js. Edit them here.
  • DragonBonesJS — a dependency for enabling DragonBones' skeletal animation support in ct.js.
  • SSCD.jsa fork of a collision library for ct.place.

Developing ct.js

Planning

See the main dev board for hot issues and plans for next releases. Prioritize the "Current release" column, then "To Do", then "Backlog", though if you really want a feature from a backlog to come true right here, right now, no one can stop you :)

Please leave a comment in issues you want to work on so that we can assign you to them and avoid occasional double work from several contributors.

Forking and installing the dev environment

Building ct.js requires Node and npm installed on your machine.

git clone https://github.com/ct-js/ct-js.git ctjs
cd ./ctjs
npm install gulp-cli -g
npm install
gulp -f devSetup.gulpfile.js

Running ct.js from sources

gulp

Releasing ct.js

This is left for emergencies only, as Travis should prepare binaries for github and send them to itch.io as well

# Builds docs and adds them to ct.js app
gulp docs
# Recompiles source files, bundles docs, and bakes binaries
gulp packages

# Publishes prebuilt binaries to itch.io
# This assumes that you have an access to ct.js at itch.io :)
gulp deployOnly
gulp deployOnly --channel next # deploy to a specific itch.io channel

# Combines `gulp packages` and `gulp deployOnly`
gulp deploy

The first run will be slow as it will download nw.js binaries. Next runs will use cached files.

Naming conventions for commits

Use Gitmoji-flavored Comigoji for naming your commits.

About

A desktop game editor that makes learning programming fun and game development easy by its visual editors and well-documented code library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 82.3%
  • CSS 14.8%
  • HTML 2.9%