خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

بازی Dev Journey خود را با سادگی 24a2 شروع کنید

این موتور بازی به عقب باز شده است، اما حتی مبتدیان نیز باید از آن استفاده کنند.

24a2 یک موتور بازی بسیار ابتدایی، اما کاملاً عملیاتی برای برنامه نویسان جاوا اسکریپت است. ظاهر و احساس غیر معمولی دارد، اما می توانید از آن برای یادگیری اصول برنامه نویسی بازی استفاده کنید.

با پشتیبانی از حلقه بازی، گرافیک رنگارنگ و ورودی ساده، 24a2 همه چیزهایی را که برای ایجاد بازی‌های کوچک با حداقل تلاش نیاز دارید، دارد.

24a2 را بررسی کنید و سفر خود را به سمت توسعه کامل بازی از امروز آغاز کنید.

24a2 چیست؟

24a2 یک موتور کوچک و منبع باز است که به شما در ساخت بازی های اساسی کمک می کند. یادگیری آن بسیار آسان است و تنها چیزی که برای شروع ساخت بازی های خود نیاز دارید یک مرورگر وب و یک ویرایشگر متن است.

24a2 نام خود را از رزولوشن آن گرفته است: 24 x 24. حتی در مقایسه با موتورهای مینیمالیستی مانند PICO-8، با وضوح 128 x 128، این بسیار کوچک است! 24a2 از «پیکسل‌های» دایره‌ای با شکاف‌های بزرگ بین آنها استفاده می‌کند، بنابراین ظاهری کاملاً متمایز دارد.

یک بازی اسکی اساسی با بازیکن نشان داده شده در مسیری در وسط دو منطقه سبز.

احتمالاً از 24a2 برای ساخت بازی ویدیویی پرطرفدار بعدی استفاده نخواهید کرد، اما واقعاً این موضوع نیست. 24a2 برای مبتدیان عالی است و می توانید از آن برای یادگیری برخی از مفاهیم اساسی در پشت ساخت بازی استفاده کنید.

همچنین برای نمونه سازی یک مفهوم اصلی عالی است. اگر متوجه شدید که حواس‌تان به فیزیک پیچیده بازی یا انیمیشن‌های اسپرایت پرت می‌شود، حذف همه آن‌ها به تمرکز شما کمک می‌کند.

مطلب مرتبط:   اتصالات شماره 346: پاسخ و سرنخ های امروز (چهارشنبه، 22 مه 2024)

علاوه بر این، کد منبع 24a2 یک فایل TypeScript است. می توانید از آن برای الهام گرفتن استفاده کنید یا حتی آن را تغییر دهید تا موتور بازی پیشرفته تر خود را بسازید.

چگونه از 24a2 استفاده می کنید؟

با یک الگوی اولیه برای بازی خود شروع کنید:

<html>
  <head>
    <script
      src="https://cdn.jsdelivr.net/gh/jamesroutley/24a2/build/engine.js">
    </script>
    <script src="game.js"></script>
  </head>
  <body></body>
</html>

توجه داشته باشید که چگونه از یک شبکه تحویل محتوا (cdn.jsdelivr.net) برای منبع فایل engine.js استفاده می کند، بنابراین شما حتی نیازی به دانلود یا نصب چیزی ندارید.

اسکریپت دوم، game.js، برای کد بازی خودتان است. با حداقل کد کار مطلق شروع کنید تا بررسی کنید همه چیز به درستی کار می کند:

بازی جدید({}).run();

این برنامه کوچک شبکه پیش فرض 24a2 را در مرورگر وب شما نمایش می دهد:

شبکه پیش‌فرض 24×24 دایره‌های خاکستری روشن که میدان بازی 24a2 را تشکیل می‌دهند.

در مرحله بعد، باید با عملکردهای برگشت تماس 24a2 که هسته موتور را تشکیل می دهند آشنا شوید. این مفاهیم در موتورهای بازی قابل انتقال هستند، بنابراین یادگیری نحوه عملکرد آنها فراتر از استفاده از 24a2 برای شما مفید خواهد بود.

تعداد انگشت شماری از توابع ضروری وجود دارد که می توانید آن ها را تعریف کرده و از طریق یک شی کانفیگ به سازنده Game() منتقل کنید.

let config = {
  create: create,
  update: update,
  onKeyPress: onKeyPress,
  onDotClicked: onDotClicked
};

let game = new Game(config);
game.run();

24a2 تابعی را که در config.create مشخص کرده اید هنگام راه اندازی فراخوانی می کند. می توانید از این برای تنظیم اولیه پیکربندی بازی خود، راه اندازی ساختارهای داده و غیره استفاده کنید.

function create(game) {}

عملکرد به روز رسانی به صورت دوره ای در طول مدت بازی شما اجرا می شود. این حلقه اصلی بازی است که در موتورهای دیگر معمولاً از مراحل جداگانه ای برای به روز رسانی وضعیت بازی و ترسیم مجدد صفحه تشکیل شده است. با 24a2، هر دو عملیات را در این تابع انجام خواهید داد.

function update(game) {}

در نهایت، برای گرفتن ورودی، باید فشار دادن کلیدهای پیکان، کلیک ماوس یا هر دو را انجام دهید. 24a2 زمانی که پخش کننده یک کلید پیکان را فشار می دهد جهتی را به عملکرد onKeyPress شما منتقل می کند. اگر آنها با استفاده از ماوس روی نقطه ای کلیک کنند، مختصات x و y را به onDotClicked ارسال می کند.

function onKeyPress(direction) {}
function onDotClicked(x, y) {}

چه نوع بازی هایی را می توانید با 24a2 بسازید؟

سایت 24a2 شامل سه بازی نمونه شامل آموزش می باشد. موارد دیگری که به نمایش می گذارد یک بازی ساده مار و یک چالش اسکی است.

مطلب مرتبط:   چگونه کامپوننت های Drag and Drop را در React بسازیم

مخزن GitHub شامل پیوندهایی به برخی بازی‌های دیگر از جمله Space Invaders، Tic-Tac-Toe و یک برنامه حداقلی Paint است. You Killed a Bear پیشرفته تر است و Maze Craze نمایش خوبی از نحوه لایه بندی گرافیک های اضافی در بالای شبکه استاندارد است.

24MadRush یک “کلون” تتریس است که از پالت رنگ به خوبی استفاده می کند. همچنین با یک آموزش نوآورانه قابل پخش شروع می شود که ویژگی های آن را نشان می دهد.

24MadRush، یک بازی بلوک در حال سقوط با تکه‌ای از نقاط رنگی مخلوط در 4 ردیف پایین.

مشخصات فنی بازی های 24a2

24a2 با طراحی بسیار محدود است. اما این یک فرصت عالی برای خلاقیت است. یکی از نکات مهم برای خلاقیت بیشتر، پذیرش محدودیت هاست.

علاوه بر وضوح محدود، 24a2 شما را به موارد زیر محدود می کند:

  • پالت رنگی فقط از نه رنگ: رنگین کمان به اضافه سیاه و خاکستری.
  • ورودی بسیار ابتدایی: کلید پیکان را فشار می دهد و روی شبکه نقطه کلیک می کند.
  • سکوت: هیچ پشتیبانی از موسیقی یا جلوه های صوتی وجود ندارد.

با این حال، همیشه می توانید کد جاوا اسکریپت تکمیلی بنویسید تا بازی خود را فراتر از این محدودیت ها گسترش دهید. و از آنجایی که موتور منبع باز است، می توانید آن را به هر شکلی که صلاح می دانید توسعه دهید.

با 24a2 خود را به سمت چیزهای بزرگ تر سوق دهید

سعی کنید خود را با 24a2 آزمایش کنید. یک بازی کلاسیک را دوباره بسازید یا یکی از خود را اختراع کنید. بازی های نوبتی، مانند بازی های رومیزی، با موتور بسیار خوب کار می کنند.

اگر 24a2 شور و شوق شما را برای توسعه بازی‌ها برانگیزد، فرصت‌های زیادی برای ادامه سفر وجود دارد. PICO-8، Godot، Unity و GameMaker همگی انتخاب های محبوبی هستند.

مطلب مرتبط:   Denuvo چیست و چرا همه از آن متنفرند؟