پیشنهاد شگفت‌انگیز سبزلرن: 50% تخفیف برای آموزش بوت استرپ 5 مقدماتی تا پیشرفته (2023)
مشاهده دوره
ثانیه
دقیقه
ساعت
روز

زبان برنامه نویسی بازی الدن رینگ Elden Ring چیست؟

شهرام خندقی
1404/01/17
252
زبان برنامه نویسی بازی الدن رینگ Elden Ring چیست؟

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

برای کسانی‌که هم به دنیای بازی‌های ویدیویی علاقه دارند و هم کنجکاوند تا وارد مسیر برنامه‌ نویسی شوند، این سؤال می‌تواند یک نقطه شروع جذاب باشد! دانستن این‌که پشت‌ پرده یک شاهکار مثل Elden Ring چه زبان‌هایی کار می‌کنند، نه تنها الهام‌بخش است، بلکه می‌تواند جهت درستی برای یادگیری هم باشد. در این مقاله می‌خواهیم به زبان ساده بررسی کنیم که Elden Ring چطور ساخته شده، از چه زبان‌هایی استفاده شده و اگر بخواهی روزی بازی خودت را بسازی، باید از کجا شروع کنی.

بازی Elden Ring در کمتر از یک سال پس از انتشار، به فروش بیش از ۲۰ میلیون نسخه دست یافت. این موفقیت در تاریخ ۲۲ فوریه ۲۰۲۳ (۳ اسفند ۱۴۰۱) توسط شرکت Bandai Namco اعلام شد.
منبع نقل قول : Forbes

Elden Ring: شاهکار دنیای گیم

“Elden Ring” فقط یک بازی ویدیویی نیست؛ یک تجربه‌ تمام‌عیار از دنیایی است که در آن مرز بین افسانه، چالش و ماجراجویی از بین رفته است! این بازی در سال ۲۰۲۲ منتشر شد و خیلی زود به یکی از پدیده‌های دنیای گیم تبدیل شد. شاید بشه گفت Elden Ring، ترکیبی بی‌‌نظیر از طراحی جهان باز، داستان‌‌پردازی عمیق و سیستم مبارزه‌ی چالش‌ برانگیزه است که طرفدارهای سبک اکشن رو مجذوب خودش کرد. 

سازنده این بازی استودیوی معروف “FromSoftware” هست؛ همون تیمی که با بازی‌هایی مثل “Dark Souls”، “Bloodborne” و “Sekiro” قبلا هم ثابت کرده بود که در خلق تجربه‌های سخت و خاص استادانه عمل می‌کنه.  البته همکاری با نویسنده‌ی معروف دنیای «نغمه یخ و آتش» یعنی «جرج آر. آر. مارتین» که به ساختن لور و داستان‌های پشت‌ پرده‌ی جهان بازی کمک کرد از نقاط عطف این بازی است.

همین ترکیب باعث شد Elden Ring نه‌ فقط از لحاظ فنی، بلکه از نظر روایی و هنری هم بدرخشه. بازی نمرات بسیار بالایی از منتقدان دریافت کرد، جوایز متعددی برد و هنوز هم بعد از گذشت زمان، در صدر لیست بهترین بازی‌های تاریخ قرار داره. اما پشت همه‌ این شکوه و عظمت، یک سوال فنی جالب وجود داره که این بازی با چه تکنولوژی‌ای ساخته شده؟

در ادامه، می‌خوایم بریم سراغ پشت‌پرده‌ی فنی این اثر هنری دیجیتال و ببینیم چه ابزارهایی برای و زبان‌های برنامه‌نویسی‌ای برای ساخت بازی Elden Ring استفاده شده!

بازی‌ها چطور ساخته می‌شن؟ 

🛠 بازی‌ها چطور ساخته می‌شن؟ 

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

🎮 موتور بازی‌سازی: مغز متفکر پشت صحنه

در قلب هر بازی، چیزی هست به‌نام موتور بازی‌سازی (Game Engine). این موتور در واقع بستریه که همه‌ اجزای بازی از گرافیک گرفته تا فیزیک، صدا و رفتار شخصیت‌ها  در اون ساخته، ترکیب و اجرا می‌شن. بعضی از موتورهای بازی‌ سازی مشهور عبارت‌اند از:

  • Unreal Engine (ساخته شرکت Epic Games)
  • Unity (مناسب برای پروژه‌های مستقل و موبایلی)
  • Godot (موتور متن‌باز و سبک)
  • و البته موتورهای اختصاصی که توسط استودیوهای بزرگ مثل FromSoftware ساخته می‌شن

👨‍💻 زبان‌های برنامه‌ نویسی در بازی‌سازی

برای این‌که بازی داخل یک موتور زنده بشه، نیاز به برنامه‌‌نویسی داریم. اینجاست که زبان‌های برنامه‌ نویسی وارد صحنه می‌شن. بسته به موتور و هدف پروژه، زبان‌های مختلفی می‌تونن استفاده بشن. به‌طور مثال:

  • “Unity” از #C استفاده می‌کنه
  • “Unreal Engine” بیشتر با ++C و زبان اسکریپتی “Blueprints” کار می‌کنه
  • “Godot” معمولاً از GDScript (شبیه پایتون) استفاده می‌کنه
  • در بعضی پروژه‌ها، از زبان‌های اسکریپتی مانند Lua یا Python برای طراحی منطق‌های ساده‌تر یا ابزارهای جانبی استفاده می‌شه

نکته‌ی مهم این هست که هیچ بازی بزرگی بدون ترکیب چندین زبان و ابزار ساخته نمی‌شه! هر بخش از بازی، ممکنه با زبان یا تکنولوژی خاص خودش پیاده‌سازی شده باشه.

💻 زبان برنامه‌نویسی Elden Ring چیست؟

برخلاف بازی‌هایی مثل “Fortnite” یا “Genshin Impact” که با موتورهای معروفی مثل “Unreal” یا “Unity” ساخته شده‌اند، Elden Ring توسط استودیوی”FromSoftware” با استفاده از یک موتور اختصاصی توسعه داده شده؛ موتوری که طی سال‌ها و از زمان بازی‌هایی مثل “Dark Souls” و “Bloodborne” تکامل پیدا کرده و کاملاً سفارشی‌ سازی شده تا با سبک خاص این استودیو هماهنگ باشه.

🔍 زبان‌های مورد استفاده در Elden Ring

تا حالا اطلاعات رسمی زیادی درباره‌ی جزئیات فنی Elden Ring منتشر نشده، اما با بررسی روند توسعه‌ بازی‌های قبلی این استودیو و همین‌طور مشاهده‌ی فایل‌ها و ابزارهای لو رفته از مودینگ‌ کامیونیتی، می‌تونیم با اطمینان بگیم که:

  • هسته‌ی اصلی بازی با زبان ++C نوشته شده.
    این زبان یکی از قدرتمندترین زبان‌های برنامه‌نویسی در دنیاست و توی صنعت گیم‌سازی به خاطر سرعت بالا، کنترل دقیق روی حافظه، و کارایی فوق‌العاده‌اش بسیار محبوبه. اکثر بازی‌های AAA (مثل Witcher ،GTA یا حتی Call of Duty) از ++C به‌عنوان پایه استفاده می‌کنن.
  • در کنار ++C، برای بخش‌هایی از بازی مثل منطق ماموریت‌ها، رفتار دشمنان یا کنترل رویدادها، احتمالا از زبان‌های اسکریپتی مثل Lua استفاده شده. Lua یه زبان سبک و سریع برای کنترل رفتار درون بازیه که به برنامه‌نویس‌ها اجازه می‌ده بدون تغییر در کدهای اصلی، رفتارهای متنوعی ایجاد کنن.
  • همچنین در برخی ابزارهای داخلی توسعه، ممکنه از Python هم استفاده شده باشه. مثلاً برای ساخت ابزارهای کمکی برای طراح‌ها یا اتوماسیون تست‌ها.

چرا ++C انتخاب شده؟

اگرچه زبان‌هایی مثل Python یا JavaScript برای یادگیری آسون‌تر و محبوب‌تر هستن، ولی در بازی‌هایی با این ابعاد و پیچیدگی، نیاز به زبانی داریم که کنترل و سرعت در بالاترین سطح ممکن باشه. ++C دقیقاً همون چیزیه که برای خلق دنیای پیچیده و عظیم Elden Ring نیاز داریم.

اما نگران نباش! برای ورود به دنیای برنامه‌نویسی بازی‌ها لازم نیست حتماً از همین زبان شروع کنی. در بخش بعدی درباره‌ مسیر پیشنهادی برای تازه‌ واردها صحبت می‌کنیم…

🎨 تکنولوژی‌های گرافیکی و ابزارهای دیگر مورد استفاده در Elden Ring

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

🔧 موتور اختصاصی FromSoftware

همون‌طور که گفتیم، Elden Ring با یک موتور بازی‌سازی اختصاصی ساخته شده که بر پایه‌ی همون تکنولوژی‌های داخلی بازی‌هایی مثل Dark Souls و Sekiro توسعه داده شده. با این‌که این موتور به اندازه‌ی Unreal Engine یا Unity شناخته‌شده نیست، ولی تو زمینه‌ی بهینه‌ سازی روی کنسول‌ها و کنترل دقیق بر گرافیک و فیزیک بازی بسیار قدرتمند عمل کرده.

💡 تکنولوژی‌های گرافیکی قابل‌توجه

  • Deferred Rendering: این تکنیک اجازه می‌ده تا نورپردازی‌های پیچیده در محیط‌های وسیع بازی با کیفیت بالا اجرا بشن، بدون افت فریم جدی.
  • Volumetric Fog & Lighting: مه و نورهای پراکنده یکی از ویژگی‌های بصری خاص Elden Ring هستن که با کمک این تکنولوژی پیاده‌سازی شدن.
  • Dynamic Weather & Day-Night Cycle: چرخه‌  شب‌ و‌ روز و تغییرات آب‌ و‌ هوا، تجربه‌  دنیای بازی رو زنده و پویا کرده.
  • Motion Capture و انیمیشن‌های واقع‌گرایانه: حرکات طبیعی کاراکترها و دشمنان حاصل ترکیبی از موشن کپچر و انیمیشن‌های دستی هستن.

🛠 ابزارهای جانبی توسعه

علاوه بر زبان برنامه‌ نویسی، بازی‌سازها از ابزارهای متعددی برای مدل‌ سازی، انیمیشن، صداگذاری و طراحی محیط استفاده می‌کنن. مثلاً:

  • “Maya” یا “Blender” برای مدل‌سازی سه‌ بعدی
  • “Substance Painter” برای بافت‌‌دهی واقع‌ گرایانه
  • “FMOD” یا “Wwise” برای صداگذاری و طراحی صوتی
  • ابزارهای اسکریپت‌ نویسی داخلی برای تنظیم رفتار دشمنان و رویدادها

🚀 آیا می‌توان با این زبان‌ها وارد دنیای بازی‌سازی شد؟

حالا که فهمیدیم Elden Ring با زبان‌هایی مثل ++C و Lua ساخته شده، شاید این سوال برات پیش بیاد که «منم باید از همین زبان‌ها شروع کنم؟»

جواب کوتاه اینه‌که: نه لزوماً! ولی اجازه بده کمی بیشتر توضیح بدم.

شروع مسیر برنامه‌نویسی بازی‌سازی

++C زبانی فوق‌العاده قدرتمنده، اما برای کسی‌که تازه وارد دنیای برنامه‌ نویسی شده، می‌تونه کمی سخت و پیچیده باشه! به‌جای این‌که از همون اول سراغ زبان‌های سنگین و حرفه‌ای بری، بهتره با ابزارها و زبان‌هایی شروع کنی که یادگیری‌شون ساده‌ تره و در عین حال برای ساخت بازی‌های واقعی هم کاملاً کاربردی هستن. برای مثال:

  • اگر می‌خوای بازی دو بعدی یا سه‌ بعدی بسازی و تازه‌ کاری، پیشنهاد می‌کنم سراغ موتور Unity بری که از زبان #C استفاده می‌کنه.  یادگیری #C خیلی روان‌تره و جامعه‌ کاربری بزرگی داره که پر از آموزش‌های خوبه.
  • یک گزینه‌ی عالی دیگه برای شروع، Godot هست. این موتور بازی‌سازی متن‌بازه و از زبانی به نام GDScript استفاده می‌کنه که شباهت زیادی به Python داره و یادگیریش لذت‌بخشه.
  • اگه دوست داری با Python بازی بسازی، موتورهایی مثل Pygame هم برای تمرین و پروژه‌های ساده عالی هستن.

مسیری منطقی برای تبدیل شدن به بازی‌ساز

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

۲. بعد برو سراغ یک موتور بازی‌سازی مناسب تازه‌کارها
Unity و Godot دو تا از بهترین گزینه‌ها هستن.

۳. پروژه‌های کوچک بساز.
مثلاً یه پلتفرمر ساده یا یک بازی شبیه مار. کم‌کم که جلو بری، می‌تونی بازی‌های بزرگ‌تری طراحی کنی.

۴. ولی اگر علاقه‌مند بودی، می‌تونی سراغ ++C هم بری.
اون موقع آماده‌ای تا وارد فضای حرفه‌ای‌تر بشی و حتی روی پروژه‌هایی مثل Elden Ring هم فکر کنی!

پس نگران زبان برنامه‌نویسی Elden Ring نباش. بدون که حتی حرفه‌ای‌ترین بازی‌ها هم از یک نقطه‌ی ساده شروع شدند. مهم اینه که قدم اول رو برداری و بدون ترس وارد دنیای جذاب برنامه‌ نویسی بازی‌ها بشی.

🧭 جمع‌بندی: یک قدم به دنیای بازی‌سازی نزدیک‌تر

Elden Ring بدون شک یکی از شاهکارهای دنیای گیمه. اما پشت تمام اون باس‌فایت‌های حماسی، دنیای پهناور و طراحی شگفت‌انگیز، دنیای پنهانی از کد و منطق برنامه‌نویسی وجود داره! در این مقاله فهمیدیم که بازی‌هایی در این سطح، معمولاً با زبان‌هایی مثل ++C ساخته می‌شن؛ زبانی سریع، قدرتمند و مناسب برای کنترل کامل روی سخت‌افزار. 

ولی شاید مهم‌ترین نکته این بود که بدونیم برای رسیدن به چنین سطحی، لازم نیست از همون ابتدا سراغ زبان‌های پیچیده بریم. تو می‌تونی با زبانی ساده‌تر مثل #C  و موتوری مثل Unity شروع کنی. کم‌کم تجربه به دست بیاری، پروژه‌های کوچک انجام بدی، و بعد خودت رو برای قدم‌های بزرگ‌تر آماده کنی. مهم‌ترین چیز در این مسیر، علاقه و پشتکاره. چون برنامه‌نویسی بازی نه‌فقط یک مهارته، بلکه ترکیبی از تخیل، منطق و عشق به خلق جهانه!

نظرات
ثبت نظر جدید

نظری برای این مقاله ثبت نشده است