Mi sto facendo male non conoscendo il C ++ per il game design? [chiuso]


14

In questo momento, mi sento forte sia in Java che in C #. (Non c'è un grande salto dall'uno all'altro).

Anche se non mi aspetto che un game designer / programmatore sia un obiettivo raggiungibile all'inizio della mia carriera, questo è un obiettivo che raggiungerò più avanti nella mia carriera.

Con questo in mente, ritengo che ignorare il C ++ e gli strumenti di progettazione del gioco ad esso associati mi danneggeranno o rallenteranno la mia capacità di raggiungere il mio obiettivo.

È questo il caso? Oppure posso continuare ad affinare le mie abilità in C # usando XNA e WPF per progetti personali che possono portarmi in una carriera del genere?


1
Guarda le posizioni nelle società di gioco e dimmi cosa vedi. Probabilmente scoprirai di avere la folla del gioco web / facebook che è principalmente alla ricerca di sviluppatori di actionscript / php, la folla del desktop che cerca c ++ / lua e la folla di i-gadget che usa object-c. Dipende da cosa vuoi fare davvero se stai facendo del male a te stesso. (Questo viene da qualcuno che si sta concentrando su C # e Python e ignora c ++)
Ken

Risposte:


21

IMO, sì, è probabile che ti stia facendo del male. Prima di tutto, a torto oa ragione non v'è una gerarchia percepita tra linguaggi di programmazione - e C ++ ha in genere una standing superiore a Java o C # (ad esempio, questioni come la tua sono abbastanza comuni - Il contrario è praticamente sconosciuto). Se si applica da qualche parte che utilizza C # o Java e si conosce C ++, è improbabile che mettano in dubbio la propria capacità di programmazione. Se si applica da qualche parte che usi C ++ e si sa C # e Java, c'è una bella buona possibilità, essi saranno in discussione la sua capacità di programmazione, almeno in una certa misura. Questo non vuol dire che la percezione non possa essere superata, ma ti stai ancora mettendo in una posizione di svantaggio.

In secondo luogo, almeno tra gli sviluppatori di giochi indipendenti che conosco (è vero, non molti), c'è qualche antipatia di base di C # solo perché proviene da Microsoft. Sun è stato visto molto più positivamente, ma dal momento che l'acquisizione di Oracle non sembra essere più il caso. Molti vedono "Oracle" e "fantastici giochi" il più vicino possibile agli opposti esatti il ​​più umanamente possibile.

Infine, da un punto di vista pratico, i giochi sono uno dei luoghi in cui il C ++ viene utilizzato maggiormente. Se non conosci C ++ almeno in misura ragionevole, limita semplicemente considerevolmente le tue opzioni.


5

Non è del tutto chiaro, ma quali sono i tuoi obiettivi? Essere un game designer? Cosa pensi che la posizione sia / faccia?

Nel caso di base, fintanto che non stai scrivendo il vero codice, non conoscere specificamente C ++ non ti farà del male. Naturalmente, avere una comprensione fondamentale di programmazione in sé (orientato agli oggetti di design e di essere in grado di pensare in termini di condizionali, ecc) sta andando per aiutarvi. Ciò che fa C ++ stesso rispetto a C # o Java probabilmente non avrà importanza quando si tratta di aiutare a progettare regole di gioco facili da descrivere con il codice.


3

Dipende davvero da quali sono i tuoi obiettivi. Se vuoi passare al design il più rapidamente possibile e farti strada fino a diventare un regista, il background tecnico che conosci Java e C # sarà più che sufficiente.

Se il tuo intento è quello di arrivare a una posizione di programmazione senior / lead e passare da una posizione di regista da lì, è meglio imparare un qualche tipo di linguaggio non gestito. Non necessariamente C ++ - C, Obiettivo C o qualcosa di più marginale come D andrebbe bene. Ma anche lavorando a livelli più alti di astrazione in C #, è difficile essere un grande programmatore senza comprendere i puntatori e la gestione della memoria, senza essere in grado di leggere i dump di memoria e di assemblaggio, senza essere in grado di comprendere o addirittura implementare ottimizzazioni di basso livello.

Dovrei anche aggiungere - se non sei nel settore ora, pianificare una ventina d'anni è sciocco. Forse scoprirai che lo odi; forse scoprirai che non vuoi diventare un regista a causa di tutte le cazzate non legate allo sviluppo e preferiresti semplicemente rimanere un progettista senior o un programmatore, lavorare sotto un regista ma con molta libertà in uno specifico dominio che ti piace.


2

Probabilmente starai bene usando le lingue che conosci; C # con XNA è popolare in questo momento poiché puoi sviluppare su XBOX360, Zune e PC. La popolarità di Java sta tornando a causa del successo indipendente di Minecraft.

Ero in una posizione simile alla tua, e ho deciso di "ricominciare" per così dire con il C ++, e 2 settimane fa ho acquistato "Iniziare il C ++ attraverso la programmazione del gioco". NON è un libro di programmazione di giochi, ma un libro per principianti in C ++ che copre tutto ciò che dovresti sapere in C ++ durante la programmazione di giochi con un'altra API o Libreria e sostituisce progetti noiosi con altri relativi al gioco. Era una bella lettura.

Ora sto passando a DirectX e ho acquistato un libro intitolato "Programmazione di un gioco RTS in DirectX" di Carl Granberg. Ha recensioni fantastiche. Non sono ancora sicuro di aver preso una decisione sbagliata con DirectX su OpenGL, ma vedremo.


2

Imparare più lingue sarà solo a tuo vantaggio. Anche se quasi tutti i motori pro usano - o dovrebbero usare - script e / o strumenti estesi per la facilità d'uso del progettista, hai ragione nel dire che aiuta molto ad avere un progetto su cui hai specificamente lavorato. Anche se il tuo intervistatore non presta attenzione ai tuoi progetti (che è già improbabile), lavorare su un solo progetto personale sarà una grande esperienza di apprendimento.

Per i progettisti e gli artisti, il portfolio è probabilmente ancora più importante, dal momento che non è possibile sostenere test di programmazione o interviste tecniche semplici. Quindi, non sto dicendo che dovresti dare di matto e imparare tutto ciò che c'è da sapere sul C ++.

Piuttosto, dovresti essere in grado di mostrare alcuni giochi che hanno un buon potenziale di progettazione (pensa a concetti di gioco chiari e chiari come Limbo o Portal) se li hai sviluppati tu o li hai creati usando Flash. Usa la codifica come strumento, non come arma principale. Assicurati che siano facilmente accessibili sul tuo sito con video di gioco, schermate e download disponibili.

Soprattutto, lucidare tutto ciò che fai, non importa quanto piccolo o che tipo di progetto hai. Se la programmazione riguarda la robustezza e l'usabilità, la progettazione è divertente (la gente spesso lo dimentica) e dimostra che puoi davvero inchiodare i dettagli.


0

C ++ è il creatore e il creatore di alcuni dei linguaggi più utilizzati che includono Java. Imparando il C ++ (sia per gli sviluppatori di giochi che altro), sarai in grado di imparare quasi tutte le lingue con velocità e facilità. Questa è la magia di questa lingua. C ++ offre un maggiore controllo del codice rispetto a Java. Quindi, se vuoi davvero essere un vero maestro del tuo codice, allora saresti in una posizione molto migliore per imparare il C ++

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.