Vai al contenuto
  • Annunci

    • D@ve

      Visita la nuova Home Page di Treddi.com   19/02/2018

      E' finalmente on-line la nuova home page di Treddi.com. Da oggi tutti i contenuti del portale saranno facilmente accessibili e visibili direttamente dall'home page dove avrete la possibilità di dare i vostri like a contenuti, immagini e progetti. Ogni giorno potrete trovare nuovi contenuti e news relative al mondo della computer grafica e seguire le numerose attività del portale.  Fate il login e fateci avere i vostri feedback!  https://www.treddi.com/
Jin258

Creare Videogame

Recommended Posts

ciao a tutti,

premetto che le mie conoscienze sono pari a 0;

sto studiando da poco tempo grafica(programma usato 3ds max 9)e mi era venuto in mente

di fare un videogioco.inizialmente ero convinto che bastava solo il programma di grafica

per fare il gioco;ma poi facendo una ricerca su internet ho scoperto che bisogna sapere programmare;il linguaggio più consigliato a quanto pare è il c++ per i videogiochi e forse per

le applicazioni(forse perchè i programmi creati con questo linguaggio funzionano su più

sistemi operativi).

Detto questo è ovvio che dovrò comprarmi un libro di almeno 700 pagine che parte dal livello 0

per chi non sa niente di programmazione fino ad arrivare al livello avanzato.

risparmiatevi le frasi tipo è una cosa impossibile.....è difficilissimo...ecc...

so benissimo che è un'impresa fare giochi(tipo quelli commerciali)da solo(non c'entra la bravura);

per creare un videogame ci vuole tempo,soldi e tante persone qualificate,infatti quando finisci tutti i livelli di un videogioco si vede una lista di persone che non finisce mai;

se poi qualcuno vuole fare un gioco da solo tipo need for speed o altri credo che

30 anni di lavoro sia più che sufficiente;

(faccio un copia incolla)

allora,quello che serve per creare un videogioco é:

- Motore Grafico

- Motore Audio

- Motore Fisico

- Sistema di Interazione

- Gestore di Rete

- Gestore di Dati

- Intelligenza Artificiale

Andiamo a vedere in dettaglio di cosa si occupano queste parti:

Motore Grafico

Questa è la parte principale di ogni videogame, lo definirei il cuore dell’applicazione d’intrattenimento il suo compito è mostrare graficamente qualsiasi oggetto del gioco compreso i personaggi. Alcune volte viene usato il termine “motore grafico” indicando un framework che comprende motore grafico, gestione suono, gestione input, IA e altro; insomma un composto di più elementi indicati sopra fusi tra di loro. La cosa non è sbagliata ma in questo articolo per “motore grafico” voglio indicare solo la parte di gestione grafica. A seconda del gioco il motore grafico può essere 2D quindi gioco bidimensionale o 3D quindi gioco tridimensionale. Un motore 2D è più semplice da realizzare e non deve far altro che gestire le immagini: caricarle e animare a video, di solito le immagini per un motore 2D si dividono in immagini di sfondo e immagini animate (personaggi) conosciuti anche come sprites. Differentemente nei motori grafici 3D bisogna tener conto di molti parametri in più tipo rappresentazioni in realtime di ombre, luci, calcolare l’immagine che un determinato oggetto 3D assume in base alla posizione telecamera e mostrarlo all’osservatore. Un programmatore che vuole creare un videogioco ha due scelte, scrivere da sè il motore grafico o utilizzarne uno gia fatto. Qualora la scelta ricadesse su un motore già fatto ce ne sono di due tipi, quelli open source e quelli a pagamento. Quanto costa un motore a pagamento? Bhe un “listino” non esiste anche perchè ogni motore ha le sue caratteristiche quindi i costi possono variare dalle poche centinaia di euro a cirfre che si aggirano e superano anche il milione di euro. Tra i motori grafici open source troviamo prodotti come: OGRE, Irrlicht, ApocaliX, NeoEngine, Genesis3 ed altri. In realtà la maggiorparte dei motori grafici usano 2 differenti librerie grafiche, le DirectX (supportate solo da sistemi Microsoft) e le OpenGL (supportate da più piattafome Linux compreso), alcuni motori infatti usano l’una o l’altra, qualcuno addirittura può usarle anche entrambi e fà scegliere al programmatore quale adoperare.

Motore Audio

Il motore audio è la parte del videogioco che si occupa di tutta la gestione dell’audio, nella maggior parte dei casi bisogna gestire una musica di sottofondo e gli effetti sonori del gioco. Negli ultimi anni i motori audio si sono perfezionati ed hanno introdotto nuove funzioni, una importante è l’audio 3D conosciuto anche come audio posizionale. Questa tecnica consiste nel riprodurre un effeto sonoro dandogli anche una collocazione geografica, se ad esempio il suono arriva dalla sinistra avremo la cassa o cuffia sinistra che lo riproduce, mentre la destra resterà muta o lo riprodurra a bassissimo volume. Tecnica utilissima nei giochi 3D, molto usata dei FPS (First Person Shooter). Anche qui ci sono motori commerciali e motori open source come: OpenAL, IrrKlang, Audiere ed altre.

Motore Fisico

Con il perferzionarsi dei giochi 3D c’è sempre una maggiore esigenza di raggiungere un grado di realismo sempre più alto. Quale miglior modo di raggiungere realismo all’interno di un videogioco se non quello di utilizzare uno motore che implementa le leggi della fisica quali: legge di gravità, urti e collisioni, esplosioni e via dicendo. Alcuni motori fisici maggiormente utilizzati in videogiochi sono: Physx e Newton.

Sistema di Interazione

Possiamo identificarlo come l’insieme dell’hardware e del software che permette all’utente (videogiocatore) di interagire con il videogioco. Le modalità di interazione sono veramente molte tra quellepiù diffuse c’è l’utilizzo della tastiera, del mouse, il joystick, il game pad fino ad arrivare alle più moderne tecniche di Motion Capture (

). Una volta scelto l’hardware il tutto deve essere gestito via software, si imposta che determinati tasti eseguono il movimento del personaggio, con altri ancora lo si fà compiere azioni fino ad impostare determinate sequenze di tasti per i famosi “attacchi speciali” molto usati nei videogiochi “picchiaduro”.

Gestore di Rete

Il gestore di rete permette di far comunicare più videogiocatori su hardware interconnessi in rete tra di loro. Specialmente dopo la forte diffusione del collegamento internet a banda larga sono aumentati i videogiochi che usano la modalità multiplayer. Tale modalità prevede la possibilità di giocare in rete locale o su internet con altri giocatori in altre parti del pianeta, il tutto grazie allo scambio di dati costante tra gli hardware usati dai giocatori. Di solito viene utilizzata una architettura client - server, ovvero viene impostato un server che gestirà tutto lo scambiuo di dati tra i giocatori, i quali si connettono come client a quest’ultimo e giocano in rete, il protocollo di rete più usato è l’ UDP (User Datagram Protocol). Anche per la gestione della rete esistono dei framework sia commerciali che free o addirittura Open Source. Un esempio di framework utilizzato nei videogiochi ma non solo è Raknet.

Gestore di Dati

Quanti di voi alle prese con videogiochi hanno avuto l’esigenza di dover salvare la partita per poi non ripartire daccapo? Bene il nome gestore dati magari è meno intuitivo delgi altri, ma con questo termine indichiamo la parte del programma che si prende cura di salvare lo stato attuale del gioco, per poi poterlo caricare successivamente e far continuare l’avventura grafica al videogiocatore proprio dove l’aveva lasciata. Prendiamo ad esempio un videogioco di tipo Real Time Strategy (RTS), bisognerà salvare una notevole quantità di dati quale: stato delle risorse, numero di unità con la loro posizione energia il loro stato (se sono in combattimento o a guardia di un atruttura), tutte le strutture del giocatore e quelle del/dei nemico/i, lo stato del gioco (in che livello ci troviamo), le evoluzioni e le scoperte utilizzabili, ecc. Come si capisce il gestore dei dati è molto personalizzato sul gioco creato, è difficile poter riutilizzare lo stesso gestore dati se non su un gioco con struttura “clone”.

Intelligenza Artificiale

In italiano viene abbreviata con la sigla IA, mentre in inglese la sigla è inversa AI (Artificial inteligence). Questa è la parte più impegnativa e strategica, determina anche la giocabilità del videogioco e il perchè è ovvio, se l’IA dei nemici in un videogioco è molto semplice essi risulteranno molto deboli e il giocatore si scoccerà presto visto che l’ostacolo costituito dai nemici è facile da abbattere, contrariamente se è troppo evoluta i nemici risulteranno così forti che batterli sembrerà quasi impossibile al giocatore e questo smetterà di giocare frustrato dal non riuscire a vincere. L’intelligenza artificiale viene utilizzata in tutti quei giochi dove esistono componenti (oggetti o personaggi) comandati e gestiti dal Computer / console e via dicendo. Pensiamo ad esempio al famoso gioco Pacman dove il simpatico protagonista deve riuscire a mangiare le palline disseminate su tutto il percorso senza farsi mangiare dai fantasmi, anzi all’occorrenza ingerendo la pillola riesci lui a mangiare i fantasmi. Vi siete mai chiesti quali sono gli algoritmi che permettono ai fantasmi di scegliere sempre la strada più breve per poter raggiungere pacman in un labirinto o nello stesso labirito di scappare il più lontano da lui quando è in grado di mangiali? Bene qui entra in gioco proprio l’ Intelligenza Artificiale, gli algoritmi sono diversi per potersi muovere in labiriti, uno di questo è l’algoritmo di Dijkstra scritto da un informatico Olandese da cui prende il nome. Da gioco a gioco l’Intelligenza artificiale cambia, passando da Pacman ai moderni FPS (First Person Shooter) ci rendiamo conto che bisogna considerare molti altri aspetti e non solo il sapersi muovere in un labirinto o su una mappa, ad esempio i nemici oltre a muoversi corrattamente nella mappa devono anche decidere: dove e quando nascondersi (quando sono in inferiorità? Per difendersi o per tendere una trappola?), come e quando attaccare (attaccare frontalmente? dal fianco? con quale arma? meglio la mitraglietta, la granata o un missile?), cooperare tra di loro (attaccare singolarmente o a squadra?), saper ripiegare o sacrificarsi tentando di abbatterci? Ricordiamoci che tutte queste decisioni devono essere prese in tempo reale in base alla nostra posizione o nel caso di squadre in relazione alla posizione di ogni membro della squadra e dalle dotazioni, posizioni che ovviamente cambiano in continuazione e dotazioni che si esauriscono nel corso del gioco, dobbiamo poi saper tradurre lenostre decisioni in istruzioni da impartire ai nostri personaggi, istruzioni che non devono essere constrastanti tra di loro. Come capirete nel campo della IA le conoscenze tecniche (matematica, trigonometria ecc.) e la fantasia hanno distese immense per potersi sbizzarrire.

ho qualche dubbio:

1)il motore grafico è un programma con tanto di menù dove si ci può lavorare dentro ecc..(es:3ds max)

oppure una libreria che si gestisce dal programma dove si scrivono le appllicazioni in c++?

2)il motore audio secondo me inserisce la musica nel gioco così per com'è;

creare la musica partendo da zero?

quale programma mi consigliate?

sapere quale programma usare non basta;bisogna avere conoscienze;

quale libro?

3)imparando il linguaggio c++ bene sarò in grado di scrivere un motore grafico partendo da 0?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

una discussione nuovaaa :P

fai una ricerca sul forum e troverai tante discussioni che trattano di giochi di ke sw usare di ke engine e tutto quello ke ti serve :hello :hello:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

grazie per le risposte di prima.Ma non avete risposto a queste domande

ho qualche dubbio:

1)il motore grafico è un programma con tanto di menù dove si ci può lavorare dentro ecc..(es:3ds max)

oppure una libreria che si gestisce dal programma dove si scrivono le appllicazioni in c++?

2)il motore audio secondo me inserisce la musica nel gioco così per com'è;

creare la musica partendo da zero?

quale programma mi consigliate?

sapere quale programma usare non basta;bisogna avere conoscienze;

quale libro?

3)imparando il linguaggio c++ bene sarò in grado di scrivere un motore grafico partendo da 0?

dopo che ho letto il topo che mi ha consigliato gianca mi viene un'altro dubbio:

una volta che finisco di programmare il gioco in c++ con il motore grafico(ogre,xna ecc.)

il gioco funziona solo con il pc o anche con la playstation 1,2,3(1 su cd,2 dvd...).

in caso di risposta negativa cosa devo fare per farlo funzionare anche sulla playstation?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)
grazie per le risposte di prima.Ma non avete risposto a queste domande

ho qualche dubbio:

1)il motore grafico è un programma con tanto di menù dove si ci può lavorare dentro ecc..(es:3ds max)

oppure una libreria che si gestisce dal programma dove si scrivono le appllicazioni in c++?

2)il motore audio secondo me inserisce la musica nel gioco così per com'è;

creare la musica partendo da zero?

quale programma mi consigliate?

sapere quale programma usare non basta;bisogna avere conoscienze;

quale libro?

3)imparando il linguaggio c++ bene sarò in grado di scrivere un motore grafico partendo da 0?

dopo che ho letto il topo che mi ha consigliato gianca mi viene un'altro dubbio:

una volta che finisco di programmare il gioco in c++ con il motore grafico(ogre,xna ecc.)

il gioco funziona solo con il pc o anche con la playstation 1,2,3(1 su cd,2 dvd...).

in caso di risposta negativa cosa devo fare per farlo funzionare anche sulla playstation?

un motore 3d è un applicazione che riesce a "disegnare/generare" una scena a tre dimensioni in tempo reale

il motore audio gestisce la parte audio del gioco ( http://www.steinberg.net/en/home.html)

saper programmare non è sufficiente,servono buone dosi di matematica ,la scrittura di un motore da zero comprende l'esecuzione di calcoli sulle matrici.

http://www.vincedx.altervista.org/Lessons....d=72&from=0

http://www.vincedx.altervista.org/dx9Direct3D.php

per sviluppare su console devi avere i devkit e se non un hai azienda che lavora in quel settore non potrai mai averne uno anche se per sviluppare su x360 puoi usare XNA di M$


Modificato da dawid999

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

ciao a tutti,

grazie per le risposte molto utili,

la maggiorparte dei motori grafici utilizza due differenti librerie grafiche;

le DirectX (supportate solo da sistemi Microsoft) e le OpenGL (supportate da più piattafome Linux compreso), alcuni motori infatti usano l'una o l'altra, qualcuno addirittura può usarle anche entrambi e fà scegliere al programmatore quale adoperare.

Dawid999 vediamo se ho capito bene:

uno dei componenti presente in directx è direct3d;questa libreria è stata sviluppata da microsoft è supporta solo il sistema operativo windows,

che cosa è direct3d?Una specie di xna?(ho le idee confuse sulla differenza di questi due).

I giochi sviluppati con xna sono funzionanti su sistemi operativi windows e xbox,xbox360?

per quanto riguarda sviluppare giochi per la playstation 1,2 o 3

non c'è un'altro modo?devo avere per forza un'azienda che fa giochi per avere un motore grafico

per sviluppare giochi di playstation 1,2 o 3?

xna supporta il c++ o solo c?

grazie per l'attenzione.


Modificato da Jin258

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
ciao a tutti,

grazie per le risposte molto utili,

la maggiorparte dei motori grafici utilizza due differenti librerie grafiche;

le DirectX (supportate solo da sistemi Microsoft) e le OpenGL (supportate da più piattafome Linux compreso), alcuni motori infatti usano l'una o l'altra, qualcuno addirittura può usarle anche entrambi e fà scegliere al programmatore quale adoperare.

Dawid999 vediamo se ho capito bene:

uno dei componenti presente in directx è direct3d;questa libreria è stata sviluppata da microsoft è supporta solo il sistema operativo windows,

che cosa è direct3d?Una specie di xna?(ho le idee confuse sulla differenza di questi due).

I giochi sviluppati con xna sono funzionanti su sistemi operativi windows e xbox,xbox360?

per quanto riguarda sviluppare giochi per la playstation 1,2 o 3

non c'è un'altro modo?devo avere per forza un'azienda che fa giochi per avere un motore grafico

per sviluppare giochi di playstation 1,2 o 3?

xna supporta il c++ o solo c?

grazie per l'attenzione.

direct3d è una libreria che si occupa della generazione della scena 3d mentre xna è una serie di tool/un ambiente di sviluppo che si integra con visual studio,se scarichi la versione SDK delle librerie directx potrai linkarle nei tuoi progetti di visual studio in modo da poterne sfruttare le proprietà.

tutte le risposte riguardanti XNA:

http://msdn.microsoft.com/en-us/xna/aa937793.aspx

per ottenere i devkit sony o nintendo (ma anche microsoft) devi perforza avere un attività in quel settore

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ciao,

xna funziona con microsoft visual c# e anche con il visual c++?

perchè non ho intenzione di imparare un linguaggio di programmazione già superato©.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ma ogni volta la solita storia? o.O

Direct3D (così come openGL) è una libreria che si interfaccia direttamente con il driver della scheda video e servono per la gestione della grafica 3d accelerata. Se dovessi scrivere un engine 3d usando soltanto la potenza del processore il tuo gioco anche se semplice andrebbe molto lentamente.

Direct3D in pratica serve per definire le primitive (triangoli) da disegnare e farle disegnare alla scheda video, e funziona da livello di astrazione per chi deve programmare, altrimenti per usare l'accelerazione bisognerebbe fare le chiamate direttamente al driver e ci sarebbero grossi problemi di incompatibilità.

Per esempio i comandi che si danno con D3D sono del tipo:

crea uno spazio per disegnare grande 1024x768

in questo array ci sono le posizioni dei vertici

in questo array ci sono gli indici dei poligoni

usa questo shader

disegnami una mesh usando la roba che ti ho appena caricato
i comandi dati da un motore grafico sono a livello più alto, per esempio
carica questo modello

applicaci questa texture

disegnami il modello

XNA non funziona con C++, è stato fatto appositamente per girare su framework .net e C# (questioni pubblicitarie).

Potresti chiarire meglio le tue intenzioni, almeno possiamo darti consigli più mirati. Che tipo di applicazione vorresti fare?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ciao a tutti,

x il male:

Se dovessi scrivere un engine 3d usando soltanto la potenza del processore il tuo gioco anche se semplice andrebbe molto lentamente.

(non capisco che cosa vuoi dire)quale potenza dovrei usare?

Direct3D in pratica serve per definire le primitive (triangoli) da disegnare e farle disegnare alla scheda video.

questi triangoli sono i poligoni?

Potresti chiarire meglio le tue intenzioni, almeno possiamo darti consigli più mirati. Che tipo di applicazione vorresti fare?

un gioco funzionante per pc dato che per la playstation non si può fare.

non ho capito la differenza fra direct3d e un motore grafico.Non è la stessa cosa?

(scusa ma ho le idee più confuse di prima)

se me lo puoi spiegare meglio mi fai un favore.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
(non capisco che cosa vuoi dire)quale potenza dovrei usare?
La scheda video, secondo te perché una scheda video costa 600€? :P

Il processore nell'engine 3d meno lo usi meglio è, teoricamente andrebbe usato solo per la fase di culling, animazione e (ovviamente) invio dei dati alla scheda video.

questi triangoli sono i poligoni?

Già.

un gioco funzionante per pc

Questa è quella che io chiamo una "non risposta". Un gioco funzionante può essere "forza 4" come può essere Unreal tournament 3, ti assicuro che c'è una forte differenza tra i due. :P

Hai almeno in mente il genere, il tipo o il livello di grafica che vuoi raggiungere?

non ho capito la differenza fra direct3d e un motore grafico.Non è la stessa cosa?

Come ti ho detto prima direct 3d lavora ad un livello più basso, direttamente attaccato al driver.

Un engine 3d si occupa di cose più ad alto livello, per esempio animare i personaggi, scegliere la strategia di rendering più veloce, fare i culling per disegnare meno oggetti possibili, gestire il caricamento dei modelli.

Direct3D si occupa solo di gestire il frame buffer (area dove vengono disegnati i poligoni), disegnare i poligoni, caricamento degli shader, allocazione della memoria nella scheda video, ecc...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

certo che ho una idea del gioco che devo fare.

tipo teken.non posso dare una risposta precisa visto che devo imparare a programmare

e a usare 3ds max.


Modificato da Jin258

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Non per dire.. ma in tekken la fase di programmazione rasenta lo zero assoluto, giusto mettere assieme i pezzi.

Anche l'intelligenza artificiale non è tra le più evolute.

Lascia stare directX, scegli un engine che visualizza un ambiente (magari animato), che disegna nel miglior modo possibile i personaggi e poi per il resto è tutto lavoro di animazione, modellazione e audio.

Di programmazione non c'è assolutamente niente, quindi ti consiglierei un engine dove la parte di programmazione è semplice come in blitz basic, altrimenti rischi di studiarti per sei mesi un linguaggio che poi praticamente non usi.

Ciao ciao.. e in bocca al lupo.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

ciao,

sapere che di programmazione non c'è niente,mi fa sentire molto meglio.

Però sono interessato alla programmazione non solo per fare dei videogiochi

ma anche per fare applicazioni.

ora le mie conoscienza in questo campo sono pari a 0

ma con un buon libro riuscirò a imparare un linguaggio di programmazione.

quale mi consigli? c++

so che il c++ è il migliore per la potenza e per la portabilità

perchè molte applicazioni fatte per windows non funzionano su altri sistemi operativi?

quale linguaggio di programmazione utilizzano?

scusa ma per i giochi più evoluti a livello di programmazione si deve avere a che fare con directx o con un motore grafico come ogre?

quando si impara un linguaggio di programmazione,scommetto che si ci trova spaesati davanti

un motore grafico qualsiasi o una libreria grafica directx ecc.

spero che in ionternet ci saranno guide valide in italiano


Modificato da Jin258

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
quale mi consigli? c++

so che il c++ è il migliore per la potenza e per la portabilità

Cosa c'entra la portabilità con il linguaggio di programmazione?

Se un programma lo fai in C++ e poi usi directX la vedo difficile che funzioni su altri sistemi diversi da window.

Se ti interessa la portabilità devi usare Java o linguaggi di scripting tipo python. Però i linguaggi interpretati si adattano poco alle richieste di prestazione di un engine 3D.

Se per potenza intendi flessibilità, le solite cose che fai con C++ le fai anche con Pascal.

Se per potenza intendi livello di astrazione C++ è abbastanza avanzato ma sicuramente non il migliore, soprattutto quando si usano le strutture avanzate di C++ inizia ad essere un linguaggio complicato e farragginoso.

Se per potenza intendi ottimizzazione del codice finale, linguaggi a livello più basso di solito generano codice più ottimizzato.

Diciamo che C++ è un ottimo compromesso tra livello di astrazione e prestazioni del programma finale.

A logica C# dovrebbe essere più portabile, ci sono già a giro macchine virtuali per far girare applicazioni .net su Mac e su Linux. Per esempio: http://www.mono-project.com

Ma una domanda... perché ti interessa la portabilità?

perché molte applicazioni fatte per windows non funzionano su altri sistemi operativi?

quale linguaggio di programmazione utilizzano?

Il 90% delle applicazioni sono ancora fatte in C++, almeno fino a qualche tempo fa adesso Java e C# vanno molto di moda, sono ancora convinto che per applicazioni interattive c++ sia la scelta migliore.

La portabilità non dipende tanto dal linguaggio quanto dalle librerie usate. Un applicazione windows che usa MFC (microsoft foundation class) non potrà essere compilata sotto Macintosh perché sotto Mac non sono disponibili quelle librerie. Programmi compilati sotto Mac che usano direttamente Cocoa non possono essere compilati sotto windows.

Ecc... ecc... ecc... spesso è abbastanza difficile generare codice portatile su diverse piattaforme, ma basta usare alcuni livelli di astrazione e librerie multipiattaforma.

scusa ma per i giochi più evoluti a livello di programmazione si deve avere a che fare con directx o con un motore grafico come Ogre?

I giochi evoluti hanno a che fare con una marea di roba, sia a livello basso (devono combattere spesso con incompatibilità dei driver) sia a livello medio (la conoscenza delle librerie base è fondamentale per scrivere codice efficiente) sia a livello alto (ovviamente engine grafico va conosciuto a menadito).

quando si impara un linguaggio di programmazione,scommetto che si ci trova spaesati davanti

un motore grafico qualsiasi o una libreria grafica directx ecc.

spero che in internet ci saranno guide valide in italiano

Quando si impara un linguaggio di programmazione di solito di parte da "hello, world!" e le librerie grafiche si lasciano da parte. :P

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Quando si impara un linguaggio di programmazione di solito di parte da "hello, world!" e le librerie grafiche si lasciano da parte. :P

QUOTO

QUOTO

QUOTO

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

ciao,

grazie per la spiegazione approfondita;

non sapevo che le applicazioni avevano a che fare anche con directx,pensavo che serviva solo per i videogiochi,come ti avevo detto le mie conoscienze sono scarse quindi

perdonami se ho detto qualche cavolata.

Visto che in alcuni forum parlavano del c++ come il linguaggio migliore per le prestazioni e per la portabilità potrai capire perchè ho fatto questa domanda:

quale mi consigli? c++

so che il c++ è il migliore per la potenza e per la portabilità

poi vedevo che le applicazioni fatte per windows non funzionavano su altri sistemi operativi e pensavo che le applicazioni venivano fatte con un linguaggio diverso dal c++.Non sapendo che

non c'entrava il linguaggio ma le librerie usate

Ma una domanda... perché ti interessa la portabilità?

si sa che un programma che prende su più sistemi operativi è l'ideale.

Ma a quanto vedo non è possibile perchè se il programma lo compilo in windows usando il c++ uso librerie differenti e non prende su mac e viceversa.

poi se hai detto che il 90% delle applicazioni sono fatte in c++ hai detto tutto sulla potenza del linguaggio.

si può sapere come si usa la funzione dei messaggi citazione?


Modificato da Jin258

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

no no.. scusa se mi sono spiegato male, ma solo le applicazione che vogliono sfruttare l'accelerazione grafica usano directX (o openGL) per esempio 3d studio usa directX per la visuallizzazione del viewport.

Non è nemmeno detto che se usi visual C++ il tuo programma non verrà compilato su macintosh o altro, dipende tutto da che librerie usi.

Io per esempio per l'interfaccia (sotto visual C++) grafica uso wxWidget che è multipiattaforma.

Comunque per adesso non mi preoccuperei tanto di fare programmi portabili, pensa prima a imparare il linguaggio.

La citazione funziona come un TAG html tra [ quote ] e [ /quote ]

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

ciao,

no no.. scusa se mi sono spiegato male, ma solo le applicazione che vogliono sfruttare l'accelerazione grafica usano directX (o openGL) per esempio 3d studio usa directX per la visuallizzazione del viewport.

l'accelerazione grafica è una specie di gestione avanzata della grafica ed è disponibile solo su directx e openGL?(penso di si)

wxWidget e multipiattaforma a differenza di directx e openGL,però non ha l'accelarazione grafica?

a quanto ho capito in base a quello che devo fare bisogna scegliere la libreria più adatta.

Per adesso credo che possono bastare tutte queste informazioni.

come finisco di studiare il libro su 3ds max 9(un 1400 pagine)

incomincio a studiare programmazione (c++);

il resto(videogiochi)viene dopo.

Spero sarai disponibile se ho bisogno di qualche aiuto;se il gioco riesce bene(bello graficamente(3d)e perfetto in tutto)a chi è interessato regalerò una copia del gioco a soli

39,90 euro;

sto scherzando;come ho detto prima,devo imparare molto cose;

non voglio costruire un castello senza i mattoni.

Ciao!!!!!!!!!!!!!


Modificato da Jin258

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

wxWidget come MFC, Qt, motif e altre sono librerie per disegnare l'interfaccia grafica (finestre, bottoni, finestre di dialog, area di inserimento testo, ecc...).

DirectX e openGL sono librerie per far andare l'accelerazione grafica, se vuoi fare un programma multipiattaforma (ancora non ho capito perché) l'unica alternativa è openGL.

Comunque la tua scelta non sarà tanto tra openGL o directX ma tra l'engine di grafica, farsi un engine senza averne le conoscenze è pura follia.

Spero sarai disponibile se ho bisogno di qualche aiuto;
Io non ci conterei troppo.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ciao,

jin258:Spero sarai disponibile se ho bisogno di qualche aiuto;

ilmale:Io non ci conterei troppo.

non ti preoccupare,non ho bisogno del tuo aiuto per fare il videogioco;

non c'è soddisfazione facendosi aiutare.

Ma tu che cosa hai capito?

le tue risposte,penso sono state troppo utili;non sapevo da dove cominciare;

adesso so che cosa mi serve.ti ringrazio.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ciao,

x ilmale:

per creare la musica nei videogiochi come si fa?

esistono librerie con le musiche?

se la risposta è si,costano molto?

grazie.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Questo è il settore che ne capisco meno :(

Comunque i giochi che vedo a giro hanno dei semplici mp3, le ditte grosse chiamano dei musicisti per farsi incidere le colonne sonore (per questo che dico in continuazione che servono soldi e tanta gente).

Comunque se hai un po' di amici che suonano o che fanno i DJ un po' di musica elettronica non è difficile da fare.

Unreal tournament 3 invece ha adottato una soluzione diversa, la colonna sonora cambia in base al tipo di azione, quindi ci sarà musica più frenetica quando c'è molta azione e musica più rilassata nei momenti di calma, tutto mixato automaticamente dall'engine di gioco... non mi chiedere come fanno perché non ne ho la più pallida idea.

Tempo fa quando la memoria dei computer era scarsa e gli mp3 non esistevano si usavano i midi o i file mod ma direi che ora sono passati alla storia.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora


  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×