GD_Lecture_5_Story
تمام احنا المرة اللي فاتت بدأنا نتكلم على ال dramatic elements في ال
من ضمن يعني الـ elements بتاعة الـ game design كنا اتكلمنا على الـ game world و الـ character development في الأسبوع اللي قبل الـ mid-term النهاردة بقى هناخد حاجة تانية من الـ dramatic elements اللي هي الـ storytelling و الـ narrative
هنشوف ليه بن add stories للgames وإيه هي ال key concepts المتعلقة بال storytelling وإيه الفرق بين الlinear و ال non-linear stories وإزاي نقدر نعمل بقى design ل الconversations والdialogues جوا ال
الgame وازاي نكتب story طبعا بشكل مبسط يعني. ف ليه بنحتاج ليه الdesigners بيadd story ل الgames طبعا الstory المفروض انها بتزود من الentertainment اللي الgame بتعمل لها offering لما اربط الgame بتاعتي بstory معينة.
فده بيadd significant amount of entertainment ل الplayer وهو بيلعب بتattract wider audience لأنه ممكن يكون فيه audience حبهم لstory معينة هو ده اللي بيخليهم يشتروا game مثلا related للstory دي
وطبعا بالنسبة لتأثيرها جوه الgame نفسها انه لو الgame بتاعتي طويلة قوي او يعني طويلة ما هياش game قصيرة بتخلص احداثها بسرعة او بتخلص الchallenges بتاعتها بسرعة او بتاخد وقت من الplayer فبيبقى ساعتها
من الأفضل أنها يكون ليها story عشان player يفضل interested في الlong time ده يفضل دايما عنده interest إن هو يكمل الgame وطبعا أكيد بتhelp إن هي إن إحنا نبيع الgame زي ما قولنا كده عن طريق إن أنا ممكن أستفيد مثلا من story معينة
طيب هل كل الgames بتستفيد من الstories ولا لا؟ طبعاً في games بتبقى abstract ما فيهاش قوي الجزء الmagic circle والpretending اللي احنا كنا قولنا عليه فطبعاً دي مش بتحتاج ان احنا نحط لها story لكن
معظم الgames ممكن يعني وجود backstory ليها يفيدها حتى لو كان الbackstory دي حاجة بسيطة جدا زي مثلا المثال الشهير اللي هو بتاع Space Invaders أنه هي الbackstory بتاعتها هي مجرد سطر واحد أنه فيه aliens invading الplanet وانت الوحيد اللي هتقدر تنقذ الكوكب ومش عارفة ايه و الحاجات
فهو storyline بسيط خالص بس يعني بيدي معنى شوية ل اللعبة وفي نفس الوقت ما فيش اي داعي في الgameplay بتاع لعبة زي Space Invaders ان انا ازود اي احداث تانية او ان انا ازود في الstory اكتر من كده هي مش محتاجة اكتر من السطر
لكن طبعا في games تانية بتكون محتاجة بقى لأ يعني فعلا أحداث وconflict وresolution والحاجات اللي احنا عارفينها في الgames دي طيب لما اجي بقى أ design story أو أ add story للgame
هل المفروض ان انا اعمل story للgameplay ولا اعمل gameplay للstory؟ دي طبعا برضو قصة يعني ايه لازم ناخد بالنا منها. احنا متفقين من البداية انه احنا هدفنا الاول والاخير ان احنا نprovide entertainment ل الplayer
وإنه الmain component اللي بتأثر في حتة الentertainment والfun دي هي الgameplay فدايماً الgameplay هو الأساس أنا عايزة أ provide gameplay مسلي للplayer الplayer لما يلعبه يحس إنه هو مبسوط فدايماً تفكيري الأكتر بيبقى في الgameplay يعني مش إن أنا أحط story قوية قوي وألفق عليها gameplay أو إن أنا يعني أحط بس gameplay كده بس عشان
أعرض الstory بتاعتي لا هو الأساس هو الgameplay ولو الstory هتadd ليه okay لكن لو مش هتadd ليه يبقى الgameplay هو الأساس ويمكن أنا كنت أديتكم example لحد من زمايلكم من كم سنة كان عمل الGP بتاعه
Game واعتقد اني حكيت لكم القصة دي يعني كان هو يعني عنده فكرة معينة عايز يعمل لها presentation في الgame فكان مركز قوي على الgame على sorry  الstory
أكتر من تركيزه على الgameplay يعني هو كان بيفكر كل تفكيره من البداية في القصة أنا عايز أعمل القصة دي لكن لما جه بقى يdesign الgameplay فابتدى أنه هو مش عارف إزاي يحط gameplay مناسب للstory دي فابتدى أنه هو بقى يفكر في أي puzzles يحطها طب هعمل كذا طب هعمل كذا
فمع الوقت ابتدى يحس انه الgameplay مش هو ده الحاجة الفظيعة يعني اللي هتشد الplayer وده نتيجة انه هو لما بدأ ما بدأش بانه يفكر في gameplay لا هو بدأ بتركيزه على الفكرة الفلسفية والstory اللي هو كان عايز يعرضها
فدايماً الgameplay هو الأساس. طيب. ايه هي الfactors بقى اللي بت affect how much of a story a game should include؟ طبعاً طول الgame. هل الgame قصيرة ولا طويلة زي ما قلنا. لو الgame بتاعتي بتخلص بسرعة فالstory مش هتبقى حاجة يعني أساسية وملهاش لازمة.
الcharacrers اللي الplayer بيلعب بيهم جوه الgame ممكن يكون character ليه قصة والقصة دي هتفيد في مدى إحساس الplayer بالارتباط بالcharacter ده وإنه عايز يكمل الgame ويوصل للchallenge أو للgoal بتاع الgame. هل الgame بتاعتي realistic ولا لأ, الdegree of realism اللي أنا عايز أحافظ عليها جوه الgame بتاعتي دي برضو
بتأثر في أنا محتاجة أحط story قد إيه جوه الجيم. وطبعاً الemotional richness, طبعاً الstory أكيد هتadd emotional richness للgame بتاعتي فده برضو حسب أنا عايزة أ add في الdimension ده قد إيه زي ما شوفنا كده وإحنا بنتكلم على ال game world إنه فيه emotional dimension فقد إيه أنا عايزة
أstress على الـ dimension ده فهيبقى برضو ده الـ story بتساعد على تحقيقه. طيب يعني إيه بقى Interactive Storytelling؟ الـ Interactive Storytelling طبعاً ده related للكلام اللي إحنا بنتكلم فيه لأنه دايماً لما الgame بحط فيها story بيبقى كأنه الـ player بيـ interact مع أحداث الـ story
فهو إيه الـ Interactive Storytelling؟ هو عبارة عن form of digital entertainment بيبقى الـ storyline فيه not predetermined يعني مش لازم يكون الـ storyline هو ثابت لكن الـ player بيقدر عن طريق أو عموما يعني اللي بيـ interact مع الـ story دي ممكن عن طريق actions معينة يغير الـ storyline
أو يخلي الأحداث بتاعة الstory تتغير فده بنسميه Interactive Storytelling. فحالة ال Interactive Storytelling ده بيكون ال narrative self-generated يعني كل بناء على الوضع اللي موجود دلوقتي بيبتدي يحصل generation ل narrative مختلف في كل مرة ال user بي interact مع ال story
والايفوليوشن بتاع الناراتيف والاحداث بتبقى بتتأثر في الريل تايم بالاكشنز بتاعة اليوزر طبعا الانتر اكتيف ستوري تيلينج ده بيبقى معتمد مينلي على الاي يبقى فيه عندي اي اي موديول الاي موديول ده قادر انه هو اشتركوا في القناة
ي generate storylines يعمل creation ل storylines بناء على ال interaction بتاعة ال user فده طبعا بيبقى based mainly على ان انا يبقى عندي AI قوي جدا يعني وطبعا ده ممكن ان احنا نحطه جوه ال game لو احنا عندنا
القدرة على اننا نعمل جزء ال AI ده اللي هو هيعمل لي Interactive Storytelling جوه الgame بتبقى حاجة كويسة وبيفيد طبعا في ال marketing ممكن يستخدم كتير قوي برضو في حتة ال education انه كل ما ال player يعني لو عندي بقى game بتعلم حاجة معينة فيبقى بناءا على ال response بتاع ال player كل ما هيبتدي ال level بتاعه يتغير وكل ما
ويبتدي مدى تعلمه للحاجة اللي أنا عايز أعلمها له من خلال ال game دي يتغير كل ما الـ AI يبتدي ي generate ليه challenges مختلفة و story مختلفة بناءً على الـ interaction بتاعه. طيب في بقى مجموعة من الـ key concepts اللي إحنا لازم نكون عارفينها ونتعامل معاها في قصة الـ story والـ narrative
أولا يعني إيه story أصلا إيه هي ال story؟ ال story هي عبارة عن account of a series of events either historical or fictitious مجموعة من الأحداث تاريخية أو من وحي الخيال فدي هي كده بنسميها story. ال good story المفروض أنها ت maintain شوية حاجات كده. أولا أنها تكون credible
اللي بيسمعها أو اللي بيشوفها أو بي interact معاها يقدر يصدقها وده من خلال ال characters اللي موجودة في ال story ومن خلال ال plot بتاع ال story نفسه وطبعاً ده بيبقى معتمد على ال target audience وهما يعني مدى استيعابهم وتوجههم عامل إزاي
لازم ال good story تكون coherent ولازم يكون الأحداث بتاعتها كلها ليها dramatic meaning. لما بن add بقى story جوه ال game بتاعتنا احنا يمكن شفنا ال architecture دي كذا مرة بأشكال مختلفة
لما بيكون عندنا storytelling جوه ال game بتاعتنا, interactive story جوه ال game بتاعتنا طبعا بتبقى مرتبطة بشكل كبير جدا بال events اللي بتحصل جوه ال game فإحنا كنا قلنا قبل كده أنه user interface بياخد ال inputs ويعمل لها interpretation لمجموعة من ال player events
كنا اتكلمنا على الموضوع ده و احنا بنتكلم على ال core mechanics ودوره في ال game وبعدين ال core mechanics بت respond لل player events دي ب in-game events ولو ال player events دي هت trigger حاجة من في ال story فبيبتدي ال core mechanics ي trigger ال storytelling engine فيطلعلي narrative events
كل ده طبعاً بيروح للـ user interface الـ player events لو أنا بقى هعمل يعني هـ add story جوه ال game بتاعتي فهنا الـ player events بتنقسم لنوعين يعني الـ player events دي اللي هي
interpreted من الـ actions اللي بيعملها الplayer ممكن تكون events ليها علاقة بال game play بس ملهاش علاقة بال story وممكن تكون events بتغير في الأحداث أو ليها علاقة بالstoryline اللي هي بنسميها dramatic events
فلو الـ events دي هي Dramatic Events فساعتها هتكون هي دي اللي بتعمل triggering لل Storytelling Engine فيبتدي يطلع الـ narrative بناءً على الـ events اللي حصلت دي. الـ Narrative Events ما بيبقاش لل player control عليها يعني هي دي حاجات بتبقى generated من الـ Storytelling Engine
بناء على حاجة عملها ال player لكن ال player once انه الـNarrative Events دي طلعت هو ما يقدرش يغيرها يعني دي بتبقى حاجات موجودة already في الـStorytelling Engine وال player ما يقدرش يغيرها لكن يقدر انه هو بناء على الـevents اللي بيدخلها يـ trigger حاجات معينة في الـnarrative ده
طيب يعني ايه بقى interactive story؟ ال interactive story هي عبارة عن story  ال player بيقدر يـ interact معاها عن طريق انه يـ contribute بـ actions معينة حتى لو actions دي مش بتـ change الdirection بتاع الplot ولكن هي بتـ trigger ال narrative
فساعتها برضو بنقول ان دي interactive story لانه ال narrative ده مش هيبقى generated إلا لما ال player يعمله triggering ب actions معينة. حتة بقى انه ال player بيتـ change الـ direction بتاع ال plot ولا لأ دي انه هل ال storyline ثابت ولا iيتغير بناء على ال player actions لكن ال generation بتاع الـ
أنه مجرد أنه الـ Storytelling Engine بيـ respond ل actions الـ Player عاملها سواءً هو بقى بيطلع حاجات pre-stored جواه وخلاص أو أنه هو بيـ respond  بطريقة more intelligent وبيتغير الـ plot بناءً على ال actions دي في الآخر ده كله بنسميه Interactive Story. هنا برضو فيه term بيدخل في القصة دي اللي هو الـ Agency.  الـ Agency
يعني إيه؟ الـ Agency هي الـ power to change the direction of the plot اللي هو الـ story's future events. قد إيه الـ player عن طريق الـ actions بتاعته يقدر إن هو يغير الـ direction بتاعت الـ plot كل ما كان عنده power أكتر كل ما دي كانت بنقول إن هي في agency أكتر للـ player
وطبعاً ال feeling بتاع ال agency ده feeling لطيف ال players بيحبوه إنه هو قادر إنه يغير الأحداث بال actions اللي هو بيعملها ده طبعاً بيبقى feeling لطيف ال players بتحبه لكن طبعاً بي add لل complexity بتاعت ال game أكيد يعني هي فيه trade-off كده بين ال complexity بتاعت ال development
و الagency بتاعة ال player. طيب لما جي ا design Interactive Story في ال game بتاعتي ايه هي ال design tips اللي انا لازم اخد فيها اخد بالي منها؟ اولا احنا قلنا ان فيه actions بتبقى dramatic.
ليها علاقة بالأحداث وفيه actions بتبقى non-dramatic ليها علاقة بال gameplay بس فناخد بالنا أنه حتى actions اللي هي non-dramatic ممكن يبقى ليها يعني ليها معنى برضو related لل story مش لازم تكون أنها بتحرك حاجة في ال storytelling engine لكن هي برضو مرتبطة somehow بالأحداث بتاعت ال game ما هياش حاجة
بعيدة عنها خالص طالما أنا هعمل interactive story فمش المفروض أن أنا أدي ال player إمكانية أن هو يعمل حاجة تخرجه برا ال storyline أو ملهاش علاقة خالص بالstory طالما أنا اخترت أنه أنا ماشي في interactive story أو أنه ال game بتاعتي هتinclude interactive story
يبقى المفروض انه ال player الحاجات اللي يقدر يعملها هي الحاجات اللي ليها معنى جوه الـ story ما ينفعش تبقى حاجة بعيدة. لازم ادي او ا incorporate في الـ game بتاعتي mechanism يخلي ال plot يـ move forward يخلي الاحداث يحصل فيها progress وهكذا
فلازم دي بتبقى جزء من الـ development برضو بتاع الـ game إن أنا أحط الـ mechanism ده اللي هيحرك الأحداث طول ما الـ player بيلعب واشوف بقى الأحداث هتتحرك بأنهي pace ومرتبطة إزاي بالـ actions والكلام ده كله. طيب خلينا كده نفكر مع بعض في game لعبناها
ونشوف لو هي ليها story ايه اللي كان حلو في ال story دي او ما كانش حلو, هل ال story contributed لل play experience ولا لا, ولو كانت ال game ما فيهاش story اللي حد منكم يعني هي comment عليها
ممكن يفكر هل لو أنا عملت add لstory ها benefit ال game دي ولا لأ وممكن يبقى إيه الplotline اللي أ addوا للجيم دي. نفكر كده شوية ولو حد عنده اه
example يقولهولنا.
to the game أو ال current level اللي هو بيلعب فيه بي add لل richness بتاعة ال world وال story وأحيانا في بعض ال games بتستخدم ال narrative ده كنوع من أنواع ال reward لما ال player ي achieve major goal في ال game زي ال example اللي أنا قلته كده من شوية فيعرض له narrative as a reward
فدايماً لازم اعمل provision ل button ي allow ال player انه ي skip ال sequences دي ويروح لأي حاجة كانت هتحصل بعديها لأنه زي ما قولنا لو انا بلعب ال game كذا مرة وعرفة already الحاجة اللي هتحصل دي او ال narrative اللي هيتعرض هو ايه شفت ال cut-scene ده قبل كده فهيبقى شيء ممل بقى ان انا ابقى مضطرة ان انا اشوفه كل
ودي برضو من الحاجات اللي انا شوفتها بعيني يعني في ال example بتاع زميلكم اللي انا دايما باضرب المثل بيه لان هو برضو هنا عشان التفكير الادبي اللي كان عنده يعني فكان برضو ال narrative عنده في الاخر خالص عشان ركز على الحتة دي فكان ال narrative ممل جدا
يمكن كنت قلت لكم الفكرة بتاعت الـ game بتاعته إنه حد صحي لقى نفسه في مكان ومزروع جوا حاجة يعني لقى صوت بيكلمه وطلع إنه هو مزروع جوا AI وفيه دايما conversation بينه وبين الـ AI إنه هما بيحاولوا يـ adaptوا مع بعض عشان يهربوا من المكان اللي موجود وحاجات زي كده فكان دايما الـ conversation بين
Ash و Eve اللي هما ال AI و ال person اللي كانوا ال player يعني كان دايما كتير كتير كتير عمالين يحكوا ويردوا على بعض كانت دي في الاخر عشان برضو ماخدش باله من الحتة دي فكانت دي من الـ drawbacks اللي هو وقع فيها لكن الحقيقة كان عامل يعني option ان هو يقدر مش يـ skip لكن يسرع يعني يقدر ان هو يمشي بسرعة شوية وكانت دي في الاخر عشان برضو ماخدش باله من الحتة دي
عن أول مرة يعني ال player هيلعب يعني. طيب برضو زي ما قولنا كده ال story وال gameplay برضو قد ايه احط narrative وقد ايه احط gameplay
طبعا لو أنا زودت الناراتيف قوي خليته أنه هو أزيد من الجيم بلاي فطبعا ساعتها البلاير مش هيبقى عنده حاجات كتير يقدر يعملها نحن قلنا الناراتيف ده حاجة presentational والبلاير ملوش control over it فبالتالي ده هيخلي أنه البلاير بيحس أنه هو عارف إلا هيحصل في الآخر وهو خلاص فيه حاجة لازم حتحصل الconclusion معروف
فده طبعاً بتبقى حاجة بتقلل من الانترتيمن بتاعت الجيم فناخد بالنا دايماً إنه حتى لو النهاية معروفة بتاعت الستوري لكن البلاير بيحب يحس دايماً إنه عنده كنترول وإنه الأكشنز بتاعته بتكونتريبيوت للبلوت فده طبعاً هيحصل أكتر في الانترأكتيف ستوري تيلينج مش في الجزء بتاع الناراتيف فدايماً الناراتيف تبقى
كميته في الجيم قليلة فده بالنسبة لإنه أحط ناراتيف يعني أن أنا أزود الناراتيف عن اللازم برضو لو الجيم بتاعتي محتاجة ناراتيف يوضح حاجة للبلاير
فالمفروض برضو ان انا ما اقللش منه too much يعني دايما اخلي فيه enough narrative يعمل enrich للgame world ويمотивيت البلاير مثلا لو هو عنده options مختلفة فممكن اخلي فيه NPCs بتعمل معي conversation وتقوله تحب تمشي كده ولا تمشي كده تحب تختار الoption ده ولا ده لو مشيت كده ده هيحصل لو مشيت كده كده ده هيحصل طب تحب تجرب كده فيبقى فيه دايما ايه enrichment لل
والجيم ويرد وممكن استعملها كمعلومات كمان كهنتز تدي البلاير برضو حرية في ان هو يختار الترق اللي هيمشي بيها في المراحل اللي بعد كده
إفتح، ف snipedم لا يبقى خطأ ردد. هنا بردو في ديزاين رو ، مهمة. في الجزء اللي أنا ببروفايد فيه أو ببريزنت فيه بتاعة الجيم ما بتبقاش حاجة كويسة إنه في الفترة دي
البلاير يفقد الكنترول على الأفاتار اللي هو بيلعب بيه المفروض أنه الطبيعي أنه دايماً البلاير هو اللي بيكنترول الأفاتار فمخليش أبداً أنه وقت ما أنا بعرض الناراتيف أو وقت ما فيه مثلاً حاجة معينة ما هيش البلاير بيكونتريبيوت فيها
يلاقي انه الأفاتار بيتحرك مثلا من غير ما هو يحركه بيعمل actions هو ما خلهوش يعملها فدي ما بتبقاش حاجة كويسة لازم انه يفضل الكنترول بتاع الأفاتار في ايد البلاير حتى أثناء ما أنا بعرض narrative
في خلال الجيم برضو هنا فيه design rule مهمة أنه لما أجي أعرض النراتيف في الجيم ما تبقاش بتتعرض بشكل random المفروض أنه النراتيف يتعرض في المكان بتاعه الصح اللي هو يعني حي add لل richness بتاعة الجيم وزي ما قولنا كده في المكان يعني أوظفه صح أو
ووظفه في المكان الصح وفي الأوقات الصح لكن ما خليهوش حاجة راندم مجرد إنها كده بتدستروي الـ dramatic tension بتاعة الجيم وفي نفس الوقت الـ narrative ما يبقاش بيكرر نفسه كتير يعني ما يبقاش الـ narrative هو هو
نفسه كل مرة حتى لو كان الجيم بلاي بيتكرر والشالنجز بتتكرر وانا هعرض الناراتيف ده كنوع من الريورد مثلا او حاجة اغير في الناراتيف ده مخليهوش بيتكرر عشان ده هيبقى شيء ممل بالنسبة للبلاي طيب تالت كومبونت بقى هنتكلم عنه احنا اتكلمنا عن الستوري
وتكلمنا على الناراتيف نيجي بقى للستوري تيلينج إنجين طبعاً الستوري تيلينج إنجين إحنا قلنا من البداية أنه ده optional component مش شرط أنه هو يكون موجود في كل الجيمز لأنه وجود الستوري نفسه في حد ذاته ده شيء optional وهو ده طبعاً بيبقى دوره أنه هو يمنج الناراتيف events
في الجين من وظائف الستوريتيلينج انجين برضو انه لو في عندي موفيز او كات سين فالستوريتيلينج انجين هو اللي بيعرضها هو اللي بيقدر يكيب تراك للبروجرس بتاع الستوري ويحدد
ايه هي الاحداث اللي حصلت وبالتالي احنا دلوقتي في انهي من البلوت وبالتالي ايه من البلوت اللي المفروض يعرضه اه خلال طبعا من خلال اللي هو بيديها او من خلال بقى انه يعني بيغير
الجيم ويرد بقى وكل الحاجات دي بناء على بيتغير ازاي. ماشي ممكن انت بقو تشوفوا دي انتوا بعد كده. ايه هي انواع الستوريز بقى?
فيه نوع من أنواع الستوريز اسمه لينير ستوري اللينير ستوري بتبقى ستوري معروف البلوت لاين بتاعها الستوري لاين محدد من الأول البلاير بيينتر اكت مع الستوري لاين ده لكن في الآخر هو ما بيغيرش الكونكلوجن ولا بيغير
الprogress بتاع الأحداث بيحصل ازاي فدي بنسميها linear story فدايما الinteractions بتاعة البلاير بتبقى عبارة عن مجرد ان هو بيinteract مع الأحداث اللي هي predetermined ايه هي بقى الpros والcons بتاعة linear stories طبعا ده شكل بيوريني يعني شكل linear narrative ده بيبقى عامل ازاي هو 190
بعدها conflict بعدها resolution مشيين في straight line محدد من البداية طيب ايه المزايا والعيوب بقى طبعا هو الcontent اللي انا بحتاج احطه في الstory دي بيكون اقل من non-linear stories وبالتالي بيكون الstory telling engine اسهل
فهو يعني أبسط في الإمليمنتيشن في الديفلوبمنت بيبقى less prone to bugs لأنه خلاص هو الستوري لاين معروف ومتحدد من البداية فما فيش احتمالية كبيرة لأنه تحصل bugs أو أنه player يعمل حاجة فاتطلع لي حاجة أنا مش عاملة حسابها والكلام ده كله
وطبعا عيوبه بقى انه بيدناي الplayer agency يعني هنا الagency بتاعت الplayer بتبقى قليلة لانه مش بيغير في الاحداث ومش بيغير في الstoryline الnon-linear stories ده النوع التاني من الstories اللي هي non-linear
ودي بقى بتخلي البلاير يقدر يينفلونس الفيوتر ايفنتس ويغير الديركشن بتاع الستوري وهنا فيه تلت أنواع من الـ Non-Linear Stories فيه حاجة اسمها الـ Parallel Narratives وفيه حاجة اسمها الـ Branching Stories وفيه حاجة اسمها الـ Open World Stories
بالنسبة لل branching stories زي ما احنا شايفينها كده هنا في الجراف ده بيبقى فيه عندي exposition بعد كده فيه اكتر من track ممكن تمشي فيه story مش زي linear انا همشي من هنا لهنا خلاص ده حاجة ما فيهاش options تانية لا الparallel narratives ممكن ان انا الاقي اشتركوا في القناة
tracks مختلفة ممكن البلاير يمشي فيها ممكن option مختلف يوديه لطريق مختلف وبعدين فيبقى عندي different possible plot lines والdifferent possible plot lines دي بتديني different experience كل مرة البلاير حيلعب ممكن ان هو يختار option مختلف وبالتالي يبقى عنده experience مختلفة
في الحالة دي طبعاً بيحتاج ال storytelling engine بقى أنه هو يعمل tracking للbranching points عند كل مكان أنا هتفرع فيه يبتدي يشوف ال decision بتاع ال player كان إيه وبناءً عليه هو مشي في أنهي طريق وبناءً على الطريق اللي هو مشي وده عند ال branching point الأولانية أنا هودديه فين بعد كده
فدائماً بيبقى تضييط طبعاً واضيفة من وظائف ال storytelling engine في الحالة دي. وطبعاً هنا ال agency بتزيد كتير عن ال linear story. فهنا حنلاقي بقى. اه
ان انا زي ما قولنا كده بيبقى عندي اكتر من option، الاكتر من option دول في الغالب بلاقيهم بيوصلوني دايما بيتجمعوا تاني عند branching point تانية وبعد الـ  branching point دي الـ player برضو بياخد decision فالـ decision ده يوديه لطرق مختلفة وهكذا. فدايما بيبقى في عندي branching وبعدين بيتجمعوا، branching وبعدين بيتجمعوا
وهنا بقى بيبقى عندي أكتر من structure يعني هل أنا لما باخد decision معين اللي هما زي ما احنا شايفين كده الأنواع التالتة اللي موجودين دول الـ immediate و الـ deferred  و الـ cumulative
الـ immediate اللي هو once أن أنا أخدت الـ decision عند الـ branching point دي، فأنا على طول بتنقل لـ الـ storyline بتاع المبني على الـ decision ده في نفس الوقت اللي أنا أخدت فيه الـ decision
الـ deferred أنا خدت القرار دلوقتي بس مش لازم أنه يعني في نفس اللحظة اللي أنا خدت فيها decision أ branch في نفس اللحظة للـ storyline اللي مبني على الـ decision ده ممكن يكون الـ branching ده مؤجل شوية فهو بيبقى مؤجل شوية
في الأحداث لحد ما اوصل لعند الـ branching point وفيه بقى بيبقى cumulative يعني كل decision يعني بيبقى الـ options اللي بتظهر لي عند الـ branching point مش معتمدة بس على الـ decision اللي أنا خدته عند الـ branching point دي لا كمان معتمدة على
decision اللي انا اخدتها عند branching points اللي قبلها. فده منسميه cumulative. فدي كلها اشكال ل branching stories ممكن نلاقيها. هنا ناخد بالنا بقى برضو من design rule اللي هي be clear about consequences. دايماً طالما player عنده options.
في decisions هياخدها هتغير من مصار الأحداث يبقى لازم يبقى عنده reasonable amount of information إيه هي الconsequences بتاعت الـ decision ده. ما يبقاش هو بياخد الـ decision هو مش عارف خالص ما عندوش أدنى فكرة إيه اللي هيحصل بناء على القرار اللي هو أخده ده فبيبقى هنا من المهم إن أنا أديخ adequate amount of information عشان
يبقى عارف إيه اللي هيحصل بناء على الـ decision بتاعه ومخليش الـ trivial decision حاجة يعني decision مهواش حاجة dramatic قوي يعني ويبقى مبني عليه تأثر كتير في الـ outcome بتاع الـ game
طيب ايه هي الـ disadvantages بتاعت الـ Branching Stories طبعا احنا قلنا انه الـ advantage بتاعتها ان هي بتدي agency اكتر للplayer الـ disadvantage بتاعتها انها طبعا Expensive to implement الـ complexity بتاعتها بتبقى عالية جدا خصوصا لو كانت بقى الـ Branching
كتير. وبرضو من عيوبها انه الـ player عشان يعرف كل اللي حصل في الـ game لو الـ branches بقى بتاعتي كتير والـ options كتير وكل option بينتهي نهاية غير التاني، فالـ player عشان يعرف بقى كل اللي أنا حطه في الـ game فبيبقى محتاج انه يلعب الـ game مرات كتير قوي قوي قوي عشان
ياخد بقى كل الـ combinations الممكنة ما بين كل الـ decisions الممكنة عشان يبقى عارف كل الـ gameplay اللي موجود عندي في الـ game. طيب الـ Foldback Stories بقى
زي ما قولنا كده هي بيبقى عندي الـ plot بيـ branch مجموعة من المرات لكن eventually بيـ foldback to a single inevitable event يعني دايما بعد ما بعمل branching branching branching لازم بلاقي الbranches دي كلها قعدت تقرب تقرب من بعض لحد ما بيـ foldوا back لازم تاني لـ event معينة كلهم بيروحوا لها في الآخر اللي هي بنسميها inevitable
event، بعد الـ Inevitable Event دي يبتدوا يـ branchوا تاني وبعدين يــ foldوا back لـ Inevitable Event وهكذا. الـ Foldback Stories بتبقى طبعاً بتدي الـ player agency بس بطريقة limited شوية عن الـ Branching Stories لأنه الـ Branching Stories هفضل ماشية في الـ tree كده لحد ما اوصل للـ leaves
مش بـ foldback فبتبقى الـ complexity بتاعتها أعلى بكتير الـ agency أعلى لكن الـ complexity برضو عالية جدا الـ parallel stories أو الـ foldback stories بتدي agency بس بـ limited amount فبتبقى طبعا الـ complexity بتاعتها أقل من الـ branching stories
وبتبقى أسهل منها في الـ implementation كتير. ثالث نوع بقى اللي هو الـ emergent narrative. الـ emergent narrative ده طبعاً أصعب نوع في الـ في الثلاث أنواع اللي هو بقى الـ storytelling بيبقى produced entirely by player actions and in-game events. ده بقى طبعاً مبني على الـ AI بشكل كامل.
وبيبقى الـ storyline ده حاجة بقى adaptive كده بتظهر بناء على الـ player بيعمل ايه. فهنا ما بيبقاش عندي لازم separate storytelling engine
لأنه Storytelling Engine بيبقى عنده storyline هو عارفه وهو بـ keep تراك للـ progress بتاع الأحداث ويشوف إيه اللي حصل فاللي جاي هو كذا والكلام اللي إحنا قلناه ده فحالة الـ emergent narrative بقى هو الـ AI هو اللي بيعمل كل ده خلاص أنا يعني بناء على الأحداث أو الـ actions بتاعة الـ player والـ events اللي بتحصل في الـ game بيتعمل creation لـ
narrative أو storyline جديد خالص ما حدش شافه قبل كدة وبالتالي ما فيش حاجة بقى storytelling engine يقعد يـ keep track هي بتحصل إزاي وإيه اللي قبلها وإيه اللي بعدها والكلام ده. فهنا هنلاقي إنه في أي حاجة ممكن تحصل زي ما قلنا كده بيحصل creation لـ storyline جديد خالص
و أي حاجة ممكن تحصل أي حاجة الـ player ممكن يعملها as long as انه الـ core mechanic بتـ allow انه ده يحصل و طبعا ده بيدي more agency للـ player في مقابل الـ complexity. هنا برضو من الـ factors اللي بتأثر في الـ
النوع ده من أنواع الـ stories إنه في الآخر إحنا قلنا أنا عندي بـ design core mechanics معينة الـ core mechanics دي هل هي تقدر تـ respond لـ الـ human behavior ولا لا
يعني لازم اخد بالي في الـ emergent narrative ده انه الـ human behavior يعني الـ player حسب ما هيشتغل حسب ما او حسب ما هيبتدي يعمل events يعني يعمل actions في narrative هيبقى created طيب هو الـ mechanics
هتقدر تـ adapt قد إيه للي بيحصل ده دي ده factor مهم جدا طبعا لازم ناخده في اعتبارنا. هل الكلام ده موجود ولا لا طبعا لسه مش موجود بشكل commercial يعني، لسه ما بقاش في الـ commercial software
اللي يقدر ان هو يعمل لي emergent narrative كلها لسه حاجات experimental وابحاث في طبعا في الـ field بتاع الـ AI لكن لسه ما بقاش فيه حاجات stable و commercial نقدر نستخدمها ك emergent narrative في الـ stories. طيب بالنسبة بقى لـ الـ scripted conversations
الـ scripted conversation بتخلي الـ player يقدر يـ engage في conversations مع الـ NPCs لما يكون في عندي storytelling في الـ game بتاعتي وفي الـ scripted conversation الـ gameplay mode بيتغير
ما بين أنه الـ player كان بيلعب لي أنه دلوقتي هو عنده limited set of actions هو بيعملها عشان يختار من الـ scripted conversations دي الإجابات مثلاً اللي هو هيقولها أو كده
فمثلا دي examples اللي احنا شايفينها دي examples لـ scripted conversations انه يبتدي يظهر conversation معينة ممكن مثلا الـ NPC يقول لي حاجة معينة ويظهر لي مجموعة من ال options اللي انا ممكن ارد بيها على الـ NPC فانا بختار في الوقت ده انا بختار الاجابة اللي انا عايزاها و بناء على الاجابة دي الـ NPC هيـ interact معايا بطريقة معينة وتظهر لي الـ options اللي انا هاختارها وهكذا فدي
بانقل الـ player من mode اللعب اللي هي الـ play الاساسي يعني الـ gameplay الاساسي لـ mode تاني ان هو بيعمل الـ conversation دي مع الـ NPCs وطبعا اكيد الـ options اللي هو بيختارها دي هيبقى ليها تأثير بعد كده على الاحداث بتاعة الـ game. الـ dialogue الـ scripted conversations
ممكن نعمل لها design في صورة الـ dialogue tree زي اللي موجودة كده قدامنا دي ان انا ببتدي هنا مثلا بحط الجملة وبعدين ببتدي اشوف الـ options ايه اللي ممكن يترد بيه على الجملة دي فهو هيتعرض له الـ two options دول وهو هيختار واحدة منهم والله لو رد كده فانا هعرض له بعديها
الجملة دي أو السؤال ده وهيجاوب يا كده يا كده وهكذا، فدي بتبقى طريقة الـ design لـ الـ scripted conversation ودي طبعا بتبقى طريقة formal لإن أنا أ design أو أ document  الـ conversations اللي أنا هعمل لها
embedding جوا الـ game بتاعتي. طيب اه يعني هنا الـ slide دي بيوصف لي هي ايه الـ game tree دي ان انا عندي كل node بتقول لي مكان الـ conversation دي فيه ممكن تعمل branching.
وبالتالي أنا كديفيلوبر بقى أنا يعني كدزاينر بعمل البرانش دي والإجابات المختلفة بتاعتها الديفيلوبر بيعرف أنه هو هنا عند المكان ده هيكشنج المينيو لالبرانش ده أو البرانش ده الإجابات المفروض تتقال هنا أو الإجابات المفروض تتقال هنا
وهكذا. ده شكل تاني برضو من اشكال الـ Dialogue Trees طريقة design للـ Dialogue Tree انه مثلاً هنا بيقول لي هيقول الجملة دي وكاتب هنا طريقة حتى القاء الجملة دي هتبقى ايه. وبعدين
والله لو جاوب الإجابة دي فالمفروض إن هو هيمشي لـ الـ في الـ track ده. فهيظهر له بقى الـ conversation دي لو رد كده هيمشي كده لو رد كده هيمشي كده وهكذا. في نوع تاني من أنواع الـ design للـ Scripted Conversations اللي هو الـ Text Dialogue Approach. إن أنا أبتدي أكتب الـ dialogue ده.
ك text. زي ما احنا شايفين كده هنا مثلا انه الـ player هيقول بشكل polite الجملة دي. الـ response هيبقى كذا. فالـ action اللي هيحصل بناء على الـ response ده ان انا هعمل واحد اتنين تلاتة وبعدين أ add كذا.
فهيدخل على الـ exchange اللي بعده فالـ player يقول كدة والـ response هيبقى كدة فبتدي أ document كل حاجة ممكن تحصل في الـ ايه في الـ conversation دي. طيب بالنسبة بقى للـ stories أكتب الـ story إزاي وإمتى
الـ story ما بتتكتبش في الـ concept stage بتاعت الـ design لكن بتتكتب بعد كده في الـ elaboration stage و ده طبعا ليه؟ لأنه أنا مش المفروض أنه يبقى هدفي الأساسي هو الـ story الـ story بستخدمها عشان تـ add لـ الـ gameplay لكن ما بتبقاش هي الهدف الأساسي وبالتالي اللي بعمله design في الأول خالص اللي بركز عليه هو
الـ role بتاعت الـ player و الـ gameplay اللي هيلعبه و الـ core mechanics اللي هحطها في الـ game بعد كده بتبقى الـ story بقى في الـ elaboration stage وقتها بقى بحتاج إن أنا أخد decision الـ plot بتاعي هيبقى linear ولا non-linear ولا branching ولا إيه بالظبط
لو هـ add narrative فايه نوع الـ narrative اللي انا هحطه وهيتعرض امتى وشكله ايه وهنا طبعاً بنقول انه الافضل ان احنا نـ avoid الـ linear stories لانها ما بتبقاش حاجة مسلية اوي بالنسبة للـ player وما نحطش large amount of narrative
ك design rule برضو هنا be a game designer not a film maker. لازم ناخد بالنا ان احنا هنا مش بنعرض قصة او بنعمل فيلم احنا بنعمل game فيبقى الهدف الاساسي هو الـ gameplay و الـ challenges والكلام ده والاحداث بتاعت الـ story دي حاجة مكملة
بنكتب story ازاي بقى اعتقد يعني معظمكم خد الكلام ده في الثانوي انه الـ story بيبقى ليها طريقة معينة في كتابة الاحداث بيبقى فيه بداية وبعدين بيبتدي يبقى فيه climax بعد الـ climax ده بيحصل
في rising actions بعد الـ rising actions بيبتدي بقى يبقى في او ascending actions زي ما هي مكتوبة هنا وبعد كده بيبتدي بقى يحصل الـ resolution فيحصل الـ descending actions وهكذا. عشان نكتب بقى نـ design الـ story دي ممكن نكتب story synopsis الـ story synopsis دي بنبتدي نجاوب على الأسئلة اللي موجودة عندنا هنا
احنا فين وامتى حصلت الـ story دي. في الـ story دي المفروض مين الشخص المهم بالنسبة لنا اللي بتقوم حواليه الاحداث الـ protagonist
بتاعة الـ بتاع الـ game ده وإيه دوره إيه هي بقى الحاجات اللي بتـ oppose الـ protagonist ده مين هم وإيه ليه بيعملوله opposition وإيه نوع الـopposition ده الـ characters دي محتاجة أن هي تعمل إيه
و إزاي الـ actions بتـ rise وإزاي الـ final crisis هتحصل وإزاي الـ resolution هتحصل مع ان الإجابات على الأسئلة دي بيبقى أنا كده بكون الـ story synopsis ممكن إن إحنا نعمل برضو idea sheets الـ idea sheets دي بقى بنبتدي لكل
جزء من الاجزاء اللي احنا محتاجينها في الـ story نعمل idea sheet فبنعمل idea sheet للـ game goals  بنعمل idea sheet للـ protagonist زي ما شوفنا كده في الـ character design المرة اللي فاتت ان انا ممكن اعمل idea sheet للـ character سواء بقى كان protagonist او antagonist ابتدي اعمل idea sheet للـ settings و الـ level اللي هي تعتبر ال
world design زي ما شوفنا برضو في المحاضرة اللي فاتت. وكده يعني عن طريق ان احنا نمشي على الخطوات دي بنكون قدرنا ان احنا نكتب الـ story الـ
موجودة في الـ game بتاعتنا. As a summary طبعا ما عندناش single right way نـ design بيه Interactive Story كل طريقة من طرق الـ design ليها  الـ pros و الـ cons بتوعها. لما نيجي نـ add stories و narrative او نعمل storytelling جوه الـ game بتاعتنا لازم ناخد بالنا ان يكون ال storytelling ده
هيـ contribute في الـ game وهيـ add للـ richness بتاعتها ما يبقاش حاجة باضيفها وخلاص الـ homeplay بقى بتاع المرة دي لو الـ game بتاعتنا ليها story أنا فاكرة أنه في بعض الأفكار كانت ليها stories حتى لو
stories بسيطة يعني فنحاول ان احنا نكتب ال game story synopsis ونعمل لها add على الـ design document بتاعتنا. المرة الجاية ان شاء الله بقى هنشوف الـ user interface وممكن نبتدي في الـ AI او نأجلوا لمحاضرة بعد كده.
يعني يمكن بنهاية الـ UI هنكون خلصنا جزء الـ design وباقي المحاضرات هنتكلم فيها شوية عن بعض الـ بعض الـ AI techniques اللي بنلاقيها بشكل كبير يعني في الـ games
في مرحلة الـ development طبعا أكتر يعني لكن مع نهاية الـ user interface هنكون خلصنا الجزء بتاع الـ design. طيب أنا كده خلصت في أي أسئلة
تمام في احتمال الأسبوع الجاي مش عارفة احتمال يكون يعني في احتمال ان انا مقدرش ادي محاضرة الأسبوع الجاي لانه هيبقى مؤتمر الكلية فـ
يعني هبعت لكم قبلها بفترة إذا كنت هقدر أدي المحاضرة في معادها ولا هنـ cancel محاضرة الأسبوع الجاي إن شاء الله. شكرا يا شباب واشوفكم على خير. شكرا يا دكتور. العفو.