Este es un repositorio anterior que tiene grandes archivos binarios y otras bases en la historia de GIT que queda debido a la estupidez temprana o los errores humanos. El nuevo repositorio es al menos 5 veces más pequeño en tamaño y limpia de esos errores.
CT.JS es un motor de juego 2D y un IDE que tiene como objetivo ser poderoso y flexible, sin dejar de ser fácil de usar y aprender. Lo hace al proporcionar documentación extensa, ejemplos, una amplia variedad de tipos de activos de juego y sus editores visuales, todo mientras permanece abierto al modding, y si el modding no ayuda, siempre puede poner el código JS simple en su proyecto.
| Características de CT.JS | ||||
|---|---|---|---|---|
| Nivel y editor de UI | ? Motor de sonido dinámico | Sistemas de partículas con un editor visual | ? Varios idiomas de secuencias de comandos para elegir | ? Scripting basado en eventos |
| Exportación de un solo clic para plataformas de escritorio | Exportación de un solo clic para la web | Listo para PC y juegos móviles | Rápido, se ejecuta en WebGL | ? GRATIS sin suscripciones o tarifas ocultas |
| Animaciones de marco por cuadro | ? ️ Embalaje automático de atlas | ? ️ Apoyo joystico | ⌨️ Eventos de entrada de diseño y agnóstico | ? Soporte de TilEmap |
| ⚽ Módulo de física | ? Módulo de colisión arcade | Bases de datos locales para tipos de datos complejos | ? Comportamientos para la composición lógica del juego | ✅ Clases base para elementos de la interfaz de usuario |
| ? Marca de aplicaciones | ? ❄️ Trabajo blanco | ➕ Agregue JS, CSS o HTML personalizado | Biblioteca modular flexible | Extensible con módulos especiales (Catmods) |
Las personas codifican en CT.JS con TypeScript, JavaScript, Coffeescript o Ct.JS 'Visual Scripting Language Language CatNip . La codificación se basa en el sistema de eventos y el código compartido se implementa como comportamientos que pueden ser combinados y utilizados por varias plantillas o niveles de objetos (a diferencia de la herencia).
A nivel técnico, los juegos CT.JS son aplicaciones JavaScript que usan WebGL para la representación. Si bien no es el tiempo de ejecución más rápido del mundo, esta configuración está perfectamente bien para los juegos 2D modernos y permite una iteración rápida, exportación web con un solo clic, y también construcciones de escritorio de dos clics.
Bajo el capó, los juegos CT.JS se basan en un marco de juego personalizado más Pixi.js como su representación y motor de sonido.
CT.JS como editor de juegos también es una aplicación web, basada en el marco NW.JS. La interfaz de usuario está basada en componentes y se ejecuta en Riot.js V3, con la mayoría de las partes sensibles de la aplicación escritas como módulos ESM de TypeScript.
CT.JS estaba hecho para ser la herramienta integrada de plataforma cruzada, siempre accesible que no está atascada en el tiempo, como la mayoría de los otros motores de juego 2D que usan renderistas con fecha, conjuntos de características limitadas y tienen UI obstaculizantes. CT.JS te permite concentrarte en el contenido de tu juego sin preocuparte por detalles técnicos como el embalaje y la carga de activos, el manejo de diferentes resoluciones de pantalla, el embalaje para el escritorio y demás.
CT.JS es obstinado y es centrado en el juego. Para hacer un juego, no necesita conocer el desarrollo web o cómo convocar a un demonio: todas las herramientas y el conocimiento ya están en CT.JS.
Y todo esto es ser gratis , como en la cerveza, como en la libertad y como un reproche hacia las empresas demasiado profundas en su codicia corporativa.
Vea la página de versiones o salte a la página de Itch.io. Disponible para Windows, Mac y Linux.
Nos presentamos a las compilaciones de Dev en Itch.io. Esta página tendrá versiones nocturnas que se construyen a partir de la rama develop de nuestro repositorio. Significa que obtendrá las últimas características, mejoras, correcciones de errores y nuevos errores diariamente, fuera del horno. Úselo con precaución y diviértete. Se recomienda encarecidamente la aplicación itch.io.
Para errores, solicitudes de funciones, preguntas de desarrollo, utilice los problemas de GitHub para que podamos rastrearlos mejor. Para el soporte general sobre hacer juegos, haga una pregunta en nuestro servidor de discordia.
app : una aplicación NW.JS, con sus configuraciones y archivos estáticos.datact.libs - Catmods (módulos) que se envían con CT.JS. ¡No dude en crear una solicitud de extracción con su módulo!i18n - Esquemas de idiomas de UI. ¡Abierto para solicitudes de extracción! :)src : una carpeta de origen que se compila en la carpeta /app en un momento de compilación.ct.release - La biblioteca de juegos CT.JS, también conocida como su "núcleo"js : diferentes scripts de nivel superior, incluidas las bibliotecas de terceros.node_requires : módulos de JavaScript y TypeScript compartidos que cubren la funcionalidad del exportador, la gestión de activos, las utilidades y demás.riotTags : componentes que impulsan la lógica de la interfaz de usuario en ct.js. Escrito en Pug y Riot.js V3.styl - Hojas de estilo, escritas en lápiz óptico.branding : los logotipos e iconos pertenecen aquí.docs - Documentos oficiales de CT.JS. Editarlos aquí.SSCD.js - Una bifurcación de una biblioteca de colisión para ct.place.Se publican problemas relativamente grandes en la junta de desarrollo principal, junto con problemas que requieren ayuda de la comunidad. Priorice la columna de "Release actual", luego "To Do", luego "Retrocedente", aunque si realmente desea que una característica de una acumulación se haga realidad aquí, en este momento, nadie puede detenerlo :)
Deje un comentario sobre los problemas en los que desea trabajar para que podamos asignarles y evitar el doble trabajo ocasional de varios contribuyentes.
Puede chatear y discutir el desarrollo de CT.JS en el servidor Discord de CT.JS, en el canal #de desarrollo de motores.
El edificio CT.JS requiere Node y NPM instalados en su máquina.
git clone https://github.com/ct-js/ct-js.git ctjs
cd ./ctjs
npm install gulp-cli -g
npm install
gulp -f devSetup.gulpfile.jsgulp Use gulp dev en lugar de solo gulp para ejecutar un servicio de desarrollo con recarga en vivo sin abrir CT.JS de su manera predeterminada. En cualquier caso, puede detener este servicio de la manera habitual para su terminal, por ejemplo, Ctrl+C . Si se encuentra con problemas inexplicables, especialmente cuando se cambia a una nueva rama, ejecute gulp -f devSetup.gulpfile.js nuevamente.
VScode puede usar esta extensión para ejecutar CT.JS con un depurador adjunto. Antes de ejecutar el depurador, para permitir la recarga en vivo, ejecute gulp dev .
Los enlaces verifican los problemas de formato de código, ejecuta Eslint y también verifica los archivos I18N para ver las teclas adicionales.
gulp lintTambién hay comandos separados para ejecutar solo pruebas específicas:
gulp lintJS
gulp lintTags
gulp lintStylus
gulp lintI18nEn realidad es fácil y robusto. Tenemos CT.Js regulares para versiones centrales y CT.js todas las noches como una construcción canaria/previa.
develop .develop desencadena una construcción de CI, y una nueva versión de CT.JS Nightly se lanza públicamente.develop``, it means it will reach the rama Master`.Esto se deja solo para emergencias, ya que Gitlab CI debe preparar binarios para GitHub y enviarlos a Itch.io también
# 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 deployItchOnly
gulp deployItchOnly --channel next # deploy to a specific itch.io channel
# Creates a draft release on GitHub
# Needs a GITHUB_TOKEN in your environment variables.
# Does nothing on nightly releases
gulp sendGithubDraft
# Combines `gulp packages`, `gulp sendGithubDraft`, and `gulp deployItchOnly`
gulp deployLa primera ejecución será lenta, ya que descargará Binarios NW.JS. Las siguientes ejecuciones usarán archivos en caché.
Use Comigoji con sabor a gitmoji para nombrar sus comodidades.
Use la guía de nombres CSS de Comigo para el estilo
Tenemos algunas referencias para las partes internas de CT.JS en nuestro wiki.
La aplicación CT.JS tiene un libro de estilo CSS incorporado en la sección meta del menú principal.
CT.JS es apoyado por estas maravillosas personas: