這是一個較舊的存儲庫,由於早期的愚蠢或人為錯誤而留下了大量的二進製文件和其他垃圾。新的存儲庫的尺寸至少小5倍,並且從這些錯誤中清除。
CT.JS是2D遊戲引擎和IDE,旨在具有強大和靈活性,同時仍然易於使用和學習。它通過提供廣泛的文檔,示例,各種各樣的遊戲資產類型及其視覺編輯器來做到這一點,同時又對改裝開放,如果修改無濟於事,您總是可以在項目中放置普通的JS代碼。
| CT.JS功能 | ||||
|---|---|---|---|---|
| Level&UI編輯器 | ?動態聲音引擎 | 帶有視覺編輯器的粒子系統 | ? 幾種腳本語言可供選擇 | ?基於事件的腳本 |
| 一鍵式桌面平台的導出 | 一單擊的網絡導出 | 準備PC和手機遊戲 | 快速,在WebGL中運行 | ?沒有隱藏訂閱或費用的免費 |
| 逐幀動畫 | ? ️自動Atlas包裝 | ? ch Joystic的支持 | ⌨️佈局 - 不可思議的輸入事件 | ? TILEMAP支持 |
| ⚽物理模塊 | ?街機碰撞模塊 | 複雜數據類型的本地數據庫 | ?遊戲玩法邏輯組成的行為 | ✅UI元素的基礎課程 |
| ?應用品牌 | ? ❄️白色標籤 | ➕添加自定義JS,CSS或HTML | 靈活的模塊化庫 | 可擴展使用特殊模塊(CATMODS) |
人們用打字稿,JavaScript,CoffeeScript或CT.JS的視覺腳本語言catnip中的CT.JS代碼。編碼是圍繞事件系統構建的,共享代碼被實現為可以由幾個對像模板或級別(而不是繼承)組合和使用的行為。
在技術層面上,CT.JS遊戲是使用WebGL進行渲染的JavaScript應用程序。雖然不是世界上最快的運行時運行時,但這種設置對於現代2D遊戲來說是完全可以的,並且可以快速迭代,一鍵式網絡導出 - 以及兩鍵式台式機構建!
在引擎蓋下,CT.JS遊戲基於自定義遊戲框架和Pixi.js作為其渲染和聲音引擎。
CT.JS作為遊戲編輯器也是基於NW.JS框架的Web應用程序。 UI是基於組件的,並且在Riot.JS V3上運行,應用程序的大多數敏感部分都以打字稿ESM模塊編寫。
CT.JS被稱為跨平台,總是可訪問的集成工具,它不會像其他大多數使用過時的渲染器,有限的功能集並阻礙UIS的2D遊戲引擎那樣陷入時間。 CT.JS可讓您專注於遊戲的內容,而不必擔心資產包裝和加載,處理不同的屏幕分辨率,用於桌面的包裝等技術細節。
CT.JS是自以為是且以GameDev為中心的。要製作遊戲,您不需要知道網絡開發或如何召喚惡魔 - 所有工具和知識都已在CT.J.中。
所有這些都是自由的- 就像在啤酒中一樣,在自由中,以及對公司貪婪太深的責備。
請參閱發布頁面或跳到iTch.io頁面。可用於Windows,Mac和Linux。
我們在itch.io中託管開髮型。此頁面將在我們存儲庫的develop分支中構建的每晚版本。這意味著您將每天從烤箱中獲得最新功能,改進,錯誤修復和新錯誤。謹慎使用並玩得開心。強烈建議使用itch.io應用程序。
對於錯誤,功能請求,開發問題,請使用GitHub問題,以便我們更好地跟踪它們。有關製作遊戲的一般支持,請在我們的Discord服務器上提出一個問題。
app - NW.JS應用程序,其配置和靜態文件。datact.libs - 帶有CT.J.的Catmods(模塊)隨意使用模塊創建拉動請求!i18n - UI語言方案。開放請求請求! :)src - 一個在構建時間編譯為/app文件夾中的源文件夾。ct.release - CT.JS遊戲庫,又名其“核心”js - 不同的頂級腳本,包括第三方庫。node_requires - 共享JavaScript和打字條模塊,這些模塊涵蓋了出口商的功能,資產管理,實用程序等。riotTags - 在CT.J.中驅動UI邏輯的組件用哈巴狗和騷亂撰寫。styl - 樣式床單,用手寫筆撰寫。branding - 徽標和圖標屬於這裡。docs - CT.J.的官方文檔在這裡編輯它們。SSCD.js - ct.place碰撞庫的叉子。相對較大的問題將發佈在主開發委員會中,以及需要社區幫助的問題。優先考慮“當前發行版”列,然後“待辦事項”,然後“積壓”,儘管如果您真的希望Backlog的功能在這裡實現,現在,沒有人可以阻止您:)
請就您要處理的問題發表評論,以便我們可以將您分配給他們,並避免偶爾的多個貢獻者的雙重工作。
您可以在#引擎開發頻道中聊天並討論CT.JS Discord Server中的CT.JS開發。
建築物CT.JS需要機器上安裝的節點和NPM。
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使用gulp dev而不僅僅是gulp可以在無需以默認方式打開CT.JS的情況下運行Dev服務。無論哪種情況,您都可以以通常的方式停止此服務的終端,例如Ctrl+C 。如果您遇到無法解釋的問題,尤其是在切換到新分支時,請再次運行gulp -f devSetup.gulpfile.js 。
VSCODE可以使用此擴展程序使用附件的調試器運行CT.JS。在運行調試器之前,要實時重新加載,請運行gulp dev 。
覆蓋範圍檢查代碼格式問題,運行ESLINT,並檢查I18N文件中的額外鍵。
gulp lint還有單獨的命令僅用於運行特定的測試:
gulp lintJS
gulp lintTags
gulp lintStylus
gulp lintI18n這實際上很容易且堅固。我們有定期的CT.JS用於核心版本,每晚都有CT.JS作為金絲雀/預覽構建。
develop分支。develop觸發CI構建的每一個更改,CT.JS Nightly的新版本將公開發布。develop``, it means it will reach the Master`分支。這僅留給緊急情況,因為gitlab ci應該為github準備二進製文件並將其發送到iTch.io
# 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 deploy首次運行將很慢,因為它將下載NW.JS二進製文件。接下來的運行將使用緩存的文件。
使用gitmoji味的comigoji來命名您的提交。
使用Comigo的CSS命名指南進行造型
我們在Wiki上有一些CT.JS內部的參考。
CT.JS應用在主菜單的元部分中具有內置的CSS樣式書。
CT.JS得到了這些出色的人的支持: