قصة مرسومة: التعرف على الصورة كأساس لميكانيكا اللعبة



عن ماذا تدور اللعبة؟


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

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

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




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

كيف بدأ كل شيء


على مدى السنوات القليلة الماضية ، قمت بتطوير هذه اللعبة في وضع سلبي ، ودمجها مع العمل الرئيسي للمبرمج. ولعدة شهور الآن ، استقلت وبدأت في تكريس المزيد من الوقت لتطوير اللعبة.

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

ألهمتني أيضًا لعبة Crayon Physics Deluxe الساحرة. بمعنى ما ، مشروعي هو تطوير أفكارها.

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

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

التفاصيل الفنية


الإطار

تم تطوير اللعبة في C ++ باستخدام إطار Qt لنظام تشغيل سطح المكتب الرئيسي: Windows و Mac و Linux. هناك أيضًا احتمال إنشاء نسخة للأجهزة اللوحية في يوم من الأيام. ربما يكون اختيار بعض محركات الألعاب المتخصصة (Unity ، على سبيل المثال) أكثر عقلانية ، ولكن عندما بدأت للتو في التطوير ، أردت أن أفهم جميع الفروق الدقيقة في إنشاء اللعبة بنفسي: إخراج الرسومات ، المؤقتات ، الرسوم المتحركة ، إلخ. بالإضافة إلى ذلك ، لم أكن متأكدًا من إمكانيات تخصيص الحلول الجاهزة لميكانيكا الألعاب غير القياسية. لذلك اخترت Qt بناءً على تفضيلاتي الشخصية. على الرغم من أنه لم يتم صقله لإنشاء الألعاب ، إلا أنه إطار مدروس ومتطور جيدًا مع آلية ملائمة للفتحات والإشارات. بالإضافة إلى ذلك ، يسمح لك باستخدام تسريع أجهزة الرسومات بشكل شبه شفاف ، دون اللجوء إلى المكالمات المباشرة إلى مكتبة OpenGL.

التعرف على الصورة

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

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

الرسومات

في البداية ، خططت لجعل الرسومات في اللعبة بدائية للغاية ، بحيث تتوافق مع الرسومات بالأبيض والأسود التي يرسمها اللاعب. لقد بدت شيئًا مثل هذا:


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


خضعت شخصيات اللعبة نفسها أيضًا للتحسين. لقد كان:


أصبح:


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

الوضع الحالي


نسخة تجريبية من اللعبة مع 5 مستويات (و "سر" واحد آخر) جاهزة الآن. يمكنك تنزيله من موقع اللعبة الإلكتروني: drawstory.com/Downloads.html (Windows و Mac و Linux 64 بت)

. كما أطلقت حملة على Steam Greenlight مؤخرًا. إذا كنت تحب اللعبة وترغب في المساهمة في المزيد من التطوير ، فيمكنك التصويت على هذه الصفحة: steamcommunity.com/sharedfiles/filedetails/؟id=568322436

تم العمل الرئيسي على إنشاء محرك اللعبة ، في الخطط المستقبلية بإضافة مستويات جديدة وتعقيد المستويات الحالية.

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


All Articles