Este é um repositório mais antigo que possui grandes arquivos binários e outros lixo na história do Git deixados devido à estupidez precoce ou erros humanos. O novo repositório é pelo menos 5 vezes menor em tamanho e limpo desses erros.
O CT.JS é um mecanismo de jogo 2D e IDE que visa ser poderoso e flexível, ainda é fácil de usar e aprender. Faz isso, fornecendo uma extensa documentação, exemplos, uma ampla variedade de tipos de ativos de jogo e seus editores visuais - enquanto permanecem abertos a modding e, se o modding não ajudar, você sempre pode colocar o código JS simples em seu projeto.
| Recursos do ct.js | ||||
|---|---|---|---|---|
| Editor de nível e interface do usuário | ? Motor de som dinâmico | Sistemas de partículas com um editor visual | ? Vários linguagens de script para escolher | ? Script baseado em eventos |
| Exportação de um clique para plataformas de mesa | Exportação de um clique para web | Pronto para PC e jogos para celular | Rápido, é executado em webgl | ? Grátis sem assinaturas ou taxas ocultas |
| Animações de quadro a quadro | ? Aste Packing Automático Atlas | ? ️ Apoio de Joystic | ⌨️ Eventos de entrada de layout-agnóticos | ? Suporte Tilemap |
| ⚽ Módulo de física | ? Módulo de colisão de arcade | Bancos de dados locais para tipos de dados complexos | ? Comportamentos para composição lógica de jogabilidade | ✅ Classes base para elementos da interface do usuário |
| ? Marca de aplicativos | ? ❄️ Marabilização branca | ➕ Adicione JS, CSS ou HTML personalizados | Biblioteca modular flexível | Extensível com módulos especiais (catmods) |
As pessoas codificam o CT.JS com o datilografript, JavaScript, CoffeeScript ou Ct.JS Script Visual Script Catnip . A codificação é construída em torno do sistema de eventos e o código compartilhado é implementado como comportamentos que podem ser combinados e usados por vários modelos ou níveis de objeto (em oposição à herança).
Em um nível técnico, os jogos do CT.JS são aplicativos JavaScript que usam o WebGL para renderizar. Embora não seja o tempo de execução mais rápido do mundo, essa configuração é perfeitamente boa para os jogos 2D modernos e permite iteração rápida, exportação da Web com um clique-e também com dois cliques de compilações com computadores!
Sob o capô, os jogos do CT.JS são baseados em uma estrutura de jogo personalizada, além de Pixi.js como seu mecanismo de renderização e som.
O CT.JS como editor de jogo também é um aplicativo da Web, com base na estrutura do NW.JS. A interface do usuário é baseada em componentes e é executada no Riot.js v3, com a maioria das partes sensíveis do aplicativo escrito como módulos ESM digitadores.
O CT.JS foi feito para ser a ferramenta integrada entre plataformas cruzadas e sempre acessível que não está presa no tempo, como a maioria dos outros mecanismos de jogo em 2D que usam renderizadores datados, conjuntos de recursos limitados e que têm UIs impedindo. O CT.JS permite que você se concentre no conteúdo do seu jogo, sem se preocupar com detalhes técnicos, como embalagem e carregamento de ativos, lidando com diferentes resoluções de tela, embalando para desktop e tal.
O CT.JS é opinativo e centrado em GameDev. Para fazer um jogo, você não precisa conhecer o desenvolvimento da Web ou como convocar um demônio - todas as ferramentas e conhecimentos já estão no CT.JS.
E tudo isso é ser livre - como na cerveja, como na liberdade e como uma censura para as empresas muito profundas em sua ganância corporativa.
Consulte a página de lançamentos ou pule para a página ITCH.IO. Disponível para Windows, Mac e Linux.
Hospedamos o Dev Builds em Itch.io. Esta página terá versões noturnas construídas a partir da filial develop de nosso repositório. Isso significa que você obterá os recursos mais recentes, melhorias, correções de bugs e novos bugs diariamente, fora do forno. Use com cautela e divirta -se. O aplicativo Itch.io é fortemente recomendado.
Para bugs, solicitações de recursos, perguntas de desenvolvimento, use problemas do GitHub para que possamos rastreá -los melhor. Para apoio geral sobre como fazer jogos, faça uma pergunta em nosso servidor Discord.
app - Um aplicativo NW.JS, com suas configurações e arquivos estáticos.datact.libs - Catmods (módulos) que são enviados com ct.js. Sinta -se à vontade para criar uma solicitação de tração com seu módulo!i18n - Esquemas de idiomas da interface do usuário. Aberto para solicitações de tração! :)src - Uma pasta de origem que compila na pasta /app em um horário de construção.ct.release - A biblioteca de jogos do CT.JS, também conhecida como "núcleo"js -diferentes scripts de nível superior, incluindo bibliotecas de terceiros.node_requires - JavaScript compartilhado e módulos TypeScript que cobrem a funcionalidade, gerenciamento de ativos, utilitários e outros do exportador.riotTags - Componentes que acionam a lógica da interface do usuário no CT.JS. Escrito em Pug e Riot.js v3.styl - lençóis de estilo, escritos em caneta.branding - Logos e ícones pertencem aqui.docs - Docros oficiais do CT.JS. Edite -os aqui.SSCD.js - Um garfo de uma biblioteca de colisões para Ct.Place.Problemas relativamente grandes são publicados no conselho de desenvolvimento principal, juntamente com questões que exigem ajuda da comunidade. Priorize a coluna "Liberação atual", depois "fazer", depois "backlog", embora se você realmente quiser um recurso de um backlog para se tornar realidade aqui, agora, ninguém pode impedi -lo :)
Deixe um comentário sobre os problemas em que você deseja trabalhar para que possamos atribuí -lo a eles e evitar um trabalho duplo ocasional de vários colaboradores.
Você pode conversar e discutir o desenvolvimento do CT.JS no servidor Discord do CT.JS, no canal de desenvolvimento do mecanismo.
A construção do CT.JS requer o nó e o NPM instalados em sua 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 em vez de apenas gulp para executar um serviço de desenvolvimento com recarga ao vivo sem abrir o CT.JS de maneira padrão. Em ambos os casos, você pode interromper este serviço da maneira usual para o seu terminal, por exemplo, Ctrl+C . Se você estiver encontrando problemas inexplicáveis, especialmente ao mudar para uma nova filial, Run gulp -f devSetup.gulpfile.js novamente.
O VSCode pode usar esta extensão para executar o CT.JS com um depurador anexado. Antes de executar o depurador, para permitir recarregar ao vivo, corra gulp dev .
O linhagem verifica os problemas de formatação de código, executa o ESLint e também verifica os arquivos i18N quanto a chaves extras.
gulp lintTambém existem comandos separados apenas para executar testes específicos:
gulp lintJS
gulp lintTags
gulp lintStylus
gulp lintI18nÉ realmente fácil e robusto. Temos ct.js regulares para lançamentos principais e ct.js todas as noites como uma compilação de canários/visualização.
develop .develop desencadeia uma construção de CI, e uma nova versão do CT.JS Nightly é lançada publicamente.develop``, it means it will reach the filial Master`.Isso resta apenas para emergências, pois o Gitlab CI deve preparar binários para o Github e enviá -los para Itch.io também
# 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 deployA primeira corrida será lenta, pois baixará os binários do NW.JS. As próximas execuções usarão arquivos em cache.
Use o Comigoji com sabor de Gitmoji para nomear seus compromissos.
Use o Guia de Nomeação do CSS da Comigo para estilo
Temos algumas referências para os internos do CT.JS em nosso wiki.
O aplicativo CT.JS possui um livro de estilo CSS interno na seção Meta do menu principal.
O CT.JS é apoiado por essas pessoas maravilhosas: