أحن لتلك الأيام عندما كانت ألعاب الحاسوب في متناول الجميع. عندما لم تكن بحاجة لأخذ قرض أو رهن سيارتك لتتمكن من تشغيل لعبة على جهازك، وقبل أن ترتفع أسعار الرامات، ووسائط التخزين لمستويات فلكية، بسبب فقاعة الذكاء الاصطناعي.
البحث عن الألعاب الضائعة
من حين لآخر أقوم بتمشيط المواقع القديمة التي كانت تستضيف هذه الألعاب، وأحاول البحث عنها، البعض منها ضائع بالكامل ولا يمكن ايجاده، والبعض الآخر يمكن العثور عليه ببعض المجهود. اليوم سأسرد قصة نجاح خضتها مؤخرًا، في البحث عن لعبة ضائعة، وإعادة إنتاجها إن صح التعبير. ولكن، سأترك تلك التفاصيل لوقت لاحق في التدوينة.
لعبة اليوم هي لعبة Wallman، وهي نسخة شبيهة بلعبة Pac-Man الشهيرة، والغنية عن التعريف، من إنتاج شركة Namco في أوائل الثمانينات من القرن الماضي.
ما هي المنهجية التي بحثت من خلالها؟
حاولت العثور على هذه اللعبة على الشبكة، باستخدام محركات بحث مختلفة، وحتى النشر على (ريدت) طالبًا المساعدة في العثور عليها، ولكن لم أتمكن من إيجادها، وبدا أن البحث قد وصل إلى طريق مسدود. قررت وضع الطلب لدى مساعد الذكاء الاصطناعي (جيميناي)، ورؤية ماذا يمكنه تقديمه، حيث أن (شات جي بي تي) لم يتمكن من العثور على نسخة من اللعبة في أي مكان، سواء على أرشيف الويب، أو أي من المواقع التي كانت تستضيف الألعاب القديمة.
يحدث كثيرًا أن المواقع التي ترفع عليها الألعاب تخرج عن الخدمة، ولا توجد نسخ أخرى منها، فقط روابط لا تؤدي لأي مكان.

ماذا قدم لي (جيميناي) في رحلة البحث هذه؟
عن طريق البحث الدقيق، والإصرار على مسار واحد، حيث أن مساعد الذكاء الاصطناعي يميل للخروج عن الموضوع كثيرًا، وصلت إلى موقع يستضيف الشفرة المصدرية للعبة. حيث أنها مبنية باستخدام مكتبة EGSL – Easy Game Design with Lua. وهذا في حد ذاته يعتبر انجازًا، حيث أن اللعبة ضائعة، وبيئة التطوير الخاصة بها لم تعد مدعومة، وتوقفت التحديثات لها منذ زمن طويل.
تحصلت على الشفرة المصدرية، وبيئة التطوير، ماذا بعد؟
كانت لدي كل المكونات، شفرة اللعبة المصدرية، وبيئة التطوير التي استخدمها المطور (Markus) لبناء اللعبة. لم يتبقى سوى تشغيل البرنامج، وبناء اللعبة، صحيح؟
حسنًا، الأمر لم يكن بهذه البساطة. فالملف كان بامتداد hpkg. وهو امتداد غريب لم أره من قبل. وحتى الأدوات التي استخدمتها للتعرف عليه مثل file في طرفية أوامر لينكس لم تستطع فهم ماهيته. أيضًا محاولة فك الضغط بشكل تقليدي باستخدام 7z لم تؤدي لأي نتيجة. وأدوات متقدمة مثل binwalk لم تفهم تشفير الملف، ولم تنتج ملفات اللعبة التي أحتاجها لبناء اللعبة من المصدر.
ما هي صيغة الملفات HPKG
هذا الملف يستخدم لتوزيع البرامج لنظام تشغيل (هايكو)، وهو نظام تشغيل مبني على BeOS. يختلف في أوامره وملفاته عن لينكس، ولا يمكن التعامل مع ملفاته بشكل مباشر داخله.
لذلك كان عندي خياران لا ثالث لهما
1. بناء بيئة افتراضية وتنصيب نظام تشغيل (هايكو) بداخلها، ومن هناك أقوم بفك الملف المضغوط.
2. إقلاع (هايكو) من الفلاش، وداخل بيئة التشغيل الحية، أقوم بالتعامل مع الأرشيف.
فضلت الخيار الثاني، وقررت أنها ستكون فرصة لاختبار نظام تشغيل (هايكو)، وكيف يعمل.

لذا، حملّت قرص التشغيل، وحرقته على فلاش، وأقلعت النظام منه. إن كنت تحاول تشغيله تحت Ventoy، فلا تحاول فعل ذلك.
يجب استخدام dd في تجهيز القرص.
تجربة نظام (هايكو)
تجربة نظام هايكو تستحق أن تكون تدوينة خاصة بها، نظرًا لاختلافه عن أي شيء قمت بتجربته من قبل، فهو نظام غريب الشكل، وغير تقليدي. وتجربة استخدامه مختلفة عن الأنظمة التي جربتها من قبل. على سبيل المثال، زر الفأرة الأيمن لا يعمل، ويجب ضغط زر التحكم مع زر الفأرة الأيسر، للوصول للقوائم، والخيارات.


كما أن تعامله مع الذاكرة مثير للإعجاب، أقل من 500 ميغا بايت لتشغيل النظام بالكامل، بالمقارنة لينكس مينت يحتاج لأكثر من غيغا بايت للواجهة والعمليات!

بعد فك الملف، والوصول للشفرة المصدرية. نقلت الملفات للقرص الداخلي الذي به لينكس، وأعدت تشغيل الجهاز، لأبدأ في عملية بناء اللعبة، وتشغيلها.

مشاكل غير متوقعة
بيئة التطوير تحت لينكس تعمل، ولكن لا تقوم بتشغيل اللعبة، أو تصدير ملفات تنفيذية. وهو أمر مفاجئ، وغير مفهوم بالنسبة لي. وملفات ويندوز لا تعمل تحت (واين)، بل تتسبب في خطأ. لذلك، نسخت كل شيء، وشغلت حاسوبًا آخر لدي يعمل بنظام ويندوز 10.
تجربة التطوير الفعلية
بعد جمع ملفات اللعبة، وملف .lua الذي يحتوي على الشيفرة المصدرية، بدأت في عملية التجربة، والخطأ. تمكنت في هذه المرحلة من تشغيل اللعبة، لكن بضغط زر البداية يحدث خطأ، وأعود لشاشة المطور. السبب كان أن ملف المستويات لم يكن داخل معلومات اللعبة.

وهو خطأ قادني إليه (جيميناي)، حيث أعطاني تصورًا لبنية اللعبة بناء على تحليل الشفرة المصدرية. ولم أصحح ذلك الخطأ حتى قمت بقراءة الكود بشكل معمق، وتتبع تحميل ملفات اللعبة، وأين يمكن أن يحصل الخطأ. وبمجرد تجاوز تلك العقبة، كانت اللعبة جاهزة للعب، والرفع، والمشاركة مع العالم من جديد.

رحلة ماتعة ومثرية
أعتقد أن هذه أغرب رحلة بحث عن لعبة ضائعة، فبينما أستطيع العثور على الألعاب في العادة عبر روابط قديمة، أو بالهندسة الاجتماعية، بمراسلة المطورين وطلب نسخ من ألعابهم القديمة.
هذه المرة وجدت نفسي أرتدي قبعة المطور، وأقوم ببناء اللعبة من مصدرها، لتعود من عوالم النسيان.

هل هي تستحق هذا العناء؟
هي لعبة ممتعة، ومقاربة مختلفة للعبة Pac-Man التي نعرفها جميعًا، ولعبناها في مرحلة ما. يمكنك تحميل اللعبة التي رفعتها على ميديا فاير كما هي العادة، وإن أردت الشفرة المصدرية، فتواصل معي لكي أزودك بها.

في الختام
هذه كانت رحلة من رحلات البحث عن الألعاب الضائعة، والقديمة. أشعر هنا بأنني (إنديانا جونز)، عالم الأثار، الذي يبحث في القبور القديمة، عن كنوز ضائعة. ينقصني فقط السوط، وقبعة راعي البقر العريضة، لكي أتمم زي الباحث عن القطع المفقودة.
ماذا عنك عزيزي القارئ؟ ما رأيك في رحلة البحث هذه؟ هل سبق لك البحث عن ملفات ضائعة Lost Media. هل تعجبك مثل هذه التدوينات؟ شاركني في قسم التعليقات، وشكرًا لك على القراءة.
