Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    programmazione C++ e videogiochi

    Salve a tutti,sono un ragazzo di 19 anni iscritto alla facoltà d'ingegneria informatica e sto seguendo il primo anno accademico.Nel corso d'informatica il professore ci spiegherà il linguaggio c++,suppongo ai più bassi livelli.Io comunque non sono riuscito ad aspettare e mi sono letto un po le guide su questo sito,ho capito i concetti fondamentali,anche perchè anni fa ho provato a programmare un po con python(sempre ai livelli minimi).Ora mi chiedo con cosa posso esercitarmi gradualmente per arrivare a programmare un videogioco?(anche lo stupido pong,tetris per poi crearne uno più complesso)se non un videogioco anche un programma grafico?(che non sia solo una riga di comando insomma) Perchè attualmente non ho proprio idea di come si potrebbe programmare un qualcosa che si lega a suoni e immagini.Cioè se io creo un algoritmo su riga di comando,come posso far si che diventi grafico?
    per esempio creo un gioco a dadi faccendo uscire su riga di comando un numero da 1 a 6 facendo finta che sia un dado,ma come faccio a creare un algoritmo che mi faccia vedere un dado virtuale?

  2. #2
    Lo standard C++ definisce come metodi di interazione con l'ambiente esterno solo gli stream, il che di fatto limita il tutto a IO su file e su console.
    Per lavorare graficamente, si deve ricorrere a librerie esterne, alcune native per particolari piattaforme, altre portabili su più piattaforme e in grado di astrarre le differenze tra di loro.
    Personalmente non ho mai lavorato in ambito videogiochi, ma ho sentito parlar bene di SDL per creare giochi in ambito 2D senza legarsi ad una piattaforma particolare; dal momento che fornisce API per video, audio, input e altre facilities è una comoda soluzione "all in one". Di base è una libreria C, si può usare tranquillamente da C++, e in giro ci sono anche dei bindings ad oggetti per lavorarci in maniera più comoda.
    Più complesse invece le varie DirectX (per Windows) e OpenGL (in linea di massima multipiattaforma), utilizzate più o meno da tutti i giochi 3D ma che hanno una curva di apprendimento piuttosto ripida.

    Per quanto riguarda invece creare applicazioni grafiche "normali" (a finestre, in sostanza), si possono usare le API native del sistema operativo (Win32 su Windows, Cocoa su Mac) o usare delle librerie multipiattaforma che hanno in genere anche il vantaggio di essere più astratte (wxWidgets, QT, GTK+, ...).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    A mio modo di vedere se vuoi fare un videogioco e sei alle primi armi ti conviene usare dei tools cm darkbasic, blitzbasic etc etc. Ti offrono linguaggi avanzati ed orientati ai giochi.
    Se devi per forze di cose utilizzare il C++ non ti resta che utilizzare il VisualStudio con le DirectX.
    Puoi optare per le SDL o le Allegro, che cmq si basano su le DirectX, ma eviti di inoltrarti nei meandri delle interfacce DirectX. Se vuoi usare il 3D usa le OpenGL.
    Per gli Spartani e Sparta usa spartan Il mio github

  4. #4
    Quindi teoricamente,per creare una qualsiasi cosa grafica dovrei prendere queste librerie esterne,che hanno dei propri comandi da dover imparare e utilizzarli nell'algoritmo del gioco/programma??

  5. #5
    Sì.


    Comunque non sono "comandi" ma funzioni/classi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    sisi sono funzioni/classi! Ho sbagliato a dire xD
    comunque visto che sono alle prime armi e non sono pronto per utilizzare librerie esterne,secondo voi su cosa mi devo esercitare in modo da essere più pratico con librerie?e cosa dovrei saper programmare BENE da riga di comando prima di passare a cose più complicate?

  7. #7
    Originariamente inviato da TheDark191
    e cosa dovrei saper programmare BENE da riga di comando prima di passare a cose più complicate?
    Devi innanzitutto avere pieno controllo delle *basi* del linguaggio stesso e delle varie funzioni/potenzialità di cui dispone; l'utilizzo di librerie esterne poi avviene automaticamente.
    Per un pò di bibliografia guarda pure qui:

    http://www.ioprogrammo.it/bookshelf_...-t14799.0.html


    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.