البصمة الروسية في الملحمة الاسكندنافية من ألعاب الفيديو ، وتنتهي

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



في هذا الجزء ، أصف المشكلات التنظيمية والفنية وأستخلص بعض الاستنتاجات حول تنظيم المشروع والأسباب التي أدت إلى نجاحه.


المرحلة 0


لذا ، بعد الانتهاء من مشروع سويدي قصير واستراحتي لبعض الوقت ، حصلت على وظيفة في شركة تنتج محتوى تحت العلامة التجارية "INFON" (نعم ، هذا هو نفسه - "INFON على هاتفك"). كان لدى INFON أيضًا خطط لإنتاج ألعاب محمولة في عام 2001 ، لكن هذا السوق كان لا يزال ضبابيًا ويفتقر إلى القاعدة الكمية اللازمة للأجهزة ، في المكتب رأيت فقط هاتف Nokia 9110 المناسب لتطوير اللعبة ، لكن بعد اللعب معه قررنا تأجيل هذا الأمر (I سمعت أنه تم تقديم هذا "الطوب" لاحقًا إلى بعض المحافظين). كنت مسؤولاً عن التطبيقات الخاصة بخدمات الشركة عبر الإنترنت ، والتي تم نشرها تحت اسم العلامة التجارية Logoton ، مما أتاح للمستخدمين إعداد محتوى رسومي وصوتي ، ثم أرسلهم إلى هواتفهم عبر الرسائل القصيرة. بشكل عام ، قضيت ما يقرب من عام في القيام بذلك.



المرحلة 1


في مكان ما في مارس 2002 ، بدأت القصة التي روى عنها ميكو هونكاكوربي لفترة وجيزة في مقابلته. بقدر ما أتذكر ، جاءني Artyom Golubchin ، مدير شركة التوظيف الفنلندية الروسية MPS-Russia (التي عملت في السوق الفنلندية) ، وعرض عليّ إجراء مقابلة حول موضوع العمل. قرروا تطوير الأعمال والانتقال إلى فئة تطوير الاستعانة بمصادر خارجية ، وفتح ما يسمى "مراكز الكفاءة" (كما يطلقون على نموذج أعمالهم). كانت الميزة الرئيسية لـ "المراكز" هي بساطة التلاعب بالموظفين من قبل الشركة المالكة ، أي سهولة الإغلاق والفصل ، حيث توجد في فنلندا صعوبات كبيرة للغاية ويمكن أن يؤدي الفصل غير السليم إلى إفلاس الشركة.


إحدى الشركات التي أرادت أن تضع "مركز اختصاصها" هي الشركة الفنلندية Akumiitti Oy. في ذلك الوقت ، مزود معروف إلى حد كبير من الحلول لتنظيم خدمات الهاتف المحمول. كانت المقابلة الأولى دون وجود ممثل للشركة الفنلندية. إذا لم أكن مخطئًا ، في أول مرة أجرى فيها مقابلة مع أرتيم غولوبشين وفنلنديين. كان أحد الفنلنديين هو تيمو مولتاماكي الذي يشبه الفايكنج (أصبح الآن مصممًا شهيرًا للعبة الفنلندية) وبعض الفنلنديين الآخرين الذين لم أعد أتذكر اسمهم. تذكرت فقط أنهم سألوا عن نوع اللعبة التي أحبها ، والتي أجبت عليها "Operation Flashpoint". ثم كانت هناك مقابلة مع علماء النفس ، وفقط مرة واحدة في الثلث كانت هناك مقابلة مع Mikko Honkakorpi. بالتوازي مع ذلك ، اتصل الفنلنديون بسيرجي كوليجين ودعونا لمناقشة المشروع.



اتضح أن إحدى شركات الاتصالات الكبرى كانت تخطط للبدء في بيع هاتف Siemens M50 بميزانية جديدة في إحدى دول أوروبا الشرقية ، وبما أن الهاتف كان على متن J2ME على متن الطائرة ، فقد أراد العميل أن يتلقى من Akumiitti مجموعة من 20 لعبة بالإضافة إلى خدمات الهاتف المحمول. كانت الصعوبة الرئيسية هي أن الموعد النهائي كان محددًا في الأول من يونيو ، وأن الفناء كان بالفعل في نهاية مارس ، وكان كل شيء عن كل شيء أقل من شهرين. استنادًا إلى تجربته الغنية في الألعاب ، رفض سيرجي كوليجين عرض التعاون ، مشيرًا إلى أن إجراء العديد من الألعاب في هذه الفترة هو مقامرة ، لكنني كنت أقل خبرة واستمر في المفاوضات.



لقد طُلب مني تطوير سيناريوهات لـ 20 لعبة للهاتف المحمول وعرضها في الاجتماع التالي ، الذي كان من المقرر عقده في غضون أيام قليلة. في المساء خلال هذه الأيام ، "جرفت" مجموعة من الألعاب القديمة من أرشيفي من BK-0010 ، مما جعل مجموعة من البرامج النصية المناسبة. وشملت الألعاب الممرات والقمار والمنطق. بعد أن التقيت مع ميكو وتيمو بعد بضعة أيام ، قدمت لهم النصوص. قال ميكو إن البرامج النصية تناسبهم ومعهم صافحوا مع تيمو ، مما يشير إلى إبرام صفقة. حسنًا ، قمت بالتسجيل لإنشاء فريق وإطلاق 20 لعبة للهاتف المحمول في سيناريوهات بلدي مع "الموعد النهائي" في 1 يونيو 2002.


المرحلة 2


في مرحلة بناء الفريق ، تمكن المشروع من الاهتمام بثلاثة أشخاص آخرين:


  • ألكساندر فاسيلييف ، مطور جافا ذي خبرة ولديه مهارات في حل المشكلات التي لم تحل ، عملت معه في شركة Concept Software GmbH الألمانية.
  • يفغيني ميخائيلوف ، الذي استقال مؤخراً من الخدمة العسكرية. تم تكليفه بدور مهندس ضمان الجودة ، كما كان لديه خبرة في تطوير منصات الكمبيوتر الاستهلاكية.
  • سيرجي أولينيك ، أحد أفضل الفنانين الروس في مجال فن البكسل ، الذي تم تعيينه في وظيفة بدوام جزئي كمصمم خارجي ، حيث شغل الوظيفة الرئيسية في شكل عمل في INFON (بعد بضع سنوات ، سيصل سيرجي إلى أعلى المناصب في المخرج في انفون).

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


المرحلة 3


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


تم توزيع الأدوار بهذا الترتيب:


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

المرحلة 4


لم يكن لدينا جهاز فعلي حقيقي في بداية المشروع (حسب ما أذكر ، لقد تم إحضاره من قبل الفنلنديين في مكان ما) واستخدمنا محاكيات Siemens (المحاكيات لـ SL-45 و M50). كنظام البناء النهائي ، استخدمنا Sun Java Wireless Toolkit . لم يكن هناك تشويش في ذلك الوقت ، ولم يكن لدينا أيضًا نظام للتحكم في الإصدار (عملنا على نظام خادم ملفات مشترك) ، وكان التشغيل الآلي ضئيلًا.


نظرًا لأن الجهاز الهدف كان له قيود شديدة على الأداء والذاكرة ، فقد تقرر تقليل الحمل على "أداة تجميع البيانات المهملة" عن طريق إنشاء كائنات اللعبة عند بدء اللعبة وإعادة استخدامها أثناء التطبيق ، أي في البداية ، أنشأنا على الفور كل ما نحتاجه وعاش حتى نهاية التطبيق. تم تخزين الرسومات في شكل ملفات PNG ، وبسبب ضيق الوقت ، قمنا بأدنى قدر من الأتمتة للعبوات الخاصة بهم (عن طريق إزالة المعلومات المكررة والمكررة) وصممنا هذا كأداة مساعدة منفصلة تقوم بربط موارد الرسومات معًا. تم أيضًا تخزين موارد النصوص وتخزينها بشكل منفصل ، وكانت الأداة المساعدة الخاصة مسؤولة عن ذلك. قرروا استبعاد تصميم الصوت بسبب فقر قدرات الجهاز ، وضيق الوقت وتوفير الذاكرة. كان من المفترض أن يتم تمثيل كل لعبة بأرشيف JAR بحجم 30-40 كيلو بايت.


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


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


تم تطوير كل لعبة وفقًا لنموذج Model-View-Controller ، مما مكن من عزل الوحدات التي يتم تطويرها وعدم "تعليقها" أثناء عملية التطوير في أي مرحلة من خلال إعداد الوحدات على دفعات.


  • وصف StrategicBlock النموذج ويحتوي على كل ما يتعلق بتنفيذ نموذج اللعبة وتفاعل المكونات الموجودة في هذه الفئة.
  • كان PlayerBlock مسؤولاً عن وحدة التحكم ، فقد كانت واجهة عالمية تقوم بإرجاع سجل بتقدم اللاعب أو AI ، مما سمح بعرض تجريبي تلقائي للمستخدم.
  • كان GameStateRecord هو الأهم ووصف الحالة الداخلية لعالم اللعبة. تم نقل هذا الكائن أيضًا إلى الجزء المعتمد على النظام الأساسي في طريقة العرض ، حيث تم رسم حقل لعبة استنادًا إلى حالته.

المرحلة 5


عندما تم الانتهاء من المراحل التحضيرية ، بدأوا العمل الإنتاج. أول لعبة تم إصدارها ، إذا لم أكن مخطئًا ، كانت لعبة "Carting" (سباق السيارات) ، ثم تم إعادة استخدام طراز اللعبة مع تغييرات طفيفة في لعبة "Downhill race" (منحدر التزلج). في عملية التطوير ، كان لكل الألعاب المنتجة أسماء رموزها ، وتم تسمية المنتج النهائي بالفعل على الاسم الذي أرسله Mikko. كانت بعض أسماء الألعاب غريبة إلى حد ما (على سبيل المثال ، كانت لعبة الكاراتيه تسمى "Chop Chop") ، ولكن إذا كنت تتذكر أن السويديين اضطروا إلى التخلص من اسم Battleships في مرحلة ما ، فكانت هناك حبة صوت.


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



الحمد لله ، لم يصب أحد خلال فترة العمل ولم تحدث بعض الظروف القهرية ، حيث لم يكن لدينا وقت فراغ لهم. زارنا ميكو شخصيا بشكل متكرر ، ومعظمه معه مراسلات عبر البريد الإلكتروني. حدث أنه يمكن أن يأتي وأنا فقط اكتشفت عن ذلك بعد الحقيقة. بعد حوالي شهر ونصف من بدء العمل ، قام بتصوير ثلاثة منا في مكان العمل من خلال رسالة Akumiitti الداخلية الإخبارية.



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



في النهاية ، تم إجراء جميع الألعاب العشرين في الوقت المحدد + يومين بسبب التغييرات من جانب العميل. تم اختبار الحزمة بالكامل وشحنها أولاً من قِبل Akumiitti ، ثم من قِبل العملاء (شركة كبيرة للهواتف المحمولة). تتكون الحزمة من الألعاب التالية:


  • مذهلة MAZE (لغز ، متاهة) مستوحاة من لعبة سوكو بان الشهيرة
  • BALLOON PARK (الممرات) مستوحاة من لعبة D-Day
  • BLACK JACK (ألعاب) هي مجرد لعبة في 21
  • CARTING (الممرات) مستوحاة آلة القمار السوفيتي
  • CHOP CHOP (لعبة قتال) مستوحاة من لعبة KARATE-DO
  • مستوحاة COSMIC (الممرات) لعبة الكويكبات
  • DANGER ZONE (الممرات) مستوحاة من لعبة LONG RAID
  • سباق داونهيل (الممرات)
  • قفز الإيمان (الممرات) مستوحاة من اللعبة مرة واحدة على جهاز الكمبيوتر
  • الطرق الوعرة (الممرات) مستوحاة لعبة رالي
  • تذكر PACK RACE (الممرات) بشكل غامض باك مان
  • لعبة PING-PONG (الرياضية) مستوحاة من لعبة TENNIS
  • PITMAN (الممرات) تذكرنا بشكل غامض بلعبة Boulder dash
  • لغز (لغز) المحرز على أساس اللغز 15
  • RACKET BALL (الممرات) مستوحاة من لعبة Arkanoid
  • معركة SEA BATTLE (الممرات) للمعركة البحرية القديمة الجيدة
  • SHIP DUEL (الممرات) مستوحاة من لعبة الديدان
  • لعبة STAR GUN (الممرات) مستوحاة من لعبة Star الأساسية
  • TREASURE HUNT (الممرات ، المتاهة) مستوحاة من لعبة الكنز
  • VIPER (الممرات ، المتاهة) تغيير لعبة الأفعى

في خضم هذا الإنجاز ، قررت إدارة TekLabs (الوحدة التجارية المسماة MPS-Russia) و Akumiitti تحديد هذا الأمر من خلال زيارة استغرقت يومًا واحدًا من قبل الإدارة وفريق منزل العطلات في الضواحي الاسكندنافية مع حفل عشاء وساونا. لذلك ، بعد فترة ، قام "الأعلى" من Akumiitti Jurki Matikainen بزيارتنا وناقشنا تطور اتجاه الهاتف المحمول. في المسيرة ، وصفت الموارد اللازمة لتنظيم إنتاج ألعاب الهواتف المحمولة على نطاق صناعي ، لكنني لم أتفق مع الكثير من الفهم (لم تكن هذه أولوية بالنسبة للفنلنديين).



استقال ميكو بعد بعض الوقت وأصبح إيرو بويري (مدير التطوير في روفيو حاليًا) أمينًا لنا من الشركة الأم. لقد أطلعنا على شحنات حزمة اللعبة الأولى المنشورة. تلقى معلومات تفيد بأنه تم شحن أكثر من 1200 تطبيق للهواتف المحمولة إلى أول 1000 هاتف محمول من سيمنز M50 يباعها عملائهم ، مما أظهر الاهتمام الحقيقي للمستخدمين بمحتوى J2ME. حصلت على مخطط شحن عبر البريد الإلكتروني للألعاب واستوفى لي القاعدة الإرشادية التي عبر عنها سيرجي كوليجين - "إذا كنت تريد أن يتم ضمان بيع اللعبة - قم بالسباق" ، كانت لعبة "Carting" هي الرائدة المطلقة في مجال الشحن واستحوذت على أكثر من ربع المخطط.


أعتقد أنه يمكنك التوقف هنا ، لأنه في رأيي يتم الكشف عن تفاصيل ونتائج المشروع بتفاصيل كافية.


استنتاجات صغيرة


على خلفية كل ما سبق ، أود صياغة عدد من الأسباب التي ، في رأيي ، أدت إلى نجاح المشروع:


  • كان من الممكن أن تجد بسرعة وتهتم الموظفين معقولة قادرة على القيام بهذه المهمة.
  • تم إنشاء الفريق من نقطة الصفر ، إذا كانت هناك محاولة لربط فريق حالي وتخفيفه بأعضاء جدد ، فالتأرجح والتفكيك مع التسلسل الهرمي سيستغرق الكثير من الوقت لدرجة أنه من شبه المؤكد أن يضع المشروع على شفا الموت.
  • تم العثور على "الرصاص" النشط (وإن كان ذلك بدون علم اللغة الإنجليزية) ، الذي تولى المسؤولية ولم تكن لديه الخبرة الكافية لفهم أن "هذه مقامرة".
  • تم التفكير في المشروع في البداية ، وتم تنفيذ وتوزيع الأدوار. (لاحظ المصادقة. - في الواقع ، هذه خطوة نادرة جدًا في المشروعات ، على الرغم من حقيقة أن الجميع يعلنها ، خاصة في المشروعات التي تكون فيها "المواعيد النهائية محددة." دورة التطوير المعتادة تمر عبر النظام - "فكر متأخراً ، قم بذلك!" )
  • لم يحاول ممثلو Akumiitti والمسؤولون التنفيذيون في TekLabs التدخل في عمليات الإنتاج ، والالتزام بالحدود والتفاعل فقط في إطار دور أعمالهم ، مما يوفر لقيادة الفريق كل النفوذ اللازم.
  • بشكل عام ، لم تستخدم العملية شيئًا غير مألوف بشكل جذري للمشاركين.

من الخطوات الخاطئة التي أود الإشارة إليها:


  • معدات الإنتاج مع برامج أساسية غير مألوفة ، مع متطلبات الوقت الصارمة ، كانت مخاطرة غير ضرورية.
  • , .
  • , .

,


, . , INFON J2ME . INFON Akumiitti, — , 10 , INFON -.


2002 , INFON « », - NOKIA. ( ) Nokia 3410. , . , « », . « » . — « , ! !».



INFON ( Nokia Totally Board, 2002 ). Snowboard NOKIA 3410, . INFON Penalty Drive OFF. .



, ( ), Fowling Snowboard , « INFON ».


PS


, , , .


في مكان ما بالقرب من نهاية صيف عام 2002 ، من أجل أتمتة التجميع لمنصات متنقلة مختلفة ، تم إصدار نسخة من المعالج الأولي للغة Java. أعتقد أنه إذا لم يكن هذا هو أول معالج مسبق لـ Java (ظهرت معالج Antenna preprocessor في نفس السنة) ، فكان على الأقل هو الأقوى ، حيث كان تمريرين وحتى سمح بتخزين البيانات في ملفات XML. لا يزال هذا المشروع حيا باعتباره OSS ويتم استخدامه على سبيل المثال عند إنشاء برنامج تشغيل JDBC باستخدام أمر Postgres . لقد اندهشت قليلاً من العثور على هذا المعالج في مستودعات Linux المختلفة المعينة على أنها حزمة libcomment-preprocessor-java .

Source: https://habr.com/ru/post/ar464387/


All Articles