Introduzione allo sviluppo del gioco: XNA è una buona scelta? [chiuso]


16

Lettore da molto tempo; prima domanda:

Ho voluto far parte del settore dei giochi per un po ', ma il mio curriculum è al 100% tutto lavoro di back-end.

Sono un forte sviluppatore C ++ / C #, senza esperienza pratica nello sviluppo di giochi. La mia esperienza di backend mi rende un buon candidato per il lavoro di backend (dal momento che molti giochi al giorno d'oggi hanno aspetti basati sul servizio), ma è un campo iper competitivo e sto cercando modi per distinguermi.

Dato che nessuno si avvicina a me e mi dà un lavoro nel settore dei giochi, ho deciso di provare il mio cappello scrivendo i miei giochi.

Capisco perché C e C ++ sono i linguaggi defacto nello sviluppo del gioco, ma mi piace molto la filosofia dietro XNA. Come ho detto prima, sono esperto sia in C # che in C ++, ma se ricordo bene, XNA funziona solo con linguaggi conformi a CLR (forse solo in C #).

Concentrarsi sullo sviluppo di giochi usando XNA e C # anziché C ++, danneggerebbe le mie possibilità di ottenere un lavoro nel settore dei giochi? VB ha una reputazione ingiusta di non essere un vero linguaggio di programmazione e i programmatori VB sono coinvolti in questo stigma. È questo il caso dell'uso di C # in una comunità che consiste principalmente di sviluppatori C ++?

Oppure i fondamenti dello sviluppo del gioco che possono essere appresi dalla scrittura di giochi, trascendono il linguaggio e le tecnologie?

Risposte:


15

Non penso che danneggerebbe le tue possibilità. C # sta diventando sempre più popolare, specialmente con XNA e SlimDX. Ho usato sia C # che C ++ e devo dire che ho preferito XNA in modo significativo. Era solo più pulito con cui lavorare, ma non così tanto da sembrare che non stavi facendo nulla.

Per la parte della carriera, vorresti dire che sei abituato a XNA, anche se non penso che danneggerebbe le tue possibilità. In effetti, a causa del modo in cui è più facile da usare, i pezzi del portafoglio potrebbero essere migliori.

E i concetti rimangono gli stessi, solo la sintassi diventa diversa. A meno che tu non stia andando per un lavoro di grafica di basso livello, il layout di ciò che devi fare sarebbe vicino allo stesso (non scrivere il codice di caricamento dello shader o le cache delle maglie, invece semplicemente caricarlo).


+1: bella risposta. Pensi che ci si aspetti che i pezzi del tuo portafoglio dovrebbero essere migliori da quando hai usato XNA? Ad esempio, in una delle mie lezioni di hardware ci è stata data la scelta di scrivere il nostro progetto di progettazione nell'assemblaggio HC12, o usando C, ma con C, il nostro progetto doveva essere significativamente più interessante a causa della facilità di programmazione in C sull'assemblaggio.
Alan,

Non credo proprio che ci sarebbe. È uno strumento per una soluzione e la ragione per cui dico che il prodotto finale sarebbe "migliore" è perché c'è meno tempo speso per il rendering del design e più tempo speso per il lavoro di gioco reale.
Il comunista Duck il

A meno che tu non stia cercando specificamente un lavoro di grafica, la maggior parte delle persone non cercherà tonnellate di smalto grafico in un portfolio. Fai qualcosa che sembra più coinvolgente che bello. A questo proposito, XNA vs. C non ha molta importanza finché è divertente.
coderanger

Anche se se vuoi che sia bello, usare un motore di rendering come Sunburn su XNA può aiutare molto!
Chris Ridenour,

10

È stata la mia esperienza che gli stessi concetti utilizzati in XNA si spostano avanti e indietro tra librerie e linguaggi diversi. Sono stato in grado di saltare efficacemente avanti e indietro tra le diverse tecnologie di gioco e ho iniziato con XNA.

Lavorare con C # e XNA mi ha aiutato a concentrarmi su un obiettivo di apprendimento specifico ("Cosa rende tick un gioco?") Piuttosto che mescolare obiettivi ("Come posso imparare X e creare un gioco allo stesso tempo?"). Ho scoperto che ogni volta che combinavo obiettivi, finivo con risultati piuttosto spaventosi. Tuttavia, iniziare nella mia zona di comfort e appoggiarmi a XNA mi ha aiutato a far andare le cose.


Mi piace molto la tua risposta. Con tutti i linguaggi di programmazione che hanno strutture simili (oggetti, strutture di controllo ecc.) Penso che dovresti imparare i concetti di ciò che vuoi fare con ciò con cui ti senti a tuo agio. Le principali differenze a quel punto che si spostano da una lingua all'altra dovrebbero essere la sintassi, i componenti principali e le API.
Giovanni,

3

Se riesci a creare un gioco divertente e in realtà sei un ingegnere di talento, non hai nulla di cui preoccuparti. Nessuno ti dara 'per come hai fatto il tuo gioco.

I giochi non sono mantenuti come molti altri prodotti software. Viene prodotto meno codice da buttare rispetto al settore degli effetti speciali, ma possiamo ancora cavarcela con molti hack per convenienza.

Basta fare il lavoro. Alla fine è questo lo sviluppo del gioco.


3

Mi è stato detto che:

  1. Il contenuto è significativamente più importante degli strumenti utilizzati con alcune eccezioni.

  2. Sebbene la base della maggior parte dei giochi più grandi sia C ++, è perché gli strumenti sono sviluppati in C ++. Se non stai codificando gli strumenti, è possibile che non programmerai comunque in C ++.

Modifica: Inoltre, avere un progetto demo completato in qualsiasi cosa (C #, ecc.) È significativamente meglio che avere qualcosa di incompleto in un linguaggio più difficile (C ++, ecc.).

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.