سافر ريان الخالد معي ستًّا وستين مرّة، وفي كلّ رحلة كان يطلب يدي للزواج. وفي المرّة السابعة والستين تأثّرت أخيرًا ووافقت.
في اليوم الأول بعد الزواج، أعددتُ له ستًّا وستين بطاقة غفران. واتفقنا أن كلّ مرّة يُغضبني فيها، يمكنه استخدام بطاقة مقابل فرصة غفران واحدة.
على مدى ست سنوات من الزواج، كان كلّما أغضبني بسبب لينا الشريف، صديقة طفولته، يجعلني أمزق بطاقة من البطاقات. وعند البطاقة الرابعة والستين، بدأ ريان أخيرًا يشعر أن هناك شيئًا غريبًا في تصرّفاتي.
لم أعد أذكّره بأن يحافظ على حدوده، ولم أعد أحتاج إليه كما كنت. وحين تركني مجددًا بسبب لينا، أمسكتُ بذراعه وسألته: "إذا ذهبتَ إليها… هل أستطيع احتساب ذلك من بطاقات الغفران؟"
"توقّف ريان قليلًا، ثم نظر إليّ بلا حيلة وقال:" إن أردتِ استخداميها فافعلي، لديكِ الكثير.
أومأت بهدوء وأنا أراقب ظله يتلاشى. كان يظنّ أن بطاقات الغفران لا تنفد، ولم يكن يعلم أن اثنتين فقط بقيتا.
فُرض على “كيان” زواج لم تكن تريده، في صفقة عائلية قاسية ربطت مصيرها بالميراث… وبابن عمها “راغب”.
لم يكن راغب رجل حب ولا عاطفة؛ كان عمليًا، يحسب كل خطوة بدقة، يرى الزواج مجرد اتفاق يحفظ به مكانته ونفوذه داخل العائلة.
لكن ما بدأ كعقد بارد، خرج عن كل التوقعات… فـ”كيان” التي ظنها مجرد جزء من الصفقة، أصبحت الاستثناء الوحيد في حياة لا تؤمن بالمشاعر.
ومع كل اقتراب، يتغير ميزان القوة… ويبدأ القلب الذي لا يحسب خسائره في كسر كل قواعده.
تدور أحداث الرواية حول سديم، فتاة عفوية تسعى لبدء حياة مهنية جديدة، لكن توترها واندفاعها يقودانها إلى توقيع عقدٍ لم تدرك تفاصيله جيدًا، لتتفاجأ لاحقًا بأنها أصبحت زوجةً رسميًا لرجل غامض يُدعى ليث.
يبدأ هذا الزواج بسلسلة من المواقف الكوميدية الناتجة عن اختلاف شخصيتيهما؛ ف سديم مرحة، سريعة الانفعال، وتقع في المواقف المحرجة باستمرار، بينما ليث رجل صارم، هادئ، لا يميل إلى الفوضى، ويُخفي خلف هدوئه الكثير من الغموض.
ومع الوقت، يتحول الصدام بينهما إلى تقارب غير متوقع، وتنشأ مشاعر حب تتسلل بصمت رغم محاولتهما انكار بين الكوميديا الخفيفة، والدراما العاطفية، والرومانسية المؤلمة، تأخذنا الرواية في رحلة تساؤل:
هل يمكن لخطأ غير مقصود أن يتحول إلى حب حقيقي… أم أن بعض البدايات تظل مجرد أخطاء؟
قالت بشكل حازم وكأنها تساومه" حسنا ، سوف اذهب لاتبرع لها بالدماء لكن عليك ان تطلقني اولا"
كان صوتها باردًا كالثلج، نظرت إلى عين محمود بلا أي انفعال، بينما هو اغمض عينيه للحظة وهو يردد
"الطلاق؟ لماذا تريدين الطلاق ؟"
لم يكن من الممكن إنكار أن محمود لم يكن يريد الطلاق، فقد كان يعتقد أن زواجه من سارة لا يمكن إصلاحه،و بالنسبة لنقل الدم...ألم يكن هذا هو الشرط الذي اتفقوا عليه قبل الزواج؟ قال لنفسه ( ربما هى غاضبة الآن، فليتركها ليومين ويهملها وبالتأكيد هي من ستأتي تترجاه كما بالماضى) تصنع الموافقة ثم جرها من ذراعيها خلفه وهى لم تقاومه.
لم يتبقَّ على موعد زفاف رانيا كريم المدني وياسر فهد الراوي سوى نصف شهر، إلا أن ياسر راودته فكرة تأجيل الزفاف مرة أخرى في هذا الوقت الحرج.
والسبب هو أن أخته غير الشقيقة فائزة الراوي قد عاودها المرض، وراحت تبكي وتصرخ مطالبة ياسر بترك كل شيء ومرافقتها إلى جزر المالديف لرؤية البحر.
لقد استمرت التحضيرات لهذا الزفاف عامين كاملين، ولم تعد رانيا تنوي الانتظار أكثر من ذلك.
بما أن ياسر لا يرغب في الزواج، فستقوم هي باستبدال العريس بآخر.
في العام الرابع من زواجها من فارس، اكتشفت ليلى أنها حامل.
أخذت أوراقها وتوجهت إلى المستشفى لفتح ملف طبي، لكن أثناء مراجعة البيانات، أبلغتها الممرضة بأن شهادة الزواج مزوّرة.
تجمّدت ليلى في مكانها: "مزوّرة؟ كيف يمكن ذلك؟"
أشارت الممرضة إلى الختم الرسمي على الشهادة: "الختم هنا غير متناسق، والرقم التسلسلي خاطئ أيضًا."
لم تيأس ليلى، فتوجهت إلى مكتب الأحوال المدنية للتحقق، لكنها تلقت الجواب نفسه تمامًا.
"السيد فارس الزناتي متزوج، واسم زوجته هو ليان الحسيني..."
ليان الحسيني؟
شعرت ليلى كأن صاعقة أصابتها، وامتلأ عقلها بالفراغ!
ليان، أختها غير الشقيقة من الأب، وكانت الحب الأول لفارس.
في الماضي، غادرت أختها البلاد سعيًا وراء حلمها، وهربت من الزواج في يوم الزفاف، متخلية عن فارس بلا رحمة.
لكن الآن، أصبحت هي زوجة فارس القانونية!
ذهبتُ لتجربة تنسيقات متعددة قبل أن أستقر على نهج واضح يمرّ عبر معظم أنظمة تتبّع المتقدمين (ATS). على مدار سنوات من محاولة صقل السيرة، اكتشفت أن القاعدة الذهبية هي الوضوح: عناوين أقسام واضحة مثل 'الخبرة العملية' و'المهارات' و'التعليم'، خطوط بسيطة وحجم مقروء، وتجنب الجداول أو الأعمدة أو العناصر الرسومية التي تخلّ بتسلسل القراءة الآلي.
أحرص دائماً على تكييف السيرة مع كل وظيفة أقدّم لها؛ أقرأ وصف الوظيفة بعناية وأستخرج المصطلحات التقنية والمهارات المطلوبة وأدرجها بصيغة طبيعية داخل خبراتي ونقاط الانجاز. مثلاً بدل أن أكتب فقط "عملت على نظام دفع إلكتروني" أفضّل كتابة "طوّرت واجهات API لمعالجة الدفع باستخدام REST وNode.js، مما خفّض زمن الاستجابة بنسبة 30%" — هكذا أدمج كلمات مفتاحية ونتيجة قابلة للقياس، وهو ما يعجب أنظمة الفرز الآلي والبشر بعد ذلك.
تنسيق الملف مهم: غالباً أرسّل نسخة بصيغة .docx لأن معظم أنظمة ATS تقرأها بشكل أدق من بعض ملفات PDF المعقدة. أتحقق أيضاً من أن التواريخ مكتوبة بوضوح، وأن الاختصارات مشروحة مرة واحدة ثم مختصرة، وأن قائمة المهارات تكون مفصّلة ومرتّبة. بعد كل تحديث، أجرّب السيرة عبر أدوات فحص ATS أو حتى نسخها لصيغة نصية للتأكّد من ترتيب المحتوى. النتيجة؟ سيرة قابلة للقراءة آلياً وتشدّ الانتباه بشرياً أيضاً، وهذا الهدف الذي أستمتع بالوصول إليه.
أحب أن أبدأ بالتفكير في المكان قبل نشر المشروع؛ الموقع يحدد نوع المطوِّرين الذين سيصلهم الإعلان وطريقة تعاملهم مع متطلباتك. عادةً أنشر المشاريع البرمجية في أقسام مخصصة للتطوير داخل المنصات الكبرى مثل 'Upwork' و'Freelancer' حيث هناك قوائم مشاريع تقبل عروضاً مفتوحة (bids) وتسمح لك بتحديد ميزانية ساعة أو سعر ثابت، كما أستخدم قسم الـ'Gigs' في 'Fiverr' للمشاريع الصغيرة والواضحة التي تناسب حزم مسبقة السعر. الخيار بين نشر مشروع كقائمة مفتوحة أو كجِج مهم: القوائم المفتوحة تجذب عروضاً متنوعة، بينما الحزم تجذب من يبحث عن حل جاهز وسريع.
أهتم بتفاصيل صفحة المشروع: عنوان واضح، وصف عملي يذكر النتائج المتوقعة والقيود واللغات والتقنيات، أمثلة أو رابط لمشروع سابق، تفضيلات للدفع (نظام الضمان/escrow أو دفعات عبر مراحل)، ومهما كان المنبر أستخدم الوسوم (tags) الصحيحة لتصنيف المشروع ضمن 'تطوير ويب' أو 'تطبيقات موبايل' أو 'ذكاء اصطناعي'. بعض المنصات توفر ميزات ترويجية مثل 'Featured' أو عرض داخل الصندوق الذي يرفع ظهور المشروع؛ في مناسبات أستخدمها عندما أريد وصولاً سريعاً لمطورين أكثر خبرة. ولا أنسى المنصات المخصصة للمطورين مثل 'Toptal' و'Codeable' و'TopCoder' للمنافسات أو المهام المتخصصة، فهي تجمع مواهب عالية لكنها تتطلب قبولاً أو معايير تقنية.
بجانب المنصات الرسمية، أنشر ملخصات أو روابط للمشاريع على شبكات مهنية واجتماعية: 'LinkedIn' لمشاريع الشركات أو العملاء المحترفين، مستودع 'GitHub' مع README جذاب إذا أردت جذب مساهمين أو استعراض خبرتي، ومجموعات متخصصة على Telegram أو Discord وReddit للحصول على مهتمين بسرعة. في العالم العربي أضع إعلانات على منصات مثل 'مستقل' و'خمسات' لأن الجمهور هناك معتاد على المشاريع المحلية واللغوية. في النهاية، أختار المواقع بحسب الهدف—توظيف سريع، جودة عالية، أو تسويق لحزمة صغيرة—وأعدل الوصف والميزانية وفقاً لذلك، لأن التنسيق الصحيح غالباً ما يحدد جودة العروض التي ستصلك.
أحب أن أبدأ بصورة عملية: عندما فكرت أول مرة في إدخال تطبيق تعليمي مبرمج إلى مدرسة حكومية، تخيلت مزيجًا من الحماس والورقيات. في تجربتي العملية مع مدارس صغيرة، التكلفة تتوزع على بنود واضحة: تطوير البرمجيات (من قالب بسيط إلى نظام مخصص) قد يكلف من 30,000 إلى 300,000 دولار أو أكثر إذا أردت نظامًا مع ميزات تخصيص وذكاء اصطناعي وتحليلات متقدمة. ثم تأتي الأجهزة — أجهزة لوحية أو حواسيب محمولة؛ لو اعتمدت على أجهزة جديدة فقد تحتاج إلى 50–300 دولار لكل جهاز أو أكثر، لكن اعتماد نموذج BYOD (أجهزة الطلاب الخاصة) يقلل هذا العبء.
لا تغفل عن التدريب والدعم: تدريب المعلمين على المنهج الرقمي وإعداد الدروس قد يكلف 500–2,000 دولار لكل معلم كتكلفة لمرة أو كحزمة سنوية، بالإضافة إلى صيانة ونشر المحتوى التي قد تمثل 10–20% من تكلفة التطوير السنوية أو تُدار عبر اشتراك سحابي. المصاريف التشغيلية تشمل استضافة سحابية واتصالات إنترنت أسرع وتأمين بيانات الطلاب، وتراخيص برمجية دورية — هنا تجد عروض SaaS تتراوح بين 1 إلى 15 دولارًا لكل طالب شهريًا حسب مستوى المحتوى.
من واقع تجاربي، أنصح بتقسيم الميزانية على مراحل: مرحلة تجريب Pilot لمدة سنة لتثبيت التكاليف الحقيقية، ثم توسيع تدريجيًا. اختيار حلول مفتوحة المصدر أو شراكة مع شركات تعليمية محلية يقلل التكلفة الأولية، لكن التخصيص والدعم يرفعها. في النهاية، لتحويل كل هذه أرقام إلى ميزانية قابلة للتنفيذ تحتاج لتقدير دقيق لعدد الطلاب، البنية التحتية الحالية، والأهداف التعليمية، لكن هذه الأرقام تعطيك إطارًا عمليًا للبدء.
أذكر بوضوح يوم دخلت مقابلة كانت كلها بالإنجليزية. كانت الأسئلة تقنية وعاملة كأنك في حجرة تعليمية: خوارزميات، بنى بيانات، وتصميم أنظمة، وكلها بصياغة إنجليزية بحتة.
أرى أن هذا صار شائعًا لأن معظم الموارد الفنية، الوثائق، وأمثلة الكود تكون بالإنجليزية، فالمقابِلات تتبع نفس النمط لتقييم قدرة المرشح على التواصل التقني. الأسئلة عادةً تنقسم بين 'Write a function to...' و'Explain the time complexity of...' و'Design a service that...'.
نصيحتي العملية؟ احضِر أمثلة جاهزة تشرح بها مشاريعك باللغة الإنجليزية، وتدرّب على المصطلحات التقنية مثل 'asymptotic complexity' أو 'load balancing'. قراءة كتب مثل 'Cracking the Coding Interview' وممارسة مشاكل على منصات مثل LeetCode تساعدك كثيرًا، والأهم أن توضّح طريقة تفكيرك خطوة بخطوة أثناء الإجابة.
قصة صغيرة: رتبت مواسم الأنمي وكأنها مناهج قصيرة لتعلّم مهارات جديدة. بدأت بضبط تقويم الموسم بحيث أحدد هدفاً تقنياً لكل قوس من الحلقات — مثلاً تحسين الأداء خلال حل مشكلة خوارزمية عندما تنتهي حلقة مهمة أو تجربة إطار واجهة أمامية أثناء بث حلقة جديدة.
كنت أعمل في فترات 25-40 دقيقة من التركيز (تقنية بومودورو)، أتابع الحلقة كوقت استراحة قصيرة، ثم أعود لكتابة كود نظيف أو لعمل اختبارات وحدات. هذه التقطيعات الصغيرة جعلتني أتمكن من تعلم تقنيات متعددة دون أن أشعر بالذنب حيال وقت المشاهدة.
أيضاً صنعت مشاريع صغيرة مستوحاة من الأنمي: أداة تتبع مواعيد العرض، بوت لمجتمع المشاهدين، ومحرّك توصية بسيط يعتمد على تفضيلات الشخصيات. كل مشروع كان فرصة لتجربة API جديدة أو تعلم CI/CD أو كتابة سكربتات تلقائية. أحياناً أشغل مقطوعة من 'Steins;Gate' كخلفية موسيقية لرفع التركيز، وفي أوقات أخرى أشارك الشرح والرمز في مجموعات النقاش، والحصول على مراجعات ساعدني كثيراً. انتهيت من الموسم ومعي كومة من المشاريع الصغيرة التي تحسّنت بمرور الوقت.
مشهد الفرق المستقلة متحول باستمرار، ولا يوجد جواب واحد يناسب الجميع.
أنا شفت فرقًا صغيرة تبدأ بفكرة كبيرة وتلجأ لتوظيف مبرمج لفترة محدودة فقط عشان يدفعوا التطوير من نقطة الانحدار الأولى إلى نموذج قابل للّعب. كثير من الفرق تختار الاستعانة بمبرمج خارجي لعمل نظام معيّن—مثل شبكة لعب جماعي أو محرك فيزياء معقّد—بدل ما تضيع وقت الفريق الأساسي في حل مشاكل تقنية بعيدة عن رؤيتهم الفنية. بالموازنة بين التكلفة والسرعة، التوظيف المؤقت أو التعاقدي يقدّم دفعة فعّالة للمشروع.
وفي نفس الوقت، شاهدت فرقًا تدفع ثمن التوظيف الخاطئ: تكرار الكود، فقدان التحكم في البصمة التقنية، أو اختلاف النظرة تجاه صيانة اللعبة بعد الإصدار. لذلك كثير من الفرق الصغيرة تفضّل مبرمجين لديهم خبرة في المحرك المستخدم (Unity أو Godot مثلاً) عشان يقللوا مخاطر بناء بنية تحتية غير قابلة للصيانة.
الخلاصة عندي: نعم، الفرق المستقلة توظف مبرمجين لتسريع التطوير، لكن بعناية—القرار يعتمد على نطاق المشروع، الميزانية، والرغبة في الاحتفاظ بالتحكم الفني على المدى الطويل.
كان لدي زميل دخل عالم الفريلانس كمهندس برمجيات مبتدئ وذكر لي أرقامًا متواضعة في البداية.
في الواقع، دخل المبرمج المبتدئ يتفاوت بشكل كبير: مبتدئ يعمل ساعات قليلة كهواية قد يحصل على 50–300 دولار شهريًا، خاصة إذا كان يستهدف مشاريع صغيرة أو عروض أولى رخيصة. مبرمج مبتدئ جاد يبني ملف أعمال جيد ويتقن تقنية واحدة أو اثنتين يمكنه الوصول إلى 300–1500 دولار في الشهر خلال الأشهر الأولى، خصوصًا إذا عمل على مشاريع ثابتة أو عقود قصيرة الأجل. وفي أسواق غالية أو عبر عملاء دوليين، قد يبدأ بعض المبتدئين بقيمة 1000–2500 دولار شهريًا لو وفروا خدمات متكررة أو عقود صيانة بسيطة.
ما يحدّد الرقم حقًا هو ثلاث نقاط: مقدار الوقت المكرّس، نوع المهارات (تطوير واجهات، باك اند، أو أوتوميشن)، وكيفية التسويق لنفسك. وجود عينات عمل واضحة وسرعة الرد وبناء علاقات مع عملاء يعزّز الدخل بسرعة. باختصار، لا تنتظر أرقام ثابتة، بل اعمل على تحويل عملك لمصدر متكرر للمهام حتى يرتفع دخلك تدريجيًا.
تخيل عالمًا افتراضيًا متراميًا مثل مدينة رقمية، وأنا أتجول فيه كأنني تقني يستكشف قلب الشبكة. أرى المبرمج هنا يعمل داخل طبقات متعددة: هناك طبقة الخادم الأساسية حيث تُدار قواعد الفيزياء والاقتصاد ونسخ العالم، وأعمل على كتابة الخدمات التي تبقى على قيد الحياة حتى لو انفصل اللاعبون؛ وهناك طبقة المحرك (rendering/engine) التي تتعامل مع الرسوم والإضاءة والتصادم، وأجد نفسي أضبط هناك معادلات الإضاءة والأداء كي لا يصبح العالم ظلامًا بطيئًا. أتعامل أيضًا مع طبقة الذكاء الاصطناعي حيث تُبرمج سلوكيات الـNPC والحالات الطارئة، وأحيانًا أكتب سكربتات صغيرة تتصرف كحضانات قصصية للاعبين.
ثم هناك الواجهة والمشهد العثماني لللاعب: نظام التمثيل (avatars)، ومزامنة الحركة عبر الشبكة، وطبقات الأمان التي تمنع الغش والاختراق — وهذه الأشياء أعمل عليها على مستوى البروتوكولات والأحداث. لو فكرت في أمثلة أنيمية مثل 'Sword Art Online' أو 'Log Horizon'، فالمبرمج داخل العالم قد يكون إما في غرفة خادم مركزية (server room) تتعامل مع مفاتيح التشغيل، أو كائن مكتوب داخل العالم نفسه يتحكم في قواعد اللعبة.
في النهاية أرى المبرمج كمن يجلس في عدة مكاتب متداخلة: مكتب البنية التحتية، مكتب المحتوى، ومكتب السلوك. العمل قد يكون خلف شاشات أدوات إدارية تشبه لوحات تحكم ضخمة، أو كبرمجيات متجسدة داخل شخصيات أو نودات شبكية. وأشعر أن المتعة الحقيقية هي عندما ترى الشفرة تترجم إلى مشهد يلمسه اللاعبون ويستمتعون به، وهذا الإحساس يختلف عن أي نجاح تقني بحت.
أذكر يومًا لعبت على محرر خرائط بسيط ووجدت نفسي أحتاج لمعرفة بعد نقطة عن أخرى بدقة — كانت تلك لحظة جعلتني أقدّر قانون فيثاغورس بطريقة عملية أكثر من كونه مجرد مسألة هندسية في المدرسة.
في الألعاب ثنائية الأبعاد، المسألة بسيطة في جوهرها: لديك إزاحة أفقية dx وإزاحة عمودية dy، والمسافة الحقيقية بين النقطتين تُحسب بجذر مجموع مربعي الإزاحتين، أي طول الوتر بين نقطتين. هذا هو نفس قانون فيثاغورس الذي علّمونا إياه: distance = sqrt(dxdx + dydy). استخدمت هذا الحساب مرارًا في تحديد ما إذا كان اللاعب داخل نطاق سلاح، أو لحساب مدى انفجار، أو للتحقق من تصادم بأسلوب مبسط.
مع ذلك تعلمت بسرعة أن الجذر التربيعي مكلف حسابيًا، خاصة داخل حلقة اللعبة حين يُستدعى آلاف المرات في كل إطار. لذلك، اعتمدت حيلة سهلة لكنها فعالة: قارن بالمربع بدلًا من المقارنة بالجذر. بدلاً من حساب distance < r أتحقق من dxdx + dydy < rr. نفس النتيجة بدون جهد الجذر، وهذا يخفض زمن المعالجة كثيرًا في الألعاب ذات الكثافة الحسابية العالية.
في حالات أخرى، تحتاج دقة أعلى أو وظائف أخرى: على سبيل المثال، عند احتياج لتطبيع متجه لحساب اتجاه حركة أو رمي رصاصات متسارعة، ستحتاج فعليًا إلى الجذر. هنا تدخل تحسينات مثل استخدام تقديرات سريعة للجذر، أو مكتبات حسابية توفر دوال محسّنة، أو حتى استغلال تعليمات SIMD وعمليات وحدة المعالجة الرسومية. محركات قديمة مثل 'Quake III' اشتهرت بخدعة 'fast inverse sqrt' لتسريع هذه العمليات، وما زالت فكرة تقليل عمليات الجذر مُرَكَّزة في التصاميم البسيطة.
ولا ينبغي نسيان أن قانون فيثاغورس يُطبّق أيضًا في الأبعاد الثلاثية تمامًا بنفس الفكرة مع مكون z إضافي، ويظهر في كل مكان من حسابات الكاميرا إلى الفيزياء. ومع الأخذ بالاعتبار أن بعض الألعاب الشبكية أو على الأجهزة المحمولة تستخدم أحيانًا تقريبيات أبسط مثل مسافات مانهاتن أو تشيفسكي لتقليل التعقيد حسب احتياجات اللعب. في النهاية، العلم نظري لكنه يتحول إلى أدوات عملية: أعرف متى أحتاج الدقة ومتى أختار السرعة، وهذا التوازن هو ما يجعل اللعبة تعمل بشكل سلس ويشعر اللاعب أنها طبيعية.
كنت أراقب كل سطر كود كأنه دليل جنائي، وفهمة بسيطة للكود تغيّر كل شيء بالنسبة لي.
في تجربة لعب شفتها، المبرمج غير مجرى التحقيق لأن اكتشف ثغرة تسمح للاعبين بتخطي نصوص مهمة وكشف النهاية قبل الموعد. كان القرار تقنيًا ونفسيًا في آن واحد: من ناحية، كان لازم يُسد الثغرة علشان يحفظ بنية السرد ويضمن تدرج التوتر، ومن ناحية ثانية، كان هدفه حماية العمل الإبداعي من الانهيار أمام استغلال تجريبي.
لكن الموضوع ما وقف عند سد ثغرة؛ أحيانًا المطوّر يعيد ترتيب الأحداث ليتعامل مع سلوك اللاعبين غير المتوقع — اكتشافات اللاعبين المبكرة أو تعامُلهم مع نظام الفيزياء أو الحوارات. التعديل ممكن يكون بسيط كتغيير شرط تحقق دليل، أو معقد بتغيير آلية تتبع الأدلة بين الشخصيات.
أحس إن هالنوع من التعديلات يفضّل سلامة التجربة على حبّ الاختبارات الفردية: لو سمحنا للاعبين بكسر التسلسل، بنخسر إحساس التحقيق الحقيقي. في النهاية، المبرمج قلب المجرى مش بس لإصلاح كود، بل لحماية اللحظة اللي اللاعب بيعيشها داخل اللعبة.