کنفرانس حل مشکلات برنامه نویسان موتور بازی در TGC 2017
اگر یک برنامهنویس در حوزه بازیهای ویدیویی باشید، حتما یکی از نکاتی که باید به آن توجه داشته باشید، برنامهنویسی موتور گرافیکی است. قطعا در طول توسعهی یک بازی مشکلاتی در روند برنامهنویسی پیش میآید که باید آنها را شناسایی و رفع کنید.
در جریان کنفرانس خبری مایک اکتون (Mike Acton)، وی در مورد چالشهای موجود در برنامهنویسی موتورهای گرافیکی سخن گفت و راهحلهای موجود را با مخاطبان به اشتراک گذاشت. در ابتدا مایک اکتون در مورد سابقهی خود اعلام کرد که بیش از ۱۰ سال است که در استودیو اینسامنیاک فعالیت میکند و روی بازیهای AAA زیادی کار کرده است. در ادامه، مایک اکتون از کانسپتهای معمول در برنامهنویسی موتورهای گرافیکی مختلف سخن گفت؛ پنج کانسپت مختلف که هرکدام را توضیح داد و در این میان، یکی سری از آنها را نقض و سایر موارد را تکمیل کرد.
در میان گفتههای وی نکتهی جالبی وجود داشت و آن هم این بود که به برنامهنویسان پیشنهاد کرد که با کامپایلری که با آن کار میکنند، دوست باشند، اما فکر نکنند که کامپایلر میتواند کارهای جادویی برای آنها انجام دهد. کامپایلرها تنها ابزارهایی هستند که در برنامهنویسی کمک حال شما هستند و کدهای نوشتهشده را کامپایل میکنند. پس از این موارد، مایک اکتون به سراغ تواناییهای برنامهنویسان رفت. به گفته او، اگر میخواهید یک برنامهنویس موفق باشید، باید یک سری توانایی در زمینه فنی و پایه در اختیار داشته باشید. برای مثال، تمرینهای روزانه، آن هم تقریبا روزی ۳۰ دقیقه، از موارد پایهای است که هر برنامهنویسی باید آن را رعایت کند. شما همچنین باید به سراغ یادگیری بروید و گستره دانش خود را افزایش دهید.
بخش دیگری از صحبتهای مایک اکتون، به حل مشکلات در برنامهنویسی مربوط میشد. وی در ابتدای صحبتهای خود گفت که مشکلات موجود به راحتی حل میشوند، اما نکتهی مهم این است که آنها را درست انتخاب و حل کنید. به عبارتی مهمترین مشکل را شناسایی و آن را برطرف کنید. در این میان، یک نکتهی دیگر نیز وجود دارد و آن هم این است که مشکلات متعدد، راهحلهای متعددی دارند. از اینرو برای حل کردن آنها باید تمامی دادهها و دیتاهای موجود را مشاهده و بررسی کنید تا بتوانید آنها را از هم جدا و شناسایی کنید.
یکی دیگر از مواردی که مایک اکتون روی آن تاکید کرد، این بود که از واژهی «اگر بازی ...» استفاده نکنید؛ زیرا شما به هیچوجه از آینده خبر ندارید و با گذشت زمان، موارد جدیدتری را یاد خواهید گرفت. از سوی دیگر، آدمها ذاتا خلاق هستند و با کمی تلاش میتوانند خلاقیتهای خود را در زمینهای که در آن کار میکنند، بروز دهند. در راستای شناخت مشکلات مهم، یکی از مواردی که باید آن را رعایت کنید، این است که به کار خود ارزش دهید یا ارزش آن را شناسایی کنید. برای مثال، یک زمانِ توسعه برای بازی خود در نظر بگیرید و آن را رعایت کنید. در ادامهی کنفرانس خبری مایک اکتون، گفته شد که اگر نتوانید هزینه تعمیرات و نگهداری را در نظر بگیرید، مثل این میماند که که نمیدانید از چه منابعی استفاده میکنید. همیشه به دنبال دلایل باشید. هر مشکلی دلیلی دارد و با پیدا کردن آن، راحت میتوانید کار خود را پیش ببرید.
از میان مواردی که قبل از شناخت مهمترین مشکل باید بشناسید، این است که به خوبی روی پلتفرمهایی که کار میکنید، نظیر Open GL، شناخت پیدا کنید؛ زیرا هرکدام از آنها از معماری و پایه و اساس مختلفی برخوردار هستند. در پایان گفته شد که مشکلات به دیتاها رابطهی مستقیمی دارند. اگر دادهها را به خوبی شناسایی نکنید، مشکلات حل نخواهند شد. در همین راستا، یکی از بهترین کارها این است که مدام از ورودی و خروجیهای خود نمونهبرداری کنید یا اینکه سعی کنید همیشه دادههای خود را تصویرسازی کنید.