<div dir="ltr">I've been thinking that games like NWN/NWN2 will need a party management class to handle formations, group conversations, and leadership. That would need to be stored at the module level so it can handle area transitions.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 22, 2019 at 7:06 PM Vsevolod Kremianskii <<a href="mailto:vkremianskii@gmail.com">vkremianskii@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">I'm currently evaluating how party members and areas work in KotOR games, and this is what it looks like:<div><br></div><div>Area <span style="color:rgb(84,84,84);font-family:arial,sans-serif">– basically, a container of creatures. Creates, destroys and manages interactions with them.</span></div><div><span style="color:rgb(84,84,84);font-family:arial,sans-serif">Module </span><span style="color:rgb(84,84,84);font-family:arial,sans-serif">– owns the area, but also owns the party members and controls the player character.</span></div><div><span style="color:rgb(84,84,84);font-family:arial,sans-serif">Creature </span><span style="color:rgb(84,84,84);font-family:arial,sans-serif">– represents both the physical object within an area and it's characteristics (stats, equipment, etc).</span></div><div><span style="color:rgb(84,84,84);font-family:arial,sans-serif">CharacterGenerationInfo </span><span style="color:rgb(84,84,84);font-family:arial,sans-serif">– a structure describing RP and visual attributes of the player character. I</span><font color="#545454" face="arial, sans-serif">nterestingly, it is buried in the GUI folder and knows how to create both the player creature and the player model.</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">Here is the problem I'm having with this design: party members need to be managed separately. Currently, they are not interactable and cannot execute actions. Also, we have an unnecessary circural dependency between the Creature class and CharacterGenerationInfo.</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">What I propose instead is the following:</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">Creature class should only represent the physical object within an area. All stats and equipment information should be moved to a separate structure (CreatureInfo?).</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">All creatures should be owned by an area. Module should only own the info of the party members and recreate their characters on every area change.</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">Management of the party leader should probably be moved to a separate class (PlayerController?).</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">CharacterGenerationInfo should be moved outside the GUI folder and should not have responsibility of creating a character or a model.</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif">Any thoughts on this, DrMcCoy?</font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><font color="#545454" face="arial, sans-serif"><br></font></div><div><span style="color:rgb(84,84,84);font-family:arial,sans-serif"><br></span></div><div><span style="color:rgb(84,84,84);font-family:arial,sans-serif"><br></span></div></div></div>
_______________________________________________<br>
xoreos-devel mailing list<br>
<a href="mailto:xoreos-devel@xoreos.org" target="_blank">xoreos-devel@xoreos.org</a><br>
<a href="https://xoreos.org/mailman/listinfo/xoreos-devel" rel="noreferrer" target="_blank">https://xoreos.org/mailman/listinfo/xoreos-devel</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>  Bob<br><br> "A fish rots from the head down"<br></div><div> -- Ancient proverb<br></div></div></div></div></div></div></div></div></div>