This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
PROGRAMMAZIONE CON UDKTools:• UDK Editor• Unrealscript IDE• UnCodeXRequisiti:• Skills OOP• Tanto tempo!Responsabilità:• Cr...
UNREALSCRIPTPregi:• Sintassi semplice eintuitiva• Potenza di un linguaggioad oggetti di altolivello• Peculiarità di lingua...
PROGRAMMATORE VS ENGINE• Un’installazione completa di UDK fornisceun’elevatissima quantità di classi e API già pronte aess...
CLASSI IN UNREAL ENGINE• Classi Object:• AnimNode• Component• GFxObject• SequenceObject• SoundCue• DamageType• Classi Acto...
PROGRAMMAZIONE DEL GAMEPLAY• Progettazione diregole e meccanismidi Gameplay• Implementazione diun’IntelligenzaArtificialef...
PROGRAMMAZIONE DEL GAMEPLAY• Algoritmi di posizionamento e rotazione dellaTelecamera• Generazione di feedback per l’Utente...
SUPPORTO ALLA PRODUZIONE DI ASSET• Unrealscript permette la creazione di variabili e proprietàmodificabili da Editor• Spes...
UNREALSCRIPT & PROPERTIESclass STP_Lovecraft extends STPPlayer;//Subclass specific functions…defaultproperties{//Lovecraft...
FLOW DEL GIOCOCaricamento della mappa e impostazioni della tipologia di gioco.Vengono caricate le classi HelperGenerazione...
UNREAL KISMET• Permette la gestione di funzionalità specifiche diun livello di gioco• Eventi Cinematic• Eventi generati da...
UNREAL KISMETclass HUDKismetSeqAct_MessageBox extends SeqAct_Latent;event Activated(){// Collega questo elemento allHUDloc...
FISICA E SIMULAZIONEPHYSICS ASSETSCLOTH SYSTEMFRACTURED MESHNvidia Apex TechnologyGenerata con PhysLabSemplicePossibilità ...
ESPORTAZIONE DEL GIOCODefault EngineDefault Game
UNREAL FRONTEND
CONTATTIhttp://www.steampunkleague.nethttp://www.dixidiasoft.com@dixidiasoft - @steampunkleagueMail: info@dixidiasoft.com
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Tor...
Upcoming SlideShare
Loading in …5
×

Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Toracchio

800 views

Published on

Il talk porrà una riflessione su pregi e difetti di uno dei motori di gioco più potenti al mondo, attraverso la testimonianza dello sviluppo del platform/shooter Steampunk League. Mentre verrà mostrato un riepilogo delle varie fasi di sviluppo del gioco, saranno messi in luce punti di forza e punti deboli del motore in questione, con commenti a codice specifico o questioni tecniche quali implementazioni di modelli, animazioni e packaging.

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

No Downloads
Views
Total views
800
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
9
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Pregi e difetti dello sviluppo di videogames con Unreal Development Kit: Steampunk League dal concept al gioco by Siro Toracchio

  1. 1. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
  2. 2. PROGRAMMAZIONE CON UDKTools:• UDK Editor• Unrealscript IDE• UnCodeXRequisiti:• Skills OOP• Tanto tempo!Responsabilità:• Creare classi di supporto per i GameDesigner• Risolvere problemi non risolvibilidall’Editor• Non solo scrivere codice, ma conosceretutte le principali funzionalitàdell’Engine• Comunicare con gli altri membri delTeam
  3. 3. UNREALSCRIPTPregi:• Sintassi semplice eintuitiva• Potenza di un linguaggioad oggetti di altolivello• Peculiarità di linguaggicome C#, Java• Flessibilità nellaprogrammazione delGameplay• Supporto per gli stati• Fornisce un alto livellodi astrazioneDifetti:• UDK non offrestrumenti di sviluppoa cui unprogrammatore aoggetti è abituato• Scomodo per ilDebug• Poco conosciuto• Scarsadocumentazione• Script lenti rispettoal codice nativo
  4. 4. PROGRAMMATORE VS ENGINE• Un’installazione completa di UDK fornisceun’elevatissima quantità di classi e API già pronte aessere utilizzate• Possibilità di utilizzare il codice sorgente e lerisorse di Unreal TournamentPer lo sviluppo del Gameplay bisogna avere le idee benchiare.Al programmatore sono aperte due strade:1 Riscrivere da capo solo il codice necessario permette di avere codice pulito ed efficiente, mapuò richiedere moltissimo tempo2 Estendere le proprie classi da quelle preesistentie aggiungere solo funzionalità specifiche  metodopiù rapido, ma necessita di una buona comprensionedel funzionamento delle classi dell’Engine.Moltissime funzionalità sono giàimplementate!!!
  5. 5. CLASSI IN UNREAL ENGINE• Classi Object:• AnimNode• Component• GFxObject• SequenceObject• SoundCue• DamageType• Classi Actor:• Camera• Controller• Emitter• HUD• Inventory• Pawn• TriggerLe classi in UnrealScript interagiscono tramiteriferimenti (quello che accade in Java)Due categorie di classi differenti, che comportanodue Workflow diversi
  6. 6. PROGRAMMAZIONE DEL GAMEPLAY• Progettazione diregole e meccanismidi Gameplay• Implementazione diun’IntelligenzaArtificialefunzionale• Gerarchie di classiper i contenuti:oggetti trigger, NPC,armi, classi disupporto, ecc.• Interazione tra iparticellari e iPawn
  7. 7. PROGRAMMAZIONE DEL GAMEPLAY• Algoritmi di posizionamento e rotazione dellaTelecamera• Generazione di feedback per l’Utente finale(HUD)• Inventario e sistema di upgrade degli oggetti
  8. 8. SUPPORTO ALLA PRODUZIONE DI ASSET• Unrealscript permette la creazione di variabili e proprietàmodificabili da Editor• Spesso si implementano funzionalità senza avere le risorse finali neipackage Necessità di utilizzo di placeholder per finalità di testing del codiceclass z_LeverTrigger extends Trigger;//Trigger event boolvar bool used;var bool bActive;//promptvar() const string Prompt;//skeletal componentvar(Lever) SkeletalMeshComponent LeverMesh;var(Lever) DynamicLightEnvironmentComponent LightEnvironment;var STPOutlineComponent OverlayComponent; //Glowing overlaycomponent• I level designer non vogliono saperecosa fa funzionare tutto, ma sonointeressati ad avere classi ecomponenti “out of the box” a cuiattaccare skin e materiali• E’ importante utilizzare un altolivello di astrazione, e affidarsi adelle classi “Template”  Si offreagli altri reparti di produzione altaflessibilità con modifiche minime alivello Software
  9. 9. UNREALSCRIPT & PROPERTIESclass STP_Lovecraft extends STPPlayer;//Subclass specific functions…defaultproperties{//Lovecraft Specific PropertiesPortraitMaterial=MaterialSTP_Interface.HUD.Materials.Character_Default_PrtEnergy=150.0EnergyMax=150.0Health=150.0HealthMax=150.0EnergyRegenerationRatio=2.0 //Each secondHealthRegenerationRatio=1.0 //Each 0.5 seconds//Lovecraft Character Mesh and CollisionBegin Object Name=WPawnSkeletalMeshComponentSkeletalMesh=SkeletalMeshSTP_Char.Main.Lovecraft.Skel.Lovecraft_SkeletalAnimSets(0)=AnimSetSTP_Char.Main.Lovecraft.Logic.Lovecraft_AnimSet’AnimTreeTemplate=AnimTreeSTP_Char.Main.Lovecraft.Logic.Lovecraft_AnimTree’PhysicsAsset=PhysicsAssetSTP_Char.Main.Lovecraft.Logic.Lovecraft_Skeletal_Physicsscale = 0.7bEnableFullAnimWeightBodies = falseEnd ObjectMesh=WPawnSkeletalMeshComponentComponents.Add(WPawnSkeletalMeshComponent)Begin Object Name=CollisionCylinderCollisionRadius=+0020.000000CollisionHeight=+0060.000000End ObjectCylinderComponent=CollisionCylinder}
  10. 10. FLOW DEL GIOCOCaricamento della mappa e impostazioni della tipologia di gioco.Vengono caricate le classi HelperGenerazione di tutti gli Actor di gioco e collocazione sulla mappaCreazione del Giocatore e del Controller di giocoSpawn del Giocatore e inizio del MatchGestione eventi generatilocalmente o da NPCGame FlowElaborazione degliInput del giocatoreRendering HUD Controllo NPC tramite IAGestione eventi temporali
  11. 11. UNREAL KISMET• Permette la gestione di funzionalità specifiche diun livello di gioco• Eventi Cinematic• Eventi generati da trigger (e.g. Apertura porte)• I level designer non devono toccare il codice! Vengono loro forniti i mezzi per gestire eventidi gioco dall’Editor• E’ possibile la creazione di nodi Custom specificiper ogni necessità• I nodi custom vengono automaticamentericonosciuti da UDK (sottoclassi diSequenceObject)• Si possono far interagire nodi Kismet contutte le altre classi e funzioni già definite• Nodi collegabilitra loro:• Nodo evento• Nodo variabile• Nodo azione
  12. 12. UNREAL KISMETclass HUDKismetSeqAct_MessageBox extends SeqAct_Latent;event Activated(){// Collega questo elemento allHUDlocal PlayerController c;c = GetWorldInfo().Game.GetALocalPlayerController();if(c != none){STPHud(c.MyHUD).Kismet_MessageBox = self;STPHud(c.MyHUD).Kismet_MessageBox.ForceClose =false;startTimer = GetWorldInfo().TimeDilation;}}
  13. 13. FISICA E SIMULAZIONEPHYSICS ASSETSCLOTH SYSTEMFRACTURED MESHNvidia Apex TechnologyGenerata con PhysLabSemplicePossibilità di usare unatexture per definire ipunti di cedimento dellameshNvidia ApexTechnology/PhysX ClothingSystemSupporta Self collisionApex: setup in Maya/3dsApex: permette collisionetra cloth e rigid bodies delcharacterNvidia Apex TechnologyGenerata con PhysLabSemplicePossibilità di usare unatexture per definire i puntidi cedimento della mesh
  14. 14. ESPORTAZIONE DEL GIOCODefault EngineDefault Game
  15. 15. UNREAL FRONTEND
  16. 16. CONTATTIhttp://www.steampunkleague.nethttp://www.dixidiasoft.com@dixidiasoft - @steampunkleagueMail: info@dixidiasoft.com

×