L'ho chiesto prima in questo thread su stackoverflow.com. Uno dei primi commenti mi ha reindirizzato qui su gamedev.stackexchange.com, quindi sto ripubblicando qui.
Cercando domande correlate ho trovato una serie di domande molto specifiche, ma temo che i dettagli si siano rivelati inutili per me e dopo 4 ore su Google non sono più vicino di quanto ho iniziato, quindi ho sentito che raggiungere una comunità potrebbe essere In ordine.
Primo, il mio obiettivo: non ho mai fatto una partita prima, anche se ho confuso la possibilità più volte. Ho deciso di sedermi finalmente e iniziare a imparare a programmare i giochi, utilizzare i motori di gioco, ecc. Tutto in modo che un giorno (si spera presto) sarò in grado di realizzare giochi funzionali (anche se semplici). Posso iniziare ad aggiungere complessità più tardi, per ora sarei felice di avere una telecamera controllata da tastiera che si muove in un mondo 3D senza alcuna interazione oltre a ciò.
Il mio background: ho lavorato in diversi linguaggi di programmazione che vanno da PHP a C ++, da Java ad ASM. Non ho paura delle sfide che derivano dall'apprendimento della nuova sintassi o delle limitazioni inerenti a una nuova lingua. Tutta la mia esperienza di programmazione passata, tuttavia, è stata strettamente non grafica e di solito con un'interazione scarsa o estremamente semplice durante l'esecuzione. Ho creato algoritmi estesi e brillanti per risolvere problemi logici e matematici, nonché problemi grafici. Tuttavia, in ogni caso l'input è stato definito in un file, passato da un modulo HTML o digitato nella console. L'interazione in tempo reale con l'utente è qualcosa con cui non ho esperienza.
La mia domanda: da dove dovrei iniziare a provare a creare giochi? Meglio ancora: da dove dovrei iniziare a provare a creare un ambiente 3D navigabile da tastiera? Nella ricerca online ho trovato diverse risorse collegate a motori di gioco, motori grafici e motori fisici. Ecco un breve riassunto delle mie esperienze con alcuni motori che ho provato:
Unreal SDK: i video tutorial presumono che tu abbia già una conoscenza approfondita della modellazione 3D, dei motori grafici, delle animazioni, ecc. La pagina "Guida introduttiva" non offre alcuna spiegazione formale dello sviluppo del gioco, ma spiega come Unreal può semplificare i processi che assume hai già familiarità con. Dopo aver scaricato l'SDK e averlo avviato per vedere se gli strumenti fossero intuitivi come hanno affermato, sono stato accolto con circa 60 pulsanti e un vuoto vuoto per la mia modellazione 3D. Facendo clic su "aggiungi volume" (per tentare di aggiungere un cubo di base) mi sono trovato con un menu di 30 opzioni. Nel panico, ho chiuso l'editor.
Crystal Space: il sito web sembrava piuttosto informativo, spiegando che Crystal Space era solo per la grafica e che il software associato, CEL, forniva la logica dell'entità per creare giochi. È stato fornito un gioco demo, che è stato creato utilizzando "CELStart", il loro semplice strumento per le persone che non hanno alcuna conoscenza della programmazione del gioco. Ho lanciato il gioco per vedere cosa non vedo l'ora di creare. Si è bloccato più volte, i menu erano buggy, c'erano migliaia di problemi grafici, i nemici non rispondevano ai danni e quando ho chiuso il gioco si è bloccato. Mi sono arreso su quel motore.
IrrLicht: il tutorial presuppone che io abbia Visual Studio 6.0 (ho Visual Studio 2010). Seguendo le loro istruzioni non sono stato in grado di importare correttamente la libreria in Visual Studio e non sono stato in grado di chiamare nessuna delle funzioni che hanno continuato a utilizzare. Copia manuale dei file di intestazione, dei file di classe e delle DLL nella cartella del mio progetto: la compilazione del progetto non è riuscita correttamente.
Chiaramente non sono partito bene e vado in cerchio. Qualcuno può indicarmi la giusta direzione? Dovrei iniziare scaricando un programma come Blender e imparando la modellazione 3D, o dovrei imparare come usare un motore grafico? Dovrei cercare un motore di gioco all-inclusive o è meglio provare a codificare la mia logica di gioco? Se qualcuno ha effettivamente creato i propri giochi, preferirei sapere come hanno iniziato.
Inoltre, prendere lezioni nella mia scuola non è un'opzione. Nulla è offerto.