Dies ist ein älteres Repo, das aufgrund der frühen Dummheit oder der menschlichen Fehler große Binärdateien und andere Müll in der Git -Geschichte hat. Das neue Repo ist mindestens 5 -mal kleiner und sauber von diesen Fehlern.
CT.JS ist eine 2D -Spiele und IDE , die leistungsstark und flexibel sein soll und gleichzeitig einfach zu bedienen und zu lernen ist. Durch umfassende Dokumentation, Beispiele, eine Vielzahl von Spieltypen für Spiele und deren visuelle Redakteure - bleiben Sie gleichzeitig für Modding geöffnet. Wenn Modding nicht hilft, können Sie immer einen einfachen JS -Code in Ihr Projekt einfügen.
| CT.JS -Funktionen | ||||
|---|---|---|---|---|
| Level & UI Editor | ? Dynamische Soundmotor | Partikelsysteme mit einem visuellen Editor | mehrere Skriptsprachen zur Auswahl zur Auswahl | ? Ereignisbasiertes Skripting |
| Ein-Klick-Export für Desktop-Plattformen | Ein-Klick-Export für Web | Bereit für PC- und Mobilfunkspiele | Schnell läuft in WebGL | ? Frei ohne versteckte Abonnements oder Gebühren |
| Frame-by-Frame-Animationen | ? ️ automatisches Atlaspacken | ? ️ Joyste -Unterstützung | ⌨️ Layout-agnostische Eingabeereignisse | ? Tilemap -Unterstützung |
| ⚽ Physikmodul | ? Arcade -Kollisionsmodul | Lokale Datenbanken für komplexe Datentypen | ? Verhalten für die Logikzusammensetzung der Gameplay | ✅ Basisklassen für UI -Elemente |
| ? Anwendungsbranding | ? ❄️ Weißmarkierung | ➕ Fügen Sie benutzerdefinierte JS, CSS oder HTML hinzu | Flexible modulare Bibliothek | Mit speziellen Modulen (Catmods) erweiterbar |
PERSONAL CODE IN CT.JS mit TypeScript, JavaScript, Coffeescript oder Ct.js 'visueller Skriptsprache Catnip . Die Codierung basiert auf dem Ereignissystem, und der gemeinsame Code wird als Verhalten implementiert, die von mehreren Objektvorlagen oder Ebenen (im Gegensatz zur Vererbung) kombiniert und verwendet werden können.
Auf technischer Ebene sind CT.JS -Spiele JavaScript -Anwendungen, die WebGL zum Rendern verwenden. Obwohl dieses Setup nicht die schnellste Laufzeit der Welt ist, ist es für moderne 2D-Spiele vollkommen in Ordnung und ermöglicht eine schnelle Iteration, einen Ein-Klick-Web-Export-und zwei Klick-Desktop-Builds!
Unter der Haube basieren CT.JS -Spiele auf einem benutzerdefinierten Spiel -Framework plus pixi.js als Rendering und Sound Engine.
CT.JS als Spieleditor ist auch eine Webanwendung, basierend auf dem Framework von NW.js. Die Benutzeroberfläche basiert auf Komponenten und wird auf Riot.js v3 ausgeführt, wobei die meisten sensiblen Teile der Anwendung als Typscript-ESM-Module geschrieben sind.
CT.JS wurde als plattformübergreifende, immer zugängliche integrierte Tool , das nicht in der Zeit steckt, wie die meisten anderen 2D-Spielmotoren, die datierte Renderer verwenden, begrenzte Merkmalssätze verwenden und eine behinderte Benutzeroberfläche haben. Mit CT.JS können Sie sich auf den Inhalt Ihres Spiels konzentrieren, ohne sich über technische Details wie Asset -Packung und -Ladung, die Behandlung verschiedener Bildschirmauflösungen, das Packen für Desktop und dergleichen zu sorgen.
Ct.js ist einsweichen und gameev-zentriert. Um ein Spiel zu erstellen, müssen Sie keine Webentwicklung kennen oder wie man einen Dämon beschwört - alle Tools und Wissen befinden sich bereits in Ct.Js.
Und all dies ist frei zu sein - wie im Bier, wie in Freiheit und als Vorwurf gegenüber Unternehmen zu tief in ihrer Unternehmensgier.
Siehe die Seite der Veröffentlichungen oder springen Sie zur Seite itch.io. Verfügbar für Windows, Mac und Linux.
Wir veranstalten Dev Builds bei itch.io. Diese Seite wird abendliche Versionen enthalten, die aus der develop unseres Repositorys erstellt wurden. Dies bedeutet, dass Sie die neuesten Funktionen, Verbesserungen, Fehlerbehebungen und neue Fehler täglich aus dem Ofen erhalten. Vorsicht verwenden und Spaß haben. Die itch.io -App wird dringend empfohlen.
Verwenden Sie für Fehler, Feature -Anfragen und Entwicklungsfragen Github -Probleme, damit wir sie besser verfolgen können. Stellen Sie auf unserem Discord -Server eine Frage für allgemeine Unterstützung bei der Erstellung von Spielen.
app - Eine NW.JS -App mit ihren Konfigurationen und statischen Dateien.datact.libs - catmods (module), die mit ct.js. Erstellen Sie eine Pull -Anfrage mit Ihrem Modul!i18n - UI -Sprachschemata. Öffnen Sie für Pull -Anfragen! :)src - Ein Quellordner, der zu einer Build -Zeit in /app -Ordner kompiliert.ct.release - Die CT.JS -Spielbibliothek, auch bekannt als "Kern"js -Verschiedene Skripte auf der Spitze, einschließlich der 3. Partnerbibliotheken.node_requires - Shared JavaScript- und TypeScript -Module, die die Funktionalität des Exporteers, das Vermögensverwaltung, die Dienstprogramme und dergleichen abdecken.riotTags - Komponenten, die die UI -Logik in ct.js. Geschrieben in Pug und Riot.js v3.styl - Stilblätter, geschrieben in Stylus.branding - Logos und Symbole gehören hier.docs - Offizielle Dokumente von Ct.Js. Bearbeiten Sie sie hier.SSCD.js - Eine Gabel einer Kollisionsbibliothek für Ct.Place.Relativ große Probleme werden im Haupt -Entwicklungsausschuss zusammen mit Problemen veröffentlicht, die Hilfe von der Community erfordern. Priorisieren Sie die Spalte "Current Release", dann "zu tun", dann "Backlog", wenn Sie wirklich hier eine Funktion von einem Backlog aussehen möchten, kann Sie jetzt niemanden aufhalten :)
Bitte hinterlassen Sie einen Kommentar zu Themen, an denen Sie arbeiten möchten, damit wir Sie ihnen zuweisen und gelegentliche Doppelarbeit von mehreren Mitwirkenden vermeiden können.
Sie können die CT.JS-Entwicklung auf dem Discord-Server von CT.JS im #Engine-Entwicklungskanal chatten und diskutieren.
Das Erstellen von CT.JS erfordert, dass auf Ihrem Computer einen Knoten und NPM installiert sind.
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 Verwenden Sie gulp dev anstelle von gulp , um einen Entwicklerdienst mit Live -Nachladen auszuführen, ohne Ct.js in seiner Standard -Weise zu öffnen. In beiden Fällen können Sie diesen Service auf die übliche Weise für Ihr Terminal einstellen, z. B. Ctrl+C . Wenn Sie auf unerklärliche Probleme stoßen, insbesondere wenn Sie zu einem neuen Zweig wechseln, führen Sie gulp -f devSetup.gulpfile.js erneut aus.
VSCODE kann diese Erweiterung verwenden, um CT.js mit einem angehängten Debugger auszuführen. Vor dem Ausführen des Debuggers, um Live -Nachladen zu ermöglichen, führen Sie gulp dev aus.
LINTING -Überprüfungen für Code -Formatierungsprobleme, Ausführungen werden ausgeführt und prüft auch i18N -Dateien auf zusätzliche Schlüssel.
gulp lintEs gibt auch separate Befehle, um spezifische Tests auszuführen:
gulp lintJS
gulp lintTags
gulp lintStylus
gulp lintI18nEs ist eigentlich einfach und robust. Wir haben regelmäßig CT.Js für Core Releases und Ct.js Nightly als Kanarien-/Vorschau -Build.
develop .develop von CI Build löst eine neue Version von CT.JS Nightly aus öffentlich veröffentlicht.develop``, it means it will reach the .Dies bleibt nur für Notfälle übrig, da Gitlab CI Binärdateien für GitHub vorbereiten und sie auch an Itch.io senden sollte
# 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 deployDer erste Lauf wird langsam sein, da er NW.JS -Binärdateien herunterladen wird. In den nächsten Läufen werden zwischengespeicherte Dateien verwendet.
Verwenden Sie Comigoji mit Gitmoji-Geschmack, um Ihre Commits zu benennen.
Verwenden Sie Comigos CSS -Namensführer für das Styling
Wir haben einige Referenzen für CT.JS 'Interna auf unserem Wiki.
Die CT.JS-App verfügt über ein integriertes CSS-Stylebook im Meta-Bereich des Hauptmenüs.
Ct.js wird von diesen wunderbaren Menschen unterstützt: