2009-02-06 7 views
9

Qualcuno ha idea di come sarebbe possibile passare dalla programmazione aziendale a quella di gioco? Come iniziarebbe qualcuno nella programmazione dei giochi? Sembra molto più eccitante e gratificante (meglio pagare anche tu?). Ma sembra che la maggior parte dei lavori fuori dalla scuola siano destinati alla programmazione aziendale. Qualche consiglio o idea su come farlo o se può essere fatto?Transizione dalla programmazione aziendale a quella di gioco

+0

Perché più eccitante e gratificante? –

+2

La programmazione del gioco paga sostanzialmente meno della "programmazione aziendale". Non sono nemmeno immuni dai licenziamenti. –

risposta

32

Questo non è un diretto rispondere alla domanda "Come posso passare?" Ma preferirei raccomandarti di non seguire quella strada o almeno di essere realista su come sia. Per eseguire il che fino citerò alcune statistiche dal dell'indagine 2004 IGDA sulla qualità della vita per gli sviluppatori di giochi:

  • 34,3% degli sviluppatori si aspettano di lasciare il settore entro 5 anni, e 51,2% entro 10 anni.
  • Solo il 3,4% ha dichiarato che i loro colleghi avevano una media di 10 o anni di esperienza.
  • Il tempo di crunch è onnipresente, durante il quale gli intervistati lavorano da 65 a 80 ore a settimana (35,2%). Il crunch medio funziona settimana supera 80 ore (13%). Il lavoro straordinario è spesso non retribuito (46,6%).
  • 44% di sviluppatori affermano che potrebbero utilizzare più persone o abilità speciali su i loro progetti.
  • È probabile che i coniugi rispondano che "Lavorate troppo ..." (61,5%); "Sei sempre stressato out." (43,5%); "Non guadagni abbastanza denaro ". (35,6%).
  • Contrariamente a aspettative, sempre più persone hanno detto che giochi erano solo una delle molte carriera opzioni per loro (34%) rispetto a detto giochi erano la loro unica scelta (32%).

Molti anni fa ho creato un paio di siti di sviluppo di giochi per conto mio e poi sono stato uno dei fondatori di GameDev.net. Uno dei motivi per cui l'ho fatto è stato quello di creare contatti e entrare nello sviluppo del gioco professionalmente. Ha funzionato definitivamente, un paio di persone che erano co-fondatori hanno continuato a lavorare nel settore e sono sicuro che sarei potuto andare anche io in quel modo, ma tutto quello che ho imparato sul settore mi ha insegnato le seguenti cose:

  • C'è una quantità infinita di sviluppatori là fuori che credono che lo sviluppo dei giochi sarebbe davvero interessante. Le persone che assumono per l'industria lo sanno e non pagheranno quasi altrettanto perché si affidano a questo gruppo fondamentalmente inesauribile di persone.
  • Molti degli sviluppatori del settore possono essere bravi con il 3D o il suono o molti altri argomenti, ma spesso sono inesperti con pratiche software di base che tu o io potremmo considerare essenziali. In questa categoria metterei cose come il controllo del codice sorgente, testare il primo design, i modelli di design, ecc. Anche quando sanno che il crunch del tempo per far uscire le cose spesso fa scattare buone pratiche software in un tentativo folle di risparmiare tempo.
  • Lavorare su un gioco per due anni può rapidamente diventare diverso da quello di lavorare su qualsiasi altro programma per due anni. Cioè, quando devi scavare nelle viscere del programma giorno dopo giorno e affrontare i suoi bug e solo con quel gioco non sarà più così divertente. In effetti, potresti trovarti a giocare ad altri giochi solo per scappare da esso per un po '.
  • Cosa dice che lavorerai su Half-Life X o su una delle poche dozzine di giochi interessanti che vengono pubblicati ogni anno? Ricorda, qualcuno è là fuori a costruire il gioco che va con il prossimo film di Will Farrell e probabilmente sarai tu. Guardati intorno alla maggior parte del disastro che viene fuori. Quella roba non si sviluppa da sola.
+0

grazie. questa è una grande lettura. –

+2

Queste statistiche sono fantastiche, ma non sono molto utili se non fornisci statistiche comparabili per i programmatori di business. –

0

Mi stavo chiedendo la stessa cosa!

Ho notato che ci sono una serie di buoni libri di programmazione di giochi a Barnes & Nobili, probabilmente non è un brutto posto per iniziare.

In generale, tuttavia, inizierei a guardare i libri, magari a programmare alcuni prototipi, a cominciare a guardare quali aziende sono nella vostra zona, quali strumenti usano, come potreste fondamentalmente rendervi preziosi per loro!

A proposito, qualcuno capisce se ci sono motori particolari simili a quelli che WOW/Guild Wars stanno usando per lo sviluppo di giochi MMORPG in particolare (il mio interesse principale)?

+1

Ho intenzione di darti il ​​beneficio del dubbio qui e suppongo che tu non sia il solito "come posso fare un MMORPG?" ragazzo, e ti rimando a http://sauerbraten.org/. (Per ulteriori informazioni su That Guy, vedi http://metamagick.net/images/mmorpg.gif.) – chaos

1

La storia generale è che il modo per entrare nella programmazione del gioco è iniziare a farlo. Non ha senso nemmeno presentarsi alla porta di casa di una società di giochi senza una demo di quello che vuoi che paghino.

Se stai uscendo da una programmazione aziendale, ciò sarà contro di te e sarà anche uno shock culturale. L'industria dei giochi funziona su singoli maschi da 20-qualcosa che possono essere insegnati che le settimane lavorative di 120 ore sono come le cose sono fatte.

+0

"Le settimane lavorative di 120 ore sono come vanno fatte le cose." nel settore della programmazione di giochi, questo è molto vero – BlackTigerX

+0

Per chiarire, con "corre su" intendo "brucia come cordwood". – chaos

2

Se sei un buon programmatore puoi farlo, la programmazione del gioco richiede una migliore comprensione delle piattaforme e degli strumenti che utilizzi per sviluppare i giochi.

Penso che sia molto più difficile entrare nell'industria della programmazione di giochi che non nel settore normale.

L'alternativa migliore è creare i propri giochi, ottenere esposizione, se sei abbastanza bravo troverai la tua strada.

Ci sono molti concorrenti davvero buoni, basta controllare i molti siti che offrono giochi flash gratuiti, è possibile iniziare a postare il proprio lavoro su quei siti.

0

Penso che non sia un interruttore facile. La programmazione del gioco non è qualcosa che puoi imparare durante la notte. Sospetto che un livello di entrata sarà piuttosto alto se vuoi più di un salario laureato.

Tanto tempo fa ho lavorato in un'azienda che lavorava nel campo del gioco d'azzardo online. Allora ho deciso che volevo essere impegnato in attività più serie.

Hai davvero bisogno di rispondere a una domanda - è quello che vuoi perché ti piace o solo perché sembra essere gratificante in questo momento. In quest'ultimo caso dovrai capire che stai recuperando il ritardo e nessuno può promettere che gli stipendi saranno alti quanto vorrai quando raggiungerai le tue capacità.

Forse prendere in considerazione alcune certificazioni/formazione in modo da poter migliorare la propria posizione professionale nella programmazione aziendale?

Se tuttavia è ciò che vuoi veramente, segui il tuo cuore. Mostra il tuo interesse e il tuo impegno, i potenziali datori di lavoro se ne accorgeranno e, si spera, ti preferiranno rispetto a un ragazzo che ha fatto domanda solo perché il salario era attraente.

D'altra parte, gli sviluppatori/consulenti di imprese (ad esempio nel mondo SAP) guadagnano un riscatto piuttosto generoso.

15

È piuttosto una transizione! La più grande differenza di mentalità è l'allontanamento dalla dipendenza dall'astrazione del mondo degli affari da uno in cui ci si concentra molto di più sull'hardware specifico che si sta prendendo di mira e si fa in modo che le cose funzionino entro budget ristretti di tempo e memoria. La programmazione del gioco è molto più simile alla programmazione embedded che alla programmazione web: devi pensare all'impronta di memoria esatta di tutto e il tempo della CPU è un enorme vantaggio.

Questo è ancora vero di essere un programmatore server di MMO, perché a) il server deve rispondere ad ogni comando cliente entro 80 millisecondi per sentire reattivo, e b) il più grande l'impronta del gioco sulla server, più hardware è necessario acquistare e questo costa denaro reale.

Per prima cosa dovresti imparare C++ se non lo hai già fatto. Quasi tutti i giochi sono scritti in C o C++ in questi giorni. Le console di gioco hanno una memoria strettamente limitata e se si assegna un byte dopo 512 MB non rallenta, si blocca; allo stesso tempo, ogni viaggio attraverso il ciclo dell'app principale deve essere completato in 33 ms o meno, quindi non possiamo fare affidamento sulla garbage collection e sui puntatori intelligenti. Il mondo di sviluppo del gioco è una di quelle applicazioni speciali in cui devi veramente fare all those optimizations che le persone qui dicono che non dovrai più fare altro.

Inoltre, fai i conti con i tuoi calcoli. I giochi sono costruiti con algebra lineare e cinematica - non solo la grafica, ma lo stato del mondo e il comportamento di ogni personaggio e oggetto. Mi piace lo Eric Lengyel's book per la matematica di gioco; è stata la mia bibbia per anni (anche se ce ne sono molti altri buoni).

Si potrebbe provare ad imparare alcuni graphics math and programming as well, ma questo è una sorta di sottospecialità ora e in genere solo un paio di persone in un team di gioco stanno lavorando davvero a livello di chiamate DirectX. Sospetto che tu sia più interessato alla logica di gioco e al backend del server, che è meno specializzato.

Fare giochi. Esistono molti framework per aiutarti a iniziare. XNA ha il vantaggio di essere un prodotto del mondo reale con cui vengono forniti i giochi reali, a differenza di PyGame o SDL, che sono subito operativi e operativi, ma hanno un supporto commerciale incredibilmente piccolo.

+0

Aggiungo che non vuoi creare giochi, tanto quanto vuoi fare demo di giochi. E tu vuoi avere un portfolio di loro con cui discutere e mostrare ai potenziali datori di lavoro. – BigSandwich

+0

+1. Dovrebbe essere intitolato "Tutto ciò che devi sapere sulla programmazione del gioco". Questo può venire solo con molta esperienza. – P5Coder

1

Suggerirei di mantenere il vostro attuale lavoro per un po 'e di trovare un team di mod o un gioco open source che potrebbe aiutare. Prova a trovarne uno che sembra in grado di creare un gioco giocabile piuttosto che svanire, credo che direi che avrà un aspetto migliore nel tuo curriculum rispetto a qualche demo di prova, perché probabilmente lavorerai su qualcosa di più avanzato di a casa e mostra che puoi lavorare in una squadra di giochi.

10

Un percorso comune in cui le persone passano al settore del gioco inizia come un team di sviluppo giochi Tools Developer.

Questi strumenti sono spesso scritti in linguaggi di livello superiore come C# e vengono utilizzati per aiutare lo sviluppo dei giochi. Ad esempio, potresti aiutare a mantenere o modificare l'editor di livello di mappa in-house del team o a sviluppare gli strumenti che convertono un formato di file multimediale nel loro formato di file propiziatorio.

Dopo aver trascorso qualche tempo come sviluppatore strumenti che è possibile iniziare a raccogliere la conoscenza di dominio sul lato e naturalmente transizione in uno dei tanti types of game programmers:

  • programmatore Fisica gioco
  • programmatore di intelligenza artificiale
  • Graphics programmatore
  • programmatore
  • suono
  • programmatore Gameplay
  • Scripter
  • programmatore UI
  • programmatore Ingresso
  • programmatore di rete
  • strumenti di gioco programmatore
  • porting programmatore programmatore
  • Tecnologia
  • gioco piombo programmatore

giochi moderni sono spesso fatto da tè enorme e altamente frazionato ms in termini di ruoli. Quindi, potrebbe valerne la pena di scegliere una delle specialità di cui sopra e iniziare subito a studiare mentre cerchi di mettere piede nella porta. Inutile dire che si dovrebbe essere competenti in C++ e una delle principali librerie grafiche (OpenGL, DirectX, ecc.). Non stressarti sull'apprendimento di entrambi, scegli uno e imparalo. Generalmente le persone che ne conoscono molto bene possono passare all'altro se ne hanno bisogno.