Architettura generale di "produttori di giochi" (senza codifica)?

5

In che modo i creatori di giochi / motori come Buildbox, GameSalad, Construct, GameMaker, ecc lavorano in linea di principio? Non sono interessato a ottenere un elenco di tecnologie (linguaggi di programmazione, API, ecc.), Ma come - dal punto di vista dell'ingegneria del software - questi programmi convertono le interazioni dell'utente in codice esportabile?

Quello che sto cercando è solo una descrizione approssimativa di come il software crea file di codice / sorgente dalle interazioni dell'utente con il software. Mentre i dettagli sarebbero fantastici, sarebbe sufficiente una panoramica di alto livello.

Sono un CS di secondo anno e ho una certa esperienza con Java / C / C ++, nonché alcuni linguaggi web e framework. È difficile trovare informazioni su in che modo un software di creazione di giochi funziona perché c'è più contenuto su come creare giochi in generale.

Nel caso non lo sapessi, Buildbox, GameSalad, Construct, GameMaker sono popolari costruttori di giochi drag and drop. Mentre Buildbox è esclusivamente drag and drop, gli altri hanno linguaggi di scripting opzionali come funzionalità.

    
posta Sean Nam 05.12.2016 - 07:29
fonte

3 risposte

7

Il primo tipo di sistema che ho incontrato era un motore chiamato " HURG ". Sono diventati molto più avanzati da allora, ma sostanzialmente funzionano tutti allo stesso modo: hanno un motore pre-programmato incorporato (o alcuni motori diversi per diversi generi di giochi) che hanno un numero molto grande di opzioni per la personalizzazione loro, un modo semplice di programmare il comportamento degli oggetti di gioco graficamente (e nella maggior parte dei casi anche modi di collegare questi oggetti a programmi scritti esternamente in una sorta di linguaggio di scripting), e una pipeline di asset grafici per importare le tue opere d'arte. Hanno quindi un metodo che raggruppa tutto tranne l'editor in un modulo installabile con un eseguibile che carica semplicemente il motore con le opzioni e le risorse e lo avvia.

In altre parole, non sono molto diversi da un gioco altamente personalizzabile che supporta le mod di conversione complete (ad esempio la serie Half Life, che supporta le mod che sono quasi conosciute come il gioco stesso, ad esempio Counterstrike), tranne che vengono forniti con gli strumenti di sviluppo di cui hai bisogno, piuttosto che doverli ottenere separatamente.

    
risposta data 05.12.2016 - 08:17
fonte
4

Funzionano perché dati e codice sono la stessa cosa

Quando fornisci input al computer mentre giochi, il tuo input diventa dati. Quando si utilizza un generatore di giochi, si fornisce un input che diventa dati. Quando scrivi il codice, costruisci un gioco che stai fornendo input che diventa dati.

Sono tutti dati. Il segreto è come usi quei dati.

Quello che stai vedendo è davvero un gioco. Può essere rinominato, scuoiato, livellato e riscritto, ma è lo stesso gioco. La parte che non cambia le persone chiama il "motore di gioco". Il motore di gioco stabilisce il limite delle prestazioni e degli effetti. Non limita il contenuto.

Quando le persone si entusiasmano per un nuovo gioco che ha effetti sorprendenti che l'ultima generazione di giochi non avrebbe mai potuto fare, ciò di cui si stanno entusiasmando è il motore di gioco.

Quando le persone si entusiasmano per un nuovo gioco con una storia, un'arte e rompicapi incredibili che non hanno mai visto prima, ciò di cui si stanno entusiasmando è il contenuto.

Infatti, quello che sto scrivendo in questo momento sta per diventare contenuto presentato nella skin di softwareengineering racchiusa nel motore di pagine web stackexchange.

Quindi sì, quelli che creano giochi con buildbox sono sviluppatori di giochi allo stesso modo in cui le persone che pubblicano qui sono sviluppatori web.

    
risposta data 05.12.2016 - 08:36
fonte
4

To avoid this getting too broad, what I'm looking for is only a rough outline how the software creates code/source files from the user interactions with the software. While details would be awesome, a high level overview would be sufficient.

Fondamentalmente puoi inserire dati e codice di uscita.

    
risposta data 25.01.2018 - 14:49
fonte

Leggi altre domande sui tag