PDA

View Full Version : Programmatori in software house(game)...


Giakino
09-11-2005, 19:09
Ciao, ho 1 domanda rivolta a chi lavora in software house (fek, msciglio, poi non sò se c'è qualcun altro)o che sa come funziona. Immagino che i gruppi siano divisi tra programmatori di diverso tipo, quelli che si occupano di 3d, AI, ecc... Bene, quali sono questi gruppi? cioè, se uno aspira a diventare programmatore in qualche SH tra cosa potrebbe scegliere? Inoltre qual'è il linguaggio che va di più in questo campo? il c++ ?
Fek, msciglio, da voi come siete organizzati? che tipi di programmatori ci sono? magari anche con una piccola descrizione di quello che devono fare
Grazie

Giakino
12-11-2005, 18:05
:sob:
Nessuno ? :cry:

~Blissard~
12-11-2005, 18:59
Hai letto "Masters of Doom" ?

Se non lo hai fatto prendilo subito, risponde alla tua domanda e a 1000 altre

franksisca
12-11-2005, 19:02
dove si trova???

Giakino
12-11-2005, 20:48
Hai letto "Masters of Doom" ?

Se non lo hai fatto prendilo subito, risponde alla tua domanda e a 1000 altre


No. Lo prenderò, grazie.
Però sarebbe bello avere anche delle impressioni da chi ci lavora dentro (del forum mi sembra ci siano due utenti: fek e msciglio)

franksisca
12-11-2005, 22:02
su ebay l'ho trovato, ma c'è solo in inglese suppongo........uffi

franksisca
12-11-2005, 22:06
http://www.internetbookshop.it/ser/serdsp.asp?isbn=8889164190
secondo voi, sarà ita????

~Blissard~
12-11-2005, 22:30
Sì è quello vai tranquilla è bellissimo!!!!

franksisca
12-11-2005, 22:44
l'ho già preso :D :D :D

MSciglio
13-11-2005, 00:08
:sob:
Nessuno ? :cry:

Non avevo visto il post :)

Come hai già in parte detto tu in un team di un gioco si possono identificare le seguenti categorie di programmatori:

- Gameplay
- Fisica
- AI
- Grafica
- Network
- Tool

Se hai qualche dubbio sulle mansioni di qualche gruppo chiedi pure.

Nella mia azienda abbiamo diversi gruppi a seconda della disciplina, ciascuno con il suo Lead programmer.

Il linguaggio è senza dubbio C++ per tutti i programmatori (a parte l'inglese :D ).

Giakino
13-11-2005, 00:35
Mi puoi fare una panoramica generale per tutte le categorie (magari anche con le basi da conoscere per ciascuna, per esempio per programmatori 3d servirà sapere più directx/opengl che funzionamento di reti) ? :)
Immagino anche che il livello di conoscenza del linguaggio deve essere mooolto elevato, o sbaglio ? :rolleyes:

MSciglio
13-11-2005, 01:06
Mi puoi fare una panoramica generale per tutte le categorie (magari anche con le basi da conoscere per ciascuna, per esempio per programmatori 3d servirà sapere più directx/opengl che funzionamento di reti) ? :)
Immagino anche che il livello di conoscenza del linguaggio deve essere mooolto elevato, o sbaglio ? :rolleyes:

Il C++ e le metodologie di software engineering più utilizzate vanno conosciute molto bene.

Ti faccio una rapida e semplicistica descrizione dei gruppi:

- Gameplay
Sono i programmatori che lavorano alla "logica" del gioco, fornendo gli strumenti ai designer per la creazione del gioco vero e proprio, tipicamente mediante linguaggi di scripting.
Oltre al C++ idealmente si devono sconoscere linguaggi di scripting e dinamiche di gioco.
- Fisica
Indovina cosa devi conoscere bene? :)
- AI
Reti neurali, algoritmi genetici, path finding...
- Network
Si occupano di svliluppare l'infrastruttura di comunicazione di un gioco. Si devono avere ottime conoscenze di telecomunicazioni e protocolli di trasmissione
- Grafica
E' necessario conoscere bene la matematica, geometria, algebra lineare, tecniche di programmazione 3d, shaders e almeno un API di rendering (DirectX, OpenGL o RenderWare)
- Tool
Sviluppano gli strumenti di supporto per il gioco. E' molto importante conoscere librerie per la creazione di interfacce grafiche (Qt, WxWindows...)

Ovviamente è una descrizione estremamente semplificata e banalizzata :)

Giakino
13-11-2005, 13:36
Il C++ e le metodologie di software engineering più utilizzate vanno conosciute molto bene.


Ovvero, quali sarebbero? :p



- Gameplay
Sono i programmatori che lavorano alla "logica" del gioco, fornendo gli strumenti ai designer per la creazione del gioco vero e proprio, tipicamente mediante linguaggi di scripting.
Oltre al C++ idealmente si devono sconoscere linguaggi di scripting e dinamiche di gioco.


Interessante :) Quali lingualli di scripting in particolare ? c'è qualcosa che magari viene utilizzato di più? Per dinamiche di gioco a cosa ti riferisci? Puoi andare anche un pò di più nello specifico per questo gruppo ? :Prrr:


- Fisica
Indovina cosa devi conoscere bene? :)


Ok, io e la fisica siamo opposti, penso che non farebbe mai per me


- AI
Reti neurali, algoritmi genetici, path finding...


Anche questo interessante, all'uni il terzo anno c'è un corso di AI e un pò di tentazione c'è. Qualcosa di specifico anche qua? :rolleyes:


- Network
Si occupano di svliluppare l'infrastruttura di comunicazione di un gioco. Si devono avere ottime conoscenze di telecomunicazioni e protocolli di trasmissione


Passo :stordita:


- Grafica
E' necessario conoscere bene la matematica, geometria, algebra lineare, tecniche di programmazione 3d, shaders e almeno un API di rendering (DirectX, OpenGL o RenderWare)


Non sarebbe male, ma la vedo altamente difficile, o non è così? (intendo per iniziare)


- Tool
Sviluppano gli strumenti di supporto per il gioco. E' molto importante conoscere librerie per la creazione di interfacce grafiche (Qt, WxWindows...)


Passo anche questo :stordita:




Tu di cosa ti occupi? In cosa ti sei laureato? C'è molta differenza (in termini di possibilità) tra laureati in ing informatica e quelli in informatica?

gokan
13-11-2005, 14:12
Anche questo interessante, all'uni il terzo anno c'è un corso di AI e un pò di tentazione c'è. Qualcosa di specifico anche qua? :rolleyes:

Qualche info generica qui (http://it.wikipedia.org/wiki/Algoritmi_genetici)

Praticamente è un metodo non convenzionale e molto potente per arrivare a soluzioni di problemi anche molto complessi, il tutto seguendo un procedimento "biologico". Come sopra, ti rimando al link, molto più chiaro delle mie 4 parole che potrei scrivere. :)

Ho seguito un bel corso all'uni e ti assicuro che è molto interessante, anche se ovviamente non è stato fatto nessun riferimento ad una possibile applicazione nel campo videoludico.

MSciglio
13-11-2005, 16:33
Ovvero, quali sarebbero? :p


Padronanza dell'OOP, conoscenza di Design Pattern...
Sopratutto devi essere in grado in lavorare bene in team e non sempre è una cosa così scontata come sembra.


Interessante :) Quali lingualli di scripting in particolare ? c'è qualcosa che magari viene utilizzato di più? Per dinamiche di gioco a cosa ti riferisci? Puoi andare anche un pò di più nello specifico per questo gruppo ? :Prrr:


Un linguaggio di scripting che va molto di moda ultimamete è Lua. C'è da dire che molte software house usano linguaggi di scripting proprietari.


Anche questo interessante, all'uni il terzo anno c'è un corso di AI e un pò di tentazione c'è. Qualcosa di specifico anche qua? :rolleyes:


Cosa vuoi sapere esattamente di specifico? :)


Non sarebbe male, ma la vedo altamente difficile, o non è così? (intendo per iniziare)


Ogni settore ha le sue difficoltà. C'è da dire che il 90% di persone che vogliono entrare in una software house si presentano come programmatori grafici per cui la concorrenza è moltissima ed entrare è molto difficile.


Tu di cosa ti occupi? In cosa ti sei laureato? C'è molta differenza (in termini di possibilità) tra laureati in ing informatica e quelli in informatica?

Io mi occupo di programmazione grafica e sono laureato in ing. informatica. Non c'è alcuna differenza tra le varie facoltà scientifiche in quanto a possibilità per trovare lavoro. Sopratutto all'estero non conta nulla la tua laurea ma conta esclusivamente ciò che sai fare.

okay
13-11-2005, 16:41
non ho letto il file ora lo visiono.

faccio parte di un team povero purtroppo di risorse e dobbiamo consegnare una demo a dicembre ad una sh.

siamo 2 programmatori (dx c++)
poi sono tutti modellatori e skinned.
uno per il sound.

proprio perchè siamo poveri di risorse per fare una pista (con diversi strati) uno strato per la grafica uno per la fisica ecc ecc da parte dei modellatori la stiamo aspettando da 12 mesi. Siamo solo in 2 programmatori e mi devo occupare oltre che dell'engine del sound anche all'AI e ho dovuto studiare e ancora non si finisce mai per la matematica algebra e quantaltro proprio perchè non abbiamo un'analista (quello che analizza il problema e ti passa le formule).
Mi addrizzano i capelli al pensiero del directplay (qualcosa sò ma non basta).

Spero di consegnare una demo cmq decente, ma ci serve + tempo.

Il motore grafico è a buon punto. Il particellare è finito, stiamo facendo il sole e il cielo dinamico.

Ma una cosa importante è sbrigarsi per vedere di che morte morire, in quanto alla prossima uscita di dx10 se non ci prendono il lavoro dovremmo buttare tutto e rifarlo da capo per migrare alle dx10, già con le dx9 di agosto e quelle dopo alcuni shader non vanno in quanto alla microsoft hanno fatto delle modifiche tipo: invece che le parentesi tonde bisogna mettere le craffe e ci sto andando al manicomio.

Nell'altro 3d sui regali di natale è tutta una bufala la microsoft non ti regala proprio un bel niente.

come è successo per le dx (che poi la microsoft ha messo nell'sdk) succederà in futuro per la fisica. Da quelloche sò verrà incluso nei chip (credo NovoDex) e allora verrà incluso nell'sdk anche questo come le dx e gli shader.
Ora noi usiamo ODE che non è a pagamento ci ha dato dei problemi ma per quelloche stiamo facendo è + che sufficiente.

MSciglio
13-11-2005, 17:18
Nell'altro 3d sui regali di natale è tutta una bufala la microsoft non ti regala proprio un bel niente.

come è successo per le dx (che poi la microsoft ha messo nell'sdk) succederà in futuro per la fisica. Da quelloche sò verrà incluso nei chip (credo NovoDex) e allora verrà incluso nell'sdk anche questo come le dx e gli shader.
Ora noi usiamo ODE che non è a pagamento ci ha dato dei problemi ma per quelloche stiamo facendo è + che sufficiente.

A quale thread ti riferisci?

gokan
13-11-2005, 17:24
A quale thread ti riferisci?
A questo (http://www.hwupgrade.it/forum/showthread.php?t=1060106)


Nell'immaginario di tutti il programmatore di videogiochi è quello che lavora con la grafica, che magari muove il suo modello su schermo etc etc :D

Sembra molto interessante anche il campo dell'AI!! In un progetto di media grandezza (ad esempio nel tuo gruppo), quante persone lavorano all'AI?

fek
13-11-2005, 17:36
già con le dx9 di agosto e quelle dopo alcuni shader non vanno in quanto alla microsoft hanno fatto delle modifiche tipo: invece che le parentesi tonde bisogna mettere le craffe e ci sto andando al manicomio.

E' altamente improbabile che sia accaduto questo. Mi fai un esempio dove prima ci volevano le tonde e adesso le graffe?

Giakino
13-11-2005, 17:53
Qualche info generica qui (http://it.wikipedia.org/wiki/Algoritmi_genetici)


Grazie, dopo lo leggo :)



Cosa vuoi sapere esattamente di specifico?


Cosa serve sapere soprattutto?

Per dinamiche di gioco a cosa ti riferisci?

Per i grafici, più che alla difficoltà in seguito ad entrare mi riferivo al fatto di incominciare da 0 programmazione 3d.
Da voi quante persone ci sono nei vari gruppi ? Usate UML ?


Fek, da voi invece? come siete organizzati nei vari gruppi e metodi? Una curiosità, quante persone hanno lavorato per Black & White 2?

fek
13-11-2005, 18:02
Fek, da voi invece? come siete organizzati nei vari gruppi e metodi? Una curiosità, quante persone hanno lavorato per Black & White 2?

Siamo organizzati come ti ha detto Maurizio :)

Su BW2 hanno lavorato da 30 a 60 persone sullo sviluppo. Piu' alcune centinaia su tutti i compiti attorno (testing, marketing, QA).

MSciglio
13-11-2005, 18:15
Ma una cosa importante è sbrigarsi per vedere di che morte morire, in quanto alla prossima uscita di dx10 se non ci prendono il lavoro dovremmo buttare tutto e rifarlo da capo per migrare alle dx10, già con le dx9 di agosto e quelle dopo alcuni shader non vanno in quanto alla microsoft hanno fatto delle modifiche tipo: invece che le parentesi tonde bisogna mettere le craffe e ci sto andando al manicomio.


Neanche a me risulta questa cosa.


Nell'altro 3d sui regali di natale è tutta una bufala la microsoft non ti regala proprio un bel niente.


Bufala cosa?! Non ti risulta che il Visual Studio Express 2005 sia gratuito? O che l'SDK delle DirectX sia altrettanto gratuito?
La gente ormai si passa il tempo ad insultare Microsoft a vuoto... che passatempo...

MSciglio
13-11-2005, 18:20
A questo (http://www.hwupgrade.it/forum/showthread.php?t=1060106)


Nell'immaginario di tutti il programmatore di videogiochi è quello che lavora con la grafica, che magari muove il suo modello su schermo etc etc :D

Sembra molto interessante anche il campo dell'AI!! In un progetto di media grandezza (ad esempio nel tuo gruppo), quante persone lavorano all'AI?

Diciamo che il mio team non e' proprio media grandezza... durante la fase di picco del progetto saremo oltre 80 persone :)

Per l'AI ci sono 4-5 persone.

jappilas
13-11-2005, 19:25
Un linguaggio di scripting che va molto di moda ultimamete è Lua.
ah si usa Lua? :)
Ogni settore ha le sue difficoltà. C'è da dire che il 90% di persone che vogliono entrare in una software house si presentano come programmatori grafici per cui la concorrenza è moltissima ed entrare è molto difficile.
e magari di persone che sanno cos'è una rete neurale ne arrivano col contagocce...

franksisca
13-11-2005, 19:54
e magari di persone che sanno cos'è una rete neurale ne arrivano col contagocce...
Datemi un pò di tempo :O :O :O :O :O ancora la devo finire la Tesi.......:D :D :D :D

okay
13-11-2005, 21:15
A questo (http://www.hwupgrade.it/forum/showthread.php?t=1060106)


Nell'immaginario di tutti il programmatore di videogiochi è quello che lavora con la grafica, che magari muove il suo modello su schermo etc etc :D

Sembra molto interessante anche il campo dell'AI!! In un progetto di media grandezza (ad esempio nel tuo gruppo), quante persone lavorano all'AI?

Solo io lavoro all'AI la fisica cmq è legata all'AI strettamente. Voglio dire non puoi lavorare all'AI senza tener conto della fisica.
Per esmpio l'AI che stò facendo è strettamente legata alla fisica ma anche il sound. Per ora per esempio ho finito l'engine del sound ma senza provarlo con la fisica (velocità, decelerazioni ecc ecc) ora è solo da allungare i file del sonoro che poi è uno solo un file sonoro per ogni mesh oggetto dove leggo il sound nei svariati punti in cui mi serve il sound da riprodurre.

per fek:

Intendo i file .fx per gli shader mettendo al posto delle parentesi tonde le craffe lo shader riesco a visualizzarlo. mentre con le tonde no ho lo schermo bianco.

bhè poi ti faccio sapere + in dettaglio

perchè non avete sentito che in futuro nei chip verrà messo anche un chip per la fisica proprio per i videogame???
Io non sò cosa metteranno ma NovoDex è uno dei + accreditati.
Come per esempio l'introduzione del chip 80x87i per non emulare via software i calcoli matematici (credo cmq della microsoft) oppure gli shader che stanno già sul chip della scheda video (prima non c'erano mica.)

io non parlo male di microsoft anzi ma ine ho parlato male.
Intendevo dire che ........ prima potevi scaricare liberamente l'sdk ora se non hai il cd originale non lo puoi + fare.

E poi sempre e sempre modifiche da fare. Sempre migrare ad un nuovo sistema questo intendevo. come OS secondo me è sempre il primo in classifica. Sono altri che lo chiamano Winzoz ma solo per aver sentito dire.

Nel businnes del mercato ci sono perennementte colpi bassi e bassissimi e micrisoft risponde alla grande e mi pare pure giusto che si tuteli anche a colpi bassi e nel suo interesse. Lo trovo + che giusto.

MSciglio
13-11-2005, 21:58
perchè non avete sentito che in futuro nei chip verrà messo anche un chip per la fisica proprio per i videogame???
Io non sò cosa metteranno ma NovoDex è uno dei + accreditati.
Come per esempio l'introduzione del chip 80x87i per non emulare via software i calcoli matematici (credo cmq della microsoft) oppure gli shader che stanno già sul chip della scheda video (prima non c'erano mica.)


Immagino ti riferisca ad Ageia che produrrà (in realtà già le produce) schede acceleratrici per la fisica ed espone le funzionalità mediante l'API Novodex che ha acquisito di recente. E quindi? Non vedo il punto... se vuoi l'accelerazione hardware compri la scheda altrimenti niente.

La seconda parte non l'ho capita.


io non parlo male di microsoft anzi ma ine ho parlato male.
Intendevo dire che ........ prima potevi scaricare liberamente l'sdk ora se non hai il cd originale non lo puoi + fare.


Microsoft regala l'sdk, non il sistema operativo. E' più che legittimo che adesso effettua un controllo sull'autenticità del sistema operativo. Devi solo ringraziare che ancora non bloccano le versioni pirata.


Nel businnes del mercato ci sono perennementte colpi bassi e bassissimi e micrisoft risponde alla grande e mi pare pure giusto che si tuteli anche a colpi bassi e nel suo interesse. Lo trovo + che giusto.

Personalmente non vedo alcun colpo basso. Potresti elencarmene qualcuno giusto per capire?

okay
13-11-2005, 22:16
Personalmente non vedo alcun colpo basso. Potresti elencarmene qualcuno giusto per capire?

bhè ......... la faccenda dell'antitrust per esmpio. La mia opinione è che è tutto fatto apposta.
Ma anche dall'altra parte c'è pure il marcio.

Intendo che in qualsiasi affare sociale si va avanti solo per compromessi in questo mondo di ladri (e nulla ti è regalato).

In competizione come in amore è guerra totale.

Mi fermo quì perchè OT

fek
13-11-2005, 23:27
per fek:

Intendo i file .fx per gli shader mettendo al posto delle parentesi tonde le craffe lo shader riesco a visualizzarlo. mentre con le tonde no ho lo schermo bianco.

Mi fai vedere lo shader per cortesia?
Ne' io ne' Maurizio abbiamo mai avuto questo problema ed io mi sono occupato di tutti i passaggi di SDK di BW2 da Giugno 2004 a Ottobre 2005. Mai visto nulla di simile su nessuno shader.

Giakino
14-11-2005, 00:12
Ovviamente esistono più metodi di lavoro ( http://www.agiledata.org/essays/differentStrategies.html ). Voi quale usate? E di solito quale viene usato più frequentemente?

okay
14-11-2005, 00:52
Immagino ti riferisca ad Ageia che produrrà (in realtà già le produce) schede acceleratrici per la fisica ed espone le funzionalità mediante l'API Novodex che ha acquisito di recente. E quindi? Non vedo il punto... se vuoi l'accelerazione hardware compri la scheda altrimenti niente.

giusto per capire?

Nessun punto. Sono favorevole a questo.
Intendevo in sostanza rispondere al 3d principale dicendo che non sono pagato per il lavoro che faccio lo faccio solo per passione. Certo che se la cosa và in porto non mi dispiacerebbe essere finanziato da una sh per sviluppare progetti indipendenti.

Invece a voi 2 che ci lavorate volevo chiedere una cosa ne approfitto su questo 3d.

Visto che state nell'ambiente e non sò di cosa vi occupate (che specialità) volevo chiedervi oppure se volete chiedere a chi si occupa del sound questo:

Sto facendo un gioco di moto e all'enginering del sound mi sono fatto fare un file unico del sonoro per moto quindi per esempio il file della honda è così strutturato:
Honda_start_1_2_3_4_5_6_s_i_m
start è = a moto ferma in sgasata
da 1 a 6 le marce
s è = scalata (shiftdown)
i è = Idle
m = massimo

il file parte da 0 fino a 110.569 secondi e poi lo leggo nei punti che mi interessano ecc.ecc.

Premetto che gli fps dei pc su cui gira il prg fanno 60 fps/sec
Il gioco sarà per supportato per target alti diciamo shader 2.0/3.0

Il problema, solo per curiosità, è che ho provato la demo su un windows 2000 con poca capacità di ram quindi a video il gioco và al rallentatore diciamo fà 27 fps/sec. tutta la grafica è rallentata ma il sonoro no.
Mi spiego partendo da fermo con la moto in prima il sound della prima viene riprodotto 1000 volte poi quando si innesca la seconda marcia parte il sonoro della seconda che viene riprodotto in un loop circa 1000 volte e così vià.

La domanda è:
Che tecnica usare (sempre per curiosità) per far andare il sonoro di pari passo con gli fps.

Dato che il mio motore del sound è costruito con directshow c'è una chiamata che è put_rate ce và di default 1.0 massimo 2.0 che dici scalando il put_rate riduco la frequenza del sound è giusto fare così............ anche se mi è stato detto di non preoccuparmi che se così fosse è l'utente che cambia pc in quanto non giocherebbe proprio a 27 fps.

MSciglio
14-11-2005, 00:55
Ovviamente esistono più metodi di lavoro ( http://www.agiledata.org/essays/differentStrategies.html ). Voi quale usate? E di solito quale viene usato più frequentemente?

Ho dato un'occhiata estremamente veloce alla pagina. Usando la nomenclatura dell'articolo noi usiamo il metodo serial rigorous.

Giakino
14-11-2005, 23:31
Avete qualche link per approfondire la questione di programmatore gameplay? Sto cercando, ma non trovo niente (o quasi). E' il gruppo che m'interessa di più fra tutti. Anche lì c'è molta richiesta e quindi difficile entrare?