PDA

View Full Version : Programmazzione videogiochi


Rizzotti94
04-11-2007, 13:33
Salve a tutti,vorrei incominciare a creare qualche gioco in 3D,potete consigliarmi qualche programma e qualche guida in italiano?
P.S non ho mai programmato.

Leron
04-11-2007, 13:39
Salve a tutti,vorrei incominciare a creare qualche gioco in 3D,potete consigliarmi qualche programma e qualche guida in italiano?
P.S non ho mai programmato.

quanti anni hai a disposizione?

Leron
04-11-2007, 13:44
ah mi puoi spiegare perchè stai postando con lo STESSO IP con lo STESSO HOST dalla STESSA CASA di Rizzotti91 ?

spiegare in fretta please

Rizzotti94
04-11-2007, 13:44
Abbastanza,perchè vorrei che diventasse il mio lavoro tra un bel po d'anni.Puoi aiutarmi?

Rizzotti94
04-11-2007, 13:47
Perchè siamo fratelli

Leron
04-11-2007, 13:50
Abbastanza,perchè vorrei che diventasse il mio lavoro tra un bel po d'anni.Puoi aiutarmi?

programmare un videogioco non lo puoi fare "da solo" come professione. non ad alto livello

a un videogioco lavorano parecchi coder ognuno con un suo "scopo" diverso e con una specializzazione diversa (progettazione ambiente grafico, ia, fisica...), ci lavorano grafici, disegnatori, artisti, modellatori 3d, ecc... non è che uno si sveglia una mattina e da solo è in grado di farsi grafica, ia, modellare il mondo, progettare le mappe, disegnarsi le textures, programmarsi la storia e le reazioni, bilanciare il gioco, ecc... o meglio lo puoi fare, ma da solo ci metterai una vita e verrà una schifezza :D

se questo ambiente ti piace come prospettiva per il lavoro (ma ti avverto è MOLTO difficile fare questo tipo di attività in italia, se non impossibile dato che non ci sono grandi case di produzione di vg)

allora prima di tutto scegli quale ambito ti attira di più e comincia a studiare quello che serve, magari scegliendo una facoltà universitaria orientata verso quell'ambito (invormatica, belle arti, design...)

Rizzotti94
04-11-2007, 13:50
A me piacerebbe progettare l'ambiente grafico,tu cosa mi consigli?
Inoltre per rendermi conto se mi piace veramente la programmazione di videogiochi mi consigli qualche guida per cominciare a creare qualche gioco semplicissimo?Grazie.

Leron
04-11-2007, 13:53
Allora puoi aiutarmi?
leggi il post sopra il tuo: scegli cosa vuoi fare e ti aiuteremo

Rizzotti94
04-11-2007, 13:59
Ho modificato il post.Potresti rileggerlo per favore?
:)

Leron
04-11-2007, 14:09
se ti piace la modellazione puoi cominciare a studiarti qualcosa su 3ds, maya, ecc....

per la programmazione servono conoscenze specifiche, partendo dal normalissimo C, C++ per poi arrivare allo studio diretto delle api, Direct3d, Opengl...

in libreria trovi molti libri sull'argomento, per ora io comincerei con una guida base di C e C++ tanto per capire le basi della programmazione, per poi passare a qualcosa di più specifico

PS: prima di animare qualcosa aspettati mesi di studio ;)

Leron
04-11-2007, 14:11
qui trovi un po' di materiale interessante

http://www.gameprog.it/?section=44

Rizzotti94
04-11-2007, 14:13
Se percaso io volessi studiare queste cose a scuola,mi servirebbe iscrivermi in un itis per studiare la programmazzione in C++?E se poi volessi continuare all'università,che facoltà dovrei scegliere?
Cmq io volevo creare qualche giochino perchè non so se questo campo della programmazione mi piace ed ho quindi le idee molto confuse.

Pippo46
04-11-2007, 14:17
Se percaso io volessi studiare queste cose a scuola,mi servirebbe iscrivermi in un itis per studiare la programmazzione in C++?E se poi volessi continuare all'università,che facoltà dovrei scegliere?
Cmq io volevo creare qualche giochino perchè non so se questo campo della programmazione mi piace ed ho quindi le idee molto confuse.

Io ho fatto l'itis informatica e li ho imparato le basi del C... adesso sto continuando con l'uni sempre in informatica e penso di fare la specialistica in ingegneria informatica...

Questo penso che sia il percorso che dovresti fare per imparare a programmare, ma per videogame penso che dovresti fare qualche cosa di specifico, magari qualche corso apposito

Rizzotti94
04-11-2007, 14:19
Ma a cosa mi serve programmare in C++ per prgrammare i videogiochi?

Leron
04-11-2007, 14:27
Ma a cosa mi serve programmare in C++ per prgrammare i videogiochi?

è come se mi chiedessi "ma a cosa serve il motore per andare con l'auto?"

Pippo46
04-11-2007, 14:29
Ma a cosa mi serve programmare in C++ per prgrammare i videogiochi?

Tante cose nei videogiochi sono fatte in C... per non dire quasi tutto

octopus
04-11-2007, 14:32
Ma a cosa mi serve programmare in C++ per prgrammare i videogiochi?

È il linguaggio con il quale programmi.

Scusami , deduco che tu abbia circa 13 anni.
Mi pare anche di capire che non hai esperienze di programmazione ma neanche Hello World in basic, non è un male , ma sei partito in 6a con un videogioco in 3d per giunta!

Un pò di umiltè direbbe Arrigo.

Hai molto entusiasmo e lo capisco, ma devi cercare di essere più razionale.
Iniziare a ragionare bene e distinguere che in un videogioco le parti sono completamente separate in un certo senso.
Disegnare gli ambienti e programmare un motore che li muova sono due cose completamente diverse, lo potrebbero fare oggi nel 2007 due persone completamente diverse, come cultura e carattere personale.

Chiarisciti un attimo le idee e poi riposta!
Ciao!

Rizzotti94
04-11-2007, 14:57
Hai ragione ma io non so da dove iniziare,sto imparando ora a programmare in C++ poi penserò alla programmazzione dei giochi.Grazie mille per l'aiuto

variabilepippo
04-11-2007, 15:00
Hai ragione ma io non so da dove iniziare


Inizia dallo studio dell'inglese, ti servirà più di qualsiasi altro "linguaggio" (C++ incluso).

Quando avrai maturato una discreta esperienza potrai avvicinarti alla programmazione 3D grazie alle tante librerie (/3d engine) esistenti.

N.B. Programmazione si scrive con una sola Z. :)

jappilas
04-11-2007, 17:00
Hai ragione ma io non so da dove iniziare,sto imparando ora a programmare in C++ poi penserò alla programmazzione dei giochi.Grazie mille per l'aiutoil problema è uno: allo stato attuale c'è il rischio concreto che ti manchino ancora alcuni concetti di base su strutture dati (cosa sono, le tipologie più frequentemente usate, i criteri in base a cui scegliere quella ottimale per una determinata funzione, e il modo di implementarle concretamente a seconda del linguaggio), algoritmi ( ovvero il modo di costruirli a partire dai requisiti del tuo programma), nonchè di matematica e logica
questi sono aspetti fondamentali che esulano dal tipo di programma (che sia un gioco o un' applicazione da ufficio) ma anche dal linguaggio usato per programmare - affrontare la programmazione da zero facendo come mi pare di aver capito che voglia fare tu, partendo dalla sintassi di un linguaggio (per di più come C o C++) senza acquisire prima la padronanza assoluta delle basi, imho è il modo sbagliato di procedere - da una parte la tua curva di apprendimento diventa molto più ripida, dall' altra avresti difficoltà nel leggere codice altrui (indispensabile per fare bug fixing poi, ma spesso utile per l' autoapprendimento prima - ma solo se si è in grado di seguire le logica dietro a una certa soluzione ed eventualmente trovarne i difetti)
Tante cose nei videogiochi sono fatte in C... per non dire quasi tuttoma anche no
proprio su questo aspetto si era parlato con fek, l' anno scorso, se non erro... quello che era emerso è che la tendenza da un po' di tempo sarebbe limitare la programmazione in linguaggio compilato (C++, nemmeno C) alle parti più critiche del gioco, per implementare sezioni via via più rilevanti (AI, interazioni tra PC/NPC e tra PC ed environment, in certi casi la logica di gameplay) in linguaggio di scripting - come Lua, di cui pare si stia diffondendo l' uso (certo, alla code base del gioco andrà incluso l' inteprete Lua, e questo dovrà avere accesso all' engine) , e in prospettiva futura adottare in modo via via più esteso linguaggi eseguiti tramite compilazione JIT (in virtù del fatto che la VM può operare un' ottimizzazione dinamica del codice, e far sì che per alcuni casi questo possa essere più veloce di codice analogo C/C++ compilato staticamente senza nessun profiling del code path)

71104
04-11-2007, 18:03
getto i miei 2 cents: suggerisco .NET tramite C#, e ovviamente DirectX.

variabilepippo
04-11-2007, 18:12
Indipendentemente dal linguaggio scelto è necessaria una lunga fase di studio propedeutica allo sviluppo di un'applicazione ludica 3D. :)

Il suggerimento C#+DirectX ha senso, soprattutto se ci si vuole limitare alla piattaforma Windows (d'altra parte difficilmente si implementeranno giochi per BeOS o QNX... :D) ed a questo punto rilancio aggiungendo XNA (http://msdn2.microsoft.com/en-us/xna/default.aspx).

fek
05-11-2007, 10:55
Tante cose nei videogiochi sono fatte in C... per non dire quasi tutto

Per non dire quasi niente :)

getto i miei 2 cents: suggerisco .NET tramite C#, e ovviamente DirectX.

Te la quoto.

Il primo consiglio se vuoi fare videogiochi da grande e'... non fare videogiochi da grande e cercati una lavoro serio.

Ma se proprio decidi di voler fare videogiochi, allora:

- Impara l'inglese ancora prima di imparare a programmare, se non vuoi imparare l'inglese, non farai mai videogiochi. Le guide in italiano non esistono, impara l'inglese e leggi in inglese.

- Impara a programmare, ma a partire dalle cose base, gli "Hello World". Le DirectX o XNA per almeno qualche anno non saprai neppure dove stanno di casa.. Java o C# vanno bennissimo, non ti avvicinare a C/C++ per un po' di anni, lo imparerai in seguito.

- Per i prossimi due o tre anni non pensare di riuscire a creare nulla di simile ad un videogioco, non certo per incapacita' tua, ma perche' c'e' una marea di concetti da imparare prima di creare anche qualcosa di semplice.

- Quando hai capito qualcosa di Java, vatti a studiare Diamonds e gioca un po' col codice: vedrai che anche per un giochino semplice in 2D il lavoro dietro e' enorme. Per quanto riguarda il 3D, per un po' di anni scordatelo.

- Vai all'universita, Informatica o Ingegneria del Software vanno bene: senza una laurea non guardano neppure il tuo curriculum.

Se non ti ho spaventato abbastanza, la realta' e' peggio di come l'ho descritta, perche' dovrai anche andare a vivere all'estero :)

71104
05-11-2007, 12:17
hola fek, che piacere vederti ogni tanto :D

Per non dire quasi niente :) Pippo46 deve essere rimasto all'epoca di QuakeII :)

Se non ti ho spaventato abbastanza, la realta' e' peggio di come l'ho descritta, perche' dovrai anche andare a vivere all'estero :) questa è la cosa che odio dell'Italia: che siamo trogloditi informatici :cry:

Maverick18
08-11-2007, 16:39
Aggiungo che avere basi di matematica(geometria euclidea, calcolo vettoriale, algebra lineare ed analisi differenziale), ed in maniera minore di fisica, è importante se si vuole lavorare con la grafica 3D.

Ufo13
08-11-2007, 17:47
ma anche no
proprio su questo aspetto si era parlato con fek, l' anno scorso, se non erro... quello che era emerso è che la tendenza da un po' di tempo sarebbe limitare la programmazione in linguaggio compilato (C++, nemmeno C) alle parti più critiche del gioco, per implementare sezioni via via più rilevanti (AI, interazioni tra PC/NPC e tra PC ed environment, in certi casi la logica di gameplay) in linguaggio di scripting - come Lua, di cui pare si stia diffondendo l' uso (certo, alla code base del gioco andrà incluso l' inteprete Lua, e questo dovrà avere accesso all' engine) , e in prospettiva futura adottare in modo via via più esteso linguaggi eseguiti tramite compilazione JIT (in virtù del fatto che la VM può operare un' ottimizzazione dinamica del codice, e far sì che per alcuni casi questo possa essere più veloce di codice analogo C/C++ compilato staticamente senza nessun profiling del code path)

Vabe` che tante cose sono scriptate ma di solito a fare gli script sono i designers con l'aiuto di tools appositi.
Noi coders scriviamo ancora una valanga di codice in C++, puoi starne certo! :P

Ufo13
08-11-2007, 17:53
Se non ti ho spaventato abbastanza, la realta' e' peggio di come l'ho descritta, perche' dovrai anche andare a vivere all'estero :)

Dai che si sta bene a parte il fish & chips e poi tu stai pure a Guildford grrr!

Comunque concordo su C# / Java, tanto se ora hai 13 anni, tempo che ti laurei ne passano ancora un po' e dubito si scrivera` ancora molto codice in C++.

okay
08-11-2007, 18:34
Noi coders scriviamo ancora una valanga di codice in C++, puoi starne certo! :P

...per me non è una valanga di codice da scrivere...

Mi stavo vedendo proprio adesso "wolfenstein return of the castle 3d" e come per altri giochi, per lo meno, non vedo tutto sto codice da scrivere.

Per fare una demo, casalinga per divertimento senza un motore grafico per tua soddisfazione, non mi pare una valanga di codice da fare.

Ecco uno che vorrebbe fare una demina tipo wolfenstein in prima persona muovendoti in un paio di stanze non mi pare una marea di codice comprese le animazioni.

Immaggina un modellatore 3d che ti passa le mesh:
- modello.x stanza texturizzate alla wolfenstein per modello intendo modello.x unico collassato di candelabri, tavoli, finestre ecc ecc
- arma mitra e coltello

per la fisica physics dell'AGENA e ti carichi il modello come trimesh

Non devi far altro che caricarteli e posizionarti a coordinate xyz con la y a pochi float + alto del pavimento.

metti l'arma in primo piano magari in movimento chiamando processInput() e facendola ondulare a mò di respiro e/o alla velocità che vai con il personaggio > l'ondulazione se corri ecc ecc.

Fare un demina così c'è da scrivere pochissimo codice diciamo una classetta ed è fatta.

ad ogni frame processi processMouse per girarti e puntare con il mouse e ProcessInput per processare i tasti direzione per il movimento del personaggio.
Con la rotellina cambi arma.
Anche per le animazioni ci sono classi già pronte con dx.

Certo che se vuoi fare:
- AI usando tecniche "nav-mesh" o "Navigation mesh" waypoint (una sorta di *A che ti trova i percorsi migliori) per i nemici.
- Usare un quadtree
- Spezzare le mesh e renderizzare solo i poligoni che vedi (nel frustum)
- Ombre fatte bene (senza succhiare troppe risorse)
- sgommate o variazione della mesh a seguito di un colpo di arma
- massimo 8 luci e sistemate nell'ambiente (tostino)

Allora il discorso cambia (algoritmi tosto ma non complessi)... se si deve partire da 0

Invece implementare un mirino scrivere a video i font che descrivono i proiettili ecc ecc e poco codice.

Scrivere il code per far muovere proiettili dalla punta della canna sparato al click del mouse fino a che non collide con un l'oggetto (fisica dell'AGENA)

... non mi pare proprio tutto sto codice.

Quando uno vede un gioco del genere pensa chissa quale codice sara stato scritto. Mentre è l'effetto musica di sottofondo e mesh texturizzate così bene che sembra chissa quanto codice da scrivere.

Il problema è che appunto ci vorrebbero un paio di modellatori e a noi non rimane che scrivere veramente un paio di classette per muovere il tutto... in c++ ovviamente e dx.

Edit: per fumo e scoppi una bella classettina col ParticleSystem e una buona texure.
... ecco quello che mi è piaciuto di wolfenstein sono le torce accese belle fluide che sembra porprio il fuoco che langue... se ho tempo mi diverto ad implementare tale effetto anche con un particle system si può fare ma credo che consumi troppo in risorse

fek
08-11-2007, 19:35
Ecco uno che vorrebbe fare una demina tipo wolfenstein in prima persona muovendoti in un paio di stanze non mi pare una marea di codice comprese le animazioni.

Non pare a te e invece e' parecchio codice da scrivere. Ma le chiacchiere stanno a zero.

Hai due settimane di tempo, scrivendo da zero, non puoi copia e incollare codice ovviamente :), due stanze, telecamera fps, con almeno un NPC animato che cammina per la stanza.

Secondo me in due settimane partendo da zero metti a malapena un triangolo sullo schermo, scommettiamo?

marko.fatto
08-11-2007, 19:44
Non pare a te e invece e' parecchio codice da scrivere. Ma le chiacchiere stanno a zero.

Hai due settimane di tempo, scrivendo da zero, non puoi copia e incollare codice ovviamente :), due stanze, telecamera fps, con almeno un NPC animato che cammina per la stanza.

Secondo me in due settimane partendo da zero metti a malapena un triangolo sullo schermo, scommettiamo?

Gara Gara Gara Gara Gara :Prrr: :Prrr: :Prrr:

sim89
08-11-2007, 19:59
Io non ho mai capito che programmi usano per creare ad esempio le texture(di un albero, di un tavolo, di una qualsiasi cosa).

variabilepippo
08-11-2007, 20:02
Non pare a te e invece e' parecchio codice da scrivere. Ma le chiacchiere stanno a zero.

Hai due settimane di tempo, scrivendo da zero, non puoi copia e incollare codice ovviamente , due stanze, telecamera fps, con almeno un NPC animato che cammina per la stanza.

Secondo me in due settimane partendo da zero metti a malapena un triangolo sullo schermo, scommettiamo?


Quoto al 100% e ricordo inoltre che il thread è stato aperto da un ragazzo di 13 anni che non ha mai scritto una riga di codice in vita sua... ;)

fek
08-11-2007, 20:29
Io non ho mai capito che programmi usano per creare ad esempio le texture(di un albero, di un tavolo, di una qualsiasi cosa).

Per le texture si usa di solito Photoshop. Per i modelli e le animazioni 3DSMax, XSI, Maya. Adesso va di moda usare tool di "scultura" in 3D per i modelli che producono automaticamente il modello e le normal map.

Maverick18
08-11-2007, 21:21
fek, tempo fa se non erro avevo letto, forse da un tuo post, che per rendere una scena grafica più reale bisogna lavorare molto sull'illuminazione.
Qual'è secondo te il modo per ottenere una grafica veramente (almeno che faccia dubitare qualche istante se ci si pone davanti ad un'immagine vera ed alla relativa copia virtuale) fotorealistica ?
I colori delle texture dei videogiochi attuali sono ancora lontani dall'ingannare totalmente lo spettatore, è quindi principalmente un problema di illuminazione ?

ps. la domanda ovviamente è rivolta anche a Ufo13 e a chiunque altro sia del settore.

71104
08-11-2007, 21:37
I colori delle texture dei videogiochi attuali sono ancora lontani dall'ingannare totalmente lo spettatore, be' oddio, non sono più dello stesso parere dopo aver provato Gears of War su una Xbox 360 da BlockBuster :|
osservando il gioco da lontano avrei anche potuto essere ingannato e pensare che si trattasse di un film... forse l'unico indizio per capire che non lo era a quel punto era osservare che la telecamera si muoveva costantemente appresso ad un personaggio che correva tipo Lara Croft :D

fek
08-11-2007, 21:44
fek, tempo fa se non erro avevo letto, forse da un tuo post, che per rendere una scena grafica più reale bisogna lavorare molto sull'illuminazione.
Qual'è secondo te il modo per ottenere una grafica veramente (almeno che faccia dubitare qualche istante se ci si pone davanti ad un'immagine vera ed alla relativa copia virtuale) fotorealistica ?
I colori delle texture dei videogiochi attuali sono ancora lontani dall'ingannare totalmente lo spettatore, è quindi principalmente un problema di illuminazione ?


Perche' vuoi grafica fotorealistica? Personalmente non mi interessa, vedo immagini "fotorealistiche" ogni volta che apro gli occhi. Quando gioco voglio vedere cose che non vedo nella realta' e che siano pero' sempre credibili.
Comunque la risposta alla tua domanda non e' univoca: per ingannare il cervello devi fornigli tante informazioni fino a che ad un certo punto, con troppe informazioni da processare, il cervello conclude che quella scena e' per lui "fotorealistica". E' il principio dietro Crysis: in se' non fa nulla che non facciano altri engine, ma ogni scena e' talmente dettagliata e piena di particolari che il cervello ne viene ingannato. L'Art Direction e' strepitosa da questo punto di vista.

jappilas
08-11-2007, 21:50
<...>
per ingannare il cervello devi fornigli tante informazioni fino a che ad un certo punto, con troppe informazioni da processare, il cervello conclude che quella scena e' per lui "fotorealistica". E' il principio dietro Crysis: in se' non fa nulla che non facciano altri engine, ma ogni scena e' talmente dettagliata e piena di particolari che il cervello ne viene ingannato. L'Art Direction e' strepitosa da questo punto di vista.quindi il segreto sta in geometry detail in abbondanza e smisurata potenza di calcolo? :D

Maverick18
08-11-2007, 22:00
Perche' vuoi grafica fotorealistica?
Semplice curiosità.


Comunque la risposta alla tua domanda non e' univoca: per ingannare il cervello devi fornigli tante informazioni fino a che ad un certo punto, con troppe informazioni da processare, il cervello conclude che quella scena e' per lui "fotorealistica". E' il principio dietro Crysis: in se' non fa nulla che non facciano altri engine, ma ogni scena e' talmente dettagliata e piena di particolari che il cervello ne viene ingannato.
In questo modo, paradossalmente, ogni piccola sbavatura avrà un'impatto maggiore sulla credibilità della scena, no ?

In un certo senso preferivo la grafica dei giochi di qualche generazione fa, allora le pretese in fatto di grafica non erano elevate.

quindi il segreto sta in geometry detail in abbondanza e smisurata potenza di calcolo? :D

E animazioni, illuminazione,espressioni facciali, fisica...

ps. jappilas potresti togliere quella 'z' in più nel titolo del topic ? ^_^

nico88desmo
08-11-2007, 22:59
[...]


geometry detail....E animazioni, illuminazione,espressioni facciali, fisica...



Praticamente quasi tutto :D :D

jappilas
08-11-2007, 23:55
ps. jappilas potresti togliere quella 'z' in più nel titolo del topic ? ^_^alla pagina precedente un utente l' aveva constatata, non posso editare anche il suo post :stordita:

okay
09-11-2007, 07:14
Non pare a te e invece e' parecchio codice da scrivere. Ma le chiacchiere stanno a zero.

Hai due settimane di tempo, scrivendo da zero, non puoi copia e incollare codice ovviamente :), due stanze, telecamera fps, con almeno un NPC animato che cammina per la stanza.

Secondo me in due settimane partendo da zero metti a malapena un triangolo sullo schermo, scommettiamo?

no no... parlo naturalmente di routine pronte (fatte prima e già studiate) da incollare nel progetto e non partendo da 0.

tipo. un progetto di default del browser di dx 9.0 dove si ha già pronto tutto il necessario di default.

Ti incolli la routine per girarti con il mouse e controllo tasti direzione per il personaggio.

Ti carichi la mesh e cominci a camminare in prima persona in 3d.
Mesh modellata per bene e texturizata alla wolfenstein.

Fatto questo per renderizzare le mesh e camminare è poco codice

anche il controllo dell'fps 10 righe di codice.

Per renderizzare a video i dati e i font già tutto pronto basta andare nella routine RenderText()

Se parti con un progetto vuoto...aivoglia... neanche 1 anno altro che un paio di settimane.

Edit: parlo dei cpp DXUT.cpp e .h ecc ecc dove ci sono i cpp anche per il sound già pronti

D3stroyer
09-11-2007, 07:47
per fare anche solo una cazzatina come pacman serve una montagna di tempo. I giochi è meglio sognarseli di notte piuttosto che farseli da soli...oppure comprarli ovvio.

nico88desmo
09-11-2007, 08:22
per fare anche solo una cazzatina come pacman serve una montagna di tempo. I giochi è meglio sognarseli di notte piuttosto che farseli da soli...oppure comprarli ovvio.

Eh già...non è per nulla semplice fare un videogioco.

71104
09-11-2007, 09:16
alla pagina precedente un utente l' aveva constatata, dovrei editare anche il suo post :stordita: tranquillo, la situazione sarà comunque comprensibile da questi post :D

fek
09-11-2007, 09:44
no no... parlo naturalmente di routine pronte (fatte prima e già studiate) da incollare nel progetto e non partendo da 0.

Ma allora anche tu ti limiti a fare copia e incolla :)
Le chiacchiere stanno a zero: due settimane di tempo, omino animato dentro due stanze. Secondo me non riesci neppure a mettere un triangolo su schermo con cognizione di causa.
A parole siamo tutti John Carmack.

Se parti con un progetto vuoto...aivoglia... neanche 1 anno altro che un paio di settimane.

In realta' sapendo quello che si sta facendo, in una settimana partendo da zero si fa abbastanza tranquillamente.

Purtroppo quando scrivi un gioco non puoi copia e incollare codice senza sapere che cosa c'e' dentro, te lo devi scrivere, e devi scrivere una montagna di C++ per fare anche le cose piu' semplici.

71104
09-11-2007, 10:10
scusate, mega-OT:

Ma purtroppo pero' jap tanto che ci sei oltre a "Programmazzione" edita anche il "mapperò" di fek :stordita:

in questo thread muore la Grammatica :mc:

per non parlare dei post di okay, dove muore pure l'ortografia basilare :help:

fek
09-11-2007, 10:22
Lo edito io, mi permetto per vezzo un errore ogni 100 post :D

okay
09-11-2007, 14:30
Ma allora anche tu ti limiti a fare copia e incolla :)
Le chiacchiere stanno a zero: due settimane di tempo, omino animato dentro due stanze. Secondo me non riesci neppure a mettere un triangolo su schermo con cognizione di causa.
A parole siamo tutti John Carmack.



In realta' sapendo quello che si sta facendo, in una settimana partendo da zero si fa abbastanza tranquillamente.

Purtroppo quando scrivi un gioco non puoi copia e incollare codice senza sapere che cosa c'e' dentro, te lo devi scrivere, e devi scrivere una montagna di C++ per fare anche le cose piu' semplici.

quello che ho scritto lo posso dimostrare...

se vuoi ti passo il mio progetto di default.
Con default intendo già tutto pronto per poi partire con una storia per il game.

Se vuoi ti passo l'exe... che sarebbe il progetto di default da cui partire per un game. Anche per il network stesso discorso solo che al progetto di default
devo immettere o togliere, nelle struct,i dati "arbitrari" che intendo passare.

Ripeto tutto questo per un gioco di default 3d.

Il copia e incolla intendo routine già provate che non devono essere riscritte per nulla.

fek
09-11-2007, 14:50
quello che ho scritto lo posso dimostrare...

Ok dimostralo, fra due settimane ci fai vedere due stanze con un omino che cammina :)

marko.fatto
09-11-2007, 14:58
Ok dimostralo, fra due settimane ci fai vedere due stanze con un omino che cammina :)

Gara Gara Gara Gara Gara :Prrr: :Prrr: :Prrr:
:sofico:

okay
09-11-2007, 14:58
Ok dimostralo, fra due settimane ci fai vedere due stanze con un omino che cammina :)

guarda te lo passo subito... così che vedi come è la fisica di AGENA se già (credo) che la conosci.

Ti ripeto passami un omino.x animato che io non sono modellatore ho un cilindro animato fatto con 3dsmax da me.

Per il resto è tutto pronto devo solo fare il rar e fartelo scaricare.

Ripeto progetto di default già pronto. Se hai ha portata di mano una stanza.x caz...a e un omino.x li integro nel progetto e te li faccio muovere in 3d. Se no ti accontenti di quello che ho fatto io.

Se vuoi ti passo il link e se si dammi il tempo di fare il rar.

fek
09-11-2007, 17:17
Per il resto è tutto pronto devo solo fare il rar e fartelo scaricare.

Attendo di riceverlo con mal celata impazienza :)
(Credo attendero' a lungo... e fra due settimana uppo il thread)

das
09-11-2007, 17:19
Salve a tutti,vorrei incominciare a creare qualche gioco in 3D,potete consigliarmi qualche programma e qualche guida in italiano?
P.S non ho mai programmato.

Puoi usare un motore grafico bello e fatto e dedicarti solo al disegno e alla musica con i programmi che generalmente sono abbinati insieme al motore grafico

okay
09-11-2007, 17:59
Attendo di riceverlo con mal celata impazienza :)
(Credo attendero' a lungo... e fra due settimana uppo il thread)

http://www.twork.it/work/demo.rar

lo sò che sei curioso... guarda come funziona la fisica dell'AGENA e ti ricordo che questo è un progetto di default come scritto prima da cui partire tagliando o incollando quello che serve per una storia di game.

funziona su XP e vista.

dx 9.0
tool vs net 2005 sp2
3dsmax 9.0 spline e angar e cilindro animato... io sono un programmatore.
nvidia geforce 6800 GT (2003)

dammi un omino.x e stanza.x alla wolfenstein e faccio un figurone...

per fek: le spline che vedi dove si muove una "copia del cilindro statico" è un percorso per AI.
Aprendo il file txt "grafo_spline_AI.txt" prova a cambiare il nodo di partenza e di arrivo vedrai che il cilindro farà sempre il miglior percorso...*A
Per vederlo meglio premi 'p' e mettiti in alto per vedere bene i movimenti del cilindro.

I grafici rossi, blu e verde sono rispettivamente:
le normali le binormali e le tangenti che ho visualizzato.



Istruzioni:
Installa il file PhysX_7[1].01.12_SystemSoftware.exe


tasti freccia: cammini con personaggio
mouse: giri intorno e punti dove andare
tasti: h diminuisci sound colonna sonora
y aumenti colonna sonora
q apri e chiudi portoni angar
v animazione cinematica
v animazione statica
F4 wireframe
F5 >dimensione cilindro animato
f6 <dimensione cilindro aniamto
Esc esci game
p non sei + ancorato al terreno
puoi andare, con i tasti frecce in qualsiasi
posizione (stai fuori dal box personaggio)
F2 fullscreen

Add 100 actor: Immetti nel game quanti actor vuoi (sfere e cubi)
Slider gravity: stai di default a gravità 9.98 prova altre forze di gravità

Abbassa con il tasto h il volume della colonna sonora e dirigiti verso il cilindro animato
e sentirai il sound del laser mentre avvicinandoti ai portoni
dell'angar ascolterai il sound della rana.

Guida prima car tasti "awsd"
Guida seconda car tasti "jl" con u vai in alto 1 e 2 giri le ruote
Le auto sono fatte con i joint.

collidi con le scatole a tot gravità oppure collidi con l'angar
o ancora collidi con i nuovi actor immessi nel game.

Controlla il file LogOki.htm i file del sound con versione oki.lib per OpenAL. In quanto su vista il directsound e directsound3d non funziona + per eliminazione di EAX.

Spettacolare è la fisica di physics dell'AGENA motore fisico usato da unreal.



Per quelli che proveranno il demo darò il codice free così da fare copia e incolla e cmq da studiare.

Edit1: la freccia al centro del personaggio segue sempre il cilindro statico numero 1 (serve nei game quando bisogna segnalare al player la direzione giusta da intraprendere)
Edit2: fek passami un omino.x animato (la mia classetta animazione.cpp [dx])... se al 5° frame dà un calcio per aprire una porta...te lo evidenzio con la mia classetta.cpp. Con il mio colindro non posso fare altro.

Dammi 2/3 modellatori e poi vedrai che scenografia da mozzafiato prende la mia demo. Oppure passami 2/3 modellatori che mi fanno una ferrari e poi vedi che figurone che faccio con la mia demina. Il motore del sound può lanciare il sound della ferrari controllando i giri motore di tutte le marce... ma io sono solo un programmatore... passami una ferrari

Leron
09-11-2007, 18:46
non riesco a trovare nessuna info su questo agena... non è che si parlava di ageIa?

fek
09-11-2007, 18:53
http://www.twork.it/work/demo.rar

lo sò che sei curioso... guarda come funziona la fisica dell'AGENA e ti ricordo che questo è un progetto di default come scritto prima da cui partire tagliando o incollando quello che serve per una storia di game.

E' Ageia, non Agena, almeno scrivi il nome della libreria giusto per far sembrare che il lavoro sia tuo.
E poi mi domandano perche' sono andato via dall'Italia...

Tommo
09-11-2007, 19:04
Il motore fisico si chiama Ageia PhysiX e lo uso anche io... è molto buono perchè è gratis per qualsiasi progetto e lo reputo inferiore solo ad havoc... non ha problemi nel simulare 100 e passa cubi, su un Core2Duo l'impatto prestazionale è nullo.

Cmq secondo me l'avete terrorizzato troppo il ragazzo, io ho iniziato che volevo programmare videogiochi (no nn voglio trovarmi un lavoro serio :D ) alla sua età e 5 anni dopo posso dire che sto sulla buona strada, sapendo C++, librerie ecc...
Certamente però non sono partito da C+DirectX come dite voi, quello penso lo possa fare solo un genio o un asociale a 13 anni.

Consiglio a seconda della fretta di partire prima da un gamecreator point&click, che IMHO da grandi soddisfazioni... potendo vedere dopo poche ore il proprio giochino funzionante. Altro che C...
Oppure saltarlo e passare un'engine di scripting che ti da quasi tutto pronto ma dove già inizi a scrivere qualcosa...
Io mi sono trovato bene con 3D game studio ma costicchia.

Dopo quando ti sentirai "stretto" nella game engine, è ora di passare al C++ & libreria grafica open source (es Ogre3D)... ma è cmq questione di anni.

Solo dopo queste esperienze si può pensare di iniziare la costruzione di una propria libreria grafica a partire dal C++ e DX... non capisco questa fissa che si ha di far iniziare la gente dalla base, o per meglio dire dal low-level.
Eppure è considerato normale usare un motore fisico middleware... perchè è peccato usare un motore grafico non fatto da te?

PS. L'inglese si, va imparato assolutamente il prima possibile e in maniera completa... che poi servirà sempre in qualsiasi campo.

marko.fatto
09-11-2007, 19:15
Solo dopo queste esperienze si può pensare di iniziare la costruzione di una propria libreria grafica a partire dal C++ e DX...

ma le dx stesse sono una libreria grafica... o no?:stordita:

Hire
09-11-2007, 19:31
Il source di quel progetto? Lo si può avere?

Comunque se uno è motivato si può fare tutto.
Anche se chi ha aperto il topic crede che i giochi si fanno con 2 click io penso che con un pò di motivazione, tempo, pazienza ( tanta ) ed il giusto team si può fare tutto.

Certo, se io volessi fare un gioco userà giù un engine fatto e mi dedicherei a quello che ci gira intorno.

Lyane
09-11-2007, 20:49
E poi mi domandano perche' sono andato via dall'Italia...

Nondum matura est, nolo acerbam sumere

71104
09-11-2007, 23:43
Nondum matura est, nolo acerbam sumere
fek ha forse mostrato incapacità nel fare qualcosa?

io dico, al contrario, che la frase potrebbe applicarsi a te: siccome non sei in grado di reggere una vita trascorsa all'estero preferisci sboroneggiare con le frasi latine :Prrr:

71104
09-11-2007, 23:57
E poi mi domandano perche' sono andato via dall'Italia... http://files.splinder.com/ac45d839baf848972feef1dba13c4ea9.jpeg


:asd:

AnonimoVeneziano
10-11-2007, 00:04
State un po' esagerando però adesso ...

Sembrate dei bambini (o bamboccioni se vogliamo dirla alla Padoa-Schioppa) ...

Questo detto senza offesa da un osservatore esterno.

Ciao

jappilas
10-11-2007, 00:07
Per favore, ora non divaghiamo ;) ...

State un po' esagerando però adesso ...

Sembrate dei bambini (o bamboccioni se vogliamo dirla alla Padoa-Schioppa) ...
<...>ammetto di aver avuto la tua stessa impressione :O

k0nt3
10-11-2007, 09:33
Non pare a te e invece e' parecchio codice da scrivere. Ma le chiacchiere stanno a zero.

Hai due settimane di tempo, scrivendo da zero, non puoi copia e incollare codice ovviamente :), due stanze, telecamera fps, con almeno un NPC animato che cammina per la stanza.

Secondo me in due settimane partendo da zero metti a malapena un triangolo sullo schermo, scommettiamo?
e vogliamo aggiungere anche la gestione delle collisioni? :sofico:

D4rkAng3l
10-11-2007, 09:50
Salve a tutti,vorrei incominciare a creare qualche gioco in 3D,potete consigliarmi qualche programma e qualche guida in italiano?
P.S non ho mai programmato.

Salve a tutti,vorrei incominciare a creare qualche gioco in 3D,potete consigliarmi qualche programma e qualche guida in italiano?
P.S non ho mai programmato.

:D :D :D :D :D : :cry: :cry: :cry: :cry: : :eek: :eek: :eek: :rolleyes: :rolleyes: :rolleyes:

AHAHAHAH non ho resistito...allora...vorresti farlo diventare la tua professione? bene...te lo dico subito...non hai la minima idea di cosa sia...magari poi scopri che programmare ti fa anche schifo...è più o meno come a 4 anni dire: "voglio fare l'astronauta"...poi magari scopri che l'ottovolante ti fà vomitare l'anima :D
Cmq beh diciamo che ti dovresti iscrivere ad un corso di laurea come informatica...dopo i 5 anni che probabilmente lieviteranno ti devi fare qualche master o stage nel settore...dire "voglio far diventare la programmazione videoludica la mia professione" chiedendo guide su un forum senza saper neanche cosa sia la programmazione mi pare allucinante...

Leron
10-11-2007, 10:00
:D :D :D :D :D : :cry: :cry: :cry: :cry: : :eek: :eek: :eek: :rolleyes: :rolleyes: :rolleyes:

AHAHAHAH non ho resistito...allora...vorresti farlo diventare la tua professione? bene...te lo dico subito...non hai la minima idea di cosa sia...magari poi scopri che programmare ti fa anche schifo...è più o meno come a 4 anni dire: "voglio fare l'astronauta"...poi magari scopri che l'ottovolante ti fà vomitare l'anima :D
Cmq beh diciamo che ti dovresti iscrivere ad un corso di laurea come informatica...dopo i 5 anni che probabilmente lieviteranno ti devi fare qualche master o stage nel settore...dire "voglio far diventare la programmazione videoludica la mia professione" chiedendo guide su un forum senza saper neanche cosa sia la programmazione mi pare allucinante...
avere un sogno nella vita non è mai cosa sbagliata, così come voler fare l'astronauta a 4 anni

se è una cosa che lo stimola e è veramente deciso è giusto che percorra questa strada, e chiederlo su questo forum non è stata cosa sbagliata dato che ha trovato gente che sa come funziona e gente che ci lavora veramente, come fek

ha 13 anni, se lo vuole veramente può fare tutto, e noi dobbiamo solo dargli un'idea di come si fa poi sarà lui a decidere se vale la pena oppure no, piuttosto eviterei di fare i "demolitori di sogni", arte che riesce perfettamente a molti che però poi loro stessi non realizzano i propri. ci sono troppe persone al mondo che "tirano indietro" che "ti sconsigliano" che ti fanno rinunciare dicendo "lo faccio per te" "te lo dico per evitarti delusioni future". cerchiamo invece di REAGIRE, se uno ha un sogno e ha la forza di volontà può arrivare ovunque.

okay
10-11-2007, 10:53
e vogliamo aggiungere anche la gestione delle collisioni? :sofico:

per quello che ho postato non devi aggiungere nulla.

è tutto gestito dal motore fisico dell'AGENIA.

Se ti dovessero chiamare in un team come programmatore per fare un game che fai dai la tua disponibilità e poi inizi a scriverti un motore fisico?... non ti basterebbero 10 anni da solo.

Si vede che non hai provato la demo e non leggi bene i post.

AGENIA è free ora è non c'è + motivo per non usarlo. Lo usano quelli di "unreal" per esempio che invece potrebbero usare il loro.

Tuttavia, per lo meno, uno studio sulle collisioni è d'obbligo per capirne la tematica.

Io l'ho fatto su un terreno costruito a runtime da me e poi mi sono scervellato a camminare sui poligoni (per studio) poi ho deciso di usare la fisica di AGENIA, prima però avevo usato ODE.

variabilepippo
10-11-2007, 10:58
è tutto gestito dal motore fisico dell'AGENIA.

Se ti dovessero chiamare in un team come programmatore per fare un game che fai dai la tua disponibilità e poi inizi a scriverti un motore fisico?... non ti basterebbero 10 anni da solo.

Si vede che non hai provato la demo e non leggi bene i post.

AGENIA è free ora è non c'è + motivo per non usarlo. Lo usano quelli di "unreal" per esempio che invece potrebbero usare il loro.

Tuttavia, per lo meno, uno studio sulle collisioni è d'obbligo per capirne la tematica.

Io l'ho fatto su un terreno costruito a runtime da me e poi mi sono scervellato a camminare sui poligoni (per studio) poi ho deciso di usare la fisica di AGENIA, prima però avevo usato ODE.


Ma ogni volta che citi AGENIA ti riferisci in realtà al motore Ageia PhysX (http://www.ageia.com/)? Sarebbe opportuno conoscere almeno il nome dei prodotti che si usano... :)

okay
10-11-2007, 11:08
Ma ogni volta che citi AGENIA ti riferisci in realtà al motore Ageia PhysX (http://www.ageia.com/)? Sarebbe opportuno conoscere almeno il nome dei prodotti che si usano... :)


http://www.ageia.com/

Leron
10-11-2007, 11:10
http://www.ageia.com/

ehm... non so se te ne sei accorto ma si chiama AGEIA non AGENIA :asd:

D3stroyer
10-11-2007, 11:11
e allora la N nun ce sta.

D4rkAng3l
10-11-2007, 11:11
avere un sogno nella vita non è mai cosa sbagliata, così come voler fare l'astronauta a 4 anni

se è una cosa che lo stimola e è veramente deciso è giusto che percorra questa strada, e chiederlo su questo forum non è stata cosa sbagliata dato che ha trovato gente che sa come funziona e gente che ci lavora veramente, come fek

ha 13 anni, se lo vuole veramente può fare tutto, e noi dobbiamo solo dargli un'idea di come si fa poi sarà lui a decidere se vale la pena oppure no, piuttosto eviterei di fare i "demolitori di sogni", arte che riesce perfettamente a molti che però poi loro stessi non realizzano i propri. ci sono troppe persone al mondo che "tirano indietro" che "ti sconsigliano" che ti fanno rinunciare dicendo "lo faccio per te" "te lo dico per evitarti delusioni future". cerchiamo invece di REAGIRE, se uno ha un sogno e ha la forza di volontà può arrivare ovunque.

no vabbè mi scuso...ammetto che non avevo letto che aveva 13 anni...mi è preso un moto di rabbia perchè ogni giorno in facoltà (informatica) mi trovo a sentire discorsi assurdi di gente che spara le peggio assurdità e pretende che te ci creda.
Gente ignorante che dice di guadagnare 2000 € al mese lavorando part time 3 volte a settimana.
Gente che realizza siti con FrontPage (bruttissimi e tabellari) senza avere la benchè minima base di accessibilità e di cosa sia il W3C e che dice di farsi pagare 1000 € a sito...
E il colmo è stato uno al primo anno che si era iscritto ad informatica perchè voleva fare qualcosa col computer perchèp cioè a lui piaceva giocare ai videogame e insomma cioè voleva una facoltà dove ci fosse della grafica (informatica!??!?! ahahah) perchè voleva appunto fare il programmatore di viedeogiochi...ha retto 6 mesi senza dare mezzo esame...l'ho incontrato questa estate in un locale per caso e mi ha detto che stava mettendo su una software house per realizzare videogame e che cercava programmatori (notare bene: questo no sà come funziona un array in C...si era bloccato alle if...manco ai cicli è arrivato) :muro: :muro: :muro: Non sapevo se ridere o piangere per lui :cry: :muro:
Anche quando andavo alla sapienza c'era un altro tizio di 27 anni malato per i videogame che non dava mezzo esame e al posto di seguire le lezioni di C si leggeva le riviste sui videogame perchè lui "da grande" voleva proggettare videogame...
Anche da un mio amico ad ing inf si assiste spesso a scenette patetiche del genere...con il tempo sono diventato insofferente...quando sento qualcosa del genere sbrocco...non sono forte...mi sento solo un povero studentello del terzo anno di informatica che si dovrà smazzare un bel po' prima di poter dire di essere qualcuno ma quando sento cose del genere mi viene la rabbia:

"cioè ma veramente tu povero pezzente che non sai come funziona un while in C mi dici che stai creando una software house?!?!? non ti senti ridicolo a vedermi annuire sapendo che dentro di me ti stò prendendo per pazzo? tu povero coglionazzo che non sai cos'è un CSS mi dici a me che prendi 1000 € a sito?tu che lavori 3 giorni a settimana solo il pomeriggio mi vieni a raccontare che prendi 2000 € di stipendio come primo impiego dove forse ti fanno pulire i cessi dell'ufficio?" ho sviluppato un senso di ribrezzo per questi spara cazzate o ingenuotti o quel che siano (e son davvero tanti !!! :eek: )

Però se ha 13 anni mi scuso, anzi fa bene a perseguire i suoi sogni...in bocca al lupo ;)

D3stroyer
10-11-2007, 11:17
anche io sono al terzo di ing informatica..e di queste cose ne sento ogni secondo...ma ho un ottimo spamfilter nel cervello.

D4rkAng3l
10-11-2007, 11:25
anche io sono al terzo di ing informatica..e di queste cose ne sento ogni secondo...ma ho un ottimo spamfilter nel cervello.

si ma la cosa assurda è che vengono tutte da persone a cui dò meno possibilità di laurearsi del mio gatto...ma neanche di laurearsi ...di fare un lavoro diverso dallo spaccare le pietre...più che altro mi manda in crisi una cosa:

entri al primo anno credendo di lavorare con la grafica (ok hai cannato tutto...c'è scienze dei media per quello...vabbè non te ne facciamo una colpa), sei totalmente inadatto ad apprendere quello che stai studiando e non e hai la minima intenzione di applicarti (va bene...troverai la tua strada altrove), non hai la minima idea di cosa stai facendo e...mi vieni a dire che stai aprendo una software house?
La cosa che mi turba è: "ma io come ti devo rispondere? cosa devo fare? far finta di crederti è più umiliante per me o per te?" vi giuro mi prende un nervosooooooo.

Poi c'è anche la versione spaccona che magari sono quelle persone che studiano, hanno imparato quelle 2-3 cose...lavoricchiano nel campo e ti raccontano cose allucinanti vantandosi di conoscenze apprese sul campo in tno magniloquiente...poi scopri che magari si lavorano con le reti ma al più la ditta li manda a realizzare la rete della Cippa Lippa Company formata da 3 pc in croce o il database del droghiere sotto casa.... :muro: :muro: :muro:

variabilepippo
10-11-2007, 11:26
http://www.ageia.com/


E allora perché lo chiami da sempre AGENIA? Il nome l'avrai letto qualche volta studiando la documentazione, o no? :rolleyes:

Oppure, anche per quanto riguarda "Agenia", il codice era già pronto, preso da qualche tutorial e copia&incollato?

Per tornare vagamente in topic, visto che l'utente ha 13 anni non è bene né scoraggiarlo con visioni apocalittiche (ha tutto il tempo per imparare se è dotato di voglia e capacità) né illuderlo dicendo che tutto sommato il "codice da scrivere è poco". PRIMA di scrivere del codice bisogna acquisire delle conoscenze, tante conoscenze, altrimenti ci si limita a *cercare* di modificare quello scritto da altri. Spesso con risultati più che discutibili...

okay
10-11-2007, 11:38
anche io... ascolto e me le bevo tutte...

per esempio in questo 3d:

io dico che non ci vuole tanto codice... (nessuno è obbligato a scaricare la demo ci mancherebbe altro)... altri dicono che il codice è immenso da scrivere (ma di chè dico io)

Si dice soltanto che non è possibile, anni di studio ecc ecc... ma la demo l'avete vista fatta da me che sono un prg autodidatta?

l'unico messaggio è stato... manca la "N" oppure "si può avere il codice?"

invece per il nostro amico del 3d sarei molto felice di mostrargli come in 3 step usando vs NET 2005, codice c++ e dx possa anche lui caricarsi i modelli e girare in 3d con il personaggio in un attimo!!

nessuno che chiede come si può fare?
Nessuno che ha scaricato la demo (quello che non mi interessa sono i complimenti (a parte feq))

quello che mi interessa è chiarire da subito i strumenti da usare per raggiungere l'obbiettivo.

Per esempio non caricare modelli in .3ds ma passare da subito a caricarseli in .x cioè salvarli in .3ds ed esportarli in .x per esempio con il plugin di pandasoft... che è molto meglio.


http://www.twork.it/work/demo.jpg

per tommo:
altro che 100 cubi io l'ho provato con 2 milioni di poligoni e la mia nvidiageforce 6800 GT non ha battuto ciglio.

k0nt3
10-11-2007, 11:46
per quello che ho postato non devi aggiungere nulla.

è tutto gestito dal motore fisico dell'AGENIA.

Se ti dovessero chiamare in un team come programmatore per fare un game che fai dai la tua disponibilità e poi inizi a scriverti un motore fisico?... non ti basterebbero 10 anni da solo.

Si vede che non hai provato la demo e non leggi bene i post.

AGENIA è free ora è non c'è + motivo per non usarlo. Lo usano quelli di "unreal" per esempio che invece potrebbero usare il loro.

Tuttavia, per lo meno, uno studio sulle collisioni è d'obbligo per capirne la tematica.

Io l'ho fatto su un terreno costruito a runtime da me e poi mi sono scervellato a camminare sui poligoni (per studio) poi ho deciso di usare la fisica di AGENIA, prima però avevo usato ODE.
è ovvio che si usano delle librerie per semplificare il compito, ma non c'è solo ageia, ce ne sono un'infinità di queste librerie. ma penso che uno che deve fare del suo lavoro quello di programmare videogiochi non può prescindere da certe conoscenze come la gestione delle collisioni. se vuoi fare qualcosa di serio ti accorgi che bisogna sapere come funziona il motore fino a fondo anche se si stanno usando delle librerie per semplificarsi la vita.
comunque per una gestione base della fisica (gravità + collisioni) non servono di certo 10 anni ;)

Leron
10-11-2007, 11:47
anche io... ascolto e me le bevo tutte...

per esempio in questo 3d:

io dico che non ci vuole tanto codice... (nessuno è obbligato a scaricare la demo ci mancherebbe altro)... altri dicono che il codice è immenso da scrivere (ma di chè dico io)

Si dice soltanto che non è possibile, anni di studio ecc ecc... ma la demo l'avete vista fatta da me che sono un prg autodidatta?

l'unico messaggio è stato... manca la "N" oppure "si può avere il codice?"

invece per il nostro amico del 3d sarei molto felice di mostrargli come in 3 step usando vs NET 2005, codice c++ e dx possa anche lui caricarsi i modelli e girare in 3d con il personaggio in un attimo!!

nessuno che chiede come si può fare?
Nessuno che ha scaricato la demo (quello che non mi interessa sono i complimenti (a parte feq))

quello che mi interessa è chiarire da subito i strumenti da usare per raggiungere l'obbiettivo.

Per esempio non caricare modelli in .3ds ma passare da subito a caricarseli in .x cioè salvarli in .3ds ed esportarli in .x per esempio con il plugin di pandasoft... che è molto meglio.




per tommo:
altro che 100 cubi io l'ho provato con 2 milioni di poligoni e la mia nvidiageforce 6800 GT non ha battuto ciglio.

credo che la questione sia abbastanza differente: un conto è animare (se veramente lo hai fatto tu) una stanza con un tool pre-fatto. un'altra è avere VERAMENTE le conoscenze specifiche per lavorarci in questo settore

e credo che sia questo che ti faceva notare fek, che questo lo fa DI LAVORO e non credo che abbia bisogno di presentazioni avendo lavorato per i Lionhead Studios curando il motore grafico di giochi come Black & white 2, che non sono proprio "bruscolini"

se poi tu te ne esci fuori in due minuti con un progettino fatto da chissà chi, quando hai dimostrato che non sai manco il nome dei tool di sviluppo che usi, se permetti QUALCHE DUBBIO lo fai ben venire.


questo detto terra terra e senza nulla di personale

questo lo dico da totale profano

k0nt3
10-11-2007, 11:47
anche io... ascolto e me le bevo tutte...

per esempio in questo 3d:

io dico che non ci vuole tanto codice... (nessuno è obbligato a scaricare la demo ci mancherebbe altro)... altri dicono che il codice è immenso da scrivere (ma di chè dico io)

Si dice soltanto che non è possibile, anni di studio ecc ecc... ma la demo l'avete vista fatta da me che sono un prg autodidatta?

l'unico messaggio è stato... manca la "N" oppure "si può avere il codice?"

invece per il nostro amico del 3d sarei molto felice di mostrargli come in 3 step usando vs NET 2005, codice c++ e dx possa anche lui caricarsi i modelli e girare in 3d con il personaggio in un attimo!!

nessuno che chiede come si può fare?
Nessuno che ha scaricato la demo (quello che non mi interessa sono i complimenti (a parte feq))

quello che mi interessa è chiarire da subito i strumenti da usare per raggiungere l'obbiettivo.

Per esempio non caricare modelli in .3ds ma passare da subito a caricarseli in .x cioè salvarli in .3ds ed esportarli in .x per esempio con il plugin di pandasoft... che è molto meglio.


http://www.twork.it/work/demo.jpg

per tommo:
altro che 100 cubi io l'ho provato con 2 milioni di poligoni e la mia nvidiageforce 6800 GT non ha battuto ciglio.
scusami ma se non posti il codice la tua demo non ha nessun valore in questo thread

variabilepippo
10-11-2007, 11:52
nessuno che chiede come si può fare?

Forse perché qui dentro molti sanno come "si può fare" e non te lo chiedono perché hanno visto:

1) Che non sai neanche come si chiama il motore fisico che usi

2) Che la "libreria" OKI non è altro che un esempio ufficiale Microsoft con porzioni di codice (si potrebbe aprire una parentesi anche sulla qualità delle modifiche apportate) aggiunte in italiano e parti inutili del codice originale lasciate inalterate (forse perché non sai cosa fanno o perché "se ci sono è meglio non toccarle"). Non è un caso che su CodeProject la valutazione della "libreria" sia stata tra le più basse di sempre.

3) Che non scendi MAI nel dettaglio, sostieni di usare del "codice già pronto" ma non spieghi da dove provenga. Creare un semplice ambiente 3D interattivo richiede una quantità di codice non indifferente, affermare il contrario significa non avere un'idea chiara di quali siano le problematiche che vanno affrontate.

PS. Per confutare quanto ho scritto finora puoi sempre mostrarci il sorgente delle tue creazioni.

D3stroyer
10-11-2007, 11:59
mi piace quando i titani del forum prendono forma.

@D4rkAng3l: anche io sono uno di quelli che ha iniziato informatica perchè "mi piacevano i videogiochi", ma non per questo dovrei avere bassa attitudine universitaria.

okay
10-11-2007, 12:02
scusami ma se non posti il codice la tua demo non ha nessun valore in questo thread

guarda ho postato un screenshoot con un edit.

quello che vedi è un terreno + un angar fatto da me collassati in .x come modello statico e collisioni con motore fisico dell'ageia caricati in trimesh.

con il progetto di default mensionato prima creato con il browser dx il codice da aggiungere è:

caricamento mesh:

D3DXMATERIAL *Buffer;
LPD3DXBUFFER mtr;

D3DXLoadMeshFromX(L"Mesh//terrenoOk.x", D3DXMESH_SYSTEMMEM|D3DXMESH_32BIT, pd3dDevice, NULL, &mtr, NULL, &m_NumSubsetMap, &m_meshTerrain);

Buffer = (D3DXMATERIAL*)mtr->GetBufferPointer();
MaterialBuffer = new D3DMATERIAL9[m_NumSubsetMap];
TextureBuffer = new LPDIRECT3DTEXTURE9[m_NumSubsetMap];
CHAR *TexturePath = new CHAR[128];
sprintf(TexturePath, "Texture//");
DWORD i=0;
for(i=0; i<m_NumSubsetMap; i++)
{
MaterialBuffer[i] = Buffer[i].MatD3D;
if(Buffer[i].pTextureFilename != NULL)
{
strcat(TexturePath, Buffer[i].pTextureFilename);
if(FAILED(D3DXCreateTextureFromFileA(pd3dDevice, TexturePath, &TextureBuffer[i])))
TextureBuffer[i] = NULL;
}
else
TextureBuffer[i] = NULL;
sprintf(TexturePath, "Texture//");
}
delete TexturePath;
mtr->Release();

//terreno
m_meshTerrain->CloneMeshFVF(D3DXMESH_SYSTEMMEM|D3DXMESH_32BIT, D3DFVF_XYZ, pd3dDevice, &m_physicsMesh);



render:

//terreno
for(i=0; i<m_NumSubsetMap; i++)
{
if(TextureBuffer[i] != NULL)
pd3dDevice->SetTexture(0, TextureBuffer[i]);
pd3dDevice->SetMaterial(&MaterialBuffer[i]);
m_meshTerrain->DrawSubset(i);
}


chiaro che serve una classetta mesh.cpp e .h

mesh.h:

#include "dxstdafx.h"
#include <D3dx9.h>

class CMesh
{
public:

DWORD dwNumVertex;

LPDIRECT3DDEVICE9 m_pD3DDevice;
DWORD m_dwNumMaterials;
LPD3DXMESH m_pMesh;
D3DMATERIAL9* m_pMeshMaterials;
LPDIRECT3DTEXTURE9* m_pMeshTextures;

DWORD D3DFVF_D3DVERTEX_MESH;

struct D3DVERTEX_MESH
{

D3DXVECTOR3 position;
D3DXVECTOR3 normali;
FLOAT U, V;
D3DXVECTOR3 tangent; // binormal vector (basis vector t)
D3DXVECTOR3 binormal; // tangent vector (basis vector s)


};

virtual ~CMesh();

private:



};


mesh.cpp solo funzione render:

DWORD CMesh::Render()
{
if(m_pMesh != NULL)
{
for(DWORD i = 0; i < m_dwNumMaterials; i++)
{
m_pD3DDevice->SetMaterial(&m_pMeshMaterials[i]);
m_pD3DDevice->SetTexture(0, m_pMeshTextures[i]);
m_pMesh->DrawSubset(i);
}
return m_pMesh->GetNumFaces();
}
else
{
return 0;
}
}


allora tutto sto popò di codice da scrivere...???

variabilepippo
10-11-2007, 12:24
allora tutto sto popò di codice da scrivere...???


Beh, se prendi un programma scritto da altri (quello del "browser dx") e aggiungi codice sviluppato da altri (http://www.gamefactory.cn/jswz11.html) allora il codice da scrivere è veramente poco. :rolleyes:

Però più che programmatore poi dovresti definirti copia&incollatore.

k0nt3
10-11-2007, 12:24
non saprei.. a me non compila così :fagiano:
comunque non voglio entrare nel merito visto che le DX le conosco pure poco, ma io non vedo nessun oggetto in movimento, nessuna gestione degli input, nessusa gestione delle collisioni (nemmeno demandata a una libreria), in poche parole quel codice non fa molto, perciò è ovvio che è poco

71104
10-11-2007, 12:48
OT:

Però più che programmatore poi dovresti definirti copia&incollatore. almeno copiaincollasse pure le parole italiane... ancora non riesco a farmi andare giù i suoi "Immaggina" e "mensionato" :fagiano:

non c'è una emoticon R.I.P. per simboleggiare l'itaGLiano in questo thread? :asd:

71104
10-11-2007, 12:50
http://forums.nsn3.net/style_emoticons/default/80.gif

variabilepippo
10-11-2007, 14:17
non c'è una emoticon R.I.P. per simboleggiare l'itaGLiano in questo thread?

In realtà usa un italiano "esteso", una sorta di estensione OpenGL! :D

http://img468.imageshack.us/img468/3778/zingarellitx3.gif

okay
10-11-2007, 14:46
eccomi quì...

stavo controllando il nasdaq... pare che è in vista un bel candelone verde per lunedì.

Allora... impressioni?

Lyane
10-11-2007, 14:56
io dico, al contrario, che la frase potrebbe applicarsi a te: siccome non sei in grado di reggere una vita trascorsa all'estero preferisci sboroneggiare con le frasi latine :Prrr:

Risus abundat in ore stultorum

Leron
10-11-2007, 14:59
Lyane la vogliamo fare finita?

fek
10-11-2007, 15:51
Allora... impressioni?

Che tu quel codice non lo hai mai neppure visto prima :)
E' tratto dagli esempi delle DX, usa la loro coding conversion piu' alcune righe aggiunte a caso che non vogliono dire nulla con una coding convention diversa...

Evidentemente la gente che si vanta di cose incredibili non si trova solo all'universita'. Se poi sono questi gli esempi che si danno ad un ragazzo di 13 anni non c'e' da stare allegri.

PS. Se il vertex buffer del terreno e' in SYSTEMEM, puoi pregare la GPU di renderizzarlo per millenni, ma si rifiutera', e magari se vuoi renderizzare il terreno con una texture che dici di passargli pure le coordinate UV e non solo XYZ? :D

Tommo
10-11-2007, 16:10
per tommo:
altro che 100 cubi io l'ho provato con 2 milioni di poligoni e la mia nvidiageforce 6800 GT non ha battuto ciglio.

Non l'ho proprio capita...
hai caricato 2 milioni di poligoni dentro un Motore Fisico e la tua Scheda Grafica non ha battuto ciglio?

Sinceramente non ci entra proprio nulla... Physix (o l'Ageia come lo chiami te) usa unicamente la CPU, o la Scheda Fisica se sei una delle 10 persone che cel'hanno...
e caricare qualsiasi mesh sopra i 5000 poligoni uccide qualsiasi engine fisico, fra bug e rallentamenti. Oltre a essere perfettamente inutile ovviamente. :rolleyes:
Quindi dubito che tu abbia davvero spinto così tanto Physix... o anche capito che è.

okay
10-11-2007, 16:18
Beh, se prendi un programma scritto da altri (quello del "browser dx") e aggiungi codice sviluppato da altri (http://www.gamefactory.cn/jswz11.html) allora il codice da scrivere è veramente poco. :rolleyes:

Però più che programmatore poi dovresti definirti copia&incollatore.

Il codice di default del browser di dx non è fatto da altri ma da quelli della m$ messo a disposizione per gli utenti utilizzatori di dx.

Tu che fai usi vs net 2005 scrivendo code da 0 o usi vs net 2005 come si usa turbo c++ 1.0

Ti danno gli strumenti usateli no?

No il codice è il mio... poco ma buono.

okay
10-11-2007, 16:21
in questo 3d avete molti dubbi... troppi dubbi

Leron
10-11-2007, 16:22
Il codice di default del browser di dx non è fatto da altri ma da quelli della m$ messo a disposizione per gli utenti utilizzatori di dx.

Tu che fai usi vs net 2005 scrivendo code da 0 o usi vs net 2005 come si usa turbo c++ 1.0

Ti danno gli strumenti usateli no?

No il codice è il mio... poco ma buono.

dubito che in fase operativa nella produzione di un videogioco ci si possano permettere tante scappatoie di "copia&incolla"

cmq se lo ha fatto qualcun altro il progetto non è tuo

okay
10-11-2007, 16:23
in questo 3d avete molti dubbi... troppi dubbi

dubitate sempre

altri che dubitano...??

okay
10-11-2007, 16:30
Che tu quel codice non lo hai mai neppure visto prima :)
E' tratto dagli esempi delle DX, usa la loro coding conversion piu' alcune righe aggiunte a caso che non vogliono dire nulla con una coding convention diversa...


hai sbagliato.
Il code di caricamento delle mesh non è delle dx.

mi hai deluso fek

tutto il caricamento mesh è perfetto con rilascio perfetto delle risorse all'uscita... neanche un memory leak.

okay
10-11-2007, 16:46
Non l'ho proprio capita...
hai caricato 2 milioni di poligoni dentro un Motore Fisico e la tua Scheda Grafica non ha battuto ciglio?

Sinceramente non ci entra proprio nulla... Physix (o l'Ageia come lo chiami te) usa unicamente la CPU, o la Scheda Fisica se sei una delle 10 persone che cel'hanno...
e caricare qualsiasi mesh sopra i 5000 poligoni uccide qualsiasi engine fisico, fra bug e rallentamenti. Oltre a essere perfettamente inutile ovviamente. :rolleyes:
Quindi dubito che tu abbia davvero spinto così tanto Physix... o anche capito che è.



avrai tempo per capire

okay
10-11-2007, 16:47
non saprei.. a me non compila così :fagiano:


non ti compila... hà però...

variabilepippo
10-11-2007, 16:51
Il code di caricamento delle mesh non è delle dx.


Ma non è neanche opera tua (http://www.gamefactory.cn/jswz11.html)! Da una parte è necessario complimentarsi con te, hai mostrato come si possa realizzare qualcosa senza scrivere neanche una riga di codice! :D


avrai tempo per capire


Tommo si riferiva a te! E ti ha anche fatto una domanda precisa... Puoi anche rispondere no?


dubitate sempre


Il dubbio è alla base del pensiero critico, una delle doti fondamentali di un buon programmatore! I copiaincollatori invece ne possono fare tranquillamente a meno, tanto con Guuggol si trova di tutto! :D

71104
10-11-2007, 16:56
mi hai deluso fek sorvoliamo su quanto tu abbia deluso il resto del forum :asd:

tutto il caricamento mesh è perfetto con rilascio perfetto delle risorse all'uscita... neanche un memory leak. vorresti forse dire che invece gli esempi forniti da Microsoft sono pieni di leak, o cosa?


in questo 3d avete molti dubbi... troppi dubbi

dubitate sempre

altri che dubitano...??
come mai i tuoi due ultimi post sono evasivi?

D3stroyer
10-11-2007, 17:04
sono un boccalone, credo sempre a tutti quando parlano...e un giorno ci rimetterò.

okay
10-11-2007, 17:06
Ma non è neanche opera tua (http://www.gamefactory.cn/jswz11.html)
Il dubbio è alla base del pensiero critico, una delle doti fondamentali di un buon programmatore! I copiaincollatori invece ne possono fare tranquillamente a meno, tanto con Guuggol si trova di tutto! :D

no questo non è giusto però...

la stai mettendo sul copia e incolla... non va affatto bene.

non è rispettoso...

in quella demo non c'è nulla di copiato e incollato... se lo vuoi capire è bene.

Sugli esempi del browser di dx ci sono i progetti di default già confezionati. Ecco se ne crei uno e lo compili non ci fai nulla a meno che non immetti del codice scritto da te.

Io ho scritto il codice che serve a mano ovvero da 0 e non messo a caso o copiato e incollato da altre fonti... che sia chiaro questo.

poi il credere o no... ma chi se ne frega.

E' un 3d di disfattismo e screditamento... non è corretto.

Che c'è di tanto strano da capire in 2 milioni di poligoni renderizzati a video?
E' un test che ho fatto...inutile?... per me non è stato inutile sapere le performance.

In pratica in 3dsmax ho costruito un oggetto con 2 milioni di poligoni lo esportato in .x e l'ho caricato nel progetto. La performance è di 59 fps.

Nessun calo di prestazioni.

Che c'è da credere o non credere... questo non lo capisco.

Tommo
10-11-2007, 17:17
Che c'è di tanto strano da capire in 2 milioni di poligoni renderizzati a video?
E' un test che ho fatto...inutile?... per me non è stato inutile sapere le performance.

In pratica in 3dsmax ho costruito un oggetto con 2 milioni di poligoni lo esportato in .x e l'ho caricato nel progetto. La performance è di 59 fps.

Nessun calo di prestazioni.


Beh non ti sei spiegato bene.
E' evidente che 100 cubi renderizzati a video lasciano il tempo che trovano sulle moderne GPU, io intendevo 100 cubi SIMULATI FISICAMENTE dal MOTORE FISICO di Ageia, dato che si parlava di quello.
Dalla tua risposta mi era sembrato che tu avessi importato e convertito in PhyisX trimesh un modello da 2 milioni di poligoni, cosa fra l'altro sconsigliatissima anche dal manuale di PhysiX... mentre invece i 2 milioni di poligoni sarebbero solo una mesh importata da 3dsmax, ma non dotata di comportamento fisico.
Spero che tu non abbia risposto così perchè non sai la differenza fra i due tipi di import...

71104
10-11-2007, 17:41
no questo non è giusto però...

la stai mettendo sul copia e incolla... non va affatto bene.

non è rispettoso...

in quella demo non c'è nulla di copiato e incollato... se lo vuoi capire è bene. ci faccia un favore signor programmatore ferito: alleghi in un post l'INTERO codice sorgente di quell'affare, COMPILABILE e CON ISTRUZIONI DI COMPILAZIONE oppure FILE .dsp O .dsw DEL PROGETTO DI VISUAL STUDIO. altrimenti puoi fare il tono da madonnina infilzata quanto ti pare, ma non ti può credere nessuno.

okay
10-11-2007, 17:42
Beh non ti sei spiegato bene.
E' evidente che 100 cubi renderizzati a video lasciano il tempo che trovano sulle moderne GPU, io intendevo 100 cubi SIMULATI FISICAMENTE dal MOTORE FISICO di Ageia, dato che si parlava di quello.
Dalla tua risposta mi era sembrato che tu avessi importato e convertito in PhyisX trimesh un modello da 2 milioni di poligoni, cosa fra l'altro sconsigliatissima anche dal manuale di PhysiX... mentre invece i 2 milioni di poligoni sarebbero solo una mesh importata da 3dsmax, ma non dotata di comportamento fisico.
Spero che tu non abbia risposto così perchè non sai la differenza fra i due tipi di import...

se hai scaricato il demo avrai visto il pulsante per mettere, in questo caso, 2 soli actor sulla scena, un cubo e una sfera all'infinito.

sul pulsante ho lasciato scritto 100 actor ma ne faccio immettere solo 2... ma se si vuole si possono immettere 1000 cubi e sfere oppure 10.000 cubi e sfere 1.000.000 insieme senza nessun problema.

71104
10-11-2007, 17:44
se hai scaricato il demo avrai visto il pulsante per mettere, in questo caso, 2 soli actor sulla scena, un cubo e una sfera all'infinito.

sul pulsante ho lasciato scritto 100 actor ma ne faccio immettere solo 2... ma se si vuole si possono immettere 1000 cubi e sfere oppure 10.000 cubi e sfere 1.000.000 insieme senza nessun problema.
si, non è questo che Tommo stava dicendo...

Tommo
10-11-2007, 17:52
Riesci a mettere 10.000 cubi insieme simulati fisicamente "insieme senza nessun problema"?
Ma che pc hai, un server a 32 cores?
Mi sa che se lo dici a quelli di Ageia non ci credono... :D

Cmq si, non è quello che stavo dicendo...

jappilas
10-11-2007, 18:02
<...>
Sugli esempi del browser di dx ci sono i progetti di default già confezionati. Ecco se ne crei uno e lo compili non ci fai nulla a meno che non immetti del codice scritto da te.
Io ho scritto il codice che serve a mano ovvero da 0 e non messo a caso o copiato e incollato da altre fonti... che sia chiaro questo.se però menzioni il dx browser, ammetti intrinsecamente che il codice dello stesso motore grafico e di interazione della tua demo, non è interamente opera tua - ed è quello che mi pare di capire che gli altri ( per quanto forse eccessivamente critici ) ti rimproveravano :stordita:
In pratica in 3dsmax ho costruito un oggetto con 2 milioni di poligoni lo esportato in .x e l'ho caricato nel progetto. La performance è di 59 fps.detto ciò, ho scaricato e provato la demo (a titolo di cronaca, avevo una media di 49 fps su una radeon 9600SE (128MB, scheda half height con memory bus a 64 bit) ), ma alcune cose mi hanno lasciato perplesso
- nell' archivio hai incluso una copia della libreria d3d9 ( con tutta probabilità già presente su ogni sistema capace di far girare la demo - cioè dotata di driver compatibili )
- costringi a scaricare una copia dell' runtime ageia PhisX: questo occupa 61 MB una volta installato e 30 MB in forma di installer (già il triplo dello spazio richiesto dai restanti file della demo, incluse librerie e file audio) ed è interessante notare che il pannello di riepologo di ageia riporti come installate almeno una dozzina di versioni diverse della libreria ( 2.4.0 e precedenti)
Personalmente ho l' impressione che una cosa del genere sia in effetti eccessiva e non controbilanciata dai benefici
esistendo altre librerie (gratuite per ogni tipo di utilizzo) per il calcolo della dinamica di corpo rigido in real time ( http://www.tokamakphysics.com/intro.htm usata in Bontago, o http://www.ode.org/ usata in svariate applicazioni anche di alto llivello come XSI ) un aggravio (a mio avviso) così sostanziale deve essere giustificato da reali vantaggi quali l' accelerazione HW, o una API superiore per il programmatore che la adotta - altrimenti si può sospettare che il programmatore stesso non abbia nemmeno valutato eventuali alternative... detto ciò:
- gli oggetti nella scena possono essere attraversati e compenetrarsi (notato principalmente dal gruppo "cilindro+parallelepipedo" oscillante, che penetra nel terreno ad ogni oscillazione, e dal fatto che la telecamera può attraversare le facce che compongono l' "hangar" al centro della scena) come se non fosse applicata nessuna forma di collision detection prima o clipping poi
- sembra che proprio quest' ultimo, in quanto oggetto più grosso presente sulla scena, abbia l' effetto di partizionarla - dopo averlo attraversato con la telecamera più volte mi sono ritrovato con una viewport interamente blu in tutte le direzioni
- anche tenendo fermo il punto di osservazione, alcuni solidi animati a media distanza scompaiono casualmente dalla viewport

variabilepippo
10-11-2007, 18:05
ci faccia un favore signor programmatore ferito: alleghi in un post l'INTERO codice sorgente di quell'affare, COMPILABILE e CON ISTRUZIONI DI COMPILAZIONE oppure FILE .dsp O .dsw DEL PROGETTO DI VISUAL STUDIO. altrimenti puoi fare il tono da madonnina infilzata quanto ti pare, ma non ti può credere nessuno.


Non posso che sottoscrivere.

Se non vuoi rilasciare il sorgente di quel demo puoi sempre scrivere le "poche righe di codice" necessarie per far muovere un oggetto qualsiasi in un ambiente 3D. Altrimenti gli utenti del forum restaranno con un dubbio legittimo... :rolleyes:

In fondo sei stato tu a sostenere (http://www.hwupgrade.it/forum/showpost.php?p=19540752&postcount=28) cose tipo:


"...per me non è una valanga di codice da scrivere...Mi stavo vedendo proprio adesso "wolfenstein return of the castle 3d" e come per altri giochi, per lo meno, non vedo tutto sto codice da scrivere."

"Per fare una demo, casalinga per divertimento senza un motore grafico per tua soddisfazione, non mi pare una valanga di codice da fare."

"Fare un demina così c'è da scrivere pochissimo codice diciamo una classetta ed è fatta."

"Il problema è che appunto ci vorrebbero un paio di modellatori e a noi non rimane che scrivere veramente un paio di classette per muovere il tutto... in c++ ovviamente e dx."

"Fatto questo per renderizzare le mesh e camminare è poco codice"


E allora vediamola 'sta "classetta" che realizza la "demina", però vorremmo vedere anche tutto il resto...

k0nt3
10-11-2007, 18:24
non ti compila... hà però...
ah si poca roba.. ovvio che se posti degli spezzoni di codice non possiamo avere un'idea di quanto codice sia tutto il progetto.
e non dimentichiamoci della gestione delle ombre che è uno dei punti chiave in un gioco, mentre nella demo non ne vedo nemmeno l'ombra ( :D )

okay
10-11-2007, 18:53
se però menzioni il dx browser, ammetti intrinsecamente che il codice dello stesso motore grafico e di interazione della tua demo, non è interamente opera tua - ed è quello che mi pare di capire che gli altri ( per quanto forse eccessivamente critici ) ti rimproveravano :stordita:


infatti il progetto di default è della m$ ma ripeto se non scrivi codice non ci fai nulla.


detto ciò, ho scaricato e provato la demo (a titolo di cronaca, avevo una media di 49 fps su una radeon 9600SE (128MB, scheda half height con memory bus a 64 bit) ), ma alcune cose mi hanno lasciato perplesso
- nell' archivio hai incluso una copia della libreria d3d9 ( con tutta probabilità già presente su ogni sistema capace di far girare la demo - cioè dotata di driver compatibili )


quella demo come tutti i videogame girano a 60 fps di default (60 fotogrammi al secondo per frame)
Diciamo che per prestazioni ottimali gli fps devono andare da 30 a 60 fps


- costringi a scaricare una copia dell' runtime ageia PhisX: questo occupa 61 MB una volta installato e 30 MB in forma di installer (già il triplo dello spazio richiesto dai restanti file della demo, incluse librerie e file audio)...

io non costringo nessuno... ma senza installare i driver dell'agenia non partirebbe nulla.



- gli oggetti nella scena possono essere attraversati e compenetrarsi (notato principalmente dal gruppo "cilindro+parallelepipedo" oscillante, che penetra nel terreno ad ogni oscillazione, e dal fatto che la telecamera può attraversare le facce che compongono l' "hangar" al centro della scena) come se non fosse applicata nessuna forma di collision detection prima o clipping poi
- sembra che proprio quest' ultimo, in quanto oggetto più grosso presente sulla scena, abbia l' effetto di partizionarla - dopo averlo attraversato con la telecamera più volte mi sono ritrovato con una viewport interamente blu in tutte le direzioni
- anche tenendo fermo il punto di osservazione, alcuni solidi animati a media distanza scompaiono casualmente dalla viewport

si infatti... renderizzo solo gli oggetti che rientrano nel frustum per questo si ha quell'effetto.

i cubi da 1 a 7 non rientranno nelle collisioni fisiche mi servono per identificare i nodi per il percorso migliore sviluppato con algoritmo *A.

Quello che rientra nelle collisioni fisiche sono le 2 scatole, gli actor da immettere sulla scena, l'angar, le 2 car e il personaggio.

gli altri oggetti non hanno "box" fisici

E' solo una demina da studio mica un videogame.

Ora con una un modello stanza.x fatta da un modellatore diciamo alla wolfenstein qualche omino animato con arma ecc ecc. L'effetto sarebbe molto ma molto meglio.

Mentre per fare una car da solo ho dovuto con 3dsmax usare i box...

okay
10-11-2007, 19:08
ci faccia un favore signor programmatore ferito: alleghi in un post l'INTERO codice sorgente di quell'affare, COMPILABILE e CON ISTRUZIONI DI COMPILAZIONE oppure FILE .dsp O .dsw DEL PROGETTO DI VISUAL STUDIO. altrimenti puoi fare il tono da madonnina infilzata quanto ti pare, ma non ti può credere nessuno.

ma con un cervello come il mio posso fare quello che dici te?... ma fai il bravo su...

k0nt3
10-11-2007, 19:25
si infatti... renderizzo solo gli oggetti che rientrano nel frustum per questo si ha quell'effetto.

i cubi da 1 a 7 non rientranno nelle collisioni fisiche mi servono per identificare i nodi per il percorso migliore sviluppato con algoritmo *A.

Quello che rientra nelle collisioni fisiche sono le 2 scatole, gli actor da immettere sulla scena, l'angar, le 2 car e il personaggio.

gli altri oggetti non hanno "box" fisici

E' solo una demina da studio mica un videogame.

semmai l'algoritmo è A* comunque sia non riesco proprio a capire a cosa serva un cubo per implementare A*

Ora con una un modello stanza.x fatta da un modellatore diciamo alla wolfenstein qualche omino animato con arma ecc ecc. L'effetto sarebbe molto ma molto meglio.

Mentre per fare una car da solo ho dovuto con 3dsmax usare i box...

già è così che hanno fatto wolfenstein "ritorno del castello" :|
basta far gestire a ageia le collisioni con tutti i poligoni del mondo e fare qualche modellino 3ds..
perchè non provi a implementare anche solo un'arma che spara e ti dice quando colpisci un bersaglio? tanto è roba da pochi minuti no? e poi quale tecnica useresti per il rendering delle ombre?

71104
10-11-2007, 19:49
ma con un cervello come il mio posso fare quello che dici te?... ma fai il bravo su...
mi sa tanto che quel sorgente non lo avremo mai... :asd:
okay preferisce addirittura insultare la sua intelligenza piuttosto che postarcelo :rolleyes:

okay
10-11-2007, 19:52
semmai l'algoritmo è A* comunque sia non riesco proprio a capire a cosa serva un cubo per implementare A*


Ti spiego meglio:
i 7 cubi non hanno box fisici quindi non rientrano nelle collisioni ma servono a me (infatti li ho numerati da 1 a 7) per sapere a che nodo si trova il cilindro che cammina sulle spline colorate (percorso)

Se vai nella dir c'è un file grafo_AI.txt (non sto in postazione ora cmq AI) di default il cilindro si muove sulle spline dal nodo 1 partenza al nodo 7 (arrivo)dove se lo apri puoi cambiare il nodo di partenza e arrivo e vedrai che il cilindro farà il percorso + breve nelle spline. Se premi il tasto p e punti in alto muovendoti con i tasti freccia mettiti in una posizione per vedere bene il tragitto del cilindro...

Cosa centra dire che non capisci cosa centrano le scatole numerate con l'algoritmo *A?? Infatti con l'algoritmo non centrano nulla. servono a me per numerare i nodi e capire da dove parte il cilindro e dove arriva... ma ci vuole tanto a capirlo??







già è così che hanno fatto wolfenstein "ritorno del castello" :|
basta far gestire a ageia le collisioni con tutti i poligoni del mondo e fare qualche modellino 3ds..


Si vede che non sei pratico: cmq ti spiego anche questo e se non ti basta, documentati da qualche parte:

In un videogame i modellatori lavorano su l'oggetto statico per oggetto statico si intende tutta una mappa (stanze tavoli sedie candelabri ecc ecc) collassati insieme a formare un'unico oggetto.x che rientra insieme in blocco nel sistema di collisioni.

Poi ci sono gli oggetti dinamici per esempio una moto non è collassata con l'oggetto statico (mappa) ma è un'entità a parte costituita da + parti: scocca, gomme, freni, cruscotto, ammortizzatori ecc ecc che compongono l'oggetto dinamico appunto una moto ogni parte della moto viene assemblata (joinata da join) dal programmatore nei vari pezzi e ogni pezzo è soggetto ad un peso kg ecc ecc che ha effetto nel game fisico soggetto alla gravità (xyz) ovvero (0.0f, -0.98f, 0,0f)
















...e poi quale tecnica useresti per il rendering delle ombre?

Quella che mi ha fatto sputare sangue...TSM (trapezoidal shadoq map)

oppure si puo usare la tecnica delle shadow map oppure le ombre volumetriche e ancora altro.

Nella demo non le ho messe

71104
10-11-2007, 19:54
quella demo come tutti i videogame girano a 60 fps di default (60 fotogrammi al secondo per frame) cosa...? :asd:

si infatti... renderizzo solo gli oggetti che rientrano nel frustum per questo si ha quell'effetto. in teoria a telecamera immobile non dovrebbe cambiare nulla...

non è che siccome chi ha aperto il thread è un 13enne allora gli si può dire che partendo da zero può raccattare pezzi di codice, pastrocchiarli in un bel collage, aggiungerci una classetta malfunzionante, e a quel punto è nel business dei videogames :rolleyes:

Ora con una un modello stanza.x fatta da un modellatore diciamo alla wolfenstein qualche omino animato con arma ecc ecc. L'effetto sarebbe molto ma molto meglio. non certo per merito del programmatore però (o del copiaincollatore che dir si voglia)

okay
10-11-2007, 19:55
mi sa tanto che quel sorgente non lo avremo mai... :asd:
okay preferisce addirittura insultare la sua intelligenza piuttosto che postarcelo :rolleyes:

...per fartelo incollare?

ma fà il bravo su... che dopo ti dò un succhino:Prrr:

71104
10-11-2007, 19:55
Quella che mi ha fatto sputare sangue...TSM (trapezoidal shadoq map)

oppure si puo usare la tecnica delle shadow map oppure le ombre volumetriche e ancora altro.

Nella demo non le ho messe ah ecco :rolleyes:
quindi inizia ad essere persino per te qualcosina di più che poche righe di codice

D3stroyer
10-11-2007, 19:55
dai infierisco.

Okay, a volte sembri competente perchè spari paroloni e dai spiegazioni. Io però non sono competente quindi potresti aver scritto un sacco di cazzate e magari gli altri lo sanno meglio di me. Però altre volte mi sembri un po' "tonto". Se non avessi la coda di paglia, postando il sorgente ci sarebbero pochissimi dubbi.

O forse non ce l'hai proprio il sorgente?

Non hai risposta valida al mio reply se non un .rar perchè stai cercando di motivare (o arrampicare) per proteggere la tua posizione che è entrata in gioco per tua scelta. Se davvero avessi poluto salvarti, lo avresti già fatto, a meno di non confermare il concetto di "tonto". Ovviamente senza offesa.

71104
10-11-2007, 19:56
...per fartelo incollare? e di che entità sarà mai questo plagio, tanto c'hai messo due secondi a scriverlo...

ma fà il bravo su... che dopo ti dò un succhino:Prrr: segnalato :)

okay
10-11-2007, 19:57
ah ecco :rolleyes:
quindi inizia ad essere persino per te qualcosina di più che poche righe di codice

Leggi il primo mio post fatto è c'è scritto... ameno che non fai AI, ombre e quantaltro (algoritmmi tosti ecc ecc)

Quello che invece ho scritto io di poco codice è il caricare mesh e renderizzarle a video + lo spostamento del mouse e la gestione della keyboard... ripeto non è tanto codice ma pochissimo.

71104
10-11-2007, 19:59
Okay, a volte sembri competente perchè spari paroloni e dai spiegazioni. eh? cosa? spiegazioni?? dove?? :rotfl:

Io però non sono competente quindi potresti aver scritto un sacco di cazzate AAAAAA ecco :asd:

Se non avessi la coda di paglia, postando il sorgente ci sarebbero pochissimi dubbi. inutile, non lo farà. fai prima a metterti assieme a lui ad insultare la sua stessa intelligenza (almeno ci provi gusto :asd: )

D3stroyer
10-11-2007, 20:00
poi mi sorge un dubbio davvero tosto (venuto a qualcun'altro? :D)

Non ho MAI visto un personaggio competente con la programmazione commettere così tanti errori in fase di battitura per scrivere. Che fai, scrivi 2 righe e per ognuna passi 10 minuti per cercare i simboli errati?

okay
10-11-2007, 20:10
i non credibili siete voi

invece di collaborare... ditelo che non ve ne frega nulla e siamo a posto.

Uno deve essere anche interessato alla cosa.

Ci fosse uno che abbia creato un progetto di default e abbia scritto:

okay ho creato il progetto di default cosa devo fare adesso per visualizzare un file.x?

...solo screditazioni... copia e incolla ecc ecc

alla prossima amici


ciao

D3stroyer
10-11-2007, 20:11
sei un codardo, qui dentro hai perso solo tu.

variabilepippo
10-11-2007, 20:12
Non ho MAI visto un personaggio competente con la programmazione commettere così tanti errori in fase di battitura per scriver


Il buon Dijkstra sosteneva che: "Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer".

D3stroyer
10-11-2007, 20:17
Dijkstra però lo intendeva a livello teorico dato che il ragionamento "logico" deriva dal saper parlare sensatamente -> il programma deve seguire una logica rigorosa.

jappilas
10-11-2007, 20:20
io non costringo nessuno... ma senza installare i driver dell'agenia non partirebbe nulla.Ageia, senza la n ;)
quello che intendevo dire era che, dal momento che la tua demo ha quella che si dice una dipendenza dalla libreria PhisX, per eseguirla l' utente è in effetti "costretto" a scaricare quest' ultima (se inclusa nel file .rar che include la tua demo, o separatamente dal sito Ageia, concettualmente non fa differenza) e installarla
e se già non ha installato giochi che vi si appoggiano, deve farlo apposta - ora, se conti che file binari e file dati di quest' ultimo, occupano meno spazio dello stesso installer della phisx, l' overhead della libreria in sè appare consistente ;)

quello che volevo dire era:
dato (nonostante) questo overhead, quale aspetto (una API più facile da usare?) ti ha portato a scegliere PhisX rispetto ad altre librerie di calcolo della dinamica di corpo rigido ( alcune appunto coperte da licenza bsd, quindi avresti potuto direttamente prendere il codice e integrarlo con i tuoi sorgenti) ? ;)
siccome alla fine il setup di phisx installa più versioni della libreria, sei proprio sicuro che non ci fosse modo di includere con la tua demo una sola DLL - sicuramente funzionante? ;)

jappilas
10-11-2007, 20:21
ah si poca roba.. ovvio che se posti degli spezzoni di codice non possiamo avere un'idea di quanto codice sia tutto il progetto.
e non dimentichiamoci della gestione delle ombre che è uno dei punti chiave in un gioco, mentre nella demo non ne vedo nemmeno l'ombra ( :D )abbiamo però appurato che il suo progetto non è, e non vuole nemmeno essere, un gioco completo ma un esperimento di utilizzo della libreria di Ageia integrato con un model loader e un gestore della viewport

come tale, è pacifico che non tutto il codice sia suo, che non affronti, o che lo faccia marginalmente, il problema di gestire il scene graph in modo formalmente e "visivamente" corretto, od ottimizzato
il mio post precedente serviva anche a portare alla sua attenzione questo aspetto, per eventualmente discutere delle idee e tecniche orientate all' implementazione di un engine 3d più accurato, scritto ex novo o già pronto come ad es Ogre (C++)/ Axiom (versione C#)

jappilas
10-11-2007, 20:24
EDIT mentre scrivevo il thread era ancora a pagina 6 ...

e se inzialmente volevo chiedere di evitare ulteriori polemiche riguardanti la demo di okay, di limitarsi a discuterla sotto un profilo quantomeno tecnico, e di riportare il thread in carreggiata in modo che potesse servire ANCHE a chi lo aveva aperto, per farsi un' idea di effettiva programmazione di videogiochi (argomento su cui verteva il thread fino a prova contraria...)

dopo aver postato le due risposte precedenti, ho dovuto constatare, in ritardo causa la mia solita lentezza nel leggere e rispondere, che la discussione è degenerata definitivamente nelle ultime due pagine (sebbene sperassi che almeno in questa sede non si scadesse sul personale ...)

anche se non è la mia sezione mi trovo quindi costretto a chiudere almeno provvisoriamente il thread , avvertendo di ciò il moderatore di sezione (cionci) che riaprirà se lo riterrà opportuno
mi dispiace davvero perchè ci si perde tutti :(

cionci
11-11-2007, 10:16
sei un codardo, qui dentro hai perso solo tu.
Sei sospeso per 3 gg per offese ad un utente.


Devo aggiungere riguardo ad Okay che più volte ho visto suoi sorgenti che riguardavano programmi 3D, anche ai tempi in cui stava muovendo i primi passi sulle OpenGL, e testato delle sue demo "in progress", quindi che non stia solo scrivendo parole sono sicuro ;)