من تطوير Romergo

من تعديلات لا تنتهي إلى موقع تصوير صغير: كيف أتعلم توليد القصص

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

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

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

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

إصلاح الصورة لا يعني الحفاظ عليها

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

في الصور التي ولّدتها، كانت الوجوه «تذوب»، والظلال تثقل، وتظهر تشوهات على الأسطح، وتختفي التفاصيل الصغيرة. ليس كل إطار تالٍ أسوأ بالضرورة. لكن سلسلة التعديلات الطويلة أتاحت فرصًا كثيرة جدًا للابتعاد عن الشكل الأصلي.

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

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

GENERAL: نقطة يمكن العودة إليها

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

بعد ذلك أحاول تجنب سلسلة «آخر تعديل ← التعديل التالي» التي لا تنتهي. تُنشأ الحالة الجديدة انطلاقًا من GENERAL، مع مراعاة ما يفترض أن يحدث الآن.

عند تعديل مشهد، يمكن أن تستند المهمة إلى ثلاثة مراجع:

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

![مخطط GENERAL: تعود الحالات الجديدة إلى صورة مرجعية واحدة معتمدة بدلًا من وراثة جميع النسخ السابقة. ويبقى الإطار السابق مرجعًا مساعدًا.](../assets/ai-film-crew-general.webp)

*هذا توضيح للنهج، وليس مقارنة بين صور مولّدة فعلية. يوفر GENERAL نقطة مرجعية مستقرة، لكنه لا يضمن بقاء كل بكسل دون تغيير.*

لا توجد وسيلة سحرية تمنع المولّد من ارتكاب الأخطاء. لكن أصبح هناك جواب واضح عن سؤال «إلى أين نعود عندما يبدأ كل شيء بالانحراف؟». ويتغير هدف التصحيح أيضًا: إنشاء المشهد المطلوب بالشخصية نفسها، بدل الاكتفاء بتحرير آخر نسخة فاشلة.

Render Eye: ما الموجود في العالم، وما الذي يظهر في الإطار؟

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

أي تفاصيل يجب رسمها؟ وأيها يجب أن يظل مخفيًا؟ وكيف نميز بين قفاز محجوب وقفاز نسي المولّد رسمه؟

لهذا أطور Render Eye. له مهمتان: إعداد المتطلبات قبل التوليد، وفحص الصورة الناتجة بعده.

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

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

![Render Eye قبل التوليد وبعده: تحدد أوصاف العالم والإخراج متطلبات الظهور والحجب، ثم تُفحص الصورة المكتملة وفق المتطلبات نفسها.](../assets/ai-film-crew-render-eye.webp)

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

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

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

المخرج: لماذا نحتاج إلى هذه اللقطة بالذات؟

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

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

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

لنأخذ جملة متخيلة: «سُمعت خطوات خلف الباب».

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

في قصة تحقيق، قد يوجه الممر نفسه الانتباه إلى دليل، وفي مشهد رومانسي إلى ترقب لقاء. ينشأ الفرق من قرارات محددة. إضافة «الأجواء: رعب» إلى التكليف لا تكفي وحدها.

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

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

ولا أريد استبدال المشهد الباهت بمجموعة آلية من المؤثرات. أحيانًا تكون الصورة الثابتة والقطع البسيط وغياب الموسيقى هي الاختيار الصحيح. يجب أن تكون للتقنية غاية.

مدير الجودة: هل تحقق ما قصدناه؟

قد تتقارب تسميتا «المخرج» و«مدير الجودة»، لكنني أفصل مسؤولياتهما. المخرج يبني إخراج المشهد، ومدير الجودة يفحص النتيجة.

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

هل غطت الواجهة غرضًا مهمًا؟ هل اختفت الشخصية المستمعة عند تغير الحوار؟ هل تستمر موسيقى الغرفة السابقة؟ هل انهار التكوين على الهاتف؟ وهل ينقل المشهد النبرة التي اخترنا من أجلها الضوء والوقفات والصوت؟

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

![توزيع الأدوار: يوجه النص الأصلي المخرج، ويجهز Render Eye الإطارات ويفحصها، ثم يُجمع المشهد وتُراجع جودته داخل اللعبة، وتعود الملاحظات إلى المرحلة المناسبة.](../assets/ai-film-crew-roles.webp)

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

والإنسان لا ينبغي أن يحرس المولّد باستمرار

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

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

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

هذه ليست وعدًا بتسريع المولّد نفسه عدة أضعاف. الأهم بالنسبة إليّ هو تقليل المرات التي يضطر فيها الإنسان إلى ترك ما يفعله لمراجعة جديدة.

فريق تصوير صغير بدلًا من تعليمة واحدة ضخمة

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

هذه مسؤوليات ضمن سير عمل الوكيل. ولا يعني ذلك تلقائيًا أن لكل دور بالفعل ذكاءً اصطناعيًا مستقلًا يعمل باستمرار. المهم حفظ القرارات، وعدم تغيير المتطلبات بأثر رجعي، ووضوح ما يجب فحصه مجددًا بعد كل تعديل.

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

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

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

العودة إلى مدونة التطوير