
Circuit Artist هي لعبة رسم ومحاكاة للدوائر الرقمية.
🔧 أعدت هندسة محرك المحاكاة لاستخدام محاكاة تعتمد على الأحداث بتأخير متغير، مع مراعاة طوبولوجيا الأسلاك لإنشاء خريطة مسافة / تأخير انتشار بناءً على حساب elmore delay للأشجار. كما تراعي بوابات NAND ذات التفرع، بحيث تحصل على أشياء مثل زيادة التأخير كلما زاد التفرع، وانتشار الأشجار بشكل مختلف عن "الخطوط" وما إلى ذلك، للحصول على محاكاة أكثر "دقة" تتيح للاعبين تطوير حدس تجاه تصميم الدوائر الحقيقية (نوعًا ما).
🔍 يتم تعيين المسافات إلى بكسلات حتى يتمكن اللاعبون من تصور الأسلاك وهي "تنتشر" مع توهج، وهو ما أعتبره رائعًا ويساعد على فهم كيفية عمل الأشياء. يتم العرض في الوقت الفعلي باستخدام بعض الـ shaders.
🕤 أضفت أيضًا تصميمًا قائمًا على الدلتا في المحاكاة للسماح بإيقاف المحاكاة مؤقتًا والتحكم بها ذهابًا وإيابًا حتى يتمكن اللاعبون من التفاعل معها. وهو مفيد بشكل خاص لتصحيح أخطاء الدوائر "الحلقية".
🍰 يمكن للاعبين أيضًا إضافة طبقات كما في فوتوشوب، (حتى 3 طبقات)، ويمكن لأسلاك الطبقات أن تتصل بالطبقات المجاورة، على الرغم من أن بوابات NAND مسموحة فقط في الطبقة السفلية. تتمتع الأسلاك في الطبقات العليا بسرعة "انتشار" أعلى.
🏆 أضفت نظام حملات بوتيرة أبطأ لتمكين المستخدمين الجدد من حل المشكلات تدريجيًا وتعلم المفاهيم خطوة بخطوة، مع اختبار الحلول وتحسينها وتتبع التقدم. لا يزال في أيامه الأولى، وأخطط لإضافة المزيد لاحقًا.
👜 أضفت واجهة شبيهة بالمخزون لوضع المخططات حتى يتمكن اللاعبون من بناء مكتبتهم الخاصة وإعادة استخدامها، وهو ما يضيف أيضًا بُعدًا جديدًا للتقدم في اللعبة.
🔉 أضفت القليل من الصوت إلى الدوائر، بحيث تصدر "صفيرًا" عند محاكاتها اعتمادًا على نشاط الدائرة.
:godmode: المحاكاة أيضًا لم تعد "فورية"؛ يمكن للاعبين بناء ساعاتهم الخاصة في وضع الساندبوكس بمجرد استكشاف آلية التأخير. لن تعمل المكونات المُدارة بالساعة/المتزامنة (Clocked/Synchronous) مجانًا، بل يجب جعلها فعّالة، مما يضيف بُعدًا إضافيًا من التحدي والمتعة إلى اللعبة.
🚧 هناك أيضًا معادلة/مقياس مبسّط لحساب الطاقة لاستكشاف كفاءة استهلاك الطاقة في الدائرة مقابل السرعة (على الرغم من أنه لا يزال غير مكتمل التطوير في اللعبة).
اطّلع على مستند الفيزياء لمزيد من المعلومات (عمل قيد التقدم)
بالنسبة لنظام ويندوز، يمكنك استخدام CMake مع Visual Studio.
git clone https://github.com/lets-all-be-stupid-forever/circuit-artist.git
cd circuit-artist/
git submodule init
git submodule update
mkdir build
cd build/
cmake ..
make
|
|
|
|
|
|
|
|
|