هذا هو الريبو الأقدم الذي يحتوي على ملفات ثنائية كبيرة وغيرها من الخردة في تاريخ GIT المتبقي بسبب الغباء المبكر أو الأخطاء البشرية. إن الريبو الجديد أصغر بحجم 5 مرات على الأقل ونظيفة من تلك الأخطاء.
CT.JS هو محرك ألعاب ثنائي الأبعاد و IDE يهدف إلى أن يكون قويًا ومرنًا بينما لا يزال سهلاً الاستخدام والتعلم. يفعل ذلك من خلال توفير وثائق مكثفة ، وأمثلة ، ومجموعة واسعة من أنواع أصول اللعبة ومحرريهم البصريين - كل ذلك مع ظهور التعديل ، وإذا لم يساعد التعديل ، فيمكنك دائمًا وضع رمز JS العادي في مشروعك.
| ميزات CT.JS | ||||
|---|---|---|---|---|
| محرر المستوى و UI | ؟ محرك الصوت الديناميكي | أنظمة الجسيمات مع محرر بصري | ؟ عدة لغات نصية للاختيار من بينها | ؟ البرمجة النصية القائمة على الأحداث |
| بنقرة واحدة التصدير لمنصات سطح المكتب | بنقرة واحدة التصدير للويب | جاهز لأجهزة الكمبيوتر والألعاب المحمولة | سريع ، يعمل في webgl | ؟ مجاني مع عدم وجود اشتراكات أو رسوم خفية |
| الرسوم المتحركة إطار كلم | ؟ ️ تعبئة الأطلس التلقائي | ؟ ️ الدعم التحكم | ⌨ أحداث الإدخال الغازية للتخطيط | ؟ دعم tilemap |
| ⚽ وحدة الفيزياء | ؟ وحدة تصادم الممرات | قواعد البيانات المحلية لأنواع البيانات المعقدة | ؟ سلوكيات تكوين منطق اللعب | ✅ الفصول الأساسية لعناصر واجهة المستخدم |
| ؟ العلامة التجارية للتطبيق | ؟ ❄ وضع العلامات البيضاء | ➕ أضف JS أو CSS أو HTML مخصص | مكتبة وحدات مرنة | قابلة للتمديد مع وحدات خاصة (catmods) |
رمز الأشخاص في CT.JS مع TypeScript أو JavaScript أو Coffescript أو CT.JS 'Language Visual Scripting Language . تم تصميم الترميز حول نظام الأحداث ، ويتم تنفيذ التعليمات البرمجية المشتركة كسلوكيات يمكن دمجها واستخدامها من قبل العديد من قوالب أو مستويات الكائنات (على عكس الميراث).
على المستوى الفني ، تعد ألعاب CT.JS تطبيقات JavaScript التي تستخدم WebGL لتقديمها. على الرغم من أنه ليس أسرع وقت تشغيل في العالم ، إلا أن هذا الإعداد جيد تمامًا للألعاب الحديثة ثنائية الأبعاد ويسمح بالتكرار السريع ، وتصدير الويب بنقرة واحدة-وبناءات سطح المكتب بنقرة بنقرة أيضًا!
تحت الغطاء ، تستند ألعاب CT.JS إلى إطار عمل مخصص بالإضافة إلى Pixi.js كمحرك صوتي وصوت.
CT.JS كمحرر لعبة هو تطبيق ويب أيضًا ، استنادًا إلى إطار عمل NW.JS. تعتمد واجهة المستخدم على المكونات ويتم تشغيلها على Riot.js V3 ، مع معظم الأجزاء الحساسة من التطبيق المكتوبة كوحدات ESM TypeScript.
تم تصنيع CT.JS لتكون الأداة المتكاملة المتداخلة التي يمكن الوصول إليها دائمًا والتي لا يمكن عالقها في الوقت المناسب مثل معظم محركات الألعاب ثنائية الأبعاد الأخرى التي تستخدم العارضين المؤرخين ، ومجموعات الميزات المحدودة ، وتضع واجهة المستخدم. يتيح لك CT.JS التركيز على محتوى لعبتك دون القلق بشأن التفاصيل الفنية مثل تعبئة الأصول وتحميلها ، والتعامل مع قرارات الشاشة المختلفة ، والتعبئة لسطح المكتب ، وما شابه.
CT.JS هو الرأي و gamedev- تركز. لإنشاء لعبة ، لا تحتاج إلى معرفة تطوير الويب أو كيفية استدعاء شيطان - جميع الأدوات والمعرفة موجودة بالفعل في CT.JS.
وكل هذا هو أن يكون حراً - كما هو الحال في البيرة ، كما هو الحال في الحرية ، وكبوب تجاه الشركات في عمق شركاتها.
انظر صفحة الإصدارات أو القفز إلى صفحة itch.io. متاح لنظام التشغيل Windows و Mac و Linux.
نستضيف Dev Builds في itch.io. سيكون لهذه الصفحة إصدارات ليلية مبنية من فرع develop مستودعنا. وهذا يعني أنك ستحصل على أحدث الميزات ، والتحسينات ، وإصلاحات الأخطاء ، والأخطاء الجديدة يوميًا ، خارج الفرن. استخدام مع الحذر واستمتع. ينصح بشدة تطبيق itch.io.
بالنسبة للأخطاء ، وطلبات الميزات ، وأسئلة التطوير ، يرجى استخدام مشكلات github حتى نتمكن من تتبعها بشكل أفضل. للحصول على الدعم العام حول صنع الألعاب ، اطرح سؤالاً في خادم Discord الخاص بنا.
app - تطبيق NW.JS ، مع التكوينات والملفات الثابتة.datact.libs - Catmods (الوحدات) التي تشحن مع CT.JS لا تتردد في إنشاء طلب سحب باستخدام الوحدة النمطية الخاصة بك!i18n - مخططات لغة واجهة المستخدم. افتح لطلبات السحب! سائداsrc - مجلد مصدر يجمع مجلد /app في وقت البناء.ct.release - مكتبة لعبة CT.JS ، المعروفة أيضًا باسم "Core"js البرامج النصية ذات المستوى الأعلى ، بما في ذلك مكتبات الطرف الثالث.node_requires - وحدات JavaScript و TypeScript المشتركة التي تغطي وظائف المصدر وإدارة الأصول والمرافق وما شابه.riotTags - المكونات التي تدفع منطق واجهة المستخدم في CT.JS. مكتوبة في Pug و Riot.JS V3.styl - أوراق النمط ، مكتوبة في Stylus.branding - الشعارات والرموز تنتمي هنا.docs - مستندات رسمية لـ CT.JS قم بتحريرهم هنا.SSCD.js - شوكة مكتبة تصادم لـ CT.Place.يتم نشر مشكلات كبيرة نسبيًا في لوحة DEV الرئيسية ، إلى جانب القضايا التي تتطلب مساعدة من المجتمع. حدد الأولوية لعمود "الإصدار الحالي" ، ثم "القيام به" ، ثم "Backlog" ، على الرغم من أنك إذا كنت تريد حقًا ميزة من تراكم إلى هنا ، في الوقت الحالي ، لا يمكن لأحد أن يوقفك :)
يرجى ترك تعليق على المشكلات التي تريد العمل عليها حتى نتمكن من تعيينك لهم وتجنب العمل المزدوج العرضي من العديد من المساهمين.
يمكنك الدردشة ومناقشة تطوير CT.JS في خادم Discord 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 لتشغيل خدمة Dev مع إعادة التحميل المباشر دون فتح CT.JS بطريقة افتراضية. في كلتا الحالتين ، يمكنك إيقاف هذه الخدمة بالطريقة المعتادة للمحطة الخاصة بك ، مثل 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. سوف تستخدم التشغيل التالي الملفات المخزنة مؤقتًا.
استخدم comigoji بنكهة gitmoji لتسمية ارتكابك.
استخدم دليل تسمية CSS من COMIGO للتصميم
لدينا بعض المراجع للداخلية CT.JS على الويكي لدينا.
يحتوي تطبيق CT.JS على كتاب نمط CSS مدمج في قسم التعريف في القائمة الرئيسية.
يتم دعم CT.JS من قبل هؤلاء الأشخاص الرائعين: