لینوکس و بازی‌های کامپیوتری 2

در مقاله قبلی گفته شد که اجرای بازیهای کامپیوتری نیاز به پشتیبانی سخت افزار و خصوصا شتابدهنده گرافیک دارد و اگر قرار باشد مثالی بزنیم که ثابت می‌کند لینوکس، گرافیک را به شکل عالی آن پشتیبانی می‌کند، باید از فیلم «تایتانیک» نام ببریم. زمانی که فیلم تایتانیک در 19 دسامبر 1997 به روی پرده سینما آمد، برنامه‌نویسان لینوکس به وجد آمدند. البته نه به خاطر خود فیلم یا بازی هنرپیشه‌های آن، بلکه به این دلیل که تایتانیک وجود خود را مدیون سیستم‌عامل لینوکس بود. در واقع شرکت Digital Domain جلوه‌های ویژه این فیلم را (که نیاز به قدرت پردازشی فوق العاده زیادی داشت) با استفاده از 105 کامپیوتر کارگزار لینوکس ایجاد کرده بود.

 Darryl Strauss  که مدیریت این پروژه را به عهده داشت و قبل از آن هم کارهایی نظیر Apollo 13، The Fifth Element، Dante`s Peak و What Dreams May Come را در کارنامه خود داشت، می‌گوید: در این پروژه ما یکی از 500 سوپرکامپیوتر برتر جهان را با لینوکس ایجاد کرده بودیم.

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

   Strauss که دستی هم در برنامه‌نویسی تحت یونیکس داشت، می‌دانست که لینوکس حتی زمانی که روی یک PC معمولی هم نصب شده باشد می‌تواند از عهده پردازش کارهای گرافیکی سنگین برآید. به همین دلیل به سراغ کارت‌های گرافیکی Voodoo رفت که در سال 1995 توسط شرکت 3dfx Interactive ارائه شده بودند.

   او می‌گوید «من در سال 1996 نگاهی به قابلیت‌های کارت‌های Voodoo انداختم و به فکرم رسید که می‌توانم از آن برای کار خود استفاده کنم.» در آن سال او 3dfx را متقاعد کرد که به او اجازه دهد Glide را به محیط لینوکس منتقل کند. Glide یک مجموعه دستورات برنامه‌نویسی گرافیک سه‌بعدی است که توسط 3dfx خاص کارت‌های Voodoo ایجاد شده است، اما با استفاده از برخی مبدل‌ها می‌توان آن را برای سایر کارت‌های گرافیکی نیز استفاده کرد. همزمان با به پایان رسیدن کار تولید فیلم تایتانیک، ارائه Glide و Mesa (یک پیاده‌سازی از OpenGL API) نیز گرافیک سه‌بعدی را به دنیای کامپیوترهای شخصی وارد کردند.

   زمانی که Strauss کار روی تایتانیک را به پایان برد، خود را برای یک تغییر آماده می‌دید. او در سال 1998 بعد از شش سال کار در زمینه جلوه‌های ویژه، خود را در این زمینه بازنشست کرد. به این ترتیب او تبدیل به یک نویسنده تمام‌وقت برنامه‌های گرافیکی تحت لینوکس شد و به شرکت Precision Insight پیوست و رهبری پروژه تولید سیستم‌های گرافیکی Xfree86 برای لینوکس را به عهده گرفت.

Strauss تنها کسی نبود که در سال 1997 متوجه بازار بکر لینوکس در زمینه بازی‌های کامپیوتری و پتانسیل موجود در آن شد. Scott Draeker که هم طرفدار لینوکس و هم هواخواه جدی بازی‌های کامپیوتری بود نیز، متوجه این نوزاد شد که نیاز به تربیت و راهنمایی داشت.

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

   در یک اقدام غیرمنتظره، او کار خود را رها کرد و تلاشی را آغاز کرد تا تولیدکنندگان بازی‌های کامپیوتری بزرگ و مشهور را برای انتقال محصول خود به لینوکس متقاعد کند. در سال 1998 او برنامه خود را بر بحث با شرکت Activision برای انتقال بازی Civilization: Call to Power به لینوکس متمرکز کرد.

آنچه که کار Draeker در رها کردن کار خود و تلاش در این زمینه را برجسته‌تر می‌سازد این است که او به هیچ وجه یک نویسنده بازی‌های کامپیوتری که شیفته لینوکس شده باشد نیست. رئیس شرکت Loki Interactive Entertainment – که شاید مشهورترین شرکت تولیدکننده بازی‌های تحت لینوکس است – خود یک وکیل است. دانستن این واقعیت شاید باعث شود که بازی‌نویسان تحت لینوکس با دید عمیق‌تری به بازی‌های بعدی که توسط این شرکت تولید می‌شود نگاه کنند. ولی یک نکته را نباید از نظر دور داشت. Draeker عاشق بازی‌های کامپیوتری است، عاشق لینوکس است و با خود عهد کرده است که این دو معشوق خود را در کنار هم قرار دهد.

با تمام مطالب بالا، بازهم تولیدکنندگان بازی که با لینوکس آشنایی نداشتند نوعی ترس از وارد شدن به این عرصه احساس می‌کردند. اما با انتقالی که یکی از برنامه‌نویسان Loki به نام Sam Lantinga انجام داد، کار بازی‌نویسان تحت لینوکس باز هم کمی راحت‌تر شد.

   در سال 1997 این برنامه‌نویس تصمیم گرفت که یورش خود به دنیای بازی‌نویسی را با ایجاد یک بازی جدید به نام Pirates Ho! (pirates.devolution.com) آغاز کند. او یک بررسی روی ابزارهایی که برای نوشتن بازی تحت لینوکس وجود داشتند کرد. نتایج بررسی برای او کاملا ناامید کننده بود. ابزارهای بسیار کمی وجود داشتند که با استفاده از آنها بتوان بازی‌هایی ایجاد کرد که انتقال آنها از یک سیستم‌عامل به سیستم‌عامل دیگر به سادگی انجام شود.

   Lantinga به این نتیجه رسید که یک زبان برنامه‌نویسی گرافیکی مورد نیاز است، که برنامه‌های نوشته شده با آن به سادگی قابل انتقال بین دو محیط مختلف باشند. او با همکاری چند نفر دیگر کتابخانه SDL Simple DirectMedia Layer را ایجاد کردند. هر بازی که با استفاده از این کتابخانه نوشته شود، می‌تواند توسط برنامه‌نویسان مسلط به SDL به سرعت (در طی چند هفته یا چند ماه) به یک سیستم عامل دیگر منتقل شود.

   به این ترتیب راه برای عرضه تعداد زیادی از بازی‌های Loki هموار شد. در سال 1999 این شرکت هشت بازی جدید تحت لینوکس منتشر کرد که بیشتر آنها منتقل شده از یک محیط دیگر بودند. طبق گفته Draeker انتقال هر یک از این بازی‌ها به لینوکس بین 12 تا 18 ماه زمان برده است. این بازی‌ها که از تنوع زیادی هم برخوردار بودند و حتما نزد علاقه‌مندان بازی‌های کامپیوتری شناخته شده هستند، عبارتند از:

Civilization: Call to Power

Myth II: Soulblighter

Railroad Tycoon II

Eric`s Ultimate Solitaire

Heretic II

Heroes of Might and Magic 3

Quake III: Arena

Heavy Gear 2

وضعیت فعلی پشتیبانی بازی‌ها در لینوکس

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

   این مشکلات به حدی است که حتی John Carmack هم که خود جزو رهبران این حرکت است، در آنها گرفتار شده است. در یک مکاتبه که میان او و یکی از برنامه‌نویسان Loki به نام Bernd Kreimeier روی mailing list مربوط به Utah GLX انجام شده است، Carmack نوشته است: «برای راه‌اندازی AGP من مجبور شدم که آخرین نسخه از هسته لینوکس را به دست آورم و ماژول newagp را به آن patch کنم. سپس هسته را از نو پیکربندی و آن را کامپایل کردم. سپس ماژول‌های آن را کامپایل کردم. بعد از آن liloرا از نو پیکربندی کردم تا هسته جدید را بشناسد. سپس کامپیوتر را reboot کردم و device مورد نظر خود را insmod کردم و سرانجام موفق شدم که AGP را راه‌اندازی کنم. واقعا برای من قابل تصور نیست که یک کاربر معمولی چگونه می‌تواند چنین کاری را انجام دهد».

در حال حاضر علاقه‌مندان به بازی‌های کامپیوتری تحت لینوکس، برای بازی کردن یکی از بازی‌های سه‌بعدی مجبورند که ابتدا پشتیبانی از کارت گرافیک خود را تحت OpenGL راه‌اندازی کنند. برای این کار باید ابتدا Xfree86 را با استفاده از یک درایور پشتیبانی از امکانات سه‌بعدی، کتابخانه Mesa 3D، Utah GLX و احتمالا Glide کامپایل کنند و سپس بازی مورد نظر خود را نصب و از آن استفاده کنند.

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

   طبق گفته مسئولان شرکت Nvidia درایورهایی که برای لینوکس نوشته می‌شوند از نظر کارایی برتری قابل توجهی بر نسخه ویندوزی خود دارند. مثلا در مقایسه‌ای که روی بازی Quake III انجام شده است، درایور لینوکس، پنج تصویر در ثانیه بیشتر از درایور ویندوز پشتیبانی می‌کرده است. نتایج مشابهی نیز توسط Rival 3dfx و سایر شرکت‌ها گزارش شده است.

   اگرچه ارائه Xfree86 4 به معنای امکان راه‌اندازی گرافیک سه‌بعدی در یک چشم به هم زدن نیست، ولی حداقل می‌توان گفت که آن را بسیار ساده‌تر کرده است. Joseph Kain که یکی از پنج مهندسی است که در شرکت 3dfx روی درایورهای تحت لینوکس کار می‌کنند، می‌گوید: «نصب و راه‌اندازی گرافیک سه‌بعدی بهبود بسیاری یافته است. با قرار گرفتن OpenGL در دل سیستم Xfree همه چیز از قبل نصب می‌شود». در واقع از جنبه نصب و بروزآوری آسان، لینوکس را می‌توان مشابه ویندوز دانست.»

   از نظر پشتیبانی صدا، کار با نسخه‌های مختلف لینوکس بسیار ساده‌تر شده است و می‌توان آنها را رقیب جدی ویندوز دانست. تمامی نسخه‌های اصلی لینوکس درایورهای صدا و joystick controller را برای اکثر سخت‌افزارهای پرکاربرد ارائه می‌کنند. تولیدکنندگان بازی در این زمینه از دو API مخصوص کار با صدا استفاده می‌کنند: Advanced Linux Sound Architecture و Open Source System. این دو رقابت سختی را با یکدیگر برای تبدیل شدن به API مطلوب برای برنامه‌نویسان دارند.

   در عین حال، راه‌اندازی صدای سه‌بعدی نیز با استفاده از OpenAL بسیار آسان‌تر شده است و بسیاری از ارائه‌کنندگان نسخه‌های لینوکس، OpenALرا در لینوکس خود قرار داده‌اند. Kain اعتقاد دارد که لینوکس با ارائه گرافیک سه‌بعدی و صدای پرکیفیت می‌رود که ویندوز را پشت سر بگذارد. او می‌گوید: «من کسانی را می‌دیدم که محیط کار اصلی آنها ویندوز بود و اصلا برایشان خوشایند نبود که برای بازی کردن سیستمشان را reboot کنند و به ویندوز بروند. حالا لینوکس قادر است همه کارهایی را که ویندوز می‌کند را انجام دهد.»

در حال حاضر شرکت‌های متعددی در زمینه بازی‌های تحت لینوکس فعال هستند. از آن جمله می‌توان شرکت کانادایی Tribsoft (www.tribsoft.com) را نام برد. ولی شرکت Loki بیشترین فعالیت را در این زمینه داشته است. این شرکت در سال 2000 بازی‌های SimCity 3000، Sid Meier`s Alpha Centuri، Soldier of Fortune، Descent 3 و بیش از 12 بازی دیگر را به محیط لینوکس منتقل کرد. در سال 2001نیز بیش از 30 بازی در دستور کار این قرار داشت، اما به سبب بروز برخی مشکلات و الزام این شرکت به یک بازسازماندهی ساختاری، این کار موقتا متوقف شده است. اما مسئولان این شرکت اظهار امیدواری کرده‌اند که مشکلات به سرعت حل شوند و علاوه بر ازسرگیری انتقال بازی‌های روز دنیا به لینوکس، کار تولید بازی‌های بزرگ خاص لینوکس را نیز آغاز کنند.

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

منبع : ccwmagazine