Orario: 20-05-2013, 8:31 Benvenuto ospite! (Log inRegistrati)


Rispondi 
questioni su C# e XNA visti da un profano...
Autore Messaggio
alessandro
Member

Messaggi: 97
Registrato: Feb 2011
Offline Offline
#1 questioni su C# e XNA visti da un profano...
0
Stavo tentando di leggiucchiare la guida on line di C# e XNA ( questa: http://www.wilez.it/tutorials/XNA/ scritta da un certo Wilez che è sicuramente preparato, ha metodo e tantissima pazienza!) e penso però di aver capito alcune cose che vorrei sottoporre a voi esperti se vi va.

la guida non spiega a quanto pare a programmare sul serio (a 360 gradi) ma piuttosto indica come utilizzare delle procedure afferenti al linguaggio C# che servono per creare la "struttura", il "flow-chart" del gioco voluto, un suo scheletro. Infatti le procedure descritte (almeno fino alle prime 30 lezioni) ancorchè interessantie basilari, afferiscono tutte non tanto al "come fare una cosa" ma al "come strutturare un insieme di cose già preconfezionate che si trovano poi in XNA".

Quindi il tutto si riduce (eufemismo, perchè già così fare propria una lingua nuova non è affatto immediato, anzi!) a dover imparare una serie di comandi che consentano di creare un'ossatura in cui far vivere il nostro gioco i cui contenuti comunque possono essere scelti da un magico cilindro che già contiene moltissime cose interessanti (XNA appunto).


Certo, queste "cose interessanti" già bell'e pronte in XNA costituiscono una vastissima pletora di funzionalità ed oggetti (da classi già definite, ad oggetti con dati parametri stabiliti a - soprattutto - metodi (ovvero declinazione dinamica di parametri di date classi che attengono alle relazioni tra oggetti del gioco e tra oggetti e ambiente e forse, astraendo, tra classi e classi in detemrinate circostanze previste...).
Ma til utto mi suona un po' di artifatto e quindi di intrinsecamente limitato: l'insieme da cui poter scegliere può anche essere vasto, ma l'immaginazione lo può sempre travalicare, no? E un gioco deve per lo meno implementare, soprattutto nella sua ossatura essenziale (gameplay e quindi interazione e strutturazione degli oggetti programmati), delle novità che non siano banalmente e soltanto relative allo stile grafico o all'esotismo della trama.

Detto questo vi domando :

- Nel caso si volessero implementare funzioni che non si trovano già impacchettate col fiocchetto regalo in XNA e senza ovviamente saper programmare in C# più di quanto i rudimenti della guida citata richiedono (ripeto che la guida da come mi sembra pare descrivere come confezionare un video gioco a partire da tante belle cosette già pronte all'uso), l'eventualità di "miscelare" ad hoc componenti già previsti e già pronti al fine di creare ex novo altri oggetti voluti è un'attività utile e abbastanza fattibile o conviene davvero partire da zero ed imparare un linguaggio di programmazione (magari boh anche lo stesso C# ? ) totalmente e a fondo? In tal caso la cosa la si deve lasciare a chi ha le compentenze formative per farlo (leggasi programmatori) Asd

- Nel concreto, tanto per capirsi, con C# unito a XNA si può per esempio costruire un "gioco" basilare e generale in cui:
1. generare un ambiente 3d (stanza composta da pareti su ogni versante) con topologia variabile (superfici a cubo e colline/depressioni del pavimento);
2. implementare la gravità scegliendo di porla su una ipotetica linea di terra ovvero distribuirla su tutte le pareti in base magari a densità volute;
3. fare in modo che l'ambiente non interno alla superficie delimitantene la topologia sia fatto da "aria" e che quindi i movimenti in esso (es. volo e salto) siano viscosi in base alle leggi classiche sulla resistenza al moto di una data massa con una data superficie;
4. creare un "omino" semplicissimo in 3d che cammini in ogni dove e possa saltare/volare nel vuoto della stanza;

Se si può fare questo - ovvero creare l'ambiente, e gli oggetti essenziali di un gioco nonchè le loro relazioni basilari - allora ci sarebbero già tutti comunque gli ingredienti per poter "cucinare" un gioco qualsiasi, ancorchè molto grezzo.

La problematica successiva invece è l'aspetto grafico da dare ai "modelli" costruiti. In questo caso xna potrebbe aiutare o occorre sempre rivolgersi ad un grafico?

Stessa domanda sul versante delle animazioni specifiche di determinati "oggetti" ad es. se si volesse rendere realistico l'incedere di un pg occorrerebbe rivolgersi ad un grafico ed apportare modifiche marginali al codice o occorrerebbe riscrivere tutta o gran parte del codice dedicato alla descrizione dei parametri del personaggio e di alcune sue classi (se il pg è composto da più oggetti coordinati)?

Un'ultima questione questa volta più generale sulla programmazione:
Si dice sempre che per programmare occorra sapere molta matematica... ma nella sostanza serve (da come ho capito) una base di algebra per poter modellizzare le funzioni utili alle trasformazioni di un insieme di solidi o di figure piane nello spazio. Poi ovviamente occorre saper impostare delle equazioni di stato e di equilibrio che sappiano modellizzare dati eventi dinamici, prevedendo variabili essenziali e parametri (ad. es. per modellizzare l'esplosione di un oggetto stante l'ambiente circostante, la compattezza e pesantezza dell'oggetto e delle sue schegge, la forza dell'esplosione e la gravità).
Ma nel concreto il programmatore deve saper utilizzare questi modelli a mena dito (a colpo d'occhio) un pò come lo studente della seconda superiore capisce al volo l'inclinazione di una retta sul piano convenzionale dato il segno del suo coefficiente angolare, oppure può permettersi di utilizzare modelli matematici preconfezionati e stereotipati e fare come il buon ragioniere che applica le formule anche senza sviscerne l'intimo significato? Perchè un conto è vedere a colpo sicuro come si comporta la pendenza di una retta un altro invece è capire al volo il determinante di una matrice dai suoi elementi, la natura dinamica del sistema lineare associato (autovalori ecc..) o ancora più astratto il saper riconoscere a prima vista il significato che si porta appresso una data matrice (ad es. se la trasformazione sul piano o sullo spazio porti ad una traslazione a 45° nord-est dello spazio).
Se è così allora un programmatore è alla fine un buon matematico (anche se non tratta teoria dei numeri o topologia astratta da ricerca universitaria di frontiera) che deve solo fare lo sforzo mnemonico di imparare un'altra lingua (il codice) per dire cose che già sa e sa ormai talmente bene che sono diventate una sua seconda natura quasi.
Questo mi spaventerebbe! xd
02-02-2012 14:12
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
kunos
Gatto Incavolato

Messaggi: 2,351
Registrato: Jul 2010
Online Online
#2 RE: questioni su C# e XNA visti da un profano...
0
ronf ronf

Stefano Casillo

www.assettocorsa.net
www.netkar-pro.com
Twitter
[Immagine: acsign.jpg]
02-02-2012 14:16
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
_tommo_
Mod nerdcore

Messaggi: 5,878
Registrato: Nov 2008
Offline Offline
#3 RE: questioni su C# e XNA visti da un profano...
0
(02-02-2012 14:16)kunos ha scritto:  ronf ronf

Suvvia, costruttivo Asd

Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
02-02-2012 14:19
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
MonkeySoft
Bloody Monkey

Messaggi: 1,213
Registrato: Dec 2009
Offline Offline
#4 RE: questioni su C# e XNA visti da un profano...
0
La risposta alle tue domande è: si.

Se vuoi davvero fare giochi: più azione e meno filosofia. Leggesi: segui la guida e metti in pratica (non basta leggere!) quello che dice.

Paolo Tajè
Follow me on Twitter
Bloody Monkey | Facebook
02-02-2012 14:24
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
alessandro
Member

Messaggi: 97
Registrato: Feb 2011
Offline Offline
#5 RE: questioni su C# e XNA visti da un profano...
0
lool!

e io che pensavo che fosse di stimolo anche per chi già programma, soffermarsi un istante a contemplare dal di fuori la propria disciplina e metodologia X D ! scherzo, ho capito che non je ne può fregare nulla a nessuno. Lo so da me che l'importante è fare ma un minimo di paletti (tanto x farsi un ipotetico perimetro di lavoro/sbattimento/tempo perso o guadagnato) uno li deve avere a priori, no? Era solo questo l'intento: capire se è alla portata matematica di tutti e se xna + c# sia uno strumento davvero flessibile!
Sono sceso in dettagli scabrosi X D non tanto per venire a insegnare a voi cosa rappresenti geometricamente un determinante (lungi da me) ma proprio x essere CONCRETO al massimo nelle mie richieste!

Cmq la lezione che traspare è chiara. E "occorre sbattersi assai" mi pare il sottotiolo della lezione medesima...

ciaoo! : )
02-02-2012 14:32
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
MonkeySoft
Bloody Monkey

Messaggi: 1,213
Registrato: Dec 2009
Offline Offline
#6 RE: questioni su C# e XNA visti da un profano...
0
(02-02-2012 14:32)alessandro ha scritto:  proprio x essere CONCRETO al massimo nelle mie richieste!

Alla faccia! Asd

Paolo Tajè
Follow me on Twitter
Bloody Monkey | Facebook
02-02-2012 14:37
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Gabriele
Posting Freak

Messaggi: 4,365
Registrato: Oct 2010
Online Online
#7 RE: questioni su C# e XNA visti da un profano...
0
(02-02-2012 14:24)MonkeySoft ha scritto:  La risposta alle tue domande è: si.

Se vuoi davvero fare giochi: più azione e meno filosofia. Leggesi: segui la guida e metti in pratica (non basta leggere!) quello che dice.

in ordine d'importanza

1° mettere in pratica
2° leggere libri
3° pensarci su
4° indie vault XD

Gabriele Di Bari
Account G+
Account bitbucket
Account GITHUB
E ricordate: ((VMJava*)(NULL))->~VMJava();
02-02-2012 15:24
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
mude
Arrested Development

Messaggi: 6,986
Registrato: Nov 2008
Offline Offline
#8 RE: questioni su C# e XNA visti da un profano...
0
sei profano anche del forum, perché pirlate a volontà?

Fermosi

.: DevLog | Twitter Pinaster Games | Twitter Personale :.
[Immagine: BBh5DKU.png] Beta
02-02-2012 18:32
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
player931402
gg I won alone

Messaggi: 947
Registrato: Jul 2011
Offline Offline
#9 RE: questioni su C# e XNA visti da un profano...
0
quoto mude, se questa è una pirlata io dovrei deletare l'account xD

Matteo Galeotti
02-02-2012 19:48
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
alessandro
Member

Messaggi: 97
Registrato: Feb 2011
Offline Offline
#10 RE: questioni su C# e XNA visti da un profano...
0
non è per nulla una pirlata... nel senso che ero serio nel porre certe questioni a chi programma di mestiere e quindi è addentro alla materia.
03-02-2012 9:36
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
TheCrib
Indie Pellerossa

Messaggi: 5,176
Registrato: Sep 2010
Offline Offline
#11 RE: questioni su C# e XNA visti da un profano...
0
La matematica serve ? E' relativo. Dipende dal livello che si vuole raggiungere.
Anche con il 3D, non si tocca certo matematica ai livelli massimi (ne medi). Ma c'e' sempre spazio per approfondire e trarre vantaggio da conoscenze addizionali.

C# + XNA basta ? Anche quello e' relativo.
C'e' il risultato immediato, ed al giorno d'oggi si puo' ottenere molto tramite questi linguaggi, API e tools che semplificano il lavoro (a scapito delle prestazioni e del livello di comprensione del tutto).
Ma programmare e' una cosa a se stante e non c'e' limite alle cose che si possono creare e a come crearle. Un programmatore che ha intenzione di sistemarsi con un ambiente di sviluppo potenzialmente per sempre, lavora nello spirito sbagliato.. lo spirito giusto e' quello dell'hacker che vuole continuamente imparare piu' cose ed in maniera piu' dettagliata.

Per cui, se si parla di programmazione C# e XNA e' solo uno dei tanti ambienti che si potrebbero toccare.. ma non e' un punto di arrivo, e' un ambiente di sviluppo dal quale sicuramente si puo' imparare qualcosa, se si decide di dedicare del tempo in questo senso.

Sviluppare giochi e' quindi anche un'opportunita' di imparare cose nuove. Tutto sta' a decidere cosa imparare (come allocare il tempo).
Se io devo fare un gioco di corse (3D), per me e' una occasione d'oro per imparare e mettere in pratica la fisica del sistema.
Un'altra persona puo' vederla come un'opportunita' di spingere di piu' un altro aspetto, sia la AI, la giocabilita' o quello che preferisce fare.

Da come la vedo io, video giochi sono una forza traente per avvicinarsi alla programmazione e per mantenere alto l'interesse. Poi magari la programmazione diventa la parte piu' interessante.. e si puo' tranquillamente essere felici programmando qualcosa che non sia un gioco.

L'importante ovviamente e' riuscire ad entrare nella cosa a capofitto anche parzialmente trascurando la vita sociale e trovando la forza di staccarsi dalle perdite di tempo eccessive.
Mantenere la motivazione e' una cosa difficile.. ma non e' un problema unico alla programmazione. Anche l'atleta deve fare sacrifici e trovare la forza di uscire ogni mattina alle 6 per correre 10 km anche nel gelo d'inverno, piuttosto che starsene a casa sotto le coperte 8)

Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
03-02-2012 10:38
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Mik88
Senior Member

Messaggi: 335
Registrato: Feb 2011
Offline Offline
#12 RE: questioni su C# e XNA visti da un profano...
0
(02-02-2012 15:24)Gabriele ha scritto:  
(02-02-2012 14:24)MonkeySoft ha scritto:  La risposta alle tue domande è: si.

Se vuoi davvero fare giochi: più azione e meno filosofia. Leggesi: segui la guida e metti in pratica (non basta leggere!) quello che dice.

in ordine d'importanza

1° mettere in pratica
2° leggere libri
3° pensarci su
4° indie vault XD

hai scordato google, e lo metterei al 3° posto XD

Mirko Galati
03-02-2012 11:16
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
alessandro
Member

Messaggi: 97
Registrato: Feb 2011
Offline Offline
#13 RE: questioni su C# e XNA visti da un profano...
0
Grazie TheCrib per la reply utile! mi pare consolante l'aspetto dell'uso concreto della matematica da applicare. Smile
03-02-2012 12:10
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
TheCrib
Indie Pellerossa

Messaggi: 5,176
Registrato: Sep 2010
Offline Offline
#14 RE: questioni su C# e XNA visti da un profano...
0
(03-02-2012 12:10)alessandro ha scritto:  Grazie TheCrib per la reply utile! mi pare consolante l'aspetto dell'uso concreto della matematica da applicare. Smile

Di nulla !
Visto che si parla di programmazione, aggiungo anche un classico: "Impara a Programmare in Dieci Anni"

Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
03-02-2012 13:13
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
MannyB
Posting Freak

Messaggi: 1,532
Registrato: Mar 2011
Offline Offline
#15 RE: questioni su C# e XNA visti da un profano...
0
quando sei proprio all'inizio anche il modding aiuta parecchio ad imparare a programmare (vedi come funzionano le cose in pratica e l'effetto conreto dei tuoi cambiamenti su un gioco esistente).

Ricordo che ai tempi trovai il codice C++ funzionante di uno shoot em up a scorrimento e piano piano gli ho cambiato tutte le regole del gameplay, effetti grafici ecc

Alla fine e' quello che fai con i tutorials. Si parte con un approccio pratica e piano piano incontrerai problemi, quando li incontri preoccupati di risolverli. Se si inizia con l'idea "voglio imparare tutto l'imparabile e uno volta che so tutto inizio" non si va da nessuna parte

Rimboccati le maniche e buon divertimento Occhiolino

Manuele Bonanno Fermofumo
03-02-2012 16:59
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum: