تطوير لعبة [4]
الفصل 22: تطوير لعبة [4]
مع الأدوات والتطبيقات المتوفرة حالياً، كنت واثقاً من قدرتي على تطوير لعبة قابلة للعب.
ما الذي يجعل لعبة الرعب جيدة؟
لدرجة أنني لم أنم كثيراً في الأيام القليلة الماضية. كنت راضياً إلى حدٍ ما عما طوّرته، جامعاً بين كل عناصر تجاربي الأخيرة.
هل هي القفزات المفاجئة المستمرة أم الدماء والأشلاء التي تصاحب تلك القفزات؟
لكي تكون لعبة الرعب جيدة بحق، عليها أن تتقن عدة عناصر.
“لا شيء من هذا.”
“انتظر، ما الذي تفعله…!؟”
جلست شارداً، أحدق في شاشة الكمبيوتر بلا تركيز بينما طنين المراوح يتردد في الغرفة الصامتة.
“…هذا أصعب بكثير مما توقعت.”
لقد مضت ساعات عديدة منذ أن جلست لأول مرة وفتحت الكمبيوتر، ومع ذلك — في كل ذلك الوقت، ساعتان طويلتان — لم أفعل شيئاً سوى التحديق الفارغ في الشاشة.
كان هذا أمراً حاسماً.
تطوير لعبة لم يكن أمراً صعباً.
جلست في صمت لبضع ثوانٍ قبل أن أضم شفتيّ.
مع الأدوات والتطبيقات المتوفرة حالياً، كنت واثقاً من قدرتي على تطوير لعبة قابلة للعب.
ومضت الشاشة، وتحركت أصابع كايل.
لكن لم تكن هذه هي المشكلة.
ومع ذلك…
المشكلة كانت في جعل اللعبة مخيفة. خاصة في عالم أصبحت فيه ألعاب الرعب أقل تأثيراً على الناس العاديين.
3. السرد القصصي.
“…هذا أصعب بكثير مما توقعت.”
“هل أنهيتها بالفعل؟ بهذه السرعة؟ أليست الألعاب عادة ما تستغرق وقتاً أطول بكثير في التطوير؟”
حككت مؤخرة رأسي، شاعراً بصداعٍ يقترب.
“سيث، الساعة الآن الثامنة. أنهيت عملي. هل ستذهـ—”
لكي تكون لعبة الرعب جيدة بحق، عليها أن تتقن عدة عناصر.
‘اللعنة.’
1. الأجواء.
“تم!”
التوتر كان ضرورياً لبناء الزخم قبل القفزات المفاجئة.
التوتر كان ضرورياً لبناء الزخم قبل القفزات المفاجئة.
“اللعبة لم تكتمل بعد. هذا مجرد الهيكل الأساسي، لكنها يجب أن تكون قابلة للعب. أريد رأيك الصادق، مهما كان.”
2. الصوتيات والمرئيات.
ومع ذلك، لم يكن من الضروري أن تحتوي اللعبة على آليات معقدة.
بالنظر إلى أن كايل يتعامل مع هذا النوع من الأمور بانتظام، كان هو أفضل شخص لاختبار اللعبة. إذا أخافته، كنت واثقاً بأنها ستفعل المثل مع معظم الناس.
ربما كانت بعض أهم العناصر تكمن في كيفية تفاعل اللعبة مع الحواس الخمس البشرية. التلاعب بهذه، لا سيما الصوت والموسيقى، كان ضرورياً لصنع تجربة رعب مثالية. الصوت المناسب قد يزعزع، أو يضلل، أو يغمر اللاعب تماماً في الرهبة.
“هممم.”
3. السرد القصصي.
لم يكن لدي وقت لأضيعه.
الآليات كانت بسيطة، وكذلك “الوحش”.
هذا كان أساسياً لغرس بذرة نفسية في ذهن اللاعب. كانت وظيفة المطور استخدام تلك البذرة لتنمو إلى شيء أكبر.
تاك!
كانت هناك عناصر أخرى يجب أخذها بعين الاعتبار عند إنشاء لعبة رعب، لكن هذه الثلاثة كانت عموماً الأهم.
حككت مؤخرة رأسي، شاعراً بصداعٍ يقترب.
“هممم.”
حدقت بصمت، أراقب كايل بانتباه. أردت أن ألتقط حتى لمحة صغيرة من رد فعل منه.
نقرة!
ومع ذلك…
ضغطت على لوحة اللمس وفتحت تطبيق يو إينجن(U-Engine). كان هذا هو التطبيق الرئيسي الذي استخدمته في الشركة القديمة لتطوير الألعاب وبرمجتها.
أغمضت عيني وأومأت برأسي، شاعراً بعقدة مشدودة في معدتي.
“…بالنظر إلى أنني بحاجة لإنهائه بأسرع وقت ممكن، يجب أن أستقر على شيء أبسط.”
كانت هناك عناصر أخرى يجب أخذها بعين الاعتبار عند إنشاء لعبة رعب، لكن هذه الثلاثة كانت عموماً الأهم.
الشيء الجيد في يو إينجن أنه يحتوي على الكثير من القوالب الجاهزة التي يمكنني استخدامها لتطوير اللعبة. كما يمكن تقليل البرمجة إلى الحد الأدنى.
2. الصوتيات والمرئيات.
“بالنسبة لآليات اللعب…”
من أجل توفير الوقت، كان يجب تقليلها أيضاً.
“بالنسبة لآليات اللعب…”
ومع ذلك، لم يكن من الضروري أن تحتوي اللعبة على آليات معقدة.
لكن لم تكن هذه هي المشكلة.
“كل ما أحتاجه هو أن تتحرك الشخصية إلى الأمام وتركض.”
ما الذي يجعل لعبة الرعب جيدة؟
نقرت بأصابعي على الطاولة، غارقاً في التفكير. المحرك كان يوفر بالفعل الصوتيات والموسيقى، ما يعني أن القطعتين الوحيدتين المفقودتين الآن هما القصة والاتجاه العام للعبة.
ومع كل شيء مخطط له في ذهني، طرقت أصابعي وبدأت العمل.
“هل ينبغي أن أستخدم تجاربي الأخيرة كأساس للقصة والاتجاه؟”
انفتح الباب، ودخل كايل.
جلست في صمت لبضع ثوانٍ قبل أن أضم شفتيّ.
جلست في صمت لبضع ثوانٍ قبل أن أضم شفتيّ.
“نعم، قد ينجح ذلك.”
ومع ذلك، لم يبتعد بصري عن الكمبيوتر.
كان هناك سيناريوهان في ذهني. الأول مع الأوركسترا، والثاني كان التجربة الأخيرة.
“نعم، قد ينجح ذلك.”
من بين الاثنين، كان تطوير التجربة الثانية هو الأسهل.
.shola-widget, .shola-lb-wrap, .shola-pb-wrap { background: var(--bg-color, #fff); border: 1px solid var(--border-color, #e5e2e2); border-radius: 4px; padding: 15px; color: var(--text-color, #333); font-family: inherit; direction: rtl; box-sizing: border-box; margin-bottom: 20px; } .darkmode .shola-widget, .darkmode .shola-lb-wrap, .darkmode .shola-pb-wrap { background: #1a1a1a; border-color: #333; color: #ddd; } .shola-progress-wrap { margin-bottom: 20px; } .shola-progress-header, .shola-pb-header { display: flex; justify-content: space-between; align-items: center; font-size: .95em; margin-bottom: 6px; font-weight: bold; } .shola-days-left, .shola-pb-days { color: #f5a623; font-size: .85em; font-weight: normal; } .shola-numbers, .shola-pb-numbers { display: flex; justify-content: space-between; font-size: .85em; color: inherit; margin-bottom: 8px; opacity: 0.8; } .shola-bar-bg, .shola-pb-bg { background: rgba(150,150,150,0.2); border-radius: 20px; height: 25px; overflow: hidden; } .shola-bar-fill, .shola-pb-fill { background: #366ad3; background: linear-gradient(90deg, #366ad3, #5785e6); height: 100%; border-radius: 20px; display: flex; align-items: center; justify-content: flex-end; padding-left: 10px; min-width: 4px; transition: width 1s ease; font-size: .8em; font-weight: bold; color:#fff; } .shola-completed, .shola-pb-done { text-align: center; color: #2ecc71; font-weight: bold; margin-top: 10px; font-size: 1.05em; } .shola-pre-goal, .shola-pb-pre { text-align: center; color: inherit; font-weight: bold; margin-top: 10px; font-size: 1.05em; opacity: 0.9; } .shola-tabs { display: flex; gap: 8px; margin-bottom: 14px; border-bottom: 1px solid rgba(150,150,150,0.2); padding-bottom: 10px; flex-wrap: wrap; } .shola-tab { background: rgba(150,150,150,0.1); border: 1px solid rgba(150,150,150,0.2); color: inherit; padding: 5px 12px; border-radius: 3px; cursor: pointer; font-family: inherit; font-size: .85em; transition: all .3s; } .shola-tab.active { background: #366ad3; border-color: #366ad3; color: #fff; } .shola-tab:hover:not(.active) { background: rgba(150,150,150,0.2); } .shola-row, .shola-lb-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 4px; margin-bottom: 6px; background: rgba(150,150,150,0.05); transition: background .2s; border:1px solid rgba(150,150,150,0.1); } .shola-top3, .shola-lb-top3 { background: rgba(54,106,211,0.08); border-color:rgba(54,106,211,0.2); } .shola-row:hover, .shola-lb-row:hover { background: rgba(150,150,150,0.1); } .shola-rank, .shola-lb-rank { min-width: 30px; text-align: center; font-size: 1.1em; } .shola-num, .shola-lb-num { display: inline-block; width: 22px; height: 22px; line-height: 22px; text-align: center; background: rgba(150,150,150,0.2); border-radius: 50%; font-size: .8em; color: inherit; opacity:0.8; } .shola-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(150,150,150,0.3); flex-shrink: 0; } .shola-uname, .shola-lb-uname { flex: 1; font-size: .95em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight:600;} .shola-score, .shola-lb-score { color: #f5a623; font-weight: bold; font-size: .9em; white-space: nowrap; } .shola-empty, .shola-lb-empty { text-align: center; color: inherit; opacity:0.7; padding: 20px 0; font-size: .9em; } .shola-btn-support { display: block; width: 100%; background: #366ad3; background: linear-gradient(90deg, #366ad3, #5785e6); color: #fff; text-align: center; padding: 10px; border-radius: 4px; font-weight: bold; cursor: pointer; border: none; margin-top: 15px; font-family: inherit; font-size: 1.05em; transition: opacity 0.3s; } .shola-btn-support:hover { opacity: 0.9; color: #fff; } .shola-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 999999; display: none; align-items: center; justify-content: center; backdrop-filter: blur(3px); } .shola-modal-box { background: var(--bg-color, #fff); color: var(--text-color, #333); padding: 25px; border-radius: 8px; width: 90%; max-width: 400px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.5); } .darkmode .shola-modal-box { background: #1a1a1a; color: #ddd; border: 1px solid #333; } .shola-modal-close { position: absolute; top: 10px; left: 15px; font-size: 24px; cursor: pointer; color: inherit; opacity: 0.7; font-weight: bold; line-height: 1; } .shola-modal-close:hover { opacity: 1; } function sholaTab(btn, id) { var widget = btn.closest(".shola-widget"); widget.querySelectorAll(".shola-tab").forEach(function(b){ b.classList.remove("active"); }); widget.querySelectorAll(".shola-board").forEach(function(b){ b.style.display = "none"; }); btn.classList.add("active"); document.getElementById("shola-" + id).style.display = "block"; } function sholaOpenModal(modalId) { document.getElementById(modalId).style.display = "flex"; } function sholaCloseModal(modalId) { document.getElementById(modalId).style.display = "none"; } 🔥 تحدي يوليو 2026 ⏳ 15 يوم متبقي 13,000 شعلة الهدف: 66,666 19.5% 🔥 ادعم الموقع لضمان استمراريته وبدون ظهور إعلانات مزعجة للجميع! إدعمنا × شراء عملة الشعلة 🏆 أكبر الداعمين هذا الشهر 💎 أكبر الداعمين كل الأوقات 🥇M. K🔥 12,000🥈Fares saeed🔥 1,000 🥇M. K💎 12,000🥈Fares saeed💎 1,000🥉ibrahim shazly💎 5004الخال!💎 100
الآليات كانت بسيطة، وكذلك “الوحش”.
لكن لم تكن هذه هي المشكلة.
بمستواي الحالي، كان من شبه المستحيل تطوير وحش يضاهي القائد الموسيقي. في الواقع، كنت لا أزال أجد صعوبة في التعامل مع القائد ذاته.
“…..آه، خسرت.”
في الوقت الحالي، لم يكن لدي خيار سوى الاكتفاء بالسيناريو الثاني.
“هل أنهيتها بالفعل؟ بهذه السرعة؟ أليست الألعاب عادة ما تستغرق وقتاً أطول بكثير في التطوير؟”
ومع كل شيء مخطط له في ذهني، طرقت أصابعي وبدأت العمل.
لكي تكون لعبة الرعب جيدة بحق، عليها أن تتقن عدة عناصر.
لم يكن لدي وقت لأضيعه.
تاكاكاكاكاكا—
وهكذا، مرّت أربعة أيام.
“…حسناً.”
تاكاكاكاكاكا—
تطوير لعبة لم يكن أمراً صعباً.
ارتطام سريع بمفاتيح لوحة المفاتيح تردد صداه عالياً في الغرفة. بدأت عيناي تجهدان من وهج شاشة الكمبيوتر المتواصل، وبدأ رأسي يؤلمني نتيجة لذلك.
كانت هناك عناصر أخرى يجب أخذها بعين الاعتبار عند إنشاء لعبة رعب، لكن هذه الثلاثة كانت عموماً الأهم.
ومع ذلك، لم يبتعد بصري عن الكمبيوتر.
انفتح الباب، ودخل كايل.
ثم—
3. السرد القصصي.
تاك!
كان الأمر نفسه. لا ردة فعل على الإطلاق.
“تم!”
لم تكن مخيفة على الإطلاق.
مع آخر ضغطة على لوحة المفاتيح، سحبت يدي إلى الوراء وحدقت في المنتج أمامي.
“…لم تكتمل بعد، لكنها يجب أن تكون قابلة للعب الآن.”
ما الذي يجعل لعبة الرعب جيدة؟
لقد دمجت كل ما تعلمته من تجاربي الأخيرة. ورغم أنها لم تكن نسخة مطابقة، فقد بذلت جهدي لإعادة خلق الأجواء والتوتر الذين شعرت بهما، محاولاً التقاط أكبر قدر ممكن من تلك الروح.
أومأت له بإيماءة صغيرة وراقبته وهو يحاول اللعب مرة أخرى.
النتيجة العامة كانت شيئاً شعرت بالرضا حياله.
كنت آمل أن يكون الأمر كذلك، و…
“من المؤكد أن هذا سيكفي لإخافة بعض الناس.”
ومضت الشاشة، وتحركت أصابع كايل.
كنت آمل أن يكون الأمر كذلك، و…
ومضت الشاشة، وتحركت أصابع كايل.
تو توك—
ومع ذلك، لم يكن من الضروري أن تحتوي اللعبة على آليات معقدة.
“في الوقت المناسب تماماً.”
الشيء الجيد في يو إينجن أنه يحتوي على الكثير من القوالب الجاهزة التي يمكنني استخدامها لتطوير اللعبة. كما يمكن تقليل البرمجة إلى الحد الأدنى.
انفتح الباب، ودخل كايل.
بالنظر إلى أن كايل يتعامل مع هذا النوع من الأمور بانتظام، كان هو أفضل شخص لاختبار اللعبة. إذا أخافته، كنت واثقاً بأنها ستفعل المثل مع معظم الناس.
“سيث، الساعة الآن الثامنة. أنهيت عملي. هل ستذهـ—”
كانت هناك عناصر أخرى يجب أخذها بعين الاعتبار عند إنشاء لعبة رعب، لكن هذه الثلاثة كانت عموماً الأهم.
“كايل، جئت في الوقت المثالي.”
ساد الصمت في المكتب بينما كان كايل يحدق في الشاشة، محاولاً بدء اللعب مجدداً.
وقفت من مقعدي وتوجهت نحو كايل، ممسكاً بكتفيه ودافعاً إياه إلى كرسيّي.
“…هذا أصعب بكثير مما توقعت.”
“انتظر، ما الذي تفعله…!؟”
من أجل توفير الوقت، كان يجب تقليلها أيضاً.
“اصمت. أحتاج فقط أن تساعدني في شيء ما.”
“سيث، الساعة الآن الثامنة. أنهيت عملي. هل ستذهـ—”
دفعته إلى الأسفل ونقرت على لوحة اللمس.
حككت مؤخرة رأسي، شاعراً بصداعٍ يقترب.
“هاك.”
وقفت من مقعدي وتوجهت نحو كايل، ممسكاً بكتفيه ودافعاً إياه إلى كرسيّي.
“هذا…؟”
هل هي القفزات المفاجئة المستمرة أم الدماء والأشلاء التي تصاحب تلك القفزات؟
قطّب كايل حاجبيه للحظة وجيزة قبل أن تتسع عيناه فجأة حين أدرك ما يجري.
“هل ينبغي أن أستخدم تجاربي الأخيرة كأساس للقصة والاتجاه؟”
أدار رأسه نحوي بسرعة.
كان هذا أمراً حاسماً.
“هل أنهيتها بالفعل؟ بهذه السرعة؟ أليست الألعاب عادة ما تستغرق وقتاً أطول بكثير في التطوير؟”
“تم!”
“اللعبة لم تكتمل بعد. هذا مجرد الهيكل الأساسي، لكنها يجب أن تكون قابلة للعب. أريد رأيك الصادق، مهما كان.”
“كايل، جئت في الوقت المثالي.”
كان هذا أمراً حاسماً.
كما في السابق، حدقت فيه باهتمام، منتظراً رد فعلٍ منه. مجرد رجفة. بعض الارتباك. تردد.
بالنظر إلى أن كايل يتعامل مع هذا النوع من الأمور بانتظام، كان هو أفضل شخص لاختبار اللعبة. إذا أخافته، كنت واثقاً بأنها ستفعل المثل مع معظم الناس.
حدقت بصمت، أراقب كايل بانتباه. أردت أن ألتقط حتى لمحة صغيرة من رد فعل منه.
ومع ذلك…
ارتطام سريع بمفاتيح لوحة المفاتيح تردد صداه عالياً في الغرفة. بدأت عيناي تجهدان من وهج شاشة الكمبيوتر المتواصل، وبدأ رأسي يؤلمني نتيجة لذلك.
تحمله للخوف كان أعلى من أغلب الناس، لذا هناك احتمال ألا يشعر بالخوف. ومع ذلك، اعتقدت أنه سيكون قادراً على تحديد ما إذا كان الشخص العادي سيشعر بشيء ما. إذا ارتجف فقط، ولو قليلاً، فذلك سيكون كافياً بالنسبة لي.
لقد بذلت جهداً كبيراً في هذه اللعبة.
“…حسناً.”
“نعم، قد ينجح ذلك.”
بدى كايل متحمساً بعض الشيء لتجربة اللعبة.
بالنظر إلى أن كايل يتعامل مع هذا النوع من الأمور بانتظام، كان هو أفضل شخص لاختبار اللعبة. إذا أخافته، كنت واثقاً بأنها ستفعل المثل مع معظم الناس.
“كيف ألعب هذه؟ ماذا علي أن أفعل؟”
ومع ذلك، لم يبتعد بصري عن الكمبيوتر.
“هاك.”
جلست في صمت لبضع ثوانٍ قبل أن أضم شفتيّ.
شرحت لكايل سريعاً كيفية اللعب وبدأت اللعبة. سرعان ما خيم الصمت على الغرفة بينما راقبت كايل وهو يلعب.
“هاك.”
‘هل سيشعر بالخوف؟’
‘هل سيشعر بالخوف؟’
ومضت الشاشة، وتحركت أصابع كايل.
“كايل، جئت في الوقت المثالي.”
حدقت بصمت، أراقب كايل بانتباه. أردت أن ألتقط حتى لمحة صغيرة من رد فعل منه.
الآليات كانت بسيطة، وكذلك “الوحش”.
لقد بذلت جهداً كبيراً في هذه اللعبة.
حككت مؤخرة رأسي، شاعراً بصداعٍ يقترب.
لدرجة أنني لم أنم كثيراً في الأيام القليلة الماضية. كنت راضياً إلى حدٍ ما عما طوّرته، جامعاً بين كل عناصر تجاربي الأخيرة.
“هممم.”
ومع ذلك…
وقفت من مقعدي وتوجهت نحو كايل، ممسكاً بكتفيه ودافعاً إياه إلى كرسيّي.
[نهاية اللعبة]
3. السرد القصصي.
“…..آه، خسرت.”
نقرت بأصابعي على الطاولة، غارقاً في التفكير. المحرك كان يوفر بالفعل الصوتيات والموسيقى، ما يعني أن القطعتين الوحيدتين المفقودتين الآن هما القصة والاتجاه العام للعبة.
لم تظهر أي ردة فعل.
“اصمت. أحتاج فقط أن تساعدني في شيء ما.”
هبط قلبي وأنا أحدق في كايل. كان على وجهه ابتسامة مريرة بينما نظر إليّ وتمتم، ‘دعني أجرب ذلك مجدداً.’
“انتظر، ما الذي تفعله…!؟”
أومأت له بإيماءة صغيرة وراقبته وهو يحاول اللعب مرة أخرى.
“هذا…؟”
كما في السابق، حدقت فيه باهتمام، منتظراً رد فعلٍ منه. مجرد رجفة. بعض الارتباك. تردد.
“هممم.”
لكن—
بمستواي الحالي، كان من شبه المستحيل تطوير وحش يضاهي القائد الموسيقي. في الواقع، كنت لا أزال أجد صعوبة في التعامل مع القائد ذاته.
[نهاية اللعبة]
من أجل توفير الوقت، كان يجب تقليلها أيضاً.
كان الأمر نفسه. لا ردة فعل على الإطلاق.
نقرة!
ساد الصمت في المكتب بينما كان كايل يحدق في الشاشة، محاولاً بدء اللعب مجدداً.
“…هذا أصعب بكثير مما توقعت.”
“دعني أرفع الصوت.”
الآليات كانت بسيطة، وكذلك “الوحش”.
“…آه.”
تطوير لعبة لم يكن أمراً صعباً.
أغمضت عيني وأومأت برأسي، شاعراً بعقدة مشدودة في معدتي.
“هل ينبغي أن أستخدم تجاربي الأخيرة كأساس للقصة والاتجاه؟”
هذه المرة، لم أنظر.
لقد دمجت كل ما تعلمته من تجاربي الأخيرة. ورغم أنها لم تكن نسخة مطابقة، فقد بذلت جهدي لإعادة خلق الأجواء والتوتر الذين شعرت بهما، محاولاً التقاط أكبر قدر ممكن من تلك الروح.
لم أكن بحاجة لذلك.
ومع ذلك…
ردة فعله كانت أبلغ من أي شيء. حتى لو جعلت شخصاً آخر يجربها — شخصاً ليس كايل — كنت أخشى أن تكون النتيجة نفسها.
هبط قلبي وأنا أحدق في كايل. كان على وجهه ابتسامة مريرة بينما نظر إليّ وتمتم، ‘دعني أجرب ذلك مجدداً.’
اللعبة…
“هذا…؟”
لم تكن مخيفة على الإطلاق.
كنت آمل أن يكون الأمر كذلك، و…
‘اللعنة.’
لكي تكون لعبة الرعب جيدة بحق، عليها أن تتقن عدة عناصر.
بمستواي الحالي، كان من شبه المستحيل تطوير وحش يضاهي القائد الموسيقي. في الواقع، كنت لا أزال أجد صعوبة في التعامل مع القائد ذاته.
تاك!
