Il s'agit d'un dépôt plus ancien qui a de grands fichiers binaires et d'autres déchets dans l'histoire du GIT en raison de la stupidité précoce ou des erreurs humaines. Le nouveau repo est au moins 5 fois plus petit et propre de ces erreurs.
CT.JS est un moteur de jeu 2D et IDE qui vise à être puissant et flexible tout en étant facile à utiliser et à apprendre. Il le fait en fournissant une documentation approfondie, des exemples, une grande variété de types d'actifs de jeu et leurs éditeurs visuels - tout en restant ouvert au modding, et si le modding n'aide pas, vous pouvez toujours mettre un code JS ordinaire dans votre projet.
| Fonctionnalités CT.JS | ||||
|---|---|---|---|---|
| Éditeur de niveau et d'interface utilisateur | ? Moteur sonore dynamique | Systèmes de particules avec un éditeur visuel | ? Plusieurs langues de script à choisir | ? Script basé sur des événements |
| Exportation en un clic pour les plates-formes de bureau | Exportation en un clic pour le Web | Prêt pour les jeux PC et mobiles | Rapide, fonctionne dans webgl | ? GRATUIT SANS AUSSI CHIDEND |
| Animations cadre par trame | ? ️ Emballage d'atlas automatique | ? ️ Support de joystic | ⌨️ Dayout-Agnostic Entrée événements | ? Support de tilemap |
| ⚽ Module physique | ? Module de collision d'arcade | Bases de données locales pour les types de données complexes | ? Comportements pour la composition logique du gameplay | ✅ Cours de base pour les éléments d'interface utilisateur |
| ? Marque d'application | ? ❄️ Étresse blanche | ➕ Ajouter des JS, CSS ou HTML personnalisés | Bibliothèque modulaire flexible | Extensible avec des modules spéciaux (CatMods) |
Les gens codent dans ct.js avec dactylographie, javascript, coffeecript ou linguis de script visuel de CT.js. Le codage est construit autour du système d'événements et le code partagé est implémenté comme des comportements qui peuvent être combinés et utilisés par plusieurs modèles ou niveaux d'objets (par opposition à l'héritage).
Au niveau technique, les jeux CT.JS sont des applications JavaScript qui utilisent WebGL pour le rendu. Bien que ce ne soit pas le temps d'exécution le plus rapide au monde, cette configuration est parfaitement bien pour les jeux 2D modernes et permet une itération rapide, une exportation Web en un clic - et des versions de bureau en deux cliquettes également!
Sous le capot, les jeux CT.JS sont basés sur un framework de jeu personnalisé plus Pixi.js comme moteur de rendu et son.
CT.JS en tant qu'éditeur de jeu est également une application Web, basée sur le cadre NW.JS. L'interface utilisateur est basée sur des composants et est exécutée sur Riot.js v3, avec la plupart des parties sensibles de l'application écrites sous forme de modules ESM TypeScript.
CT.JS a été conçu pour être l'outil intégré multiplateforme, toujours accessible qui n'est pas coincé dans le temps comme la plupart des autres moteurs de jeu 2D qui utilisent des rendus datés, des ensembles de fonctionnalités limitées et ont gêné les UIS. CT.JS vous permet de vous concentrer sur le contenu de votre jeu sans vous soucier des détails techniques tels que l'emballage et le chargement des actifs, la gestion de différentes résolutions d'écran, l'emballage pour le bureau, etc.
CT.JS est opinionné et Gamedev-centric. Pour faire un jeu, vous n'avez pas besoin de connaître le développement Web ou comment invoquer un démon - tous les outils et connaissances sont déjà en CT.JS.
Et tout cela doit être libre - comme dans la bière, comme dans la liberté, et en tant que reproche envers les entreprises trop profondément dans leur cupidité d'entreprise.
Voir la page des versions ou sautez sur la page itch.io. Disponible pour Windows, Mac et Linux.
Nous hébergeons les builds Dev sur itch.io. Cette page aura des versions nocturnes construites à partir de la branche develop de notre référentiel. Cela signifie que vous obtiendrez les dernières fonctionnalités, les améliorations, les corrections de bogues et les nouveaux bugs quotidiennement, hors du four. Utilisez avec prudence et amusez-vous. L'application itch.io est fortement recommandée.
Pour les bogues, les demandes de fonctionnalités, les questions de développement, veuillez utiliser les problèmes GitHub afin que nous puissions mieux les suivre. Pour une prise en charge générale de la création de jeux, posez une question sur notre serveur Discord.
app - Une application NW.JS, avec ses configurations et ses fichiers statiques.datact.libs - CatMods (modules) qui expédie avec CT.JS. N'hésitez pas à créer une demande de traction avec votre module!i18n - Schémas de langue UI. Ouvert pour les demandes de traction! :)src - Un dossier source qui se compile dans le dossier /app à un moment de construction.ct.release - La bibliothèque de jeux CT.JS, alias son "noyau"js - Différents scripts de niveau supérieur, y compris les bibliothèques de 3e partie.node_requires - Modules JavaScript et TypeScript partagés qui couvrent les fonctionnalités, la gestion des actifs, les services publics et autres de l'exportateur.riotTags - Composants qui entraînent une logique d'interface utilisateur dans CT.JS. Écrit dans Pug et Riot.js v3.styl - feuilles de style, écrites en stylet.branding - Les logos et les icônes appartiennent ici.docs - Docs officiels de CT.JS. Modifiez-les ici.SSCD.js - Une fourche d'une bibliothèque de collision pour Ct.Place.Des problèmes relativement importants sont publiés dans la commission du développement principal, ainsi que des problèmes qui nécessitent de l'aide de la communauté. Priorisez la colonne "release actuelle", puis "à faire", alors "arriéré", bien que si vous voulez vraiment qu'une fonctionnalité d'un arriéré se réalise ici, en ce moment, personne ne peut vous arrêter :)
Veuillez laisser un commentaire sur les problèmes sur lesquels vous souhaitez travailler afin que nous puissions vous y attribuer et éviter un double travail occasionnel de plusieurs contributeurs.
Vous pouvez discuter et discuter du développement CT.JS dans le serveur Discord de CT.JS, dans le canal de développement moteur #.
La construction de CT.JS nécessite un nœud et un NPM installés sur votre 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.jsgulp Utilisez gulp dev au lieu de simplement gulp pour exécuter un service de développement avec un rechargement en direct sans ouvrir CT.JS de sa manière par défaut. Dans les deux cas, vous pouvez arrêter ce service de la manière habituelle pour votre terminal, par exemple Ctrl+C Si vous rencontrez des problèmes inexpliqués, surtout lorsque vous passez à une nouvelle branche, exécutez à nouveau gulp -f devSetup.gulpfile.js .
VScode peut utiliser cette extension pour exécuter CT.JS avec un débogueur ci-joint. Avant de gérer le débogueur, pour permettre le rechargement en direct, dirigez gulp dev .
La liaison vérifie les problèmes de formatage de code, exécute Eslint et vérifie également les fichiers i18n pour les clés supplémentaires.
gulp lintIl existe également des commandes distinctes pour exécuter uniquement des tests spécifiques:
gulp lintJS
gulp lintTags
gulp lintStylus
gulp lintI18nC'est en fait facile et robuste. Nous avons régulièrement CT.JS pour les versions de base et CT.JS Nightly en tant que version Canary / Aperçu.
develop .develop déclenche une version CI, et une nouvelle version de Ct.JS Nightly est publiée publiquement.develop``, it means it will reach the succursale du maître.Ceci est laissé pour les urgences uniquement, car Gitlab CI devrait préparer des binaires pour Github et les envoyer à itch.io également
# 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 première course sera lente car elle téléchargera les binaires NW.JS. Les prochaines exécutions utiliseront des fichiers mis en cache.
Utilisez Comigoji à la gitmoji pour nommer vos commits.
Utilisez le guide de dénomination CSS de Comigo pour le style
Nous avons quelques références pour les internes de CT.JS sur notre wiki.
L'application CT.JS possède un manuel CSS intégré dans la méta section du menu principal.
CT.JS est soutenu par ces gens merveilleux: