Programmazione di videogiochi

La programmazione di videogiochi è un processo utilizzato nella creazione di un videogioco . Questo processo viene eseguito da uno sviluppatore di videogiochi attraverso la programmazione del computer .

In sostanza, la programmazione di un videogioco si riduce a ripetere ad intervalli regolari di tempo le seguenti azioni:

L'agente è spesso un personaggio (generalmente indicato come un eroe ), ma potrebbe anche essere un'auto, una nave o altro. L'ambiente è generalmente costituito da un ambiente statico e da oggetti interattivi (nemici, oggetti di inventario, porte, ecc.). L'utente invia input al programma utilizzando un dispositivo come un gamepad , una tastiera , un mouse , ecc. La gestione delle interazioni consiste nel prevedere possibili azioni sull'ambiente, rilevarne l'attivazione e gestire le risposte. Ad esempio, per creare un'interazione "apri la porta", devi decidere i processi che ne permetteranno l'attivazione (es. il giocatore deve premere il pulsante previsto a tale scopo, il personaggio deve essere abbastanza vicino alla porta e il 'sta più o meno affrontandolo), allora è necessario, durante il gioco, rilevare che queste condizioni sono soddisfatte. Se questo è il caso, allora viene generata una reazione, nel nostro esempio, visualizzando sullo schermo una porta che si apre.

I fenomeni non direttamente controllati dall'utente sono molteplici e variano molto a seconda del gioco, può comportare la gestione dell'intelligenza artificiale di agenti non controllati dall'utente, la gestione delle collisioni tra agenti e fisica (per i giochi che utilizzano un modello fisico realistico) .

Queste prime due parti fanno parte del gameplay (cioè delle regole di interazione) di un gioco che normalmente è deciso da un game designer e implementato dal programmatore .

La creazione dell'immagine e la sua visualizzazione diventano sempre più complesse man mano che sale il livello grafico dei giochi. Una volta quasi esclusivamente in due dimensioni, gli ambienti di gioco sono ora prevalentemente tridimensionali . In tutti i casi, l'immagine viene costruita a poco a poco in uno spazio di memoria (il framebuffer ) e non viene inviata allo schermo fino a quando il disegno non è finito nel suo insieme.

La creazione di un'immagine 2D generalmente inizia con la visualizzazione dei disegni più distanti, successivamente si sovrappongono altri disegni. Per esempio :

Per un gioco "visto di lato" (tipicamente un gioco platform), inizieremo disegnando gli oggetti più distanti e finiremo con quelli più vicini al punto di vista del giocatore.

La creazione di un'immagine 3D è molto più complessa. A differenza di altre aree delle immagini generate al computer, i videogiochi generalmente devono creare ogni fotogramma in tempo reale mantenendo una frequenza di aggiornamento dello schermo decente. La difficoltà è quindi quella di riuscire a creare un'immagine di buona qualità in un lasso di tempo molto breve, gestendo al contempo i diversi elementi del gioco.È con questo in mente che oggi la programmazione di giochi 3D è sempre più legata al computer hardware, sfruttando al meglio le funzionalità di accelerazione hardware delle schede grafiche al fine di accelerare il più possibile l'elaborazione di oggetti 3D , e ottimizzando il codice sorgente .

La frequenza di ripetizione di queste operazioni varia molto a seconda della piattaforma (computer, console, cellulare, ecc.). Si ritiene che siano necessari almeno 24 fotogrammi al secondo per dare una buona impressione di movimento nel cinema, ma nei videogiochi è necessaria una frequenza maggiore. Tutte le parti di un programma non devono necessariamente essere elaborate per ogni immagine (eccetto la creazione e la visualizzazione di questa immagine).

I programmatori di videogiochi sono inoltre tenuti a sviluppare vari software e strumenti informatici utilizzati nella catena di produzione dei videogiochi; strumenti destinati ad esempio ad altri attori dello sviluppo (come artisti di computer grafica , animatori, game designer, ecc.) o per eseguire elaborazioni batch .

Riconosciuti programmatori di videogiochi

Vedi anche

Riferimenti bibliografici

Note e riferimenti