Tesina maturità
A.S. 2014/2015
Videogiochi online
Signorella Andrea
V A settore informatico
I.T.S. M. Laporta Galatina
Sommario
Introduzione 2
Figure professionali in un’azienda videoludica
Architettura client/server 5
Database managers 7
Gestione permessi degli utenti nel database e comandi
SQL (GRANT e REVOKE) 7
Sicurezza nella rete (attacco
DOS al PSN nel 2011) 9
Seconda guerra mondiale 11
Ermetismo e Quasimodo 14
1 1
Introduzione
Il videogioco è un gioco gestito da un dispositivo elettronico che consente di interagire con le immagini di uno schermo.
Il termine può identificare un software oppure un dispositivo hardware dedicato a uno specifico gioco.
Colui che utilizza un videogioco viene chiamato “Videogiocatore” e si serve di una o più periferiche di input quali il joystick, la tastiera, il joypad ecc.
La massiccia diffusione di Internet negli anni novanta ha favorito una diffusione altrettanto massiccia dei videogiochi e quindi dei videogiochi online.
In questo modo persone fisicamente lontane possono collegarsi ad uno stesso server di gioco e partecipare alla stessa partita.
Tra i vantaggi di questo sistema vi sono la relativa semplicità di collegamento e la possibilità di giocare con persone molto lontane.
Per contro c’è la velocità della connessione che può influire negativamente sull’esperienza di gioco.
2
Figure professionali in un’azienda videoludica
Per far sì che vengano realizzati questi videogiochi, ci sono aziende che lavorano per la progettazione e realizzazione di questo software.
Un team di progetto per essere efficiente deve essere coordinato, in modo che ogni membro sia motivato e lavori proficuamente.
La struttura di un team è generalmente gerarchica, costituita da vari livelli.
Qualsiasi progetto comporta rapporti interpersonali e prevede la gestione delle persone.
Un bravo capo è colui che incoraggia il proprio team ad impegnarsi e a dare il meglio di sé e ricompensare i risultati conseguiti da ogni membro.
Deve fissare il punto di partenza e quello di arrivo, ha come obiettivo la soluzione migliore per un problema, preservando la serenità del gruppo e saper mantenere il controllo della situazione.
Le figure professionali per un progetto di sviluppo valido variano in modo molto eterogeneo a seconda delle esigenze dello sviluppo del progetto stesso.
Di norma, si possono rintracciare delle figure legate a diversi ambiti, ma sempre per la produzione di un unico prodotto e sono:
- 1. Professioni legate alla grafica:
- 1.1 Game designer
- 1.2 Lead designer
- 1.3 Level designer
- 1.4 Sceneggiatore
- 1.5 Direttore artistico
- 1.6 3D level builder
- 1.7 3D model builder
- 1.8 3D texture artist
- 1.9 3D character animator
- 2. Professioni legate all’audio:
- 2.1 Designer del sonoro
- 2.2 Compositore
- 2.3 Ingegnere audio
- 3. Professioni legate alla produzione e alla gestione:
- 3.1 Game director
- 3.2 Producer
- 3.3 Project Manager
- 3.4 Business Analyst
- 3.5 Project Analyst
- 3.6 Game tester
- 3.7 Lead tester
- 4. Professioni legate alla programmazione:
- 4.1 Programmatore
3
4 4.2 Capo programmatore
4.3 Programmatore di engine e tool
4.4 Programmatore di grafica ed effetti speciali
4.5 Programmatore dell’Intelligenza Artificiale
4.6 Programmatore di rete/multiplayer
Project Manager
È il responsabile dell’intero progetto e punto di contatto con il cliente.
Organizza le risorse aziendali e coordina le figure professionali, cercando di raggiungere le aspettative rientrando nello stesso budget.
Ha sempre la situazione del progetto sotto controllo e in caso di problemi, decide la soluzione orientando i lavoratori.
Business Analyst
Il Project Manager all’avvio di un progetto si avvale della collaborazione di un Business Analyst, il diretto interessato per avviare una relazione commerciale.
Persona seria e professionale e che sappia consigliare il cliente in base alle sue aspettative.
Deve ispirare fiducia e deve conoscere il mercato in cui opera, poiché il cliente non è un informatico e ha bisogno di essere guidato.
Quando il progetto è terminato, il B.A. ha il compito di mantenere vivi i rapporti tra cliente e azienda, al modo di suggerire nuove commesse di lavoro.
Project Analyst
È il responsabile tecnico del progetto, al quale l’azienda ha affidato il coordinamento del lavoro da svolgere.
Sotto la supervisione del Project Manager, il titolare illustra al P.A. le esigenze di lavoro o gli obiettivi di produzione.
Quest’ultimo studia il problema, e consultandosi con P.M. e B.A., formula un’adeguata offerta economica per la realizzazione del progetto.
Team Leader
Per sviluppare il progetto, il P.M. nomina i/il Team Leader (dipende dalla dimensione del progetto) che hanno responsabilità di guidare gruppi di designer e programmatori.
Il T.L. controlla il tempo di sviluppo, la gestione delle risorse, comunicazione tra gruppi e attuazione dei test del sistema.
Suddivide il progetto e garantisce la parallelizzazione delle attività.
Collabora, poi, alla definizione dei tempi necessari allo sviluppo, comunicando il tempo al B.A. che quindi potrà studiare i costi e redigere l’offerta per il cliente.
Designer e programmatori
Sono coinvolti nella fase di sviluppo:
- Designer: si occupano dello studio del modello informatico, delle strutture di dati e progettano l’interfaccia.
- Programmatori: attraverso un linguaggio codificano i programmi e le specifiche tecniche prodotte dai designer.
4
Architettura client/server
Per giocare online, bisogna accedere a dei server messi a disposizione dai produttori del videogioco e si utilizza quindi un’architettura client/server.
Il server è ospitato su un computer chiamato host ed è in ascolto tramite un socket su una determinata porta in attesa di richiesta di connessione da parte di un client, mentre il client invia la propria richiesta al server tentando la connessione tramite tale porta, cioè quella su cui il server è in ascolto.
Un client, quindi, per comunicare con un server usando il protocollo TCP/IP deve, per prima cosa, “connettersi” al socket dell’host dove il server è in esecuzione specificando l’indirizzo IP della macchina e il numero di porta sul quale il server è in ascolto.
Ora possiamo distinguere due tipi di comunicazione:
- Unicast: il server comunica con un solo client alla volta accettando una richiesta di connessione solo se nessun altro client è già connesso;
- Multicast: al server possono essere connessi più client contemporaneamente (quella utilizzata nei videogiochi online).
Nel caso della trasmissione multicast se la richiesta di connessione tra client e server va a buon fine, il server, prima di stabilire il canale di connessione con il client, sposta la richiesta dalla porta nella quale è stata effettuata, port address, su una nuova porta, così lascia libera la prima in attesa di altre connessioni, e manda in esecuzione un thread che soddisfa la richiesta.
Le architetture client-server sono normalmente organizzate a livelli (tier) dove ogni livello corrisponde a un nodo o gruppo di nodi di calcolo su cui è distribuito il sistema: ciascun livello funziona da server per i suoi client nel livello precedente e da client per il livello successivo ed è organizzato in base al tipo di servizio che fornisce.
In generale nelle applicazioni possiamo individuare tre tipi principali di funzionalità che corrispondono a una struttura in tre strati o livelli:
- Front-end o presentation tier: è l’interfaccia verso l’utente;
- Logica applicativa o middle tier;
- Back end con l’accesso alle risorse/ai dati, anche detto data tier.
Architettura 1 tier
5
6 A partire dagli anni ’70 le architetture si riducevano a un solo mainframe al quale erano collegati i terminali “stupidi”: quindi tutta l’elaborazione era effettuata dall’elaboratore centrale e i terminali servivano solo per le fasi di I/O.
Architetture 2 tier
A partire dagli anni ’80, sono nate le architetture client-server dove le funzionalità e le responsabilità erano suddivise sui livelli client e server.
Possiamo individuare due sottocategorie di architetture a due livelli:
- Il modello thin-client, dove il server è responsabile della logica applicativa e gestione dei dati e il client è responsabile dell’esecuzione del software di presentazione;
- Il modello thick-client, dove il server è responsabile della gestione dei dati mentre il client è responsabile di presentazione e logica applicativa.
Architetture 3 tier
A partire dagli anni ’90 l’architettura client-server è a tre livelli e a ogni livello corrisponde uno strato architetturale, dove il server è responsabile della gestione dei dati, il client è responsabile della presentazione e il middleware è responsabile della logica applicativa.
Architetture a n tier
Collegamenti
Videogiochi online, tesina
- Gestione - Figure professionali
- Progettazione - Architettura client-server
- Sistemi - Sicurezza informatica
- Informatica - SQL GRANT & REVOKE
- Inglese - Database
- Storia - Seconda guerra mondiale
- Italiano - Ermetismo e Quasimodo