Concepte privind dezvoltarea jocurilor electronice
Alexandru Angelescu
Sabin-Corneliu Buraga
Conferinţa Naţională de Interacţiune Om-Calculator 2011
Universitatea “Al. I. Cuza” Iași, Facultatea de Informatică
Concepte privind dezvoltarea jocurilor electronice
2
• vânzări în 2010 - 18.58 miliarde $
• iulie 2011 (707 milioane $) - cele mai slabe încasări lunare din ultimii 4 ani
• la sfârșitul lui 2010, Call of Duty Black Ops înregistrează vânzări de 1 miliard $ în primele 6
săptămâni de la lansare
• 1 septembrie 2011 - Call of Duty Black Ops totalizează 18 milioane de DLC-uri vândute
Industria jocurilor electronice
Concepte privind dezvoltarea jocurilor electronice
3
• dorința de a repeta succesul unui titlu anterior -> lipsă
de inovație în design
• firmele de distribuție nu își asumă riscuri inutile
• un joc cu istoric de succes garantează investiția
• multe jocuri independente create de studiouri mici nu
primesc contracte de publicare -> canalele de
distribuție digitală
• mișcarea indie games
Industria jocurilor electronice
Concepte privind dezvoltarea jocurilor electronice
4
• soluția Microsoft pentru dezvoltatorii de indie games
• lansat în decembrie 2006, împreună cu Xbox LIVE Community Games (Xbox LIVE Indie Games)
• XNA - prescurtare de la “XNA's Not Acronymed” (XNA nu este un acronim)
• XNA reprezintă un toolkit de dezvoltare gratuit ce
folosește .NET si C#
Concepte privind dezvoltarea jocurilor electronice
5
• oferă toate instrumentele necesare dezvoltării unui joc
• incapsulează toate aspectele legate de producția unui joc într-un singur sistem accesibil
• extinde Visual Studio (sau C# Express Edition)
• este disponibil gratuit pe portalul App Hub (fostul XNA Creator’s Club)
• periodic este adăugat conținut suplimentar (tutoriale, mostre de cod etc.)
Concepte privind dezvoltarea jocurilor electronice
6
• jocurile create cu XNA pot rula pe:
• platforma Windows
• consola Xbox 360
• dispozitivele Zune
• terminalele Windows Phone 7
• permite publicarea jocurilor create prin intermediul
serviciului Xbox LIVE Marketplace
Concepte privind dezvoltarea jocurilor electronice
7
Legendă Oferit de XNA Creat de utilizator Comunitate
Platformă
CoreFramework
ExtendedFramework
XACT XINPUT XContentDirect3D
Graphics Audio Input Math Storage
Modelul aplicației Content Pipeline
Jocuri Starter Kits Cod Conținut Componente
Structura framework-ului XNA
Concepte privind dezvoltarea jocurilor electronice
8
Starter Kits
• Jocuri “complete”
- pot reprezenta punctul de plecare pentru creațiile
proprii
- sunt însoțite de
documentație și tutoriale
- sunt ușor de folosit
Concepte privind dezvoltarea jocurilor electronice
9
• creat pentru a ilustra potențialul framework-ului XNA
• reprezintă un simulator de zbor “arcade” plasat în timpul celui de-al Doilea Război Mondial
Prezentare video - disponibilă online pe YouTube.com
Concepte privind dezvoltarea jocurilor electronice
10
• modul Campaign oferă o experiență single player
dinamică
• 2 campanii a câte 4 misiuni cu obiective variate
• 10 tipuri de avioane cu diferite caracteristici, modelate după aparate de zbor reale
• 3 grade de dificultate: pilot amator, experimentat sau
as al zborului
Concepte privind dezvoltarea jocurilor electronice
11
• fiecare jucător își crează un profil de pilot care va
memora performanțele sale (acuratețea tirului, numărul de inamici doborâți etc.)
• îndeplinind misiuni și obiective, jucătorul câștigă puncte de experiență (XP), primește un nou grad
militar și astfel poate debloca noi aparate de zbor
• jucătorul primește Upgrade Points, ce vor servi la cumpărarea unor îmbunătățiri pentru fiecare avion
Concepte privind dezvoltarea jocurilor electronice
12
• progresul jucătorilor este marcat prin dobândirea de
medalii și îndeplinirea unor obiective (achievements)
• sistem asemănător cu Xbox 360 Achievements sau
PlayStation 3 Trophies
• sistemele de recompensare a jucătorului aduc un plus de amuzament și mențin ridicat interesul față de joc
Concepte privind dezvoltarea jocurilor electronice
13
• componenta multiplayer permite confruntarea
împotriva unui alt jucător uman în mod Split Screen
Concepte privind dezvoltarea jocurilor electronice
14
• folosește Crimson Engine, un motor de joc special
creat, format din:
- motorul grafic (rendering engine)
- sistemul de administrare a stării jocului (game state management system)
- motorul fizic (physics engine)
- logica aplicației (scenariile misiunilor, IA)
- sistemul de memorare a datelor (profiluri, misiuni)
Concepte privind dezvoltarea jocurilor electronice
15
• implementează arhitectura MVC (Model View
Controller)
• structură compartimentată pentru a obține:
- extensibilitate
- robustețe
- flexibilitate
- reutilizarea componentelor
Concepte privind dezvoltarea jocurilor electronice
16
• teren 3D generat dintr-un height map, optimizat
folosind tehnica quadtree
• pentru un grad ridicat de realism, terenul beneficiază
de implementarea tehnicilor terrain smoothing, multitexturing și normal mapping
• iluminare difuză, reflectivă și ambientală
• umbre ce răspund la iluminarea dinamică
Concepte privind dezvoltarea jocurilor electronice
17
• întinderi de apă cu efecte de reflecție și refracție
• billboarding pentru vegetație și nori volumetrici
• sisteme de particule (dâre de fum, flăcări, explozii)
• condiții meteorologice (ceață, ploaie, zăpadă) cu parametri variabili (intensitate, viteză de cădere)
• modele 3D Google SketchUp, optimizate pentru efecte
de transparență și componente în mișcare
Concepte privind dezvoltarea jocurilor electronice
18
Concepte privind dezvoltarea jocurilor electronice
19
• direcții viitoare de dezvoltare - grafică
- vizualizarea pagubelor produse asupra unui avion (fragmentații ale diverselor componente)
- creșterea dimensiunilor terenului
- diversificarea tipurilor de teren și al obiectelor de
decor (vegetație, clădiri, tipuri de nori)
- mai multe efecte speciale (trasoare, așchii și fragmente la impactul proiectilelor)
Concepte privind dezvoltarea jocurilor electronice
20
• direcții viitoare de dezvoltare - single player
- mai multe misiuni în cadrul celor două campanii
- un fir narativ mai bine conturat
- mai multe tipuri de avioane
- diversificarea obiectivelor misiunilor
- introducerea de obiective secundare opționale
Concepte privind dezvoltarea jocurilor electronice
21
• direcții viitoare de dezvoltare - multiplayer
- adăugarea modului de joc în rețea (reunirea a mai mult de doi jucători simultan în aceeași partidă)
- crearea unei aplicații server care să gestioneze derularea partidelor și memorarea profilurilor
utilizatorilor
- vizualizarea și compararea statisticilor jucătorilor și crearea de clasamente la nivel global
Concepte privind dezvoltarea jocurilor electronice
22
Întrebări?