🎮 NPCها چطور «هوش» به ارث میبرند؟ نگاه ساده به پشتصحنه بازیهای ویدیویی


اگر تا حالا با یک فروشنده در یک بازی نقشآفرینی صحبت کردی، یا با یک دشمن خیابانی در یک بازی جهانباز درگیر شدی، بدون اینکه اون شخصیت قابل بازی باشه، داری با یک NPC (شخصیت غیرقابل بازی) طرف میشی.
اما تا حالا فکر کردی که این همه تنوع در رفتار NPCها چطور به وجود میاد؟ راز ماجرا توی یک چیزی به اسم ارثبری (Inheritance) توی برنامهنویسیه! 🤯
بیاید به زبون ساده ببینیم این یعنی چی…
🤖 NPC یعنی کی؟
NPC مخفف Non-Playable Character هست. یعنی کاراکترهایی که تو نمیتونی کنترلشون کنی، ولی توی بازی وجود دارن تا جهان بازی رو واقعیتر و پویاتر کنن.
مثالهایی از NPCها:
یک روستایی که فقط کنار مزرعهاش ایستاده.
نگهبانی که شب تا صبح گشت میزنه.
فروشندهای که بهت معجون میفروشه.
دشمنی که به محض دیدنت حمله میکنه.
اما سوال اینجاست: این همه رفتار مختلف رو چطوری توی بازی برنامهنویسی میکنن؟ آیا برای هر NPC جداگانه کدنویسی میشه؟ نه! اینجاست که ارثبری وارد میشه.
🧬 ارثبری چیه؟ (به زبان گیمری)
فرض کن تو یک بازی ساز هستی و قراره چند تا شخصیت مختلف بسازی:
یک فروشنده
یک دشمن
یک دوست همراه
همهی اینها یهسری رفتار و ویژگی مشترک دارن: مثل اینکه اسم دارن، میتونن حرکت کنن، ممکنه جون داشته باشن، یا بتونن حرف بزنن. تو به جای اینکه این ویژگیها رو بارها و بارها برای هر NPC بنویسی، میای یه شخصیت کلی به اسم مثلاً “کاراکتر پایه” درست میکنی. بعد، فروشنده، دشمن و همراه از این کاراکتر پایه ارث میبرن.
🧠 چرا ارثبری برای ساخت بازی مهمه؟
سرعت ساخت: به جای نوشتن کد از اول برای هر NPC، فقط تفاوتها رو اضافه میکنی.
مدیریت راحت: اگه یه تغییر بخوای توی همهی کاراکترها اعمال کنی، فقط کافیه کلاس پایه رو آپدیت کنی.
جهان زندهتر: میتونی خیلی راحت دستههای مختلفی از NPC بسازی که رفتارهای منحصر به فردی دارن.
ارتقای هوش NPCها: مثلاً میتونی یه دشمن ساده بسازی، بعد یه کلاس جدید از روش بسازی که هوش مصنوعی پیشرفتهتری داشته باشه.
🎭 مثال داخل بازیهای معروف
Skyrim: هر NPC رفتاری متفاوت داره، بعضیا بهت حمله میکنن، بعضیا فقط باهات حرف میزنن. همهی اینا با سیستمهای ارثبری و ترکیب هوش مصنوعی ساخته شدن.
GTA V: پلیس، عابر، مغازهدار، باندهای خیابانی… هرکدوم یه کلاس هستن که از یک ساختار پایهتر به ارث رسیدهان.
The Witcher 3: NPCهایی که حتی برنامهی روزانه دارن! از صبح تا شب کار میکنن و میخوابن!
🧩 ارثبری تنها نیست!
در کنار ارثبری، برنامهنویسا از چیزی به اسم کامپوزیشن (Composition) هم استفاده میکنن. یعنی به جای اینکه فقط از کلاسهای پدر و مادر ارث ببرن، اجزای مختلفی رو به کاراکتر اضافه میکنن. مثل اینکه یک NPC “هوش رفتاری”، “توانایی مبارزه” یا “برنامه روزانه” داشته باشه که هر کدوم خودش یک جزء جداست.
🕹️ جمعبندی برای گیمرها
وقتی توی بازی با یه فروشنده عجیب و غریب حرف میزنی یا دشمنی با استراتژی خاص بهت حمله میکنه، پشت صحنهاش یه سیستم برنامهنویسی پیشرفتهست که بهش میگن ارثبری. این سیستم به سازندههای بازی کمک میکنه دنیای بازی پر از شخصیتهای واقعی، متفاوت و واکنشپذیر باشه.
پس دفعه بعدی که یه NPC ازت یه مأموریت خواست یا یه دشمن غافلگیرت کرد، بدون که اون فقط یه شخصیت ساده نیست؛ اون حاصل یک سیستم برنامهنویسی باهوشه که از یه جد بزرگ به ارث برده… 🎮🔥