TELKOM NIKA Indonesia n  Journal of  Electrical En gineering   Vol.12, No.5, May 2014, pp . 4018 ~ 40 2 3   DOI: http://dx.doi.org/10.11591/telkomni ka.v12i5.4664          4018     Re cei v ed O c t ober 2 4 , 201 3; Revi se d Decem b e r  25, 2013; Accept ed Ja nua ry 1 5 , 2014   Evaluations of Design Patterns for a Role-Playing Game       Jung-Hu a Lo *, Chi-Shain  Yeh   Dep a rtment of Appl ied Inform atics, F o  Guang Univ ersit y ,   No.160, Lin w ei Rd., Jiaosi, Yilan Count y   26247, T a iw an (R.O.C.)/(886 3)-9871000   *Corres p o ndi n g  author, e-ma i l : jhlo@m ail.fg u.edu.t w       A b st r a ct   With the rapi d  of the dep lo yme n t of co mput er syste m s, peo ple i n  th e moder n soc i ety are   increasingly  dependent on the har dware and  software system s.  When  the dem a nd for c o m p uter systems  incre a ses, the  possi bil i ty of crises fro m  co mputer fai l ur e  w i l l  als o  incr eas e. T herefore, i n   order to  ach i ev a   desir ed lev e l of  qual ity, the experi enc e d  softw are team  mu st have a bette r desig n metho d  to establis h th e   system . That  is, it is very important to c h oose a be tter  approach that c an be  applicable to  develop the  compl e x software syste m . The exper ie nced  desi gners w ill r e cord the  desi gn pro b l e ms w h ich they fe lt har d   to solve or the y  took muc h  time to solv e. W hen they   me et the simi lar p r obl ems l a ter, they w ould refe r to   the rec o rd. D e sign  patterns  a r e pro duc ed fr om the r e cor d . T h is Pa per  ai ms  at exp l ai ni n g  h o w  to ap ply  the   desi gn  pattern s in th e g a m framew ork thr o ugh  a si mple   exa m p l by ta king th e R o l e   Playi ng Ga me  as  exa m p l e an add ing  desi gn  patterns; it als o  tries  to mak e  a jud g m e n t w hether the s o ftw are quality  has  bee n i m prov ed  by using th e o b ject-ori ente d   softw are qua lit y mod e l to test  the softw are quality of the R o le   Playi ng Ga me  w i thout the des ign p a ttern s an d that w i th the dei gn p a tterns.     Ke y w ords :   desi gn  pattern,   role- p lay i n g   game (RPG), quality  model for  obj ect-orie nte d  des ig n (QMOOD),  softw are qualit y meas ure m en tr         Copy right  ©  2014 In stitu t e o f  Ad van ced  En g i n eerin g and  Scien ce. All  rig h t s reser ve d .       1. Introduc tion  As the softwa r e ind u stry g r adually be co mes ma tu re,  softwa r e q ual ity is regarde d as the  life of a  software  enterpri s e. Software  quality  assessment  is  an im porta nt issue  for m o st   system s. It can be viewed  as a po we rful stand ard  a bout qua ntifying  to what ex tent a system  or  softwa r po sse s ses de sira ble  cha r a c teri stics. It also g i ve us a  confi den ce  about t he  corre c tne s of a given software  syste m  throug h q ualitative  or quantitative mean s or a  mix of both.  As a  result, software qu ality measurement  is an esse nt ial ingre d ie nt in custom er sati sfactio n . A  numbe of so ftware quality   asse ssment model h a ve  been  develo p ed to eval uat e the q uality of  a software  system. A co mmon  app ro ach  for  asse ssi ng Softwa r e q uality is by choo sin g  a   desi r abl cha r acte ri stic  an d then  u s ing   a set of  me a s urabl e attri but es th existe nce  of  whi c h  i n  a  piece of soft ware or  syst em tend to be co rrel ated  and asso ci ated with thi s  ch aracte ristic.  Software fail ure i s  simila r to hardwa r e failu re  sin c e both  ca n  be de scribe d by prob abi lity  distrib u tion s. Ho wever, software fault s  are ha rd e r  to  visualize, de tect, and co rrect, comp ari n with the  ha rd ware' s  p h ysi c al faults.   Sin c software i s  e m be dded   in eve r ything  and  pe rmeat es  our  daily life, the co rrect p e rform a n c e o f  softwa r system s be com e s a n  imp o rta n t issue of m a n y   critical sy ste m s. The r efo r e, in ord e r t o  ac hieve a  desi r ed l e vel of quality, the experi e nce d   softwa r e te a m  mu st have  a bette r de sign meth od t o   e s tablish t he  system. T hat is, it i s  v e ry  importa nt to  cho o se a better app roa c that can be a pplicable to d e velop the co mplex softwa r e   system.  The experie nced desi gne rs will   record  the  d e sig n  pro b le ms which th e y  felt hard to solve  or th ey too k   much  time t o   solve.  Whe n  t hey me et the  simil a probl ems later,  the y  woul refer  to   the re cord. De sign p a tterns  are  pro d u ce d from th e re cord. De sign p a ttern s origin ate fro m   Archite c ture [1] and the re sea r ch a c hie v ements of E .  Gamma an d other th ree  people  are  most   famous an widely u s e d . E. Gamma a nd othe r th re e peo ple m e n t ioned in t heir wo rks that it  wa difficult to d e s ign  obje c t-oriented  pro g ra m and  mo re   difficult to ma ke it  reu s a b l e ; engi nee rs  all  kne w  that  using de sig n  p a tterns could  improv e  the  software  qu ality and u s i ng unifo rm f o rm,   writing p a ttern and lang ua ge to descri b e the past de sign exp e rie n ce a s  de sign  patterns  cou l benefit desi g ners’ com m u n icatio n and  unde rsta ndin g , thus peopl e could  redu ce the co st for  desi gning  an d maintai n ing  the softwa r [3-5]. Thi s  pa per ta ke s th Role -Playing  Game RPG a s   the research  example to desig n two ga me versio ns One is the ini t ial version wi thout the desi gn  Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     Evaluatio ns o f  Desig n  Pattern s for a Rol e -Pla ying G a m e  (Jung -Hu a  Lo)  4019 pattern s, the  other  one i s  t he imp r oved  versio n wh ich  improve s  the  imperfe ct p r o g ram  de sign  by  referring to t he obje c t-ori ented d e sig n i ng pri n ci ple s . Our im prove m ent strateg y , based o n   the  desi gn p a tterns, imp r ove s   the impe rfect  desi gn to  p r o duce the  cont rast ve rsi on,  and finally u s es  the  Qu ality Model fo r Ob ject-Orie n ted  De sign QM OOD) [6] to  measure the  comp ari ng re sults  of the two versio ns; it use s  the practi ca l data  to prov e that usin g desi gn patte rns can imp r o v the softwa r quality.      The organi za tion of this paper is a s  follo ws.  Section  2 pre s ent s a n  overview   of  several    cla ssi cal d e si gn patterns t hat ca n be a pplied to thi s  RPG softwa r e develop me nt. Furthermo re,  we  also describe i n  detail how  systems  of  the above m e thods are utilized to validate  the  prop osed a p p r oa ch.  Th e q uantitative valuation of  wo versio ns of  these RPG soft ware  pa ckag es  are di scusse d in Section 3 .   Conclu sio n s  are p r e s e n ted in Section  5.       2. Methodol og y   2.1. Class Di agram for  A Role-Play i ng Game   Role -playin g   Game  is one  kin d  of  gam e wh ich in clu des mou n tain s of  gam co ntents,   storie s an d p l aying prin cip l es. In this ki nd of gam e, the player m u st play a rol e  in the setting   story. The  rol e  is produ ce s according to  the gam story and  relev ant nume r ical  values li ke li fe   value, physi cal strength, i n telligen ce  a nd respon se  rate. Th ere  are fo ur  assembli es in t h is  resea r ch exa m ple in cludin g  player a s se mbly , the enemy assembl y , the map assembly and  the   fighting asse mbly. All the  assembly category fr am es  of the game a r e sh own in F i gure 1.            Figure 1. Effects of Sele cting Differe nt Switchi ng un de r Dynami c  Co ndition       Duri ng the g a me process,  the main pro g ram  cont rol s  the cha ngin g -ove r of the frame s the wo rking ti ming of the  a s semblie an d the  star ting   and ove r  of t he ga me; the  intera ction s   and  the be haviors of  the  role s in  ea ch  a s sembly   are  co ntroll ed  b y  each a s se mbly. The  m a in   prog ram i s  al most an inte rmedia r y whi c h provid es th e wo rki ng pla tform for the  assembli es. I n   the map fra m e, the fram e on the  sce nery will  c h a nge fro m  the  overloo k in map fram e t o  the   hori z ontal fig h ting frame,  at the same t i me, the  life values of the  player an d the enemy  wil l  be   listed;  when   the playe r  o r  the en emy  acts, th ere  will appe ar wo rds expl ai nin g  what they  are   doing; until o ne role’ s  life value is 0, the  game is ove r .     2.2. Template Metho d  De sign Pattern    In the  Role -P laying g a me,  sometim e s b e ca use of th e ne ed  of the  plot, the r are many   role s that  hav e mo st comm on attrib utes  and m e thod s and  on e o r  t w differen c e s , so the r are  many re peati ng p r og ram  code s. If we  n eed to  m odify   one co mmon   attribute or method, we n eed  Evaluation Warning : The document was created with Spire.PDF for Python.
                               ISSN: 23 02-4 046                     TELKOM NI KA  Vol. 12, No. 5, May 2014:  4018 – 40 23   4020 to modify all the attribute s  and the meth ods co rre s po nding to this prog ram  cod e . For examp l e,  we can  p r o d u c a new cat egory calle Gam e Obje ct , the player  a nd the e nem y have the same  attributes  so t hey can i nhe rit the attributes and th e me thods of  Ga me O b jec t ; as  t o  the role, they   just nee d to define the uniq ue attribute s   and metho d s,  as sh own in Figure 2.    After usi ng thi s  tem p late m e thod  pattern , each time  we ad d a  ne role, we d on’t  need  to   prog ram the  same p r o g ra m as the ne w role, which inherit s the  Gam e Obje ct , only need  its  uniqu e attribu t es and m e th ods. Thi s  met hod not o n ly increa se s the  reu s e of the  prog ram  co d e but also be ne fits the expansion of  the sy stem as  we o n ly need to do some  small  corre c tion. In  addition,  whe n  we m odify the commo n attributes  and  the method s, we only ne e d  to modify the   Gam e Obje ct  instea d of  modifying all  the role s, su ch im provi ng the  syste m ’s m a intain in g   attribute.         Figure 2.  Ga m e Object  Template Method Pattern      2.3. Strate g y  Design Pattern         Figure 3. Strategy Desi gn  Pattern       In the  Role -pl a ying ga me,  each role  ha s many u n iqu e  actio n s. F o example, the   attack  from the  play er  ca n redu ce the life  val ue of th e e n e m y by multipl y ing a c cordi n g to its  stren g th  Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     Evaluatio ns o f  Desig n  Pattern s for a Rol e -Pla ying G a m e  (Jung -Hu a  Lo)  4021 while atta cks from differe n t  enemie s are differen t. So we n eed to  desig n the p r og ram  cod e  for  each role’ s  a c tion s. Ho we ver, after usin g the  templat e  method patt e rn, thoug h we have re solv ed  the pro b lem  of the repe ated progr am code s, whe n   we me et man y  different act i ons, we nee d to  prod uce m a n y  inherit  refe rence  categ o ri es,  so  th ere will  b e  compl e cate gory  asso ciation   a nd  difficulty in  maintaining. Cons id erin g this, we put  forwa r d the  solving pro b lem for Strategy  Pattern, i.e. classifying the  categ o rie s . F o r exa m pl e, classifying  the attack s from  players a n d t h e   enemie s, d e fining a nd  na ming them,  and give  the m   po rts fo external  com b ination, li ke  the   attack from  t he pl ayer or  the en emy,  and what action  they will  do. As  shown  in Figure 3, t he  player role  i n herits  Gam e Obje ct , c h oos es  th e   PlayerBehav i or , a nd de sig n  th at ca rrying  o u t th e   playerAttack i n  the play a c tions i s  its  o w n a c ti on  me thod. After u s ing the  strate gy pattern s, the  newly a dded  action m e tho d whi c h mo dify the role   will not affe ct the role’ s  p r ogra m  code  an d   will  not produce rep eated  program  code. In addition,  new ro les  wil l  be  produced by changing  or  combi n ing th e action meth ods of the roles.     2.4. Factory   Metho d  De sign Pattern    In the  Role -p laying ga me,  there  a r e in teractio n a m ong  role s,  so metimes in t h e ma frame, and sometime s in the fighting frame, all the s e dep e nd o n  the story p l ot setting. The  system de cid i ng the app e a ring of the  role s is  controlled by the main gam e prog ram  cod e s.     Once the  me thod for buil d ing  a role  chang es, it  i s  ne ce ssary  rech eck  and   modify the m a in  program.  However,  if we  modify it very  often,  the mi stake opport unity  will i m prove. So we  put  forwa r d Fa ct ory Method Pattern to solv e this probl e m as sh own i n  Figure 4.  For example, if we  need  to  build  ene mie s  in  the fightin g frame,  we  ca n  use  En em yF actory  to  c r eate enemy  roles .   As to whi c enemy role s we  will crea te, we can refer to  Enemy F ac tory  inheriting  category   according  to  the re ality. Then the  mai n  program   will not nee d t o  be m o difie d  often a s  it  is   affected by th e increa se d role cate go rie s  and th re spon sibility bu rden  of the main program  will   be red u ced.       Figure 4. Factory Method  Pattern       2.5. Qualit y   Model for Ob ject Orien t e d  Design   Red u ci ng of  the produ ctio n expen se s i s  on e of th e  software  en ginee ring  ai ms. So,  many metho d  and  meth o dology  su ch  as  obje c t-o r ie nted, compo nent-o rie n ted ,  asp e ct-ori e n ted,  and  servi c e - oriente d  a r e  prefe rre d for devel opin g  software  engin eeri ng  [7]. The ke measurement  point of the software  qualit y with tradi tio n al structu r al  desi gn is th e prog ram  co d e So me  me as ur e m en t o f  the q u a lity ha so me th in g to   do  w i th th e le ng th  o f  the  pr og r a m co d e  an d   the pro g ram  gramm a r, a n d  is n o t suita b le for  softwa r e de sig ned  a c cordi ng to th e obje c t-o r ien t ed  softwa r e  de si gning  ide a s [8]. For exam ple, if we  ch o o se  the  attrib ute a s soci ate d  with  po rtabi lity,  we  nee d to  compute  the  n u mbe r  of  targ et-dep end ent  statem ents i n  a  program.  More  p r e c isel y,  these  mea s u r able  attrib utes  are  the " h ows" that  nee d  to   b e  en fo r c e d  to e nab le  th e "w ha ts " in   Evaluation Warning : The document was created with Spire.PDF for Python.
                               ISSN: 23 02-4 046                     TELKOM NI KA  Vol. 12, No. 5, May 2014:  4018 – 40 23   4022 the softwa r quality definition. The fun damental  obj ective of this measure m e n t is to add ress  some of the  well kn own h u man bia s e s   that can adv e r sely affect th e delivery an d perceptio n of  a   softwa r e dev elopme n t pro j ect. Chid am ber an d Ke mere r [9] put forward C& K measu r em ent  whi c h mainly  measu r e s  th e compl e xity and the inh e riting relatio n  of the object. Bansiya a n d   other pe ople  referred to Dromey [10, 11]’s t heory an d put forwa r d  QMOOD (Q uality Model for   Obje ct-O rient ed De sign obje c t-o r iente d  desi gn qu ality model. They com b in ed the obje c t- oriente d  qual ity measure m ent and the  desig n ch aracters, and t hen refe rred  to the softwa r e’s  quality attrib utes. Ou r re sea r ch put f o rward a st ratum model  who s e d e si g n  cha r a c ters are  relating  to th e mea s u r em ent by u s in Dro m ey’s  the o ry an d the  referen c e  defi n itions of  th e 6   quality attribu t es of ISO91 26. Finally we get t he  sof t ware  attribut es q uality by pulsi ng  seve ral   desi gn chara c ters. Detail are sho w n in  Table 1.       Table 1. Expression s for Calcul ating the   Software Qu ality Attributes Mea s u r eme n Qualit y  Attribut e   Index C o mputati on Equation Reusability   -0.25*Cou p ling + 0.25*Cohesion  + 0.5*Messaging + 0.5*Design Size  Flex ibility   0.25*Encapsulation - 0.25*C oupli ng + 0.5*Compo s ition + 0.5*Poly morphism  Functionality  0.12*Cohesion +  0.22*Pol y mor phism + 0. 22Messaging + 0.22*Design Size + 0.22*Hierarchies  Ex tendibility   0.5*Abstraction – 0.5 *Coupling +  0.5*Inheritance +  0.5*Pol y morp hism  Effectiveness  0.2*Abstraction + 0.2* Encapsulation + 0.2*Compo s ition + 0.2Inheritance + 0.2*Pol y morphism      3. Comparis on and Re su lts   In the practi cal pro c e s s, we use two  ga me so ft ware  vers ions , one ve rsion is the initial  versio n (RPG 1.0) which do es not u s e th e desi gn  patt e rn s, and the  other versio (RPG 2.0) i s  the  improve d  on e  whi c ha s i m prove d  the  prog ram  de si gn a c cording  to the  obje c t-ori ented  de si gn   prin ciple s . T he compa r in g re sult of t he mea s u r e m ent of the  model d e si g ned a c cordin g to  QMOO D obj ect-o r ie nted quality model  sho w n in Ta ble 2. From the quality of the Role -play i ng  game  with d e sig n  pattern s an d that wi thout the  de sign patterns,  as  sho w n in  Figure 5, after  usin g the design pattern s, many quality attributes  h a ve been imp r o v ed, espe ciall y  the reusa b il ity  and th e exte ndibility. In th e re usability  we  use t he  strategy patte rns  and  the t e mple  patterns.  The strategy  patterns a d d ing many  cha nge abl assembli es i n  the syste m  improve the   reusability of  the sy stem  assembli es.  The temp l a te patterns m a ke the assembly be able to   inherit the fa ther-cate gory  assembly a nd to  be reu s ed th rou gh  the method  of repla c in g the  father-cate g o r y assembly.  In addition, a s  to impr ovin g the extendi bility, as  the strategy p a tterns  define the  wh ole group’ s m e thod g r ou p,  provide othe r use r s with   sui t able po rts fo r developm ent if the sy stem  nee ds  ne method s, p r o v ided it ma t c hes the d e fin i tion, it can  a dd a  cate go ry o f   special method through the port; so  the convenie nce of extendibility is improved greatly.    Thro ugh  com p lete p a ttern,  wh en the  ne wly ad ded  assembli es hav e the  com m o n  fun c tion s,  we  only need to  add the uni qu e function of the assem b ly.          Figure 5. Co mpari s o n  of the De sig n  Pattern Quality Attributes     1. 3 7 1 . 01 8X 1. 164 1. 361 1. 138 1. 00 0 1. 20 0 1. 40 0 RP G1 .0 RP G1 .1 R P G  Ver s i ons C o m p u t e d  Q u a lit y   A t t r ib u t e s Re u s a b i l i t y F l e x i b ili ty F unc t i ona l i t y E x t e ndi bi l i t y E f f e ct i v en es s Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM NIKA   ISSN:  2302-4 046     Evaluatio ns o f  Desig n  Pattern s for a Rol e -Pla ying G a m e  (Jung -Hu a  Lo)  4023 Table 2. Co m pari s on of the  Formal Me asurem ent Valu es of Two RP G Software V e rsi o n s   Metric  Design  Propert y  RPG1.0  RPG2.0   DSC Design  Size   1.667   NOH  Hierarchies  0.937   ANA Abstraction  1.654   DAM Encapsulation  DCC  Coupling  CAM Cohesion  MOA  Composition  0.968   MFA Inheritance   1.001   NOP  Poly m o rphism   1.067   CIS Messaging  1.073   NOM  Complexit y   1.023       4. Conclusio n   From the re sult of this research we can  k now that a pplying de sig n  pattern in the Role - playing gam e can effici e n tly improve the softw a r e  quality, esp e cially the re usa b ility and the  extendibility. The fun c tiona l ability, the effectivenes and the  ela s ticity are n o t g r eatly  improved   in this  re sea r ch. Mayb e thi s  i s  be ca use  the fun c tion d e mand  of the  system  is  no t so g r e a t, an the de sig n  p a ttern d o e s  n o t ch ang e th em very m u ch.  If we  enl a r ge th syste m , or m odify  the  desi gn pattern more  often, the  expressi on in the quality will be  m o re obvious. However,  if we  use  the i m proper de sig n   or  overu s e  the d e si gn  p a ttern, whi c h   ca uses  the  increa se of  t he  cou p ling rate and difficulty of readin g , the quality of the softwa r e m a y be decrea s ed.        Ackn o w l e dg ements   This re se arch was supp o r ted  by the  Nati onal S c ien c Co un cil, T a iwa n , R.O. C., unde NSC 10 0-222 1-E-4 3 1 - 00 2-.      Referen ces   [1]  Ale x a nder C, I s hika w a  S, Sil v erstein M. A Patte rn La ngu age: T o w n s, B u ild in gs, Const r uction. Oxfor d   Univers i t y  Pr es s. Ne w  Y o rk. 1977.    [2]  Gamma E, Hel m  R Johns on,  R Vlissi des J.  Desig n  Pattern s: Elements of  Reus abl e Softw a r e. Ad diso n- We sl ey . 19 94 .    [3]  F r eeman, Eric, Elisab eth F r eeman, Kath Sierra,  Bert Bates. Head F i r s t Design Patt erns. O' Reill Medi a. 200 4.  [4]  Larma n, Craig.  Appl yi ng UML  and Patter n s. Prentice H a ll. 2 005.   [5]  Bernd Bru egg e ,  Allen H Dutoit . Object-Oriented So ft w a re E ngi neer in g: Using UML, Patterns, and Java .   Prentice H a ll. 2 010.   [6]  Agdis h  Ba nsi y a, Carl G  Davi s. A Hier a rchic a l Mo del for O b ject-Oriented  De sign Qualit y assessment,   IEEE Transactions on So ftwar e Engineering . 200 2; 28: 4–1 7 .   [7]  Mehd i Yag h o ubi, Ma hmoo d  Yagh ou bi, Mano och e r Bab anez ha d. Different Pro pos e d  Mod e ls t o   Mapp ing M D to RUP,   T E LK OMNIKA Indon esia n Jour na l o f  Computer E n gin eeri n g . 2 0 1 3 ; 13(3): 3 01- 306.   [8]  Sommervil le, Ian. Soft w a re E ngi neer in g.7 e d . Pearson E d ucatio n. 200 8.  [9]  Chidamber S, Kemerer CF. A Metr ics Suite for Objec t -Oriented De sign.  IEEE Tr ansactions o n   Softw are Engin eeri n g .19 94; 2 0 (6): 476 –4 93.   [10]  Drome y  RG. A Model for Softw a r e Pro duct Qualit y.  IEEE Transactions on So ftware Engineering.  1 995 21(2): 14 6– 162   [11]  Ning J i ngf eng,  Hu Min g . Stud y o n  Soft w a re  Qua lit y Improv ement b a sed  o n  Ra yl eig h  Mo del a nd PD CA   Mode l.  T E LKOMNIKA Indone sian Jo urna l of Electrical E ngi neer ing . 2 013;  11(8): 46 09- 46 15.       Evaluation Warning : The document was created with Spire.PDF for Python.