لعبة الثعبان بالتفصيل: التاريخ والاستراتيجية ورياضيات النقاط وكيف أعدنا بناءها للويب الحديث
كل من يقرأ هذه السطور تقريبًا سبق أن لعب الثعبان. على هاتف Nokia في انتظار الحافلة. على آلة حاسبة بيانية أثناء حصةٍ فقدت معناها. في تبويب متصفح كان من المفترض أن يكون جدول بيانات. إنها واحدة من ألعاب الفيديو القليلة التي تعبر الأجيال حقًّا، وتفعل ذلك دون أن تطلب منك شيئًا يُذكر: أربع جهات، وخط ينمو، وقطعة طعام.
هذه البساطة الظاهرية فخّ، وهي السبب في أننا أمضينا كل هذا الوقت في إعادة بنائها. تبدو لعبة الثعبان مشروع مبتدئ. وهي ليست كذلك. لعبة ثعبان تُشعرك بالرضا — لا تبتلع أمرًا أبدًا، ولا تقتلك على انعطافةٍ نفّذتها تنفيذًا صحيحًا، ولا تتلعثم، ولا تصير أسهل أو أصعب تبعًا لتردد تحديث شاشتك — هي قطعة هندسية شاقّة فعلًا. معظم النسخ التي تجدها على الإنترنت تُخطئ اثنتين على الأقل من هذه النقاط.
هذا المقال هو النسخة المطوّلة من كل ما تعلمناه. يغطّي من أين جاء الثعبان، وماذا تعني القواعد فعلًا، والرياضيات الدقيقة وراء النقاط في نسختنا، وجداول التوقيت اللازمة للعب الجيد، والاستراتيجيات التي تفصل بين نتيجة قدرها 200 ونتيجة قدرها 2000، وعلوم الحاسوب المدهشة المخبّأة داخل شبكة 21×21، والقرارات الهندسية التي تصنع الفرق بين لعبة وأداة. إن كنت تريد فقط أن تتحسّن في اللعبة، فانتقل إلى قسم الاستراتيجية. وإن كنت تريد أن تفهمها، فابدأ من البداية.
كود تضمين لعبة الثعبان في موقعك:
لقد اطّلعت للتوّ على كامل بنية هذه اللعبة: الشبكة الثابتة 21×21 التي تُبقي النتائج قابلة للمقارنة على كل أحجام الشاشات، والأنماط الثلاثة المتمايزة (الجدران والبوابة والمتاهة بخمس تخطيطات متناوبة)، والسرعات الخمس، لكلٍّ منها منحنى تسارعها وحدّها الأدنى، ونظام النقاط بمضاعف السلسلة الذي يكافئ الجرأة، والتوتات الذهبية التي تنتهي صلاحيتها بعد سبع ثوانٍ، ولحظات الترقّي التي تغيّر اللعبة كل خمس توتات، والقرارات الهندسية الدقيقة التي تجعل هذه النسخة تبدو سريعة الاستجابة لا مجرد أداة تعمل. لقد رأيت جداول الاستراتيجية، ورياضيات التوقيت، والشرح الصادق لسبب أهمية قاعدة تحرّر الذيل. والآن يأتي الجزء العملي: وضع المحرّك نفسه على موقعك، ليتمكّن زوّارك من اللعب دون مغادرة صفحاتك أبدًا.
يمكنك نسخ الكود أدناه وتضمينه في موقعك — داخل المقالات، أو الأشرطة الجانبية، أو التذييلات، أو أينما أردت أن يعيش زوّارك لحظة لعبٍ مركّزة واستراتيجية. تعمل اللعبة كليًّا داخل المتصفح، في حاويةٍ معزولة لا يمكنها قراءة الصفحة المحيطة ولا مسّها. لا تُرسَل أي بيانات لعب ولا تُخزَّن ولا تُسجَّل. حسابات الشبكة تجري محليًّا، والنتائج تعيش في مخزن متصفح الزائر نفسه، وأوامر لوحة المفاتيح واللمس تعمل دون أي ذهاب وإياب إلى خادم. أغلق التبويب فتتبخّر الجلسة كلها. ما يلعبه زوّارك يبقى معهم، وهذه هي بالضبط الطريقة التي عملت بها لعبة الثعبان دائمًا: ليست الشبكة هي المهمّة، بل القرارات المتّخذة داخل من ينظر إليها.
كود التضمين متاح بستّ لغات للواجهة لتناسب جمهورك: الإنجليزية - الإسبانية - الفرنسية - العربية - الصينية - الهندية. يتحكم إعداد اللغة في التسميات والأزرار والإرشادات في الأداة، ويحدّد كذلك اللغة التي تظهر بها واجهة اللعبة. اللعبة نفسها واحدة لكل زائر في العالم، أمّا اللغة التي تُعرَض بها فهي من اختيار زائرك بالكامل، تُكتشَف تلقائيًّا من متصفحه عند أول زيارة ثم تُحفَظ بعد ذلك. في العربية، تنقلب الصفحة كلها إلى اتجاه اليمين إلى اليسار، معكوسةً للواجهة، لتبدو التجربة أصيلة.
غيّر لغة الواجهة بتعديل الوسيط في العنوان: ?lang=ar
اللغات المتاحة: en - es - fr - ar - zh - hi
1- كود iFrame معزول (مثالي للمقالات والصفحات):
إن كنت تنشر دليلًا، أو تحليلًا للاستراتيجية، أو مقالًا معمّقًا عن تصميم الألعاب، أو اتخاذ القرار تحت الضغط، أو رياضيات اللعب الأمثل — تمامًا كالمقال الذي تقرؤه الآن — فإن هذه الطريقة تضع اللعبة كاملة الوظائف مباشرةً في سياق محتواك. يُبقي الـ iFrame المعزول الأداة محصورةً، فيظلّ تخطيطك نظيفًا ويستطيع قرّاؤك لعب جولة دون إعادة تحميل الصفحة. تعمل كل الوظائف تمامًا كما وُصفت: الأنماط الثلاثة (الجدران، البوابة، المتاهة)، والسرعات الخمس (هادئ، كلاسيكي، سريع، محموم، ودرجة إضافية)، ونظام النقاط بمضاعف السلسلة، والتوتات الذهبية، ولحظات الترقّي، وأوامر لوحة المفاتيح واللمس، كل ذلك في غرفة صغيرة قائمة بذاتها على موقعك.
<iframe data-tooliqo src="https://tools.tooliqo.co/snake-game/?lang=ar"
title="Tooliqo — snake-game"
style="width:100%;border:0;height:720px" height="720" loading="lazy" scrolling="no"
allowfullscreen allow="fullscreen; clipboard-write"></iframe>
<script src="https://tools.tooliqo.co/embed.js" async></script>
2- سكربت مرن (مناسب للأشرطة الجانبية والقوالب):
للأشرطة الجانبية أو التذييلات أو مناطق الودجت، يحمّل هذا التضمين الأخفّ اللعبة عند الطلب ويتكيّف مع حاويته. إنه المحرّك نفسه، والأنماط الثلاثة نفسها، والسرعات الخمس نفسها، ودعم اللغات الست نفسه، ونظام النقاط نفسه، والتوتات الذهبية نفسها، وآلية الترقّي نفسها؛ لكنه مغلّف للأماكن التي قد يبدو فيها الـ iFrame ثقيلًا. ضعه في قالبك، فتظهر اللعبة حيث تريد ومتى تريد. يستطيع زوّارك السعي وراء النتائج العالية، أو إتقان نمط المتاهة، أو مجرد لعب جولة سريعة دون مغادرة موقعك أبدًا.
<div class="tooliqo-tool" data-tool="snake-game" data-lang="ar"
data-height="720"></div> <script src="https://tools.tooliqo.co/embed.js" async></script>
ملاحظة: تحمّل الطريقتان اللعبة نفسها، تلك التي قرأت للتوّ عن أنماطها الثلاثة، وسرعاتها الخمس، ونقاطها بالسلاسل، وتوتاتها الذهبية، ولحظات الترقّي فيها، ولغاتها الست. تحترم الأداة الوضع الداكن وإعدادات تقليل الحركة على أجهزة زوّارك. لا علامة مائية، ولا حدّ يومي، ولا جمع بيانات. مجرد اللعبة تفعل ما تفعله، على موقعك. وإن لعب زائرٌ جولة، وخسر أمام ذيله، وأعاد المحاولة، وحطّم في النهاية رقمه القياسي، فتكون الأداة قد أدّت ما بُنيت له. والباقي عائدٌ إليه، وهذا ما كان الهدف دائمًا.
ما الذي يغطّيه هذا الدليل
- قواعد الثعبان، ولماذا هي مصمَّمة تصميمًا بارعًا
- تاريخٌ كامل: من Blockade سنة 1976 إلى slither.io وما بعدها
- خلف كواليس لعبة الثعبان لدينا: ماذا بنينا ولماذا
- المرجع الكامل للنقاط، بكل الصيغ والجداول
- جداول السرعة والتوقيت وتحويل نافذة رد الفعل
- الأنماط الثلاثة: الجدران والبوابة والمتاهة
- الاستراتيجية: كيف تتحسّن فعلًا في الثعبان
- رياضيات الثعبان، ومنها سبب خلوّ لوحتنا من دورةٍ مثالية
- تحت الغطاء: كيف تبني لعبة ثعبان لا تكذب على اللاعب
- اللغات، وإتاحة الوصول، واللعب على أي شاشة
- المرجع الكامل لأدوات التحكم
- الأسئلة الشائعة
- مسرد مصطلحات الثعبان
قواعد الثعبان، ولماذا هي مصمَّمة تصميمًا بارعًا
مجموعة قواعد الثعبان الكاملة تتّسع في أربع جمل. تتحكّم في خطٍّ مؤلَّف من خلايا متّصلة. يتقدّم الرأس خليةً واحدة في كل مرة ولا يتوقّف أبدًا. يمكنك توجيهه أعلى أو أسفل أو يمينًا أو يسارًا، لكن لا يمكن أبدًا توجيهه إلى الخلف مباشرةً داخل رقبتك. حين يبلغ الرأس قطعة طعام، ينمو الثعبان خليةً واحدة وتظهر قطعة جديدة في مكانٍ آخر؛ وحين يصطدم الرأس بجدار أو بأي جزءٍ من جسمه، تنتهي الجولة.
ما يجعل هذا تصميمًا بارعًا، لا مجرد تصميمٍ بسيط، هو حلقة التغذية الراجعة. في كل لعبة أركيد أخرى تقريبًا، يجعل التقدّم في اللعبة اللعبة أسهل. في الثعبان، كل نجاحٍ يجعل اللحظة التالية أصعب، لأن المكافأة هي العائق. التفاحة التي أكلتها قبل ثلاث دقائق صارت الآن جدارًا يجب الالتفاف حوله. لا شيء آخر في تصميم الألعاب المبكرة ضغَط المخاطرة والمكافأة في جسمٍ واحد بهذا القدر من النقاء.
وثمة قطعة تصميمٍ ثانية أدقّ تعمل هنا. بما أن الثعبان لا يتوقّف أبدًا، فلا يمكنك التوقّف للتفكير داخل عالم اللعبة. كل ثانية تردّد هي خليةُ حركةٍ إلى الأمام لم تخطّط لها. فالثعبان إذن ليس لعبة ردود أفعال تتنكّر في هيئة أحجية؛ بل هو لعبة أحجية تُلعَب بإيقاعٍ ثابت، وهذا أمرٌ أندر وأكثر إثارةً للاهتمام بكثير.
أخيرًا، للثعبان منحنى مهارةٍ يكاد يكون مثاليًّا. المبتدئ التامّ قد يصمد ثلاثين ثانية ويأكل ثلاث تفاحات. اللاعب المتمرّس قد يملأ ثلث اللوحة. واللاعب الذي يفهم الهندسة يستطيع، من حيث المبدأ، أن يملأ اللوحة كلها. المسافة بين هذه النتائج مسألة معرفةٍ وتخطيطٍ بالكامل، لا مسألة عتاد، ولا حظّ، ولا مال.
تاريخٌ كامل للثعبان: من Blockade إلى المتصفح الحديث
1976: Blockade، السلف الذي لم يسمّه أحدٌ ثعبانًا
يبدأ هذا النوع من الألعاب في نوفمبر 1976 بجهاز أركيد اسمه Blockade، طُوِّر لدى Gremlin Industries في سان دييغو وصمّمه Lane Hauck، مع عمل البرمجة الذي أنجزه Ago Kiss. كان بالأبيض والأسود، ولاعبَيْن، ولم ترد كلمة «ثعبان» فيه في أي موضع. كان كل لاعبٍ يوجّه علامةً على الشاشة بأربعة أزرار اتجاهية؛ تترك العلامة خلفها أثرًا ممتلئًا، والخاسر هو أول من يصطدم بجدار أو بأثر.
يُقال إن الفكرة وُلدت من تجارب Hauck بلغة التجميع على مفهومٍ بسيط: جسمٌ متحرّك لا يمكنه أبدًا العودة إلى مكانٍ مرّ به من قبل. عرضته Gremlin في معرض جمعية مشغّلي الموسيقى الأمريكيين في شيكاغو سنة 1976، حيث لقي استقبالًا بالغ الحرارة — إلى درجة أن عدة مصنّعين آخرين كانت لديهم نسخهم الخاصة في السوق قبل أن تتمكّن Gremlin من التوريد بكميات كبيرة. أول لعبة ثعبانٍ مهمّة استُنسخت قبل صدورها.
من 1977 إلى 1982: موجة النسخ وميلاد الثعبان الفردي
أصدرت Atari لعبة Surround لجهاز Atari 2600 سنة 1977 كأحد عناوين إطلاق المنصّة؛ وباعت Sears اللعبة نفسها باسم Chase. على الحواسيب المنزلية، ظهرت نسخة اسمها Worm على جهاز TRS-80 سنة 1978، كتبها P. Trefonas ووُزِّعت عبر مجلة CLOAD، تلتها نسخٌ لأجهزة Commodore PET وApple II.
جاء التحوّل الحاسم في ديسمبر 1982، حين أصدرت Rock-Ola لعبة Nibbler. تلك هي اللحظة التي يصير فيها هذا النوع اللعبة التي نعرفها. كانت Nibbler فردية، وتضمّنت اثنتين وثلاثين متاهةً متمايزة، والأهمّ أنها كانت فيها طعام: كان الثعبان ينمو لأنك تُطعمه، لا لأن الوقت يمرّ. وكل ألعاب الثعبان تقريبًا منذ ذلك الحين تنحدر من Nibbler لا من Blockade.
أنتجت Nibbler كذلك واحدة من أعظم قصص الأركيد. كانت أول لعبة أركيد بعدّاد نقاطٍ من تسع خانات، ما يعني أن نتيجةً قدرها مليار كانت ممكنة نظريًّا، وكانت Rock-Ola تقدّم جهازًا مجانيًّا لأول لاعبٍ يبلغه. اقترب Tom Asaki من ذلك في صالة Twin Galaxies في أوتمووا بولاية آيوا، إذ بلغ مرةً 793 مليونًا قبل أن ينكسر عصا التحكم فعليًّا. وفي يناير 1984، لعب Tim McVey أكثر من أربعين ساعة على قطعةٍ نقدية واحدة وأنهى اللعبة بنتيجة 1,000,042,270 نقطة: أول نتيجة مليار نقطة في تاريخ ألعاب الفيديو. وأعلنت مدينة أوتمووا يوم 28 يناير 1984 «يوم Tim McVey»، فصار أول لاعب ألعاب فيديو يحمل يومًا بلديًّا باسمه. ووُثِّقت الملحمة كلها لاحقًا في فيلم Man vs Snake.
1991: الثعبان يهرب إلى نظام التشغيل
حين أطلقت Microsoft نظام MS-DOS 5.0 سنة 1991، تضمّن QBasic، وكان QBasic يأتي مع برنامج مثالٍ اسمه NIBBLES.BAS. بالنسبة إلى عددٍ كبير جدًّا من الناس الذين صاروا لاحقًا مبرمجين، كانت تلك أول لعبةٍ قرؤوا شفرتها المصدرية على الإطلاق. من الصعب المبالغة في أهمية ذلك: صار الثعبان لا مجرد لعبة، بل «البرنامج الحقيقي الأول» المعياري، الشيء الذي كنت تبنيه لتثبت لنفسك أنك قادرٌ على بناء الأشياء.
في الفترة نفسها، انتشر الثعبان على الآلات الحاسبة البيانية. كانت آلات Texas Instruments التي هيمنت على الفصول الدراسية تملك من الشاشة والمعالج ما يكفي بالكاد لتشغيله، ولا شيء من المشتّتات التي كانت ستجعل أي شيء أكثر طموحًا جديرًا بالاهتمام.
1997: هاتف Nokia 6110، وأكبر جمهورٍ حظيت به لعبةٌ يومًا
في ديسمبر 1997، أطلقت Nokia هاتف 6110، وهو هاتف احترافي بشاشةٍ أحادية اللون من 84×48 بكسل فقط. كان فريق التسويق في Nokia قد طلب من مهندس برمجيات اسمه Taneli Armanto بناء بضع ألعابٍ صغيرة له. فأنتج ثلاثًا: Memory وLogic وSnake.
صمّم Armanto تحت قيودٍ قاسية — درجتان لونيّتان، بكسلات داكنة على شاشة LCD مائلة إلى الخضرة، لوحة أرقام بدل عصا التحكم، ومعالجٌ خالٍ من كل زائد. هذه القيود هي بالضبط سبب بقاء اللعبة. لم يكن ثمة ما يُحذَف. يُقدَّر أن الثعبان الأصلي وصل إلى نحو 350 مليون جهاز؛ وبين 1997 و2007، شحنت Nokia أكثر من 400 مليون هاتف بنسخةٍ مثبَّتة مسبقًا. وطوال فترةٍ في مطلع الألفية، كان عدد من يلعبون الثعبان في أي يومٍ على الأرض أكبر من عدد لاعبي أي لعبة فيديو أخرى.
ثمة تفصيلٌ في تصميم Armanto يستحقّ أن يكون أشهر بكثير، لأننا استعرنا فلسفته. أدخل عمدًا تأخيرًا صغيرًا جدًّا قُبيل الاصطدام مباشرةً — حفنة مِلّي ثانية يمكن خلالها لأمرٍ متأخّرٍ أن ينقذك. إنها قطعة تصميمٍ إنسانية صغيرة تعترف بهدوءٍ بأن اللاعب كائنٌ بشري ذو جهازٍ عصبي، لا آلة حالات.
وصل Snake II إلى هاتف Nokia 3310 سنة 2000، على هاتفٍ بِيع منه أكثر من 126 مليون نسخة. أضاف الوظائف الثلاث التي لا تزال معظم النسخ الحديثة تنسخها: ساحة لعبٍ ملتفّة تخرج من حافةٍ فتعود من الحافة المقابلة، وعوائق متاهةٍ داخل الساحة، وطعامًا إضافيًّا محدود الوقت يساوي نقاطًا زائدة. نمط البوابة لدينا، ونمط المتاهة، والتوتات الذهبية أحفادٌ مباشرون لـ Snake II، ونقول ذلك بسرور.
من 2016 فصاعدًا: slither.io وعصر المتصفح
في مارس 2016، نشر مطوّرٌ علّم نفسه بنفسه اسمه Steve Howse لعبة slither.io للمتصفحات وiOS وAndroid. أخذ مفهوم الثعبان، وجعله متعدّد اللاعبين على نطاقٍ هائل، وجعل الثعابين ناعمةً منحنية بدل أن تكون مقيَّدةً بالشبكة، وقلَب القاعدة المركزية: تموت حين يصطدم رأسك بلاعبٍ آخر، لكن يمكنك أن تتقاطع مع نفسك بحرّية. ومدفوعةً بترويجٍ قويّ من قنوات YouTube الكبرى، تصدّرت متجر التطبيقات، وصارت من أكثر مواقع الويب زيارةً ذلك الصيف، وتجاوزت مئة مليون تنزيل على Android وحده.
أثبتت slither.io شيئًا مهمًّا عن هذا النوع من الألعاب. الثعبان ليس لعبةً محدَّدة؛ بل هو آلية — خطٌّ ينمو ولا يجوز أن يقطع شيئًا — وهذه الآلية قادرة على حمل تنوّعٍ هائل من التصاميم. لم تختفِ النسخة الكلاسيكية على الشبكة؛ بل صارت فقط النسخة «المعيارية» التي تعود إليها كل مواقع ألعاب المتصفحات، وكل بيضات فصح محرّكات البحث، وكل دروس تعلّم البرمجة.
الخط الزمني في لمحة
| السنة | العنوان أو الحدث | المنصّة | لماذا كان مهمًّا |
|---|---|---|---|
| 1976 | Blockade (من Gremlin Industries، صمّمها Lane Hauck) | أركيد | ابتكرت آلية الأثر القاتل؛ لاعبَيْن فقط |
| 1977 | Surround (بِيعت أيضًا باسم Chase) | Atari 2600 | نقلت المفهوم إلى المنزل كعنوان إطلاق |
| 1978 | Worm، من P. Trefonas | TRS-80 | أول نسخة حاسوبٍ شخصي واسعة الانتشار |
| 1982 | Nibbler (من Rock-Ola) | أركيد | فردية، نموّ بالطعام، 32 متاهة؛ النموذج الحقيقي |
| 1984 | Tim McVey يحقّق 1,000,042,270 في Nibbler | أركيد | أول نتيجة مليار في تاريخ ألعاب الفيديو |
| 1991 | NIBBLES.BAS مع QBasic في MS-DOS 5.0 | حاسوب شخصي | صارت أول شفرة لعبةٍ يقرؤها جيلٌ كامل |
| 1997 | Snake، من Taneli Armanto | Nokia 6110 | نحو 350 مليون جهاز؛ أطلقت ألعاب الجوال |
| 2000 | Snake II | Nokia 3310 | أضافت الحواف الملتفّة والمتاهات والطعام الإضافي |
| 2016 | slither.io، من Steve Howse | المتصفح، iOS، Android | إعادة ابتكارٍ متعددة اللاعبين هائلة؛ ظاهرة عالمية |
| اليوم | نسخٌ أصيلة للمتصفح كهذه | أي جهاز | بلا تثبيت، بلا حساب، لعبٌ فوري، إتاحة وصولٍ كاملة |
خلف كواليس لعبة الثعبان لدينا: ماذا بنينا ولماذا
بُنيت نسختنا من الصفر كملفٍّ واحد قائم بذاته، بلا مكتبةٍ خارجية، وبلا خطّ ويب، وبلا طلب شبكة. كان هذا القيد متعمَّدًا. لعبةٌ مضمَّنة داخل مقال يجب أن تُحمَّل فورًا، ويجب ألّا تُبطئ أبدًا الصفحة المستضيفة لها، ويجب ألّا تتعطّل أبدًا لأن خادمًا خارجيًّا مرّ بيومٍ سيّئ.
بصريًّا، اتّجهنا في اتجاهٍ لا تسلكه معظم ألعاب الثعبان. المظهر الافتراضي لهذا النوع هو الأخضر النيّوني على الأسود — كليشيه أركيد سهل التبنّي وصعب الجعل مدروسًا. بنينا بدلًا من ذلك «حوضًا حيويًّا»: ساحة لعبٍ بلون الرمل الدافئ داخل قشرةٍ خضراء نفطية عميقة، مع ثعبانٍ عقيقي الجسم يستدقّ تدريجيًّا، له رأسٌ حقيقي، وعينان تتبعان اتجاه الحركة، ولسانٌ يرتعش بين الحين والآخر. والطعام توتةٌ بساقٍ ولمعة، لا مربّع.
غير أن أكبر قرارٍ بصري ليس لونًا. إنه الحركة. في معظم تطبيقات الثعبان، ينتقل الثعبان آنيًّا من خليةٍ إلى خلية، لأن محرّك العرض يرسم حالة اللعبة بالضبط، وحالة اللعبة قائمةٌ من إحداثيات الشبكة. أمّا نسختنا فتُدرِج قيمًا بينية: بين حركةٍ منطقية والتالية، ينزلق كل جزءٍ بسلاسة من حيث كان إلى حيث سيكون. يبقى منطق اللعبة شبكةً صارمة — وهذا مهمٌّ للعدالة — لكن العرض متّصل. هذا هو الفرق بين نموذجٍ أوّلي ومنتَج، ويكلّف ربما ثلاثين سطرًا من الشفرة.
ملخّص الميزات
| المجال | التفصيل |
|---|---|
| اللوحة | شبكة ثابتة 21 × 21 (441 خلية) على أي حجم شاشة، لتبقى النتائج قابلة للمقارنة |
| الأنماط | الجدران، البوابة، المتاهة (خمس تخطيطات متاهةٍ متناوبة) |
| السرعات | هادئ، كلاسيكي، سريع، محموم؛ لكلٍّ منحنى تسارعه وحدّه الأدنى |
| النقاط | مكافأة المستوى، مضاعف السلسلة حتى خمسة أضعاف، توتات ذهبية تساوي ثلاثة أضعاف |
| الأرقام القياسية | أفضل نتيجة محفوظة على حدةٍ لكل تركيبة نمطٍ وسرعة |
| الإحصاءات | الجولات المُلعَبة، والتوتات المأكولة، وأطول ثعبان، وإجمالي وقت اللعب |
| أدوات التحكم | مفاتيح الأسهم، وWASD، ومفاتيح ZQSD، ولوحة اتجاهٍ على الشاشة، وإيماءات السحب |
| العرض | سمتان فاتحة وداكنة، ملء شاشةٍ حقيقي بتخطيط عمودَيْن على الشاشات العريضة |
| اللغات | الإنجليزية والفرنسية والإسبانية والصينية والهندية والعربية بدعم الاتجاه من اليمين إلى اليسار |
| الصوت | نغمات تركيبية مولَّدة في المتصفح، مكتومة افتراضيًّا، مع اهتزازٍ لمسي على الجوال |
| إتاحة الوصول | قابلة للاستخدام بلوحة المفاتيح، إعلانات لقارئات الشاشة، دعم تقليل الحركة |
لماذا لا تغيّر الشبكة حجمها أبدًا
هذا هو قرار التصميم الذي جادلنا حوله أكثر من غيره، فهو يستحقّ شرحًا. كثيرٌ من ألعاب الثعبان في المتصفح تُحجِّم الشبكة تبعًا للنافذة: الشاشة الأكبر تحصل على خلايا أكثر. يبدو ذلك سخيًّا. وهو في الواقع غير عادل، لأنه يعني أن نتيجةً قدرها 500 على هاتف ونتيجةً قدرها 500 على حاسوب تقيسان لعبتَيْن مختلفتَيْن. اللوحة الأكبر أسهل — مساحةٌ أكبر للمناورة، ومضمارٌ أطول قبل أن يصير ذيلك مشكلة.
ثبّتنا الشبكة على 21 × 21 وحجّمنا حجم الخلية بدلًا من ذلك. على هاتف، قد تكون كل خليةٍ ستّة عشر بكسلًا؛ وفي ملء الشاشة على شاشةٍ كبيرة، قد تبلغ كل خليةٍ نحو خمسين. تشغل اللوحة المساحة المتاحة، لكن اللعبة واحدةٌ في كل مكان. رقمك القياسي الشخصي يعني الشيء نفسه على كل جهازٍ تملكه.
وكان اختيار 21 بدل 20 متعمَّدًا أيضًا: عددٌ فردي من الصفوف والأعمدة يمنح خليةً مركزية حقيقية، ما يجعل موضع البداية متناظرًا. وكما سنرى لاحقًا، لذلك أيضًا نتيجةٌ رياضية شائقة حقًّا.
المرجع الكامل للنقاط
كل شيءٍ في نظام النقاط يستعمل حسابًا صحيحًا، ما يعني أن كل نتيجةٍ قابلة للتكرار بالضبط، وأنه لا مفاجآت في الفاصلة العائمة. إليك النظام كله، مكتوبًا بالكامل.
المعادلات الأساسية
| المقدار | المعادلة | ملاحظات |
|---|---|---|
| المستوى | المستوى = 1 + ⌊التوت ÷ 5⌋ | يُحسب التوت منذ بداية الجولة |
| القيمة الأساسية للتوتة | الأساس = 10 + 2 × (المستوى − 1) | يزيد بنقطتَيْن لكل مستوى، بلا حدّ |
| مضاعف السلسلة | المضاعف = min(5, 1 + ⌊السلسلة ÷ 3⌋) | تُصفَّر السلسلة إذا مرّت أكثر من 5 ثوانٍ بين توتتَيْن |
| النقاط المكتسبة | المكتسب = الأساس × المضاعف × الذهبي | الذهبي = 3 للتوتة الذهبية، وإلا 1 |
| فترة الحركة | الخطوة = max(الأدنى, البداية − (المستوى − 1) × التناقص) | مِلّي ثانية بين حركتَيْن منطقيّتَيْن |
| سرعة الثعبان | خلايا/ثانية = 1000 ÷ الخطوة | تحويلٌ مباشر من فترة الحركة |
| زمن عبور اللوحة | ثوانٍ = 21 × الخطوة ÷ 1000 | الزمن اللازم لقطع عرض اللوحة كاملًا |
| مسافة رد الفعل | خلايا = زمن رد الفعل ÷ الخطوة | كم يتقدّم الثعبان بينما تتفاعل |
| طول الثعبان | الطول = 3 + التوت | يبدأ الثعبان دائمًا بثلاث خلايا |
الثوابت في لمحة
| الثابت | القيمة | الأثر |
|---|---|---|
| حجم الشبكة | 21 × 21 = 441 خلية | ساحة اللعب الكاملة |
| طول البداية | 3 خلايا | رأسٌ زائد جزءَيْ جسم |
| النقاط الأساسية | 10 | قيمة توتةٍ في المستوى 1 بلا سلسلة |
| مكافأة المستوى | +2 نقطة لكل مستوى | تتراكب مع المضاعف |
| توتات لكل مستوى | 5 | كل 5 توتات، يرتفع المستوى 1 |
| نافذة السلسلة | 5000 مِلّي ثانية | أقصى فاصلٍ بين توتتَيْن للحفاظ على السلسلة |
| خطوة السلسلة | 3 توتات | كل 3 توتاتٍ متتابعة، يرتفع المضاعف 1 |
| سقف السلسلة | ×5 | لا يتجاوز المضاعف خمسة أبدًا |
| مكسب التوتة الذهبية | ×3 | يُطبَّق فوق مضاعف السلسلة |
| عمر التوتة الذهبية | 7000 مِلّي ثانية | ثم تتلاشى وتختفي |
| تواتر التوتة الذهبية | كل 4 توتات | فقط حين لا توجد واحدةٌ على اللوحة أصلًا |
تدرّج المستويات
| المستوى | التوت المأكول | طول الثعبان | القيمة الأساسية للتوتة | القيمة عند سلسلة ×5 | التوتة الذهبية عند ×5 |
|---|---|---|---|---|---|
| 1 | 0–4 | 3–7 | 10 | 50 | 150 |
| 2 | 5–9 | 8–12 | 12 | 60 | 180 |
| 3 | 10–14 | 13–17 | 14 | 70 | 210 |
| 4 | 15–19 | 18–22 | 16 | 80 | 240 |
| 5 | 20–24 | 23–27 | 18 | 90 | 270 |
| 6 | 25–29 | 28–32 | 20 | 100 | 300 |
| 7 | 30–34 | 33–37 | 22 | 110 | 330 |
| 8 | 35–39 | 38–42 | 24 | 120 | 360 |
| 9 | 40–44 | 43–47 | 26 | 130 | 390 |
| 10 | 45–49 | 48–52 | 28 | 140 | 420 |
| 15 | 70–74 | 73–77 | 38 | 190 | 570 |
| 20 | 95–99 | 98–102 | 48 | 240 | 720 |
| 30 | 145–149 | 148–152 | 68 | 340 | 1020 |
مضاعف السلسلة
السلسلة هي جزء النقاط الذي يتجاهله معظم اللاعبين، وهي تساوي أكثر من كل ما عداها مجتمعًا. كل توتةٍ تُؤكَل خلال خمس ثوانٍ من سابقتها تُطيل سلسلتك. وكل توتةٍ ثالثة في السلسلة ترفع المضاعف واحدًا، حتى خمسة.
| التوت في السلسلة الحالية | المضاعف | قيمة التوتة في المستوى 1 | قيمة التوتة في المستوى 10 |
|---|---|---|---|
| الأولى إلى الثالثة | ×1 | 10 | 28 |
| الرابعة إلى السادسة | ×2 | 20 | 56 |
| السابعة إلى التاسعة | ×3 | 30 | 84 |
| العاشرة إلى الثانية عشرة | ×4 | 40 | 112 |
| الثالثة عشرة فما فوق | ×5 | 50 | 140 |
مصفوفة النقاط الكاملة لكل توتة
| المستوى | ×1 | ×2 | ×3 | ×4 | ×5 |
|---|---|---|---|---|---|
| 1 | 10 | 20 | 30 | 40 | 50 |
| 2 | 12 | 24 | 36 | 48 | 60 |
| 3 | 14 | 28 | 42 | 56 | 70 |
| 4 | 16 | 32 | 48 | 64 | 80 |
| 5 | 18 | 36 | 54 | 72 | 90 |
| 6 | 20 | 40 | 60 | 80 | 100 |
| 7 | 22 | 44 | 66 | 88 | 110 |
| 8 | 24 | 48 | 72 | 96 | 120 |
| 9 | 26 | 52 | 78 | 104 | 130 |
| 10 | 28 | 56 | 84 | 112 | 140 |
مثالٌ محلول من جولةٍ حقيقية
حين اختبرنا اللعبة المكتملة، كتبنا لاعبًا آليًّا يقرأ موضع التوتة مباشرةً من اللوحة المرسومة ويتّجه إليها. في جولةٍ مسجَّلة، أكل خمس توتات وأنهى بنتيجةٍ قدرها 70 بالضبط، وطولٍ قدره 8، والمستوى 2. يستحقّ هذا الرقم وقفة، لأنه يُظهِر النظام كله في سطرٍ واحد.
- التوتة 1: المستوى 1، الموضع 1 في السلسلة، المضاعف ×1 ← 10 نقاط (المجموع الجاري 10)
- التوتة 2: المستوى 1، الموضع 2 في السلسلة، المضاعف ×1 ← 10 نقاط (المجموع 20)
- التوتة 3: المستوى 1، الموضع 3 في السلسلة، المضاعف ×1 ← 10 نقاط (المجموع 30)
- التوتة 4: المستوى 1، الموضع 4 في السلسلة، المضاعف ×2 ← 20 نقطة (المجموع 50)
- التوتة 5: المستوى 1، الموضع 5 في السلسلة، المضاعف ×2 ← 20 نقطة (المجموع 70)، ثم يرتفع المستوى إلى 2
لاحظ أن التوتة الرابعة تساوي ضعف الأولى، مع أن شيئًا في اللوحة لم يتغيّر. هذا هو مجمل الحجّة الاستراتيجية للّعب الجريء: التردّد لا يهدر الوقت فحسب، بل يُصفِّر دخلك بنشاط.
معايير النقاط والحدّ الأقصى النظري
يُظهِر الجدول أدناه ما يساويه عددٌ معيّن من التوت إن لم تبنِ أي سلسلة: عامِلها كالأرضية، لا كالهدف. اللاعب الذي يحافظ على مضاعفٍ قدره خمسة أضعاف طوال معظم الجولة سيبلغ نحو خمسة أضعاف هذه الأرقام.
| التوت المأكول | طول الثعبان | المستوى المبلوغ | النتيجة بلا سلسلة | النتيجة بـ ×5 مستمرّ |
|---|---|---|---|---|
| 10 | 13 | 3 | 110 | 550 |
| 25 | 28 | 6 | 350 | 1750 |
| 50 | 53 | 11 | 950 | 4750 |
| 100 | 103 | 21 | 2900 | 14500 |
| 200 | 203 | 41 | 9800 | 49000 |
| 438 (جولة مثالية) | 441 (لوحة ممتلئة) | 88 | 42312 | 211560 |
هذا السطر الأخير هو السقف. تحوي اللوحة 441 خلية، ويبدأ الثعبان بثلاث، فالجولة المثالية تأكل 438 توتة وتنتهي بالثعبان يشغل كل خلية. عند تلك النقطة، يكون المستوى 88 وتساوي كل توتة 184 نقطة قبل المضاعف. لم يفعلها أحد. إن حقّقتَها يومًا، فسيُظهِر رقم «الأطول» في لوحة أرقامك القياسية 441 ولن يبقى مكانٌ للتحرّك.
السرعة والتوقيت ونوافذ رد الفعل
كل إعداد صعوبةٍ معرَّفٌ بثلاثة أرقام: الفترة بين الحركات في المستوى 1، وبكم مِلّي ثانية تتقلّص هذه الفترة لكل مستوى، والأرضية التي لا تنزل تحتها أبدًا.
| الإعداد | فترة البداية | التقلّص لكل مستوى | أسرع فترة | المستوى الذي تُبلَغ عنده السرعة القصوى |
|---|---|---|---|---|
| هادئ | 170 مِلّي ثانية | 6 مِلّي ثانية | 110 مِلّي ثانية | 11 |
| كلاسيكي | 130 مِلّي ثانية | 6 مِلّي ثانية | 80 مِلّي ثانية | 10 |
| سريع | 100 مِلّي ثانية | 5 مِلّي ثانية | 60 مِلّي ثانية | 9 |
| محموم | 78 مِلّي ثانية | 4 مِلّي ثانية | 45 مِلّي ثانية | 10 |
فترة الحركة لكل مستوى
| المستوى | هادئ | كلاسيكي | سريع | محموم |
|---|---|---|---|---|
| 1 | 170 | 130 | 100 | 78 |
| 2 | 164 | 124 | 95 | 74 |
| 3 | 158 | 118 | 90 | 70 |
| 4 | 152 | 112 | 85 | 66 |
| 5 | 146 | 106 | 80 | 62 |
| 6 | 140 | 100 | 75 | 58 |
| 7 | 134 | 94 | 70 | 54 |
| 8 | 128 | 88 | 65 | 50 |
| 9 | 122 | 82 | 60 | 46 |
| 10 فما فوق | 116 ثم 110 | 80 | 60 | 45 |
تحويل المِلّي ثانية إلى شيءٍ يمكنك الإحساس به
رقمٌ مثل «80 مِلّي ثانية لكل حركة» لا يعني شيئًا حتى تحوّله إلى خلايا في الثانية وزمن عبورٍ للّوحة. هذا الجدول يفعل ذلك، ثم يفعل شيئًا أنفع: يُظهِر كم يتقدّم الثعبان أثناء ردّ فعلٍ بشري نموذجي. زمن رد الفعل البصري البسيط لدى البالغين يقع عادةً حول 200 إلى 250 مِلّي ثانية. اعتمدنا 250 مِلّي ثانية كرقمٍ متحفّظ.
| الإعداد والمستوى | الفترة | خلايا في الثانية | ثوانٍ لعبور اللوحة | خلايا مقطوعة بينما تتفاعل |
|---|---|---|---|---|
| هادئ، المستوى 1 | 170 مِلّي ثانية | 5.9 | 3.57 | 1.5 |
| هادئ، السرعة القصوى | 110 مِلّي ثانية | 9.1 | 2.31 | 2.3 |
| كلاسيكي، المستوى 1 | 130 مِلّي ثانية | 7.7 | 2.73 | 1.9 |
| كلاسيكي، السرعة القصوى | 80 مِلّي ثانية | 12.5 | 1.68 | 3.1 |
| سريع، المستوى 1 | 100 مِلّي ثانية | 10.0 | 2.10 | 2.5 |
| سريع، السرعة القصوى | 60 مِلّي ثانية | 16.7 | 1.26 | 4.2 |
| محموم، المستوى 1 | 78 مِلّي ثانية | 12.8 | 1.64 | 3.2 |
| محموم، السرعة القصوى | 45 مِلّي ثانية | 22.2 | 0.95 | 5.6 |
اقرأ العمود الأخير بعناية، فهو يحوي أهمّ فكرةٍ في هذا المقال كله. عند السرعة القصوى لنمط محموم، بحلول الوقت الذي تكون فيه قد رأيت مشكلةً وحرّكت إصبعك، يكون الثعبان قد قطع أكثر من خمس خلايا — رُبع عرض اللوحة. لا يمكنك التفاعل للخروج من ثعبانٍ سريع. يمكنك فقط التخطيط للخروج منه. كل لاعبٍ جيد يلعب في الواقع ثانيتَيْن أو ثلاثًا في المستقبل، والحاضر المرئيّ ليس إلا لتأكيد أن الخطة لا تزال صالحة.
نافذة التوتة الذهبية
تعيش التوتة الذهبية سبع ثوانٍ بالضبط. وما إن كنت تستطيع بلوغها فيتوقّف كليًّا على فترة حركتك الحالية. أسوأ حالةٍ على لوحة 21 × 21 هي رحلة من زاويةٍ إلى زاوية، أي مسافة مانهاتن قدرها 40 خلية.
| الإعداد والمستوى | الفترة | الحركات المتاحة في 7 ثوانٍ | أسوأ حالةٍ 40 خلية — هل يمكن بلوغها؟ |
|---|---|---|---|
| هادئ، المستوى 1 | 170 مِلّي ثانية | 41 | بالكاد، بمسارٍ خالٍ تمامًا |
| هادئ، السرعة القصوى | 110 مِلّي ثانية | 63 | بأريحية |
| كلاسيكي، المستوى 1 | 130 مِلّي ثانية | 53 | نعم، مع هامشٍ لالتفاف |
| كلاسيكي، السرعة القصوى | 80 مِلّي ثانية | 87 | بسهولة |
| سريع، المستوى 1 | 100 مِلّي ثانية | 70 | بسهولة |
| محموم، السرعة القصوى | 45 مِلّي ثانية | 155 | دائمًا تقريبًا |
ينتج عن ذلك خلاصةٌ معاكسة للحدس حقًّا: التوتات الذهبية أصعب ما تكون جمعًا في الإعداد الأبطأ. يمنحك نمط هادئ وقت تفكيرٍ أطول لكل حركة، لكن حركاتٍ أقلّ داخل مؤقّتٍ ثابت قدره سبع ثوانٍ. إن كنت تطارد نقاط المكافأة لا البقاء، فنمطا كلاسيكي وسريع أفضل ميدانَيْ صيدٍ من هادئ.
نافذة السلسلة بالحركات، لا بالثواني
ينطبق المنطق نفسه على نافذة السلسلة البالغة خمس ثوانٍ، والأثر هنا أقوى. متوسّط مسافة مانهاتن بين خليتَيْن عشوائيّتَيْن على لوحة 21 × 21 هو نحو 14 خلية بالضبط، فهذه هي الرحلة النموذجية من توتةٍ إلى التالية.
| الإعداد والمستوى | الفترة | الحركات في نافذة الـ 5 ثوانٍ | الهامش على الرحلة الوسطى البالغة 14 خلية |
|---|---|---|---|
| هادئ، المستوى 1 | 170 مِلّي ثانية | 29 | نحو 2.1 ضعف |
| كلاسيكي، المستوى 1 | 130 مِلّي ثانية | 38 | نحو 2.7 ضعف |
| سريع، المستوى 1 | 100 مِلّي ثانية | 50 | نحو 3.6 ضعف |
| محموم، المستوى 1 | 78 مِلّي ثانية | 64 | نحو 4.6 ضعف |
| محموم، السرعة القصوى | 45 مِلّي ثانية | 111 | نحو 7.9 ضعف |
بعبارةٍ أخرى، الإعدادات السريعة ليست أكثر مخاطرةً فحسب — بل هي أيضًا حيث تعيش أعلى النتائج، لأنها تجعل المضاعفات المستمرّة البالغة خمسة أضعاف واقعية. نمط هادئ هو الإعداد الذي تتعلّم عليه. وهو ليس الإعداد الذي تحطّم عليه الأرقام القياسية.
الأنماط الثلاثة
الجدران
مجموعة القواعد الأصلية لسنة 1997. الحدّ صلبٌ؛ لمسه ينهي الجولة. إنها أنقى نسخةٍ من اللعبة، وهي التي ينبغي أن تُقاس عليها نتيجتك إن أردت مقارنة نفسك بالكلاسيكيات. يعاقب نمط الجدران الانجراف: بلا مهربٍ عند الحواف، يصير المحيط أخطر مكانٍ في اللوحة لا أأمنه.
البوابة
موروثٌ من Snake II على هاتف Nokia 3310. اخرج من أي حافةٍ فتدخل من الحافة المقابلة. يبدو ذلك وكأنه يُسهِّل اللعبة، وطوال الثلاثين ثانية الأولى، هو كذلك. ثم يجعلها أصعب بكثير، لسببٍ لا يصوغه معظم اللاعبين قطّ: في نمط الجدران، يشكّل جسمك والحدّ حاجزًا واحدًا متّصلًا، فيكون للّوحة داخلٌ وخارج بسيطان. في نمط البوابة، اللوحة طوبولوجيًّا حَلَقة (طارَة)، ويمكن لجسمك أن يلتفّ حولها، والمنطقة التي حبستَ نفسك فيها أقلّ وضوحًا بكثير. تتطلّب الجولات الطويلة في البوابة تخيّلًا مكانيًّا حقيقيًّا.
نمط البوابة هو أيضًا حيث تكون أعلى النتائج ممكنةً نظريًّا، لأن الحافة لم تعد خطرًا وكل توتةٍ قابلة للبلوغ عبر مسارَيْن لا مسارٍ واحد — أحيانًا يكون المسار الذي يلتفّ أقصر من المسار المباشر، وهذا مهمٌّ جدًّا للحفاظ على السلسلة حيّة.
المتاهة
تتناوب خمس تخطيطاتٍ حجرية كلما ارتقيت مستوى، ويتغيّر الترتيب تحت قدميك كل خمس توتات. التخطيطات متناظرة وحتمية — المستوى نفسه يُنتِج الجدران نفسها دائمًا — فيمكن تعلّمها لا مجرد تحمّلها. قاعدتان تحميانك: لا يُوضَع حجرٌ قطّ على حافة اللوحة، والصفّ المركزي حيث يظهر الثعبان يُبقى خاليًا دائمًا.
يغيّر نمط المتاهة المهارة الأساسية موضع الاختبار. الجدران والبوابة يتعلّقان بإدارة المساحة التي يستهلكها جسمك. المتاهة تتعلّق بإيجاد المسار تحت ضغط الوقت، وهذا أقرب بكثير إلى ما فعلته Nibbler سنة 1982 من قربه ممّا فعلته Nokia سنة 1997.
| النمط | الحواف | العوائق | مثالي لـ | الخطر الرئيسي |
|---|---|---|---|---|
| الجدران | قاتلة | لا شيء | التعلّم ومقارنة النتائج بإنصاف | الانحشار في الحدّ |
| البوابة | ملتفّة | لا شيء | الجولات الطويلة والنتائج العالية | فقدان تتبّع المنطقة التي أنت فيها |
| المتاهة | قاتلة | خمس تخطيطاتٍ متناوبة | تخطيط المسار والتنوّع | اللوحة تغيّر شكلها أثناء الجولة |
الاستراتيجية: كيف تتحسّن فعلًا في الثعبان
معظم نصائح الثعبان على الإنترنت تتلخّص في «كن حذرًا» و«لا تصطدم». إليك ما هو أنفع. هي مرتَّبة تقريبًا حسب النقطة التي تبدأ عندها أهميتها في مسار تطوّرك.
1. توقّف عن مطاردة التوتة
يوجّه المبتدئون الثعبان مباشرةً نحو الطعام. ينجح ذلك حتى يبلغ الثعبان نحو عشر خلايا، ثم يبدأ في قتلك، لأن المسار المباشر يُحسِّن للتوتة الحالية ويتجاهل أين سيكون ذيلك بعد ذلك. يطرح اللاعبون المتوسّطون سؤالًا مختلفًا: لا «كيف أصل إليها؟»، بل «كيف ستبدو اللوحة بعد أن أصل؟».
النسخة العملية من هذه القاعدة بسيطة. قبل أن تلتزم بمسار، تحقّق من وجود طريقةٍ لـالخروج من موضع التوتة. أكلُ توتةٍ في طريقٍ مسدود هو الطريقة التي تنتهي بها الجولات الجيدة.
2. أبقِ جسمك ملاصقًا للحواف
المساحة في الثعبان ليست قابلةً للتبادل. مئة خليةٍ حرّة مبعثرة في جيوبٍ لا تساوي شيئًا؛ ومئة خليةٍ حرّة في منطقةٍ مفتوحة واحدة هي جولةٌ كاملة. طريقة إبقاء مساحتك الحرّة كتلةً واحدة هي إبقاء جسمك على طول المحيط وترك المركز مفتوحًا، لا العكس. ثعبانٌ ملتفٌّ حول خارج اللوحة يترك ثقبًا واحدًا كبيرًا. وثعبانٌ يتجوّل في المركز يقطّع اللوحة إلى شظايا.
3. تعلّم التعرّج
نمط ملء المساحة الكلاسيكي — الذي يُسمَّى أحيانًا الحرث المتعرّج، من اليونانية «كما يحرث الثور» — يعني قطع طول صفٍّ كامل، ثم النزول واحدًا، ثم العودة، ثم التكرار. يبدو بطيئًا وهو كذلك، لكنه يضمن لك مسح كل خليةٍ في منطقةٍ دون أن تقطع طريقك أبدًا. حين تظهر توتةٌ بعيدًا وثعبانك طويل، فالسير المتعرّج نحوها أأمن دائمًا تقريبًا من سلوك الخط المباشر.
4. اتبع ذيلك
إن لم تعرف قطّ ماذا تفعل، فطارِد ذيلك. بما أن الذيل يبتعد خليةً كلما تحرّك الرأس، فإن ثعبانًا يتبع ذيله يمكنه البقاء إلى ما لا نهاية. إنها مناورة الطوارئ: حين تبدو اللوحة سيّئة ولا ترى خطة، انتظم خلف ذيلك واكسب وقتًا ريثما تظهر توتةٌ جديدة في مكانٍ أفضل.
5. افهم قاعدة تحرّر الذيل
إليك قاعدةً تُخطئ معظم التطبيقات في التعامل معها، ولذلك لا يتعلّم معظم اللاعبين قطّ استغلالها. حين يتحرّك الثعبان ولا يأكل، يغادر الذيل خليته في اللحظة نفسها التي يدخل فيها الرأس خليةً جديدة. هذا يعني أن الخلية التي يشغلها طرف ذيلك حاليًّا يمكن دخولها دون خطر: ستكون فارغةً بحلول الوقت الذي تصل إليها.
نسختنا تُطبِّق ذلك تطبيقًا صحيحًا. النتيجة أنه يمكنك تنفيذ انعطافاتٍ ضيّقة حقًّا تبدو مستحيلة، متبِعًا جسمك خليةً واحدة خلفه. لكن انتبه للاستثناء: إن أكلت توتةً في تلك الحركة نفسها، ينمو الثعبان ولا يتحرّر الذيل. دخولُ خلية ذيلك أثناء الأكل قاتل. يُدخِله اللاعبون المتمرّسون في وعيهم كـ«الانعطافات الضيّقة آمنة إلا إذا كان في الطريق طعام».
6. العب السلسلة، لا التوتة
بالنظر إلى الجداول أعلاه، الحساب قاسٍ. لاعبٌ هادئ حذر يأكل توتةً كل ثماني ثوانٍ يسجّل بـ ×1 إلى الأبد. ولاعبٌ جريء يأكل واحدةً كل ثلاث ثوانٍ يبلغ ×5 في ثلاث عشرة توتة، ويكسب خمسة أضعاف لكل توتةٍ من هناك فصاعدًا. اللاعب الجريء سيموت أبكر. وسيُنهي أيضًا بنتيجةٍ أعلى أضعافًا مضاعفة.
القاعدة العملية: ما إن تظهر توتة، ابدأ التحرّك نحوها. لا تُنهِ حلقتك الحالية أولًا. ولا تنتظر لترى إلى أين تذهب: هي لا تذهب إلى أي مكان.
7. مُرّ بالتوتات الذهبية، ولا تنعطف إليها
تساوي التوتة الذهبية ثلاث توتاتٍ عادية، وهو أمرٌ ممتاز، لكنها تظهر في خليةٍ عشوائية وتنتهي صلاحيتها في سبع ثوانٍ. إن كانت في طريقك تقريبًا، فخذها. وإن كان جمعها سيكسر سلسلتك على التوتة العادية، فاتركها. ثلاثة أضعاف توتةٍ تساوي أقلّ من مضاعف الخمسة أضعاف الذي ستخسره.
8. أدِر لحظة الترقّي
كل خمس توتات، تتسارع اللعبة — وفي نمط المتاهة، تتغيّر الجدران أيضًا. هذه اللحظة هي أخطر لحظةٍ في أي جولة. إن كنت تقترب من توتتك الخامسة أو العاشرة أو الخامسة عشرة، فتأكّد من الوصول إليها ومساحةٌ مفتوحة أمامك لا في زاويةٍ ضيّقة.
الأخطاء الشائعة وتصحيحاتها
| الخطأ | لماذا يقتلك | التصحيح |
|---|---|---|
| سلوك الخط المباشر إلى كل توتة | يترك جسمك مبعثرًا في مركز اللوحة | ارسم مساراتٍ على طول المحيط، ولا تدخل المركز إلا للجمع |
| الانعطاف مرتَيْن في فترة حركةٍ واحدة | الانعطاف الثاني هو ما يحدث فعلًا؛ والأول يُطرَح | أمرٌ حاسم واحد لكل حركة، لا وابل نقرات |
| الذعر حين يطول الثعبان | الذعر يُنتِج قراراتٍ قصيرة المدى، تُشظّي اللوحة | ارتدّ إلى متابعة ذيلك حتى تظهر خطة |
| أكل توتةٍ في زاوية | تصل بمخرجٍ واحد، وجزؤك الجديد يسدّه | اقترب من الزوايا على طول الجدار، لا عموديًّا عليه |
| اللعب على نمط هادئ للتسجيل العالي | حركاتٌ أقلّ في الثانية تعني حركاتٍ أقلّ في نافذة السلسلة | تعلّم على هادئ، وسجّل على كلاسيكي أو سريع |
| تجاهل لحظات الترقّي | تتغيّر السرعة بينما أنت في وسط مناورة | عُدّ توتاتك؛ صِل إلى كل خامسةٍ في مساحةٍ مفتوحة |
رياضيات الثعبان
يبدو الثعبان لعبة ردود أفعال ويتصرّف كمسألةٍ في نظرية المخطّطات (الغرافات). هذا القسم اختياري، لكنه يحوي حقيقةً عن لوحتنا المحدَّدة لم نرها نوقشت في أي مكان، وهي تغيّر الطريقة التي ينبغي أن تُلعَب بها الجولة المثالية.
الثعبان كمخطّط شبكي
اعتبر اللوحة مخطّطًا: كل خليةٍ رأس، ويتّصل رأسان إن كانت خليّتاهما متجاورتَيْن تعامديًّا. الثعبان مسارٌ عبر هذا المخطّط يتقدّم خطوةً كل دور، ولا يمكنه الالتفاف للخلف، وينمو رأسًا كلما هبط على طعام. كل سؤالٍ شائق عن الثعبان تقريبًا يصير سؤالًا عن المسارات والدورات في المخطّطات الشبكية.
لماذا «اتبع دورةً فحسب» هي الاستراتيجية المثالية المعيارية
الطريقة الأشهر لضمان ألّا يموت الثعبان أبدًا هي إيجاد دورة هاميلتونية — حَلَقة مغلقة تزور كل خليةٍ مرةً واحدة بالضبط — واتّباعها إلى الأبد فحسب. بما أن الحَلَقة تغطّي كل خلية، فكل الطعام يقع أمامك في النهاية؛ وبما أنها حَلَقة مغلقة واحدة والثعبان أقصر منها، فلا يمكنك أبدًا الاصطدام بنفسك. إنها مثالية، وهي بطيئةٌ إلى حدٍّ لا يُطاق، لكنها تفوز دائمًا.
لماذا لا تملك لوحتنا 21 × 21 دورةً كهذه
هنا الجزء الشائق. لوّن اللوحة كرقعة شطرنج. كل حركةٍ تنقل الثعبان من خليةٍ فاتحة إلى داكنة أو العكس، فأي حَلَقة مغلقة يجب أن تناوب الألوان — ما يعني أن الدورة الهاميلتونية لا يمكن أن توجد إلا إذا كان عدد الخلايا الفاتحة مساويًا لعدد الخلايا الداكنة.
على لوحة 21 × 21، توجد 441 خلية: 221 من لونٍ و220 من الآخر. وهما غير متساويَيْن، ولا يمكن أن يتساويا، لأن 441 عددٌ فردي. وبالتالي، لا توجد دورةٌ هاميلتونية على لوحتنا، ببساطة. استراتيجية «الحَلَقة الآمنة» الكلاسيكية مستحيلةٌ رياضيًّا هنا.
ما يوجد هو مسارٌ هاميلتوني: طريقٌ مفتوح عبر الخلايا الـ441. فالجولة المثالية تبقى ممكنة إذن، لكنها لا يمكن أن تكون حَلَقةً بلا تفكير. أي لاعبٍ أو خوارزميةٍ تحاول ملء اللوحة عليها إمّا أن تعمل داخل منطقةٍ فرعية 20 × 21 من 420 خلية، وهي زوجية وتقبل دورةً بالفعل، وتعالج الصفّ المتبقّي على حدة، أو أن تخطّط لمسارٍ مفتوح وتعيد التموضع في النهاية. هذا ليس مصادفةً في تصميمنا؛ بل هو خاصيةٌ لأي لوحة ثعبانٍ أبعادها فردية × فردية، بما في ذلك عددٌ كبير من تلك التي تجدها على الإنترنت.
| اللوحة | إجمالي الخلايا | توزيع الألوان | هل الدورة الهاميلتونية ممكنة؟ |
|---|---|---|---|
| 20 × 20 | 400 | 200 / 200 | نعم |
| 21 × 21 (هذه اللعبة) | 441 | 221 / 220 | لا — مسارٌ مفتوح فقط |
| لوحة فرعية 20 × 21 | 420 | 210 / 210 | نعم |
| أي لوحة فردية × فردية | فردي | غير متساوٍ بمقدار واحد | لا |
ما مدى صعوبة الثعبان، صياغةً رسمية؟
صعبٌ بما يكفي لأن ينشر عنه علماء الحاسوب. في 2016، قدّم Marzio De Biasi وTim Ophelders ورقةً بعنوان «The Complexity of Snake» في المؤتمر الدولي حول المرح بالخوارزميات، ووُسِّعت لاحقًا في مجلة Theoretical Computer Science. أظهرا أن تقرير ما إذا كان الثعبان يستطيع جمع كل الطعام على مخطّطٍ شبكيّ ممتلئ مسألةٌ صعبة من النوع NP، وأن على المخطّطات الشبكية العامة تكون المسألة كاملةً من النوع PSPACE — تمامًا مثل السؤال الأبسط عمّا إذا كان الثعبان يستطيع الانتقال من تشكيلةٍ إلى أخرى، حتى بلا أي طعامٍ على اللوحة.
قُلها ببساطة: لا توجد خوارزميةٌ فعّالة معروفة تلعب الثعبان لعبًا أمثل، وثمة أسبابٌ وجيهة للاعتقاد بأن لا وجود لها. حين تشعر أن وضعًا ما غير قابلٍ للحلّ، فقد تكون محقًّا موضوعيًّا. اجتذبت المسألة أيضًا باحثين في الروبوتات، لأن ثعبانًا يجب ألّا يصطدم بجسمه هو نموذجٌ معقول لتخطيط حركة الروبوتات المفصلية الشبيهة بالثعبان.
بعض الأرقام عن اللوحة
| المقدار | القيمة |
|---|---|
| إجمالي الخلايا | 441 |
| خلايا المحيط | 80 |
| الخلايا الداخلية | 361 (منطقة 19 × 19) |
| الخلايا الحرّة عند بدء الجولة | 437 (441 ناقص 3 أجزاء ثعبان و1 توتة) |
| أقصى مسافة مانهاتن بين خليتَيْن | 40 |
| متوسّط مسافة مانهاتن بين خليتَيْن عشوائيّتَيْن | نحو 14.0 |
| أقصى طولٍ للثعبان | 441 |
| التوت في جولةٍ مثالية | 438 |
| المستوى النهائي في جولةٍ مثالية | 88 |
تحت الغطاء: بناء ثعبانٍ لا يكذب على اللاعب
هذا القسم للمطوّرين، ولكل من يتساءل لماذا تُشعِر بعض ألعاب الثعبان في المتصفح بالرضا وتبدو أخرى رخيصة. كل نقطةٍ أدناه علّةٌ إمّا صحّحناها أو تحاشيناها عمدًا بالتصميم.
خطوة زمنية ثابتة بدل setInterval
الطريقة الساذجة لتشغيل لعبة ثعبان هي استدعاء دالّة حركةٍ على مؤقّت. يبدو ذلك ناجحًا. وهو خاطئ من ثلاثة أوجه: مؤقّتات المتصفح تنجرف، وتُكبَح في التبويبات الخلفية، ولا تتزامن الفترة أبدًا مع تحديث الشاشة، فتتلعثم الحركة.
النهج الصحيح هو مُراكِمٌ بخطوةٍ زمنية ثابتة. عند كل إطار حركة، قِس كم من الزمن الحقيقي مرّ، أضِفه إلى مُراكِم، ونفّذ من الحركات المنطقية بقدر ما يحويه ذلك الزمن. يتقدّم منطق اللعبة بزياداتٍ دقيقة متطابقة، مهما كان تردّد الإطارات؛ ولا يتبع الرسمُ إلا الشاشة. حاجزان إضافيّان مهمّان: قيّد الزمن المنقضي حتى لا يُسرِّع تبويبٌ خلفي الثعبان إلى جدارٍ عند العودة، وضع سقفًا لعدد حركات التعويض لكل إطار حتى لا ينحرف جهازٌ بطيء عن السيطرة.
| الأسلوب | السلوك على شاشة 144 Hz | السلوك في تبويبٍ خلفي | العدالة |
|---|---|---|---|
| setInterval | يتلعثم؛ توقيت الحركة ينجرف عن توقيت الشاشة | يُكبَح على نحوٍ لا يمكن التنبّؤ به | تتفاوت السرعة حسب الجهاز |
| حركةٌ واحدة لكل إطار | يعمل بـ 144 حركة في الثانية | يتوقّف كليًّا | غير عادلٍ بالمرّة |
| مُراكِم بخطوةٍ زمنية ثابتة | سلسٌ، بإيقاع حركةٍ صحيح بالضبط | مقيَّد، ثم يستأنف بنظافة | واحدةٌ في كل مكان |
طابور الإدخال، والعلّة التي تقتل كل محاولةٍ أولى
تحوي كل لعبة ثعبانٍ محلية الصنع تقريبًا العلّة القاتلة نفسها. يتحرّك اللاعب يمينًا، ويضغط بسرعةٍ أعلى ثم يسارًا، فيُطبَّق الإدخالان قبل الحركة التالية — فيلتفّ الثعبان في رقبته ويموت بلا سببٍ ظاهر. إنها أشيع مصدرٍ لشكاوى «هذه اللعبة معطوبة»، وليست غلطة اللاعب.
التصحيح هو وضع الإدخالات في طابورٍ بدل تطبيقها فورًا. كل حركةٍ منطقية تستهلك اتجاهًا واحدًا على الأكثر من الطابور، وترفض أي اتجاهٍ هو العكس الدقيق للحالي. يمكن للاعب أن يخزّن انعطافةً قبل قليل — ما يبدو سريع الاستجابة — لكنه لا يمكنه أبدًا أن يطوي الثعبان على نفسه بالخطأ.
الاصطدام، مصنوعًا بدقّة
كما وُصف في قسم الاستراتيجية، يحرّر الذيل خليته في أي حركةٍ لا تُنمّي الثعبان. التطبيق الصحيح يقارن هدف الرأس بكل أجزاء الجسم عدا الأخير، إلا إذا كانت الحركة حركة أكلٍ، فحينئذٍ يُحسَب كل جزء. الخطأ في أيٍّ من الاتجاهَيْن يُنتِج لعبةً تبدو إمّا قاسيةً بلا إنصاف أو متساهلةً على نحوٍ مريب. تحقّقنا من هذا السلوك باختباراتٍ آلية قبل النشر.
عرضٌ بقيمٍ بينية على شبكةٍ متقطّعة
يعمل المنطق على إحداثيات خلايا صحيحة؛ ويعمل الرسم على مواضع كسرية. بين الحركات، يُرسَم كل جزءٍ عند مزيجٍ من حيث كان وحيث سيكون، مرجَّحًا بمدى تقدّمنا في الفترة الحالية. النتيجة ثعبانٌ ينزلق لا يقفز، دون أي تنازلٍ عن عدالة الشبكة الأساسية.
دقيقةٌ واحدة: في نمط البوابة، قد يلتفّ جزءٌ من حافةٍ من اللوحة إلى الأخرى، وإدراج قيمٍ بينية لهذا الانتقال سيرسم أثرًا مستقيمًا عبر الشاشة. التصحيح هو رصد أي قفزةٍ أطول من خلية والمحاذاة بدل المزج، وقطع رسم الجسم عند تلك النقطة.
وضع الطعام بلا معاينةٍ بالرفض
النهج الشائع هو اختيار خليةٍ عشوائية، والتحقّق مما إذا كانت مشغولة، وإعادة المحاولة إن كانت كذلك. ينجح ذلك جيدًا في البداية ويصير مَرَضيًّا في النهاية: حين يملأ الثعبان اللوحة كلها تقريبًا، قد تدور الحلقة مئات المرات، وإن كانت اللوحة ممتلئةً تمامًا، فلا تنتهي أبدًا. نحن نبني قائمة الخلايا الحرّة فعلًا ونختار منها اختيارًا منتظمًا. هذا أسرع في أسوأ حالة وقابلٌ للإثبات بأنه ينتهي.
عدم كسر الصفحة التي يعيش فيها
اللعبة المضمَّنة عليها التزاماتٌ تجاه مضيفها. لعبتنا لا تسجّل أبدًا معالِج لوحة مفاتيح شاملًا يسرق مفاتيح الأسهم من الصفحة: لا يُلتقَط الإدخال إلا أثناء تفاعلك الفعلي مع اللعبة، ويُحرَّر ما إن تنقر في مكانٍ آخر، متوقّفًا مؤقتًا في أثناء ذلك. تتوقّف مؤقتًا حين يُخفى التبويب وحين تخرج من العرض عند التمرير. كل تنسيقها معزول حتى لا يتسرّب إلى المقال المحيط، ولا شيء من الموقع المحيط يمكن أن يتسرّب إلى الداخل.
علّتان حقيقيّتان وجدناهما أثناء الاختبار
سنكون صادقين بشأنهما، لأن المقالات كهذه تتظاهر عادةً بأن التطوير يجري بلا احتكاك. أثناء الاختبار النهائي، وجد متصفحٌ آلي مشكلتَيْن فاتَتا اللعب اليدوي.
الأولى كانت تضاربًا في أسماء المتغيّرات: مرجعٌ مُضاف حديثًا إلى عنصر اللوحة حجَب دالّة حلقة العرض التي تحمل الاسم نفسه، ما عطّل اللعبة كلها بصمت. كانت تُطلِق خطأ وحدة تحكّمٍ واحدًا ولا شيء يتحرّك. الدرس غير مجيدٍ وكوني: سمِّ الأشياء بعناية، وشغّل ما نشرت.
الثانية كانت أدقّ وأكثر تعليمًا. لتحجيم اللوحة، كنّا نقيس عرض العنصر نفسه الذي كنّا نضبط عرضه، ما يخلق حلقة تغذيةٍ راجعة: يمكن للّوحة أن تنكمش لكن لا يمكنها أبدًا أن تكبر ثانيةً. كان التصحيح بنيويًّا: عنصرٌ يقيس المساحة المتاحة ولا يُضبَط حجمه أبدًا؛ وعنصرٌ منفصل داخله هو اللوحة ويُحجَّم بالبكسل. إن احتفظت بفكرة بنيويةٍ واحدة فقط من هذا المقال، فلتكن هذه: لا تقِس أبدًا صندوقًا تتحكّم أنت في أبعاده.
اللغات، وإتاحة الوصول، واللعب على أي شاشة
تأتي اللعبة بست لغات، والإنجليزية هي المصدر. تكتشف الصحيحة منها تلقائيًّا بالتحقّق، بهذا الترتيب: وسيط لغةٍ صريح في عنوان الصفحة، وسِمة على عنصر اللعبة نفسه، اللغة المعلَنة للصفحة، اللغة المحلية في البيانات الاجتماعية للصفحة، إعلان لغة المحتوى، وأخيرًا تفضيل المتصفح نفسه. إن لم يُنتِج أيٌّ من ذلك لغةً مدعومة، يرتدّ إلى الإنجليزية. ويمكنك دائمًا تجاوز النتيجة بالمُنتقي في الزاوية.
| اللغة | الرمز | العنوان بتلك اللغة | اتجاه النص |
|---|---|---|---|
| الإنجليزية | en | Snake | من اليسار إلى اليمين |
| الفرنسية | fr | Snake | من اليسار إلى اليمين |
| الإسبانية | es | Snake | من اليسار إلى اليمين |
| الصينية | zh | 贪吃蛇 | من اليسار إلى اليمين |
| الهندية | hi | स्नेक | من اليسار إلى اليمين |
| العربية | ar | لعبة الثعبان | من اليمين إلى اليسار |
تجعل العربية الواجهة كلها من اليمين إلى اليسار، مع استثناءٍ متعمَّد: تحتفظ لوحة الاتجاه بترتيبها الفيزيائي، لأن «اليسار» على وحدة تحكّم يعني اليسار على الشاشة أيًّا كانت اللغة التي تقرأ بها.
على صعيد إتاحة الوصول، اللعبة قابلةٌ للاستخدام بالكامل بلوحة المفاتيح، وكل أداة تحكّمٍ زرٌّ حقيقي بتسميةٍ مناسبة، وتغيّرات النقاط ونهاية الجولة تُعلَن لقارئات الشاشة عبر منطقةٍ نشطة. إن كان نظامك مضبوطًا على تقليل الحركة، فإن الحركة الزخرفية، واهتزاز الاصطدام، وتأثيرات النبض كلها معطَّلة، بينما تبقى اللعبة نفسها سليمة.
على صعيد الاستجابة، يتكيّف التخطيط مع عرض اللعبة لا عرض المتصفح — وهذا مهمّ، لأن لعبةً مضمَّنة داخل عمود مقالٍ ضيّق ينبغي أن تتصرّف كلعبةٍ ضيّقة حتى على شاشةٍ كبيرة. في ملء الشاشة على شاشةٍ أفقية، تتحوّل إلى تخطيط عمودَيْن مع اللوحة في جهةٍ وأدوات التحكّم في الأخرى، ويمكن للّوحة أن تكبر إلى أكثر من ألف بكسل عرضًا.
المرجع الكامل لأدوات التحكم
| الإدخال | الفعل | ملاحظات |
|---|---|---|
| مفاتيح الأسهم | التوجيه | التخطيط المعياري |
| W, A, S, D | التوجيه | للوحات مفاتيح QWERTY |
| Z, Q, S, D | التوجيه | للوحات مفاتيح AZERTY |
| مسافة | إيقاف مؤقّت أو استئناف | يبدأ أيضًا جولةً من شاشة العنوان |
| R | إعادة | يبدأ جولةً جديدة فورًا |
| F | ملء الشاشة | يفعّل ويعطّل |
| M | كتم الصوت | الصوت مكتومٌ افتراضيًّا |
| Enter | تأكيد | يفعّل زرّ البطاقة الحالية |
| Esc | الخروج من ملء الشاشة | سلوك المتصفح المعياري |
| السحب على اللوحة | التوجيه | تُرصَد عمليات السحب المتتابعة دون رفع الإصبع |
| لمس اللوحة | البدء أو الاستئناف | كوضع قطعةٍ نقدية في جهاز أركيد |
| لوحة اتجاهٍ على الشاشة | التوجيه | تظهر تلقائيًّا على الأجهزة اللمسية |
الأسئلة الشائعة
من اخترع لعبة الثعبان؟
لا أحد بمفرده، ولهذا يظلّ السؤال يتلقّى إجاباتٍ مختلفة. الآلية ابتكرها Lane Hauck لدى Gremlin Industries للعبة أركيد سنة 1976 Blockade. أمّا الصيغة الفردية الآكلة للطعام التي نسمّيها الآن الثعبان فأرساها Nibbler من Rock-Ola سنة 1982. والنسخة التي جعلتها مشهورةً عالميًّا كتبها Taneli Armanto لدى Nokia لهاتف 6110 سنة 1997. الإجابات الثلاث كلها قابلةٌ للدفاع؛ إنها إجاباتٌ لأسئلةٍ مختلفة.
ما أعلى نتيجةٍ ممكنة في هذه اللعبة؟
211560، تُبلَغ بأكل التوت الـ438 المتاح كله مع الحفاظ على مضاعفٍ قدره خمسة أضعاف من البداية إلى النهاية، وتجاهل التوتات الذهبية. عمليًّا، ستدفع التوتات الذهبية جولةً مثاليةً نظريًّا أعلى من ذلك. الجولة البشرية الجيّدة جدًّا على نمط كلاسيكي تقع عادةً في مكانٍ ما بين 2000 و10000.
هل تتسارع اللعبة إلى الأبد؟
لا. لكل صعوبةٍ أرضية. يبلغ نمط كلاسيكي حدّه الأدنى عند 80 مِلّي ثانية لكل حركة في المستوى 10 ولا يزيد سرعةً أبدًا؛ ويبلغ نمط محموم حدّه الأدنى عند 45 مِلّي ثانية. كل ما يأتي بعد تلك النقطة يصير أصعب لمجرّد أن ثعبانك أطول، وهذا هو النوع الصادق من الصعوبة.
هل يساوي الثعبان الأطول نقاطًا أكثر؟
بطريقةٍ غير مباشرة. الطول بذاته لا يُحسَب، لكن الطول يتبع التوت المأكول، والتوت المأكول يحدّد مستواك، والمستوى يرفع القيمة الأساسية لكل توتةٍ لاحقة نقطتَيْن. أمّا المضاعف فلا علاقة له بالطول: إنه يتعلّق بسرعة أكلك فحسب.
لماذا نتيجتي أقلّ على نمط هادئ منها على كلاسيكي؟
لأن نافذة السلسلة تُقاس بالثواني، لا بالحركات. الثعبان الأبطأ يقطع أرضًا أقلّ في خمس ثوانٍ، فتنكسر السلاسل أكثر. نمط هادئ أسهل بقاءً وأصعب تسجيلًا. وهذا يفاجئ الجميع تقريبًا.
هل تُرسَل نتائجي وإحصاءاتي إلى مكانٍ ما؟
لا. كل شيء — أفضل النتائج حسب النمط، والجولات المُلعَبة، والتوت المأكول، وأطول ثعبان، والوقت الإجمالي — مخزَّنٌ محليًّا في متصفحك أنت. لا حساب، ولا خادم، ولا لوحة صدارة، ولا تتبّع. مسحُ بيانات متصفحك يمسح أرقامك القياسية، وزرّ إعادة الضبط في لوحة الأرقام القياسية يفعل الشيء نفسه عمدًا.
هل يمكنني اللعب بلوحة المفاتيح على هاتف، أو باللمس على حاسوب محمول؟
نعم للاثنين. تظهر لوحة الاتجاه تلقائيًّا على الأجهزة اللمسية، لكن لوحة المفاتيح تبقى نشطة إن كانت واحدةٌ متّصلة، والحواسيب المحمولة ذات الشاشات اللمسية يمكنها السحب على اللوحة.
لماذا تتوقّف اللعبة مؤقتًا حين أنقر في مكانٍ آخر من الصفحة؟
عمدًا. لعبةٌ مضمَّنة تظلّ تستهلك مفاتيح أسهمك بعد أن انتقلت إلى قراءة المقال هي إزعاج. حين تتفاعل مع شيءٍ خارج اللعبة، تُحرِّر اللعبة لوحة المفاتيح وتتوقّف مؤقتًا حتى لا تعود إلى ثعبانٍ ميّت.
ما أسرع طريقةٍ للتحسّن؟
العب عشرين جولة على نمط كلاسيكي في نمط الجدران، وفي كلٍّ منها، أجبِر نفسك على رسم مساراتٍ على طول المحيط لا عبر المركز. سيبدو ذلك أبطأ وستنخفض نتائجك الأولى. بحلول الجولة العاشرة، ستكون أعلى من قبل، لأنك ستكون قد كففتَ عن تشظية اللوحة.
مسرد المصطلحات
| المصطلح | المعنى |
|---|---|
| نبضة (Tick) | حركةٌ منطقية واحدة للثعبان، خليةً واحدة إلى الأمام |
| فترة الحركة | الزمن بالمِلّي ثانية بين نبضتَيْن |
| خطوة زمنية ثابتة | تشغيل منطق اللعبة بزياداتٍ زمنية دقيقة متطابقة، مهما كان تردّد الإطارات |
| إدراج القيم البينية | رسم جزءٍ في منتصف الطريق بين خليته السابقة والحالية من أجل حركةٍ سلسة |
| طابور الإدخال | مخزنٌ قصير لتغيّرات الاتجاه المنتظِرة، يُستهلَك واحدًا كل نبضة |
| تحرّر الذيل | القاعدة القائلة إن الجزء الأخير يغادر خليته في أي حركةٍ ليست أكلًا |
| سلسلة الكومبو | توتاتٌ متتالية مأكولة داخل نافذة الخمس ثوانٍ |
| نمط البوابة أو الالتفاف | ساحة لعبٍ يعيدك فيها الخروج من حافةٍ من الحافة المقابلة |
| مخطّط شبكي | مخطّطٌ رؤوسه خلايا شبكة وحوافّه تصل الخلايا المتجاورة |
| دورة هاميلتونية | طريقٌ مغلق يزور كل خليةٍ مرةً واحدة بالضبط |
| مسار هاميلتوني | طريقٌ مفتوح يزور كل خليةٍ مرةً واحدة بالضبط |
| الحرث المتعرّج (Boustrophedon) | نمط مسحٍ ذهابًا وإيابًا يملأ منطقةً دون أن يوقع صاحبه في فخّ نفسه |
| مسافة مانهاتن | عدد الخطوات الأفقية زائد العمودية بين خليتَيْن |
| صعب من النوع NP | لا يقلّ صعوبةً عن أصعب المسائل القابلة للتحقّق في زمنٍ كثير الحدود |
| كامل من النوع PSPACE | من بين أصعب المسائل القابلة للحلّ بقدرٍ كثير الحدود من الذاكرة |
لماذا ما زلنا نبني أشياء كهذه
ثمة نسخةٌ من هذا المقال تنتهي بجملةٍ عن الحنين، ولن تكون خاطئة. للثعبان خمسون عامًا في هذا العِقد. عددٌ كبير جدًّا من الناس لديهم ذكرى محدَّدة مرتبطة به: هاتفٌ بعينه، فصلٌ بعينه، شاشةٌ بعينها مائلة إلى الخضرة.
لكن الحنين ليس سبب استحقاق اللعبة أن تُبنى جيدًا حتى الآن. يبقى الثعبان لأنه واحدة من الألعاب القليلة جدًّا التي تكون فيها القواعد مرئيةً تمامًا والعمق مخبَّأً تمامًا. لا شيء يُحجَب عنك. لا فتحٌ لمحتوى، ولا تقدّم فوقي، ولا إحصاءٌ لم يُعرَض عليك. كل ما تحتاجه لبلوغ جولةٍ مثالية على الشاشة منذ الثانية الأولى — ومع ذلك لا تستطيع فعله، لأن الصعوبة لم تكن قطّ في المعلومة، بل كانت في التخطيط.
إنه نوعٌ نادرٌ وصادق من تصميم الألعاب، ويستحقّ عناء خطوةٍ زمنية ثابتة، وقاعدة اصطدامٍ صحيحة، وطابور إدخالٍ يحترم اللاعب، وثعبانٍ ينزلق بدل أن يقفز. كل شيءٍ في هذا المقال — كل جدول، وكل صيغة، وكل مِلّي ثانية — موجودٌ لكي تعرف، حين تخسر، أن قرارك أنت هو الذي خسر.
والآن، اذهب وتجاوز 2000 على نمط كلاسيكي. ارسم مساراتٍ على طول الحواف. لا تتوقّف من أجل التوتات الذهبية.
