ساخت بازی با هوش مصنوعی: از ایده تا نمونه‌ی اولیه

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

🍊 تیم نارنگی ⏱ 5 دقیقه مطالعه
میز کار یک بازی‌ساز مستقل با نمونه‌ی اولیه‌ی یک بازی دوبعدی روی نمایشگر

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

سوءتفاهم هم از همین‌جا شروع می‌شود. ساخت بازی با هوش مصنوعی یعنی بازی را توصیف کنی و فایل نصبی بگیری؟ نه. آنچه هست دستیاری سریع است که کد می‌نویسد، متن می‌سازد و تصویر موقت می‌دهد؛ بازی‌ساز شمایید.

کجا واقعاً کمک می‌کند

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

بعد نوبت متن است: اسم آیتم، توضیح مهارت، دیالوگ شخصیت فرعی. ایده‌ی مرحله هم همین‌طور — مکانیک را بگویید و بیست چیدمان بخواهید؛ سه‌تایشان به درد می‌خورد و همان سه‌تا صرفه دارد.

و رفع خطا. متن کامل خطای موتور را با تکه‌ی کد مربوط جلوی مدل بگذارید؛ اغلب سریع‌تر از گشتن در انجمن‌ها جواب می‌گیرید — با منطقی که در برنامه‌نویسی با هوش مصنوعی باز شده.

انتظار واقعی از هر بخش

بخش بازیکمک هوش مصنوعیانتظار واقعی
مکانیک پایهکد حرکت و برخوردبا یکی دو اصلاح کار می‌کند
متن و دیالوگحجم زیاد، زمان کمخوب، بعد از ویرایش شما
ایده‌ی مرحلهده‌ها گزینهیک‌پنجم به درد می‌خورد
دارایی گرافیکیتصویر موقتیکدست نیست؛ نه برای نسخه‌ی نهایی
صدا و موسیقیلوپ و افکت سادهدر پروژه‌ی کوچک کافی
تعادل و حس بازیتقریباً هیچفقط با تست بازیکن
بهینه‌سازیتوصیه‌ی کلیبدون پروفایلر بی‌فایده

موتور بازی و کیفیت کدی که می‌گیرید

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

⚠️ نسخه را در پیام اول بنویسید

بیشتر کدهایی که «اجرا نمی‌شوند» ایراد منطقی ندارند؛ برای نسخه‌ی دیگری از موتور نوشته شده‌اند. جمله‌ی اولتان این باشد: «گودات ۴.۳، زبان GDScript، بازی دوبعدی، بازیکن از نوع CharacterBody2D.» اگر ننویسید، مدل حدس می‌زند و حدسش اغلب نسخه‌ی قدیمی‌تر است.

دارایی تولیدشده و مسئله‌ی سبک ناهماهنگ

یک اسپرایت خوب گرفتن آسان است. ده اسپرایت که کنار هم مثل یک بازی به‌نظر برسند، نه. ضخامت خط عوض می‌شود، پالت جابه‌جا می‌شود، جزئیات یکی نمی‌ماند و نتیجه چهل‌تکه است. با ارجاع تصویر کمتر می‌شود ولی حل نمی‌شود؛ روشش در ساخت عکس با هوش مصنوعی آمده.

راه عملی: تصویر تولیدشده را دارایی موقت بگذارید، تست کنید، بعد همان چند تایی را که می‌مانند به یک هنرمند بسپارید. برای صدا وضع بهتر است — لوپ و افکت ساده اغلب قابل استفاده‌اند و ساخت موسیقی و صدای پس‌زمینه مرزش را نشان می‌دهد.

کجا کم می‌آورد

تعادل بازی، اولین جا. مدل نمی‌داند دشمن شما با ۴۰ نقطه‌ی جان سخت است یا آسان، چون بازی را بازی نکرده؛ عددهایش نقطه‌ی شروع‌اند نه جواب. حس بازی هم همین‌طور: سنگینی پرش، مکث ضربه، تکان دوربین — این‌ها فقط با امتحان کردن پیدا می‌شوند.

بهینه‌سازی سومین مورد است؛ توصیه‌ی کلی می‌دهد ولی نمی‌داند کدام بخش پروژه کند است — آن را پروفایلر موتور می‌گوید. و کار سه‌بعدی: مدل‌سازی، ریگ و انیمیشن هنوز به استفاده‌ی واقعی نمی‌رسد.

حق نشر و قوانین انتشار

پیش از فروش، شرایط استفاده‌ی سرویسی را که دارایی را با آن ساخته‌اید بخوانید؛ بعضی برای کار تجاری اشتراک پولی می‌خواهند. مالکیت آثار تولیدشده هم هنوز جا نیفتاده و حق نشر محتوای تولیدشده با هوش مصنوعی این بحث را باز کرده. کافه‌بازار، مایکت و گوگل پلی مسئولیت را به ناشر می‌سپارند؛ اگر شکایتی بیاید پاسخگو شمایید و برای پروژه‌ی درآمدزا این تصمیم با مشورت متخصص گرفته می‌شود.

پرامپتی که نمونه‌ی اولیه را راه می‌اندازد

این ساختار را در نارنگی یا هر دستیار دیگری امتحان کنید. به‌جای «یک بازی بساز»، یک قطعه‌ی مشخص می‌خواهد:

نقش: برنامه‌نویس بازی
موتور: یونیتی ۲۰۲۲، زبان سی‌شارپ، بازی دوبعدی
هدف: اسکریپت کنترل بازیکن برای یک پلتفرمر ساده

نیازها:
- حرکت افقی با کلیدهای جهت‌دار و شتاب ملایم
- پرش با اسپیس، حداکثر دو پرش پشت سر هم
- تشخیص تماس با زمین بر اساس لایه‌ی Ground
- سرعت و ارتفاع پرش از بیرون قابل تنظیم

خروجی: یک فایل اسکریپت با توضیح کوتاه فارسی.
اگر فرضی گذاشتی، اولش بنویس.

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

مسیر واقع‌بینانه

به بازی‌های موبایلی که در ایران گرفتند نگاه کنید. «آمیرزا» یک بازی کلمات با مکانیک بسیار ساده است — چند حرف و جدولی از کلمه‌ها — و همان سادگی باعث شد تمام شود، منتشر شود و میلیون‌ها نصب بگیرد. با ایده‌ی غول‌آسا شروع نشد.

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

جمع‌بندی

فاصله‌ی «ایده» تا «چیزی که می‌شود بازی کرد» کوتاه شده؛ بیشتر بازی‌های ساخته‌نشده به این دلیل ساخته نشدند که نمونه‌ی اولیه‌شان هیچ‌وقت بالا نیامد. کد، متن و دارایی موقت را بسپارید و وقت آزادشده را بگذارید روی چیزی که ابزار بلد نیست: تعادل، حس بازی، و حذف کردن.

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

برای ادامه:

پرسش‌های پرتکرار

می‌شود یک بازی کامل را فقط با هوش مصنوعی ساخت؟ +
نه، و هر کسی چنین چیزی نشان می‌دهد یا دمو ساخته یا بازی‌اش آن‌قدر کوچک بوده که خودش هم در دو ساعت می‌نوشت. مدل کد مکانیک‌های متداول، متن، ایده‌ی مرحله و دارایی موقت را خوب تحویل می‌دهد. جمع کردن این‌ها به چیزی که سرگرم‌کننده باشد، هنوز کار شماست.
برای شروع کدام موتور بازی با هوش مصنوعی بهتر جواب می‌دهد؟ +
یونیتی با سی‌شارپ، چون حجم کد و آموزشی که مدل‌ها از آن دیده‌اند از بقیه بیشتر است و خروجی معمولاً کمتر خطا دارد. گودات هم خوب جواب می‌دهد ولی باید نسخه را صریح بگویید، وگرنه کد نسخه‌ی قدیمی‌تر می‌گیرید. برای آنریل انتظار کمک کمتری داشته باشید چون بخش بزرگی از کارش بصری است.
دارایی گرافیکی تولیدشده را می‌شود در بازی نهایی گذاشت؟ +
برای نمونه‌ی اولیه بله، برای نسخه‌ی منتشرشده معمولاً نه. مشکل کیفیت تک‌تصویر نیست، یکدست نبودن مجموعه است: ضخامت خط، پالت رنگ و اندازه‌ی جزئیات بین تصویرها فرق می‌کند و بازی چهل‌تکه به‌نظر می‌رسد. راه عملی این است که با تصویر تولیدشده تست کنید و بعد یک هنرمند همان‌ها را بازطراحی کند.
انتشار بازی در بازار یا مایکت با دارایی هوش مصنوعی مشکل حقوقی دارد؟ +
فروشگاه‌ها از شما می‌خواهند حق استفاده از تمام محتوای بازی را داشته باشید و مسئولیت شکایت احتمالی با ناشر است. قوانین مالکیت آثار تولیدشده با هوش مصنوعی هنوز در بسیاری از کشورها جا نیفتاده و شرایط استفاده‌ی هر سرویس هم فرق می‌کند. پیش از انتشار تجاری، شرایط سرویسی که استفاده کرده‌اید را بخوانید و برای پروژه‌ی جدی با یک مشاور حقوقی مشورت کنید.
چرا کدی که مدل می‌دهد گاهی اصلاً اجرا نمی‌شود؟ +
شایع‌ترین دلیل ناهماهنگی نسخه است؛ مدل کد نسخه‌ای از موتور را می‌دهد که نام تابع‌ها و ساختارش عوض شده. دلیل دوم این است که مدل ساختار پروژه‌ی شما را نمی‌بیند و فرض می‌کند اسم شیء و لایه‌ها چیز دیگری است. نسخه‌ی دقیق موتور و زبان را در همان پیام اول بنویسید تا هر دو مشکل تا حد زیادی حل شود.
#بازی‌سازی مستقل #یونیتی #گودات #نمونه‌ی اولیه بازی #کد بازی با هوش مصنوعی
به‌دردِ کسی می‌خورد؟ تلگرام واتساپ
🍊

خواندنش خوب بود — حالا امتحانش کن

هرچه در این صفحه خواندی، همین حالا داخلِ نارنگی قابلِ اجراست. ثبت‌نام با شماره‌ی موبایل، نارنگیِ رایگانِ شروع، بدونِ نیاز به کارت یا تحریم‌شکن.

بدونِ نصب هم کار می‌کند — ولی در اپ سریع‌تر است