Behind The Stones یک شرکت بازیسازی مستقل در هامبورگ، آلمان است که توسط اسلاوا دایزلینگ و مونیکا رایدر تاسیس شده است. آنها در حال حاضر روی اولین بازی تجاری بزرگ خود برای پلیاستیشن ویتا کار میکنند که نام آن Sir Eatsalot است. دایزلینگ برنامهنویس و طراح بازی است و رایدر کارگردانی هنری را به عهده دارد. دایزلینگ و رایدر، با تیمی شامل چهار عضو فریلنس مشغول ساخت Sir Eatsalot هستند.
بسیاری از توسعهدهندگانی که در Behind The Stones کار میکنند، به خاطر عشق به بازی وارد صنعت بازیسازی شدهاند. این آرزو برای برنامهنویسان، شبیه آرزوی کودکی خیلیهاست که میخواستند خلبان شوند. اما ساختن بازی هیچ شباهتی به بازی کردن آن ندارد. ساخت بازی احتیاج به همکاری و کار تیمی بین هنرمندان، طراحان، مهندسان صدا، مدیران پروژه، تیم تست و البته توسعهدهندگان نرمافزار دارد. همانطور که میدانید مدیریت این تیمهای گوناگون میتواند بسیار مشکل باشد، به خصوص وقتی بعضی از افراد این تیمها معمولا در جایی غیر ازدفتر اصلی تیم کار میکنند. خلاصه مدیریت یک تیم توسعه بازی تقریبا هرگز کار آسانی نیست.
خب، چه مشکلاتی وجود دارد؟
کارهای بسیاری هست که انجامشان برای ساختن بازی لازم است. با توجه به اینکه در هر بازی سناریوها و مراحل گوناگونی هست که هر کدام نقاشی، موسیقی متن و کاراکترهای مختص به خود را دارد، میتوان گفت مدیریت توسعه بازی، در حقیقت مدیریت چندین زیرپروژه مجزا است. با توجه به این موضوع روشهای مختلفی برای تعیین ساختار پروژه وجود دارد:
- همه چیز را در یک پروژه بگذاریم تا همهچیز در یک جا باشد و به راحتی بتوان فهمید در پروژه چه خبر است،
- برای هر مرحله از پروژه، یک پروژه مخصوص تعریف کنیم تا محیط کاری مرتبی داشته باشیم که در آن روی کاری که میخواهیم انجام دهیم به آسانی تمرکز کنیم.
- برای هر تیم یک پروژه تعریف کنیم (مثلا یکی برای برنامهنویسان، یکی برای طراحان و غیره)، تا هر تیم، همه کارهایی که باید انجام دهد را در یک جا ببیند و بر مدیریت کارهایش کنترل داشته باشد.
اگر همه چیز را یک جا بگذارید دهها لیست و صدها (چه بسا هزاران) کار را یک جا گذاشتهاید که هرکدام مربوط به یک تیم است. این برای کسی که میخواهد دورنمایی از پروژه داشته باشد و تیم را هماهنگ کند خوب است، اما برای دیگران، این به معنای اطلاعات اضافی است: برای این افراد پروژه خیلی زود شلوغ میشود و پیدا کردن کارهای مربوط به خودشان بین بقیه کارها، بسیار سخت خواهد شد.
اگر برای هر مرحله یک پروژه بسازید، اوضاع برای اعضای تیم بهتر میشود، اما به سختی میتوان اطلاعات را جمع و جور کرد و دورنمایی از مسیر پروژه، کارهای انجام شده و کارهایی که باید انجام شوند به دست آورد. دنبال کردن تمام تغییرات در پروژههای مختلف برای مدیر پروژه مشکل خواهد شد و مطلع کردن تمام اعضای تیم از نمای کلی پروژه به دشواری ممکن است.
ساختن یک پروژه برای هر تیم احتمالا بهترین راهحل برای اعضا، و بدترین برای مدیر پروژه است. تیمهای مختلف یک فضای کاری کاملا مرتب خواهند داشت که تنها کارهای خودشان را شامل میشود، اما مدیر پروژه همواره باید پروژههای مختلفی را دنبال کند، و حتی فکرش را هم نمیشود کرد که چطور مدیر میخواهد تیمها را هماهنگ کند — به هر حال همه تیمها برای تولید یک محصول نهایی کار میکنند و ارتباط نکته کلیدی است. مگر نه؟
اسلاوا در ابتدا برای پروژه Sir Eatsalot — که ۱۳ مرحله دارد — هر سه روش را امتحان کرد و در نهایت ساختن یک پروژه برای هر تیم را انتخاب کرد. اما این راه حل با یک روش ایدهآل خیلی فاصله داشت:
با اینکه همه ما روی یک بازی کار میکردیم، اما چون تیمهای طراحی و برنامهنویسی، پروژههای متفاوتی داشتند، به نظر میرسید داریم روی دو چیز مختلف کار میکنیم. به این احساس غریب دچار شده بودیم که انگار از یکدیگر جدا هستیم. احساس اتحاد و نزدیکی در یک تیم اثر بسیاری بر کارایی آن دارد. ما در یک تیم هستیم و میدانیم که روی یک پروژه مشترک کار میکنیم، اما داشتن دو پروژه مختلف اثر روانی خوبی روی تیم نداشت و ارتباط را بسیار مشکل میکرد.
اسلاوا دایزلینگ
درک این مشکل، نقطه شروع جستجو برای چیزی بود که این مشکل را حل کند. و جستجو سرانجام با رسیدن به تسکولو پایان یافت. در ادامه این مطلب شرح خواهیم داد چطور اسلاوا از تسکولو برای مدیریت توسعه بازی Sir Eatsalot استفاده میکند.
هر مرحله در یک صفحه
در تسکولو علاوه بر لیستهای معمول، میتوانید با تعریف صفحه ( یا sheet یا tab) یک لایه اضافی برای دستهبندی لیستها به دست آورید.
این امکان زمانی که روی پروژههای پیچیده مثل ساخت یک بازی کار میکنید به کار میآید.
بازی Sir Eatsalot بیست و دو صفحه دارد: ۱۳ صفحه برای ۱۳ مرحله بازی و یک صفحه برای هر کدام از کارهای ضروری دیگر در پروژه (مثلا مدیریت تیم، بازاریابی، امکانات اولیه و غیره).
توانایی دسترسی به همه چیزهای مربوط به یک پروژه در یک محیط کار بسیار خوب است، اما به اینجا ختم نمیشود. حضور همه تیم و همه کارها در یک پروژه که توسط صفحهها دستهبندی شده، به این معناست که هر تیم یک محیط کار مرتب دارد، میتواند پیشرفت کل پروژه را ببیند و با همه افراد در ارتباط باشد، بدون اینکه بین تعداد زیادی لیست و کار داخل پروژه سردرگم شود. این موضوع همچنین به مدیر پروژه کمک میکند دورنمای پروژه را ببیند و پیشرفت هر کار را به راحتی دنبال کند.
«لیستها» برای دستهبندی کارهای هر مرحله
اسلاوا برای هر مرحله، چهار یا پنج لیست داخل صفحه مربوط به مرحله ساخته است. این لیستها برای دستهبندی کارهایی که باید برای پیاده کردن این مرحله بازی انجام شود استفاده میشوند: طراحی مرحله، طراحی نبردها و بخشهای مختلف مرحله.
راهحل دیگری که برای دستهبندی لیستهای درون هر صفحه وجود دارد، اختصاص لیستهای مختلف برای تیمهای مختلف است: برای مثال میتوانید یک لیست به نام «کار هنری» بسازید و تمام کارهای تیم هنری در مرحله مربوطه را در آن لیست قرار دهید، و همین کار را برای تیم برنامهنویسی و بقیه تیمها تکرار کنید. این روش برای تیمها و پروژههای بزرگ بهتر است زیر از شلوغ شدن محیط کار جلوگیری میکند و برای اعضای هر تیم پیدا کردن کارهای مربوط به تیمش آسانتر است.
چقدر طول کشید؟
موضوع کنترل نیست. موضوع، مخارج و حقوق هم نیست (هرچند میتواند باشد). بلکه موضوع، کارایی و تخمین دقیق زمان است.
آیا خوب نیست اگر بدانید چقدر زمان در مجموع روی پروژه خود صرف کردهاید؟ ساختن کدام کار هنری بیشتر از همه طول کشیده است؟ به طور متوسط چه مقدار زمان برای مهندسی صدای هر مرحله لازم است؟ اضافه کردن یک مرحله جدید به پروژه چقدر وقت میگیرد؟ در مورد یک کار مشخص چطور؟ معمولا ما اطلاعی از جواب این سوالات نداریم و این امری عادی است. تخمین دقیق زمان لازم برای انجام یک کار بسیار دشوار است.
به همین دلیل است که اعضای تیم Behind The Stones برای تمام کارهای خود زمان را ثبت میکنند. آنها میدانند که تا به امروز (یعنی زمان نگارش این مطلب) ۳۰۰۰ ساعت صرف تولید بازی شده است، کارهای مربوط به نقاشی به طور متوسط ۱۷ ساعت زمان میبرند و اینکه اسلاوا در کارهای مربوط به الگوریتم به مراتب سریعتر است تا کارهای فرانتاند و پیادهسازی انیمیشنها.
اما موضوع فقط احساس خوب کسب دانایی نیست. این دانش به اسلاوا کمک کرد اسپرینتها را بهتر و دقیقتر برنامهریزی و مدیریت کند، سررسیدهای واقعبینانه برای کارها تعیین کند و انتشار دمو یا نسخههای مختلف پروژه سر موقع باشد.
استفاده از «نقشها و سطوح دسترسی» برای نظم بیشتر
بودا گفته «آشفتگی در ذات تمام چیزهای مرکب است» و این حرف حقیقت دارد. حفظ نظم کار سختی است. چیزها به مرور زمان تمایل دارند به ورطه آشفتگی گرفتار شوند، گاهی حتی اتفاقی. چطور مطمئن میشوید که پروژه شما مرتب باقی میماند؟
تیم Behind The Stones برای حفظ ساختار و مرتب نگهداشتن محیط کار، ازنقشها و سطوح دسترسی در پروژه استفاده میکند. آنها چند نقش مختلف ساختهاند: مؤسسان (اسلاوا مونیکا) در پروژه دسترسی انجام همه کارها را دارند: زمانهای کاری تمام اعضا را ببینند، صفحه و لیست بسازند یا آنها را پاک کنند و تنظیمات پروژه و سطوح دسترسی را تغییر دهند. دیگران تنها میتوانند ساختار را ببینند، لیست و کار بسازند یا ویرایش کنند و زمانهای کاری خود را مشاهده کنند.
با تشکر ویژه از اسلاوا دیازلینگ برای ارائه تصویری کامل از روند انجام کارهای Behind The Stone و نحوه کار آنها با تسکولو.