
Circuit Artist एक डिजिटल सर्किट ड्राइंग और सिमुलेशन गेम है।
|
|
|
|
|
|
|
|
|
🔧 मैंने सिमुलेशन इंजन को फिर से बनाया है ताकि यह एक वेरिएबल-डिले इवेंट-ड्रिवन सिमुलेशन का उपयोग करे, जो वायर की टोपोलॉजी को ध्यान में रखते हुए ट्री के लिए एलमोर डिले गणना के आधार पर एक दूरी / प्रोपेगेशन डिले मैप बनाता है। यह फैनआउट NAND को भी ध्यान में रखता है, तो आपके पास ऐसी चीज़ें होंगी जैसे कि जितना अधिक फैनआउट होगा उतनी अधिक डिले होगी, ट्री "लाइनों" से अलग तरीके से प्रोपेगेट होंगे, आदि, ताकि एक अधिक "सटीक" सिमुलेशन हो जिससे खिलाड़ी वास्तविक सर्किट डिज़ाइन के लिए अंतर्ज्ञान विकसित/खेल सकें (एक तरह से)।
🔍 दूरियों को पिक्सेल में मैप किया गया है ताकि खिलाड़ी वायर के "प्रोपेगेट" होने को ग्लो के साथ देख सकें, जो मुझे मज़ेदार लगता है और चीज़ें कैसे काम करती हैं यह समझने में मदद करता है। रेंडरिंग कुछ शेडर के साथ रियल टाइम में की जाती है।
🕤 मैंने सिमुलेशन पर एक डेल्टा-आधारित डिज़ाइन भी जोड़ा है ताकि सिमुलेशन को रोका जा सके और आगे-पीछे नियंत्रित किया जा सके जिससे खिलाड़ी इसके साथ इंटरैक्ट कर सकें। यह विशेष रूप से "साइक्लिक" सर्किट को डीबग करने के लिए उपयोगी है।
🍰 खिलाड़ी फोटोशॉप की तरह लेयर भी जोड़ सकते हैं, (अधिकतम 3 लेयर तक), और लेयर वायर पड़ोसी लेयर से कनेक्ट हो सकते हैं, हालांकि NAND केवल निचली लेयर पर ही अनुमत हैं। ऊपरी लेयर के वायर में अधिक "प्रोपेगेशन" गति होती है।
🏆 एक धीमी गति वाला कैंपेन सिस्टम जोड़ा गया है ताकि नए उपयोगकर्ता थोड़ा-थोड़ा करके समस्याओं को हल कर सकें और धीरे-धीरे अवधारणाएं सीख सकें, समाधानों का परीक्षण/सुधार कर सकें और प्रगति को ट्रैक कर सकें। यह अभी शुरुआती दौर में है, बाद में और चीज़ें जोड़ने की योजना है।
👜 मैंने ब्लूप्रिंट रखने के लिए एक इन्वेंट्री जैसा UI जोड़ा है ताकि खिलाड़ी अपनी लाइब्रेरी बना सकें और उसका पुनः उपयोग कर सकें, जो गेम में एक नया प्रगति आयाम भी जोड़ता है।
🔉 सर्किट में थोड़ी आवाज़ जोड़ी गई है, ताकि जब वे सिमुलेट हों तो सर्किट की गतिविधि के अनुसार वे "बीप" करें।
:godmode: सिमुलेशन अब "तत्काल" भी नहीं है, खिलाड़ी सैंडबॉक्स मोड में केवल डिले मेकैनिज़्म को एक्सप्लोर करके अपनी खुद की क्लॉक बना सकते हैं। क्लॉक्ड/सिंक्रोनस कंपोनेंट मुफ्त में काम नहीं करेंगे, उन्हें कुशल बनाना होगा, जो गेम में एक अतिरिक्त चुनौती/मज़ा आयाम जोड़ता है।
🚧 सर्किट ऊर्जा दक्षता बनाम गति को एक्सप्लोर करने के लिए एक सरलीकृत ऊर्जा गणना सूत्र/मीट्रिक भी है (हालांकि यह गेम में अभी पूरी तरह विकसित नहीं है)।
अधिक जानकारी के लिए फिजिक्स डॉक देखें (कार्य प्रगति पर है)
Windows के लिए, आप 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
पहले emsdk इंस्टॉल करना होगा:
cd path/to/emsdk
./emsdk install latest # only needed the first time
./emsdk activate latest
source ./emsdk_env.sh # Windows: emsdk_env.bat
फिर:
mkdir b_wasm && cd b_wasm
emcmake cmake .. -DPLATFORM=Web
emmake make
फिर html b_wasm फ़ोल्डर में जनरेट होता है, आप इसे उदाहरण के लिए python -m http.server के माध्यम से सर्व कर सकते हैं।