Game computing: inginerie

1,389 views

Published on

O introducere in proiectarea jocurilor pe calculator (game computing), prezentare in cadrul cursului Interactiune om-calculator, master, Facultatea de Informatica, Alexandru Ioan Cuza din Iasi.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,389
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Game computing: inginerie

  1. 1. Interacțiune om‐calculator 2.0 Dr. Sabin‐Corneliu Buraga Facultatea de InformaticăUniversitatea “A.I.Cuza” Iaşi, România Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  2. 2. Interacțiune om‐calculator 2.0ingineria dezvoltării jocurilorDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  3. 3. Interacțiune om‐calculator 2.0Never show fools unfinished work. Michael Schrage Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  4. 4. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  5. 5. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  6. 6. Interacțiune om‐calculator 2.0 Productivity Software Goals Game GoalsTask completion EntertainmentEliminate errors Fun to beat obstaclesExternal reward Intrinsic rewardOutcome‐based rewards Process is its own rewardIntuitive New things to learnReduce workload Increase workloadAssumes technology needs Assumes humans needto be humanized to be challenged Lazzaro & Keeker, 2004 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  7. 7. Interacțiune om‐calculator 2.0Game creative design vs. game software design cerințe, procese, așteptări diferite Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  8. 8. Interacțiune om‐calculator 2.0 Game creative design Game software designLivrabile: documente privind  Livrabile: descrieri ale proiectarea (producerea)  etapelor/proceselor de artefactelor creative  proiectare a software‐ului ale jocului ce va fi dezvoltat de tip jocAnalog planului de producție  Specific dezvoltării de a unui film software tradiționalOferă viziunea artistică  Reduce caracteristicile jocului a jocului la un set de cerințe specificeImplică dezvoltarea  Specifică maniera de software‐ului aferent implementare a cerințelor adaptare după (John P. Flynt & Omar Salem, 2005) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  9. 9. Interacțiune om‐calculator 2.0Caracter interdisciplinar al colectivelor de dezvoltatori Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  10. 10. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  11. 11. Interacțiune om‐calculator 2.0Abordări (Michael Mateas & Jim Whitehead, 2007):focalizate pe aspecte tehnologice (computer science, maths) interdisciplinare focalizate pe factori artistici (artistic design, visual arts) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  12. 12. Interacțiune om‐calculator 2.0Necesitatea folosirii diverselor studiilor de caz (use cases) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  13. 13. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  14. 14. Interacțiune om‐calculator 2.0 Recurgerea la aplicații, API‐uri, biblioteci, instrumente, componente etc. specializate implică variate cunoștințe ale diverselor arii din computer science Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  15. 15. Interacțiune om‐calculator 2.0conform John P. Flynt, Omar Salem, Software Engineering  for Game Developers, Thomson, 2005 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  16. 16. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  17. 17. Interacțiune om‐calculator 2.0 Livrabile: software requirements specification (SRS) + use cases traceability matrix test plan Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  18. 18. Interacțiune om‐calculator 2.0Informații ce pot fi folosite în stabilirea cerințelor: utilizatorii‐țintă ai jocului experiențele anterioare în dezvoltarea de jocuri aspectele privind designul grafic & marketinguljocurile ce pot fi modificate (mods) pentru a crea noul joc existența proiectanților și nivelul lor de cunoștințe structura echipei de programatori Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  19. 19. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  20. 20. Interacțiune om‐calculator 2.0Un aspect important este stilul/genul jocului ce va fi dezvoltat (Rollings & Morris, 2004): Action—lots of frantic button pushing Adventure—the story matters Strategy—nontrivial choices Simulation—optimization exercises Puzzle—hard analytic thinking Toys—software you just have fun with Educational—learning by doing Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  21. 21. Interacțiune om‐calculator 2.0Cele mai bune practici în specificarea cerințelor: completitudinea corectitudinea considerarea doar a cerințelor necesare fezabilitatea stabilirea priorităților eliminarea ambiguităților verificarea & validarea managementul Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  22. 22. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  23. 23. Interacțiune om‐calculator 2.0Dezvoltarea jocului recurge la o documentație de proiectare  game design document sumarul jocului: game summary narațiunea jocului (sixty‐seconds‐of‐play sequence): play narrative Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  24. 24. Interacțiune om‐calculator 2.0 Exemplu de sumar al unui joc (John Rose): “Ankh follows the quest for vengeance undertaken by Sekhem,  an Egyptian warrior determined to destroy those who defeated and  killed his father. The game focuses on the battles fought by Sekhemand his party of rebel warriors on their journey to the Egyptian capital of  Thebes. These conflicts escalate from skirmishes to bloody clashes as  the band of adventurers cross the desert sands of ancient Egypt.  Along the way, additional characters join the band and new enemies  attempt to stop Sekhem’s advance. Interaction involves tactical control  of the small army during Ankh’s many mêlées, including strategic  maneuvers, hand‐to‐hand combat, and spell casting.” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  25. 25. Interacțiune om‐calculator 2.0 Exemplu de sumar al unui joc (John Rose): “The player is faced with winning battle after glorious battle, driving  Sekhem toward his final confrontation with Uheset, the bloodthirsty  Queen of Egypt. Conflicts take place in real time, stressing the tactical  and chaotic aspect of warfare. Each level possesses its own ambiance  and strategy, from the barren plains of Thebes to the lush splendor of  the Dashur gardens. The graphics of Ankh illustrate the varied and stylish architecture and landscapes of ancient Egypt. The game’s music  varies from haunting chants to blood‐quickening battle drums.  All aspects of the game’s art and sound immerse the player  in the primal rage of ancient warfare.” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  26. 26. Interacțiune om‐calculator 2.0 Deducții pornind de la sumarul jocului: un unic personaj – Sekhem – corespunzând utilizatoruluicelelalte personaje sunt inamici simulați de software (NPCs) există un voiaj ce implică crearea unor scene  în care vor avea loc conflicte armate (bătălii) stilul artistic al jocului este unul antic Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  27. 27. Interacțiune om‐calculator 2.0Tipul jocului este un RPG de strategie Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  28. 28. Interacțiune om‐calculator 2.0 Descriere (Flynt & Salem, 2005): “Ankh is a single‐player turn‐based strategy game.  The game incorporates features that are common to PC games, but it also introduces a variety of innovations:  advanced resource management, the use of map and  character editors, saving/loading of game states.” Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  29. 29. Interacțiune om‐calculator 2.0 Fiecare componentă este referită prin termenul stripe specificând atât structura/tipul componentei din punct de vedere software – e.g., clase, obiecte COM, servicii Web,…  –,  cât și locul în care dezvoltarea componentei îl ocupă  în ciclul de dezvoltare a jocului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  30. 30. Interacțiune om‐calculator 2.0Componente funcționale preliminarii, detaliate în secțiunea  Functional Requirements Component View: Stripe 1: Game Opening 2a: Tile Map, 2b: GUI Elements, 2c: Map Editor, 2d: Save Level,  3: Level Template (modeled on 1st level), 4: Character Editor,  5: Game Physics, 6: Inventory, 7: Combat, 8: Skills,  9: Outside World Management, 10: Skills Interface, 11: AI, 12: Remaining Levels, 13: Saving & Loading, 14: Options, 15: Revisions Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  31. 31. Interacțiune om‐calculator 2.0 User Characteristics:jocul este destinat utilizatorilor de orice vârstă Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  32. 32. Interacțiune om‐calculator 2.0 Assumptions & Dependencies:jocul poate fi rulat după instalare via programul livrat pe CDnecesită DirectX 9.c pe un sistem Pentium IV sau echivalent,  placă grafică având suport pentru Direct3D,  rezoluție: 1024x768, TrueColor,  interacțiune via mouse & tastatură la cererea utilizatorului, pot fi efectuate actualizări online Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  33. 33. Interacțiune om‐calculator 2.0 Primary List of Functional Requirements (fragment): <R1> Software shall have the capability to save the game state <R2> Software shall have the capability to return to a saved state  by loading a file<R5> Software shall have an auto‐save feature that automatically saves  the game constantly <R6> Software shall have a timer mechanism that will flush memory  to disk periodically (every S seconds) <R7> Software shall provide the option to save a Replay after a battle <R11> Software shall allow the player to play back at variable speeds … Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  34. 34. Interacțiune om‐calculator 2.0Functional Requirements Component View (fragment): Stripe 1: Opening – requirements 8, 14‐18, 38, 57 Stripe 2b: GUI Objects – requirements 18, 52 … Stripe 2d: Save Level – requirement 4 … Stripe 10: Skills – requirements 14‐21 Stripe 11: AI – requirements 24‐26, 37 … Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  35. 35. Interacțiune om‐calculator 2.0 Design Constraints: constrângerile de proiectare iau în calcul disponibilitatea, securitatea, mentenabilitatea jocului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  36. 36. Interacțiune om‐calculator 2.0 exemplu de use caseDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  37. 37. Interacțiune om‐calculator 2.0 Use case‐urile pot fi folosite pentru a facilitadescrierea scopului jocului, conform descrierii narative Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  38. 38. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  39. 39. Interacțiune om‐calculator 2.0 Software Design Specification:ipostazele jocului (sistemului) sunt prezentate via view‐uri desemnate de diagrame UML ori de liste requirements conceptual behavioral logical component Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  40. 40. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  41. 41. Interacțiune om‐calculator 2.0De la un scenariu descris de un use case  la interacțiuni inter‐obiecte Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  42. 42. Interacțiune om‐calculator 2.0Documentația de specificare a designului jocului are structura unui document de tip SDD (Software Design Document): 1. Introduction: purpose, scope, definitions & acronyms 2. References 3. Conceptual view: use case, diagram,… 4. Behavioral view: object diagrams 5. Logical view: class diagrams 6. Component view: diagrams 7. Deployment view Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  43. 43. Interacțiune om‐calculator 2.0conceptual view – exemplificareDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  44. 44. Interacțiune om‐calculator 2.0 component view – componentele implicateîn acțiunea de deplasare a unui personaj de joc Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  45. 45. Interacțiune om‐calculator 2.0component view – exemplificare la nivel de stripe Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  46. 46. Interacțiune om‐calculator 2.0Aspecte de considerat la redactarea documentului de design: Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  47. 47. Interacțiune om‐calculator 2.0Structura generală a unui game design document (Rouse, ‘05) Table of Contents  Introduction/Overview  Game Mechanics  Artificial Intelligence  Game Elements  Story Overview  Game Progression  System Menus Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  48. 48. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  49. 49. Interacțiune om‐calculator 2.0Șabloane comune ce pot fi aplicate la dezvoltarea de jocuri: Singleton Composite Chain of Responsibility State Strategy Observer Façade Memento Command Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  50. 50. Interacțiune om‐calculator 2.0Recurgerea la Strategy pattern pentru a simplifica schimbările  de atitudine la personajele de tip NPC: Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  51. 51. Interacțiune om‐calculator 2.0Command pattern pentru implementarea comenzilor: Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  52. 52. Interacțiune om‐calculator 2.0Proiectarea iterativă (iterative design) uzual, are loc la nivel de fiecare stripe  de la stabilirea cerințelor la componente Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  53. 53. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  54. 54. Interacțiune om‐calculator 2.0activitățile realizate la o iterație la nivel de stripe Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  55. 55. Interacțiune om‐calculator 2.0Exemplu de proiectare vizuală a stripe‐ului Level Template Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  56. 56. Interacțiune om‐calculator 2.0Exemplu de proiectare a personajelor Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  57. 57. Interacțiune om‐calculator 2.0Reguli de proiectare a jocurilor puzzle (Rollings & Morris, ‘04) Don’t be too cute Avoid “serious” violence Keep it abstract, but not too abstract Give rewards for progress exemplu de succes: Lemmings Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  58. 58. Interacțiune om‐calculator 2.0Componente (subsisteme) primare (Rollings & Morris, ‘04): User interface Bidirectional event handler Data engine (graphics, level, miscellaneous data) Dynamics system (collisions and general physics) Logic engine (the heart of the game) Graphics engine Sound engine Hardware abstraction layers(interfaces with graphics, sound, and controller hardware) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  59. 59. Interacțiune om‐calculator 2.0 Subsisteme secundare: Game configuration system Menuing systemOnline instructions and help system Music system Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  60. 60. Interacțiune om‐calculator 2.0Criterii de reutilizare a componentelor/bibliotecilor existente: disponibilitate corectitudine actualitate utilizare imediată mentenabilitate licențiere compatibilitate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  61. 61. Interacțiune om‐calculator 2.0 Software engineering risk assessmentprevenirea, reducerea, managementul (controlul)  problemelor critice Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  62. 62. Interacțiune om‐calculator 2.0 Risc extern Risc internProbleme legale  Timpul alocat dezvoltării jocului(copyright, licentiere,…)Prețul jocului Structura colectivelor implicate în dezvoltareDrepturi (royalties) acordate Gradul de inovare tehnicădezvoltatorilor & altoraCostul punerii la dispoziția  Gradul de creativitate artisticăconsumatoruluiTimp alocat marketing‐ului Tipul tehnologiilor implicateSuportul organizațional Maniera de înțelegere a cerințelorAtingerea stadiului de maturitate  Metodologia de dezvoltare dorit adoptataSusținătorii proiectului Alte tipuri de risc Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  63. 63. Interacțiune om‐calculator 2.0 Aspecte de interes privind riscurile externe: finanțarea suportul la nivel de organizație resursele disponibile – e.g., transport suportul acordat clienților (customer support)creativitatea – e.g., artiști grafici, suport muzical & vocal,… Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  64. 64. Interacțiune om‐calculator 2.0Aspecte de interes privind riscurile interne: echipamentele (logistica) membrii echipelor de dezvoltatori tehnologia – e.g., cea de ultimă oră inspirația (creative input) durata de dezvoltare a produsului Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  65. 65. Interacțiune om‐calculator 2.0 Depinde de scopuri exemple tipice: reduce lost productivity increase productivity increase opportunities for aesthetic expression increase opportunities for technical innovation create a safer environment for experimentationreduce the number of errors the game has when it ships add to the quality of the development experience Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  66. 66. Interacțiune om‐calculator 2.0Paradigma clasică (Robert N. Charette, 1989) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  67. 67. Interacțiune om‐calculator 2.0 conform Andrew Rollings & Dave Morris, Game Architecture and Design: A New Edition, New Riders, 2004 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  68. 68. Interacțiune om‐calculator 2.0Poate fi divizată în activități de verificare, validare & explorare Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  69. 69. Interacțiune om‐calculator 2.0Planificarea fazelor testării jocului (Flynt & Salem, 2005) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  70. 70. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  71. 71. Interacțiune om‐calculator 2.0Planificarea dezvoltării unui jocDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  72. 72. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  73. 73. Interacțiune om‐calculator 2.0 Jucătorul poate avea la dispoziție un ghid de utilizare strategy guide oferă descrierea interacțiunii cu jocul,  inclusiv regulile & maniera de jucat aspecte ce trebuie menționate: skills, key combinations, options, characters, character powers, effects, spells, healing, maps of levels, help etc. Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  74. 74. Interacțiune om‐calculator 2.0 modelarea la nivel înalt a unor jocuri crearea unui joc simplu de tip MMORPGdezvoltarea unui joc sportiv de simulare pentru vârstnici Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  75. 75. Interacțiune om‐calculator 2.0 Modelarea jocurilor Pong & Pac‐Man problemă: cum pot fi modelate entitățile unui joc?A. Rollings & D. Morris, Game Architecture and Design:  A New Edition, New Riders, 2004 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  76. 76. Interacțiune om‐calculator 2.0 Orice joc interacționează cu măcar 1 jucător umanToate jocurile prezintă elemente discrete – numite tokens – manipulate (in)direct de jucător Token‐urile sunt gestionate intern de software Conceptual, un joc poate fi descris în termeni de jucători + token‐uri Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  77. 77. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  78. 78. Interacțiune om‐calculator 2.0Token‐urile pot fi clasificate specificarea unei ierarhii cazul Pong Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  79. 79. Interacțiune om‐calculator 2.0Pot exista diverse interacțiuni între token‐uri – e.g., coliziuni – ce sunt specificate uzual via token interaction matrix interacțiuni simetrice versus interacțiuni asimetrice Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  80. 80. Interacțiune om‐calculator 2.0 Anumite interacțiuni pot conduce la producerea  unor evenimente ce vor fi tratate la nivel de cod Interacțiunile dintre diverse token‐uri pot fi simplificate  dacă se recurge la token‐uri intermediare  (e.g., însăși lumea jocului, agenți cu rol de broker‐i etc.)Comportamentul token‐urilor poate fi descris via automate Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  81. 81. Interacțiune om‐calculator 2.0modelarea comportamentului NPC‐urilor de tip ghost la Pac‐Man Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  82. 82. Interacțiune om‐calculator 2.0 automatul specific token‐uluireprezentând lumea jocului (world game) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  83. 83. Interacțiune om‐calculator 2.0 Crearea unui joc simplu de tip MMORPGilustrează învățarea conceptelor de baze de date  via game developmentdupă o prezentare de Greg Wadley & Jason Sobell, The University of Melbourne, Australia în cadrul Academic Days 2007 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  84. 84. Interacțiune om‐calculator 2.0 Un MMORPG este un sistem software informațional starea jocului se stochează central (pe un server) datele sunt persistente accesul la date este concurent utilizatorii posedă identități, trebuind să fie autentificațiinteracțiunea se realizează la client via o interfață‐utilizator Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  85. 85. Interacțiune om‐calculator 2.0 Mediul (lumea) jocului poate fi modelat(ă)printr‐o matrice de locații, fiecare având diverse caracteristicijucătorii – umani sau generați de calculator – se pot deplasa  în cadrul caroiajului, putând concura unul cu celălalt Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  86. 86. Interacțiune om‐calculator 2.0 99 100Y, 1 to 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 X, 1 to 10 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  87. 87. Interacțiune om‐calculator 2.0Folosind o imagine de fundal, poate fi realizat designul vizual Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  88. 88. Interacțiune om‐calculator 2.0 Locația curentă a jucătorului va trebui redată diferit Etichetele specifică sănătatea & punctajul curentVia diverse mijloace de interacțiune, vor fi afișate obiectele  aflate în posesia fiecărui jucător + mesajele jocului Se oferă și posibilitatea de a observa/interacționa cu alți jucători Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  89. 89. Interacțiune om‐calculator 2.0proiectare & implementare minimală a interfeței jocului (aplicația‐client la nivel de desktop) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  90. 90. Interacțiune om‐calculator 2.0 modelarea datelor via tabeleDr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  91. 91. Interacțiune om‐calculator 2.0Partea de procesare e implementată de proceduri stocate facilitează accesul la date (concurența este rezolvată pe baza tranzacțiilor) descriu comportamentul fiecărui control de interfață  pot fi apelate periodic via un timer existent la client Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  92. 92. Interacțiune om‐calculator 2.0 Procedure Inputs Outputs spLogin PlayerName, Password 1 row from Player tablespMovePlayerTo PlayerId, X, Y ‘Success’ = 1 or 0 spGetPlayer PlayerId Player and room details spGetItems RoomId list from Item table spGetPlayers PlayerId, RoomId list from Player tablespGetInventory PlayerId list from Item table spPickUpItem PlayerId, ItemId (none) spDropItem PlayerId, ItemId (none) spAttack PlayerId, VictimId, ItemId Message about damagespGetAllPlayers (none) list of PlayerId, PlayerName spAddChat Text, PlayerId1, PlayerId2 (none) spGetChat PlayerId list of PlayerName, ChatText spAddEvent PlayerId, EventDetail (none) spLogout PlayerId (none) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  93. 93. Interacțiune om‐calculator 2.0spMovePlayerTo (@PlayerID integer, @NewX integer, @NewY integer)IF EXISTS (SELECT * FROM Room WHERE X=@NewX AND Y=@NewY)BEGIN UPDATE Player SET RoomID = (SELECT RoomID FROM Room WHERE X=@NewX AND Y=@NewY) WHERE PlayerID = @PlayerID SELECT 1 As SuccessEND ELSESELECT 0 As Success Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  94. 94. Interacțiune om‐calculator 2.0 Fiecare acțiune a unui jucător afectează vizualizarea datelor de către ceilalți utilizatoriStarea jocului poate fi specificată via modele simple de date: jucători, obiecte, evenimente,… Recurgând la un sistem de baze de date,  se poate simplifica problema accesului concurentSepararea clară a prezentării de procesare & stocare a datelor Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  95. 95. Interacțiune om‐calculator 2.0 Această abordare este folosită și de jocurile comerciale “Almost nothing about any object in Age of Empires is hard coded  into the program. Huge tables of information describe  every characteristic of every object that appears in the game.  The game designers used a system of over 40 Paradox database tablesto control and shape the game. As a result, they were able to constantly  update and tweak the game, and then test their changes  without having to involve a programmer.” Game Developer Magazine, martie 1998 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  96. 96. Interacțiune om‐calculator 2.0 Dezvoltarea unui joc de simulare  dedicat persoanelor vârstnice – Pentanque procesul de proiectare este controlat de utilizatorii finali: human‐driven design process Vero Vanden Abeele et al., A Soft Approach to Computer Science: Designing & Developing  Computer Games for and with Senior Citizens, 2006 Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  97. 97. Interacțiune om‐calculator 2.01. Ethnographic Observations 5. Evaluation 2. Participatory 4. Development Design 3. Presentation of Concepts Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  98. 98. Interacțiune om‐calculator 2.0 Specificarea caracteristicilor jocului: sports‐simulation 2 players intuitive, consistent controls not competitive, but “feel good” practice and play modes visual and auditory explanationscompose a team of unique characters with individual skills consistent 2D and 3D, with matching sound Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  99. 99. Interacțiune om‐calculator 2.0Instrument de dezvoltare: Virtools (Dassault Systems) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  100. 100. Interacțiune om‐calculator 2.0 Prototipizare timpurieîn vederea testării de către utilizatorii finali Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  101. 101. Interacțiune om‐calculator 2.0Stadiul actual al industriei jocurilor (Rollings & Morris) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  102. 102. Interacțiune om‐calculator 2.0Posibil model viitor (Rollings & Morris) Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  103. 103. Interacțiune om‐calculator 2.0 Un tot mai mare accent pus pe jocuri socialedisponibile la nivel de Web & de dispozitive mobile social game computing Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  104. 104. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  105. 105. Interacțiune om‐calculator 2.0 game computingaspecte privind ingineria dezvoltării de jocuri Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco
  106. 106. Interacțiune om‐calculator 2.0Dr. Sabin‐Corneliu Buraga – www.purl.org/net/busaco

×