Autore Topic: Impariamo a programmare un videogioco!  (Letto 3601 volte)

0 Utenti e 1 visitatore stanno visualizzando questo topic.

Offline 1c0n 0f s1n

  • Condottiero
  • ******
  • Post: 7.085
Impariamo a programmare un videogioco!
« il: 23 Set 2004, 19:08 »
Leggevo l'articolo su Tribes di Videogiochi 009 finché l'occhio non mi è caduto sul trafiletto "Licenza di programmare" che mi ha fatto ricordare una cosa.
Adoro i videogiochi. Ora vorrei anche farli. VOGLIO imparare a programmare.
Approfittando del fatto che un mio amico può “prestarmi” un famoso compilatore, ho invertito la polarità del mio portafoglio acquistando diversi testi, al fine di raggiungere tale scopo come autodidatta:
Per imparare a programmare "C++ fondamenti di programmazione" e il suo complemento "C++ tecniche avanzate di programmazione", Deitel e Deitel, edito da Apogeo.
Per sapere su cosa devo programmare "Architettura dei computer" del famoso Andrew S. Tanenbaum, edito da Utet.
"Guida all'uso dell'MS-DOS - 20 anni dopo" poiché penso sia inutile imparare un linguaggio di programmazione se non sai nemmeno fare un file di batch.
Ora entrate in gioco voi: ho fatto degli ottimi acquisti o si tratta di carta da culo? Avete qualche testo alternativo da consigliarmi? Esistono dei compilatori efficaci particolarmente accessibili? Avete qualche linguaggio alternativo da suggerirmi? Qualche sito valido? Grafica e sonoro? Mi è utile scaricare i sorgenti di vecchi giochi come Hexen o Doom? Cos’è Blitz3D? Qual è la definizione esatta di “motore di rendering”? La parte grafica va programmata necessariamente in Assembler? Potrei continuare ancora…
Ditemi quello che sapete sulla programmazione, per incominciare e per continuare, in modo che questo thread diventi un punto dove non solo io, ma tutti gli utenti del forum che non sanno come programmare possano avere un punto di riferimento all’interno del nostro sito preferito per orientarsi nella manifattura del videogioco e, magari, anche per avere qualche nozione tecnica in più.

Premesso questo piantiamo dei paletti:

A- Vista la mole dell’argomento penso che sarete d’accordo con me sulla necessità di minimizzare in maniera estrema eventuali off-topic stile “mio cugino ha programmato Final Fantasy 24”, “Gatto Silvestro è più bravo di Warren Spector”o, peggio ancora, “Da solo non ce la farai mai”.
FF24 non è ancora uscito, Silvestro non è un programmatore e quello che posso o non posso fare appartiene all’insieme detto “dei cazzi miei”

B- Penso sia meglio rimanere in ambito PC con Win 98 o XP. Per quanto la scena amatoriale sia presente anche su console ed altri sistemi operativi, ritengo che la combinazione hardware - software più abbordabile per operazioni di questo tipo sia quella sopradetta. Ma siete comunque liberi di smentirmi.

Vi attendo.

Offline NighTiger

  • Veterano
  • ****
  • Post: 2.744
    • http://salvatore.difazio.googlepages.com/
    • E-mail
Re: Impariamo a programmare un videogioco!
« Risposta #1 il: 23 Set 2004, 21:58 »
Non conosco i testi che hai comprato (ne ho tanti) per cominciare, cmq, al posto tuo non avrei speso neanche un centesimo e non mi sarei rivolto a questo forum.

Inizia imparando ad usare google o a leggere le signature (:
Troverai tanti siti che ti insegnano le basi.

Cmq, tornando in tema, per prima cosa devi imparare a programmare, almeno, discretamente in C.

Quando avrai fatto cio' potrai iniziare a usare qualche libreria, io consiglio le SDL e con le stesse, seguendo i miei tutorial o altri sparsi in rete, puoi iniziare a far qualcosa.
Ma, te lo dico subito, c'e' bisogno di tempo non aver premura.

Tutti i tecnicismi li imparerai dopo e quando rileggerai il tuo post, con un sorriso sulle labra penserai, "ma ero deficente quando ho scritto quelle domande?!" (-;

buono studio

Offline 1c0n 0f s1n

  • Condottiero
  • ******
  • Post: 7.085
Impariamo a programmare un videogioco!
« Risposta #2 il: 23 Set 2004, 23:28 »
Grazie per la risposta. OK per l'uso dei motori, meno per l'uso delle signature. Tu dici di impararare discretamente il C, ma partire dal C++ è un errore o si può fare? Non dovrebbe essere lo stesso linguaggio con alcuni ampliamenti e variazioni? Intanto incomincio...

P.S. Se ho aperto questo thread su TFP è perchè penso che queste informazioni potrebbero interessare anche alcune persone che magari vorrebbero incominciare ad addentrarsi in tale esperienza nonchè, ovviamente, per sentire diverse campane.
Del resto i forum servono a questo, non trovi? :wink:
Comunque sia, ai moderatori l'ardua sentenza.

Offline NighTiger

  • Veterano
  • ****
  • Post: 2.744
    • http://salvatore.difazio.googlepages.com/
    • E-mail
Impariamo a programmare un videogioco!
« Risposta #3 il: 24 Set 2004, 08:26 »
Citazione da: "1c0n 0f s1n"
Grazie per la risposta. OK per l'uso dei motori, meno per l'uso delle signature. Tu dici di impararare discretamente il C, ma partire dal C++ è un errore o si può fare? Non dovrebbe essere lo stesso linguaggio con alcuni ampliamenti e variazioni? Intanto incomincio...


Imparare il C e' fondamentale.
Se sai cosa significa mettere un puntatore ad una funzione o variabile dentro una struttura,
capirai xche' esistono le classi in C++ e come questo, ci sono tantissimi altri esempi
che potrei portarti.
Il mio consiglio personale e' quello di imparare bene il C, poi il C++

Citazione da: "1c0n 0f s1n"

P.S. Se ho aperto questo thread su TFP è perchè penso che queste informazioni potrebbero interessare anche alcune persone che magari vorrebbero incominciare ad addentrarsi in tale esperienza nonchè, ovviamente, per sentire diverse campane.
Del resto i forum servono a questo, non trovi? :wink:
Comunque sia, ai moderatori l'ardua sentenza.


Lo dicevo xche' il web e' pieno di forum piu' appropriati per darti queste spiegazioni che, difficilmente,
in TFP potresti ricevere.

Io faro' quanto posso, fermo restando che oggi parto e torno giorno 3 ottobre per poi ripartire per gli USA
il 10 ottobre e non so quando rivedro' un pc.

Eccoti un elenco, in scaletta, di cio' che dovresti leggerti in rete x imparare.
Buono studio


IL TUO MIGLIOR AMICO
http://www.google.it

-------- INFO GENERICHE -----------
http://www-cs-students.stanford.edu/~amitp/gameprog.html
http://www.gamasutra.com/


-------- LINGUAGGI -----------
Thinking in C --> cercalo con google e' liberamente scaricabile ed e' la bibbia di questo linguaggio
Thinking in C++ --> stessa cosa di sopra
http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/01Indice.html--> ottimo corso x C++
http://www.cplusplus.com/
http://gcc.gnu.org/ --> uno dei migliori compilatori, ed e' gratuito (bisogna imparare a saper usare il compilatore ed il linker)


------ LIBRERIE E ESEMPI DI CODICE ----------
http://www.gameprog.it --> la sezione sdl e' tenuta su da me, anche se fra poco saro' solo collaboratore
http://www.gamedev.net/
http://www.gametutorials.com/
http://www.flipcode.com/
http://lgdc.sunsite.dk/
http://cone3d.gamedev.net/cgi-bin/index.pl --> riferimento per SDL
http://sdl.innoidea.hu/
http://nehe.gamedev.net/ --> uno dei migliori x SDL e OpenGL
http://www.eecs.tulane.edu/www/Terry/OpenGL/Introduction.html
http://www.libsdl.org/index.php
http://www.opengl.org/

Offline 1c0n 0f s1n

  • Condottiero
  • ******
  • Post: 7.085
Impariamo a programmare un videogioco!
« Risposta #4 il: 24 Set 2004, 16:22 »
:D Grazie.
Ho gia visto un pò di roba ma temo che per i due testi che hai citato, il download non sia più disponibile...
Comunque mik hai dato abbastanza per incominciare.
In attesa di altre voci dal sito, grazie di nuovo.

Offline mimir

  • Veterano
  • ****
  • Post: 2.692
Impariamo a programmare un videogioco!
« Risposta #5 il: 24 Set 2004, 20:43 »
Il Tanenbaum lo utilizzavamo anche noi per la laurea in Ing. Elettronica (quella vera, vecchio stampo) quindi come libro dovrebbe essere valido (l'ho usato tra il poco e il niente -- uno dei pochi 30 ;-))

Per quanto riguarda C/C++, superficialmente si può dire che il C++ è una espansione del C, ma la filosofia di programmazione è completamente diversa: C è procedurale, C++ è ad oggetti (programmare in C++ in modo procedurale non è programmare in C++ ma in C).

Se fai sul serio, ti do un consiglio: frequenta qualche corso universitario di Ingegneria e di Informatica, io ho studiato il C++, ma non credo che da autodidatta sarei stato in grado di comprendere pienamente il valore del salto da programmazione procedurale a programmazione ad oggetti. Occhio, ho detto frequenta non iscriviti, la frequentazione è libera, l'iscrizione serve solo per fare gli esami.
Non perdetelo il tempo ragazzi, non è poi tanto quanto si crede;
è così fragile la giovinezza, non consumatela nella tristezza.

Offline Tano

  • Avviato
  • *
  • Post: 351
Impariamo a programmare un videogioco!
« Risposta #6 il: 28 Set 2004, 20:37 »
Non puoi programmare un videogioco se non conosci la programmazione ad Oggetti.. Anche perchè realizzare qualcosa da zero è veramente impossibile. [Se si vuole realizzare qualcosa di imponente e di grafica]. Quindi il paradigma ad oggetti è essenziale.

Il c++ è sicuramente il più indicato, ma esistono alcuni linguaggi un pò più flessibili per cominciare a smanettare, tipo di Java o Il DarkBasic.

Ora, non voglio ricacciare il discorso della teoria Informatica, ma se volete vi spiego quant'è importante conoscere gli automi non desterministici :D

T
"I Giorni e le Notti suonano in questi miei nervi d'arpa. Vivo di questa gioia malata d'universo e soffro per non saperla accendere nelle mie parole"
 Ungaretti

Offline NighTiger

  • Veterano
  • ****
  • Post: 2.744
    • http://salvatore.difazio.googlepages.com/
    • E-mail
Impariamo a programmare un videogioco!
« Risposta #7 il: 03 Ott 2004, 16:10 »
Citazione da: "mimir"
Se fai sul serio, ti do un consiglio: frequenta qualche corso universitario di Ingegneria e di Informatica, io ho studiato il C++, ma non credo che da autodidatta sarei stato in grado di comprendere pienamente il valore del salto da programmazione procedurale a programmazione ad oggetti.


dipende da persona a persona non devi x forza seguire le lezioni all'universita' per imparare... anzi sentendo certi professori e' meglio far da se

Offline NighTiger

  • Veterano
  • ****
  • Post: 2.744
    • http://salvatore.difazio.googlepages.com/
    • E-mail
Impariamo a programmare un videogioco!
« Risposta #8 il: 03 Ott 2004, 16:12 »
Citazione da: "Tano"
Non puoi programmare un videogioco se non conosci la programmazione ad Oggetti.. Anche perchè realizzare qualcosa da zero è veramente impossibile. [Se si vuole realizzare qualcosa di imponente e di grafica]. Quindi il paradigma ad oggetti è essenziale.


Scusami Tano ma non sono per nulla d'accordo.
Non c'e' bisogno di programmare x forza ad oggetti x fare un videogioco, guarda quanti giochi fanno ancora in C (e qualche spruzzata di ASM) e quanti engine sono proprio fatti in C per poi far lavorare gli altri programmatori in C++ (librerie sviluppate per interfacciarsi ad hardware)

Offline mimir

  • Veterano
  • ****
  • Post: 2.692
Impariamo a programmare un videogioco!
« Risposta #9 il: 03 Ott 2004, 16:32 »
Citazione da: "NighTiger"
dipende da persona a persona non devi x forza seguire le lezioni all'universita' per imparare... anzi sentendo certi professori e' meglio far da se


male non fa, ed è pure gratis! Certo, ci sono professori desgni di questo nome come pure ci sono professori del tutto incapaci nell'arte dell'insegnamento, tutto sta nel trovareil giusto docente.
Non perdetelo il tempo ragazzi, non è poi tanto quanto si crede;
è così fragile la giovinezza, non consumatela nella tristezza.

Offline dj-jojo

  • Eroe
  • *******
  • Post: 14.703
    • E-mail
Impariamo a programmare un videogioco!
« Risposta #10 il: 06 Ott 2004, 14:17 »
Citazione da: "mimir"
Il Tanenbaum lo utilizzavamo anche noi per la laurea in Ing. Elettronica (quella vera, vecchio stampo) quindi come libro dovrebbe essere valido (l'ho usato tra il poco e il niente -- uno dei pochi 30 ;-))
.

E' uno dei testi sacri, però dubito che possa servire molto a chi vuole imparare a programmare...
Per quanto riguarda i corsi, la miglior cosa che si può fare è trovare un corso di programmazione di base, che insegni innanzittutto cosa vuol dire programmare (cosa che sarebbe bene imparare prima di dedicarsii in modo approfondito ad un linguaggio specifico).