Perché (e come) dovresti abbandonare Unity e Unreal per creare il tuo motore

Spesso ti trovi accogliere con la schermata di avvio di Unreal Engine o 'Made with Unity' quando avvii un gioco, due dei motori di gioco più comuni oggi. Si tratta di motori robusti e consolidati, ma non sempre le migliori opzioni per gli sviluppatori indipendenti, secondo il veterano sviluppatore Rez Graham. In un talk alla GDC 2024 dal titolo 'Un argomento per creare il tuo motore di gioco', ha sostenuto la costruzione di giochi sulla propria tecnologia attraverso framework e librerie – strumenti esistenti che offrono alcuni vantaggi notevoli, e ammettendo alcuni svantaggi di cui gli sviluppatori dovrebbero essere consapevoli.

Graham ha realizzato giochi in modo indipendente sotto BleachKitty dopo il suo lavoro alla Electronic Arts sulla serie The Sims. Dal suo punto di vista e dalla sua esperienza, i motori di gioco più popolari non sono sempre la scelta migliore per lo sviluppo, e dipende davvero dai tuoi obiettivi e dal tipo di gioco che vuoi realizzare. Ha senso sulla carta, ma ha delineato diversi fattori che devono essere presi in considerazione per decidere se costruire la propria tecnologia o lavorare con i motori esistenti.

Ragionamento di base

L'idea è che avrai una base particolarmente adatta a realizzare il tipo di cosa che desideri realizzare, come dice Graham, 'Puoi dire [ad esempio], il tipo di gioco che sto realizzando è questo gioco in stile roguelike. Quindi utilizzerò questo framework e poi costruirò su di esso con i sistemi esatti di cui ho bisogno che potrebbero consentirmi di realizzare roguelike abbastanza facilmente.' Tuttavia, il processo di costruzione del motore e lo sviluppo dovrebbero sovrapporsi, come suggerisce, 'Non sto dicendo, iniziamo spendendo due anni a costruire un motore. Quello che fai invece, costruisci la tua propria tecnologia. Realizzi il tuo gioco ed estrai le cose come necessario.'

Per quanto riguarda l'uso di framework interconnessi, Graham ha dato un esempio di ciò che intende in pratica – utilizzando SDL per OS, rendering, suoni e input poiché è ben noto (SFML funziona bene anche), quindi Box2D per la fisica, Tiled per la modifica del livello, Tinyxml per il caricamento di XML e Sol/Lua. Ha ribadito che ci sono tonnellate di librerie gratuite e open source da cui attingere. E con tutti questi framework che lavorano in armonia, puoi creare qualcosa che funziona specificamente per te, dove hai il pieno controllo e una comprensione più profonda di un motore di gioco snello.

Uno degli svantaggi che ha menzionato è che l'uso di questo tipo di framework richiede spesso conoscenze di C++, dicendo, 'Anche se in realtà non hai bisogno che qualcuno scriva in C++, probabilmente richiede conoscenze o comprensione a basso livello.' Ma questo rende il processo di risoluzione dei problemi più facile con questi strumenti che ti consentono di identificare il problema e risolverlo anziché siftare attraverso il potenziale ondata di messaggi di errore provenienti da un motore Unreal o Unity.

un grafico che mostra varie soluzioni di motore su un asse

Pur non dovendo preoccuparti delle tariffe di licenza con la tua tecnologia, Graham riconosce che c'è un costo iniziale più elevato poiché, ovviamente, costruire la propria tecnologia richiede tempo. In una domanda di follow-up, riconosce anche che optare per qualcosa come Unreal o Unity è la migliore opzione per giochi più grandi, e ha citato Cyberpunk 2077 come esempio. Poiché quel gioco è stato creato sul REDengine di CD Projekt Red, 'I designer stavano lavorando su un obiettivo mobile. Il motore veniva continuamente costruito mentre i designer cercavano di creare i contenuti per esso, quindi non è andata molto bene per loro.'

Un altro fattore a cui Graham ha fatto riferimento era la 'conoscenza automatica' quando si inizia a coinvolgere altre persone nel progetto. Fondamentalmente rinunci alla conoscenza istituzionale che altri sviluppatori potrebbero avere dei motori di gioco più prominenti, il che significa che hai bisogno della tua documentazione e in generale di persone che conoscano almeno a livello di base il C++ quando si utilizzano i framework menzionati in precedenza.

Per quanto siano diffusi Unreal e Unity, ha indicato diversi noti giochi indipendenti che sono stati creati sulla propria tecnologia, che includevano giochi come Stardew Valley, Bastion, Darkest Dungeon, Shovel Knight, Into the Breach e molti altri. Graham ha ribadito che la creazione della tua tecnologia dipende ancora dal tipo di gioco che desideri realizzare.

L'ultimo punto che Graham ha sottolineato è che i giochi indipendenti possono spingere i confini e essere sperimentali, in particolare nell'innovazione tecnica, dicendo 'Epic sta facendo la propria innovazione tecnica, Unity sta facendo la propria innovazione tecnica, ma devono anche essere tutto per tutti. Non possono deviare troppo dalla strada battuta.'

Ha concluso, 'Ci sono alcuni giochi indie molto interessanti là fuori adesso che fanno alcune interessanti innovazioni tecniche… Quando crei la tua tecnologia, puoi fare alcune cose davvero pazzesche, ed è quello che ci manca.'

Game Developer e Game Developers Conference sono organizzazioni gemelle sotto Informa Tech.