Quando si creano prototipi rapidi, è meglio utilizzare la lingua che si intende utilizzare alla fine?


23

Ho lavorato con SFML (C ++) e Flash (AS3) e di solito ho creato prototipi per alcune idee che ho.

È meglio usare il linguaggio che userai alla fine (di solito C ++) o usare qualcosa di semplice e veloce (AS3, Python, ecc.) Per farlo funzionare e poi ricominciare da capo quando avvii il prodotto principale?

Risposte:


31

Dipende fortemente da quali sono i tuoi obiettivi.

Se stai cercando di dimostrare il gameplay, la velocità di iterazione è probabilmente il tuo obiettivo più importante e quindi dovresti scegliere una lingua e un ambiente adatti a quello.

Se stai cercando di dimostrare la tecnologia (usando il middleware o altro), i tuoi obiettivi includeranno anche la scelta della lingua da usare.


6
Una cosa da aggiungere, utilizzando una lingua diversa dalla lingua di destinazione finale impedirà al prototipo di diventare codice di produzione. Potresti tenerne conto quando pensi alla politica della tua azienda.
jessecurry,

1
@jessecurry, adoro come hai detto "aiuta a prevenire". Ho visto il prototipo del codice Ruby prendere vita in pochi giorni insieme all'installazione del supporto ruby ​​sui server di hosting.
Gradbot,

A meno che tu non voglia dimostrare le prestazioni, anche la scelta della lingua non ha importanza per dimostrare la tecnologia. Vale a dire rispondere alla domanda "Funzionerebbe affatto", un prototipo con script rapido può darti tutte le risposte di cui hai bisogno.
Rachel Blum,

@ Rachel Bene, ecco perché ho preceduto l'intera domanda con "dipende".
Tetrad

14

L'idea del prototipo è quella di ottenere una versione di lavoro rapida e sporca della tua idea e quindi di disporre il prototipo al fine di creare una solida architettura per il tuo prodotto finale.

È importante riconoscere che un prototipo non è pensato per essere (e non dovrebbe mai essere) rifattorizzato in un prodotto, quindi non è necessario scriverlo nella stessa lingua in cui si desidera scrivere il gioco finale. È meglio scegliere un linguaggio di programmazione che consenta uno sviluppo veloce, come Flash, come hai già detto.

I prototipi per loro natura non sono progettati per essere codici di lunga durata. I prototipi sono progettati per essere gettati via. Sono una tantum. Non è appropriato progettare eccessivamente un prototipo. Un prototipo è come una città in un film western. È tutta facciata. Non c'è niente dietro. Non puoi trasferirti e crescere una famiglia in una di quelle case.

Se vuoi costruire qualcosa che potresti voler usare ulteriormente, questo non è un prototipo ma piuttosto un Bullet Tracer come Andy Hunt e Dave Thomas lo chiamano nel libro The Pragmatic Programmer .


4

Il consiglio generale con i prototipi è di usare qualcosa che sia completamente buttato via. L'obiettivo di un prototipo durante lo sviluppo di giochi è semplicemente quello di garantire il divertimento. La meccanica di gioco principale su cui si basa il tuo software è davvero un gioco divertente? Questa è una domanda importante, a cui vuoi rispondere il più rapidamente possibile. Usa tutti i mezzi necessari per arrivare a quella risposta.


1

Penso che la risposta qui dipenda in qualche modo da quanto ti senti a tuo agio nelle varie lingue e dalle esigenze tecniche del prodotto finale. Al giorno d'oggi con molti giochi a basso budget, non c'è davvero bisogno di scrivere codice in C ++: non avrai mai bisogno della velocità che ti offre.

La mia esperienza è stata che se stai lavorando duramente per far funzionare un prototipo, hai fatto tutti i tipi di compromessi nella qualità del tuo codice per arrivarci. Mi piace buttare fuori quei prototipi e ricodificarli; con le lezioni che ho imparato da quelle, codificare ciò che voglio di nuovo (indipendentemente dalla lingua in cui si trova) sarà piuttosto veloce e avrà una qualità del codice molto più alta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.