هنر خلق کلانشهر سایبرپانک تنها با کدهای متنی و یک فایل HTML
کشف کنید چگونه با استفاده از کدهای ASCII و جاوا اسکریپت در یک فایل HTML ساده، یک شهر سایبرپانک سه بعدی با جزئیات خیرهکننده و سیستم ترافیک هوشمند خلق شده است.
تصور کنید تمام جزئیات یک شهر شلوغ، از چراغهای نئون گرفته تا ماشینهایی که در خیابانها لایی میکشند، فقط با حروف و علائم نگارشی ساخته شده باشند. این دقیقاً همان کاری است که در پروژه شهر اسکی رخ داده است. این پروژه نشان میدهد که چطور محدودیتهای فنی میتوانند به جای مانع، به محرکی برای خلاقیت تبدیل شوند. در این فضای دیجیتال، خبری از بافتهای گرافیکی سنگین یا موتورهای بازیسازی حجیم نیست؛ همهچیز در یک فایل اچتیامال خلاصه شده که به راحتی در هر مرورگری باز میشود.
جادوی حروف به جای پیکسل
در نگاه اول، شاید استفاده از کدهای اسکی برای ساخت یک محیط سه بعدی کمی عجیب به نظر برسد. اما وقتی در این شهر قدم میزنید، متوجه میشوید که چطور ترکیب هوشمندانه علامتهایی مثل نقطه، خط تیره و حروف الفبا میتواند عمق و حرکت ایجاد کند. این سبک بصری یادآور دوران طلایی رایانههای قدیمی است، اما با تکنیکهای مدرن برنامهنویسی ترکیب شده تا تجربهای روان و پویا خلق کند.
توسعهدهنده این اثر با استفاده از جاوا اسکریپت، منطق پیچیدهای را برای رندر کردن این فضا پیادهسازی کرده است. هر حرف در صفحه نمایش، نقش یک بلوک ساختمانی را ایفا میکند. برای مثال، پنجرههای یک آسمانخراش ممکن است با حروف خاصی نمایش داده شوند که با تغییر زاویه دوربین، درخشش آنها نیز تغییر میکند. این دقت در جزئیات باعث میشود که کاربر فراموش کند در حال تماشای یک مشت متن ساده است.
شهر چگونه زنده میشود؟
یکی از چالشهای اصلی در طراحی شهرهای مجازی، ایجاد حس پویایی است. در این پروژه، سیستم ترافیک به گونهای طراحی شده که ماشینها (که باز هم از کاراکترهای متنی ساخته شدهاند) در خیابانها حرکت میکنند. آنها پشت چراغ قرمز میمانند، در تقاطعها میپیچند و حتی تصادفهای کوچکی را شبیهسازی میکنند. این سطح از شبیهسازی در یک محیط متنی، نشاندهنده تسلط برنامهنویس بر مفاهیم هوش مصنوعی پایه و مدیریت اشیا است.
لایههای مختلف شهر؛ از پیادهرو تا پشتبام
برخلاف بسیاری از دموهای فنی که فقط یک نمای ثابت را نشان میدهند، این شهر دارای ارتفاع و عمق است. شما میتوانید از پلهها بالا بروید، وارد بالکنها شوید و شهر را از نمای بالا تماشا کنید. سیستم ارتفاع در این پروژه با تغییر اندازه و تراکم کاراکترها مدیریت میشود. وقتی به لبه یک پشتبام نزدیک میشوید، حس تعلیق و بلندی به خوبی به مخاطب منتقل میشود، گویی واقعاً در یک فیلم علمی تخیلی کلاسیک حضور دارید.
چرا یک فایل HTML برای این کار کافی است؟
زیبایی این پروژه در سادگی زیرساختی آن نهفته است. در دورانی که بازیهای معمولی دهها گیگابایت فضا اشغال میکنند، این شهر تنها چند کیلوبایت حجم دارد. تمام منطق رندرینگ، فیزیک ساده حرکت و طراحی بصری در دل کدهای متنی قرار گرفته است. این یعنی شما برای اجرای آن به هیچ کارت گرافیک قدرتمندی نیاز ندارید؛ حتی یک لپتاپ قدیمی یا یک گوشی هوشمند ساده هم میتواند این کلانشهر را با نرخ فریم بالا اجرا کند.
این رویکرد ما را به یاد خلاقیتهای برنامهنویسان ایرانی در دهههای گذشته میاندازد که با کمترین امکانات و روی سیستمهایی مثل کومودور ۶۴، دنیاهای بزرگی خلق میکردند. تفاوت در اینجاست که ابزارهای امروزی مثل مرورگر وب، اجازه میدهند این هنر به سادگی در دسترس همگان قرار بگیرد.
جزئیات داخلی و فضاهای پنهان
در بهروزرسانیهای اخیر این پروژه، سازنده پا را فراتر گذاشته و فضاهای داخلی را هم به شهر اضافه کرده است. حالا میتوانید وارد برخی ساختمانها شوید و چیدمان اتاقها را ببینید. میزها، صندلیها و حتی مانیتورهای داخل اتاقها همگی با کاراکترهای متنی طراحی شدهاند. این موضوع نشان میدهد که هیچ محدودیتی برای بازنمایی واقعیت در قالب متن وجود ندارد، به شرطی که تخیل کافی پشت آن باشد.
منبع: youtube.com