Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

MarkTok96

C++ ... Cosa Posso Fare?

Recommended Posts

Scusa ma forse è meglio se ti dedichi completamente al linguaggio per ora e il motore lo inizi a scegliere fra qualche mese.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='fazo96' timestamp='1362766008' post='680082']
Java si è evoluto, è veloce quasi quanto C++ nella grafica 2D e 3D e può dimostrarlo JMonkeyEngine.
[/quote]
Java non sarà mai "veloce" quanto C++ (supponendo due programmi che fanno la stessa cosa e ottimizzati al massimo).

[quote name='fazo96' timestamp='1362766008' post='680082']
non è pensato per essere multi-thread. Al giorno d'oggi tutto ciò che è performance intensive DEVE essere multi-thread!!!!!
[/quote]
Meh, il multi thread è usato nel caricamento/salvataggio dei chunk. Ovviamente si poteva fare di più.

[quote name='fazo96' timestamp='1362766008' post='680082']
Minecraft usa una versione di LWJGL vecchia e la usa male!
[/quote]
Il vero problema è che non ha mai conosciuto GLSL.

[quote name='fazo96' timestamp='1362766008' post='680082']
Io ti consiglierei di trovarti un motore grafico semplice, Unity è ottimo
[/quote]
Il Unity che intendi tu non è un motore grafico, è un game engine.

[quote name='fazo96' timestamp='1362766008' post='680082']
Se tu conoscessi il Java ti direi Slick2D
[/quote]
Slick2D è una libreria che funziona con OpenGL.

[quote name='fazo96' timestamp='1362766008' post='680082']
ma di C++ non saprei proprio!
[/quote]
OpenGL con SDL.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Qualche link con i programmi sopra citati?? non vorrei sbagliare a scaricarli D:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='MarkTok96' timestamp='1362781863' post='680335']
Qualche link con i programmi sopra citati?? non vorrei sbagliare a scaricarli D:
[/quote]

Gamke Maker: http://www.yoyogames.com/gamemaker/windows

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Come fare il culo alle persone. N1xx1 lo sa fare bene.
Comunque, Unity3D è veramente facile da usare, io ci sto programmando un gioco e l'unico problema è che non so creare i modelli 3D D:
Nel caso non ti interessi il 3D, Meglio Game Maker

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ho già in mente un gioco che potrebbe andare di successo... e penso sia meglio unity

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='AresDex' timestamp='1362825014' post='680434']
Come fare il culo alle persone. N1xx1 lo sa fare bene.
Comunque, Unity3D è veramente facile da usare, io ci sto programmando un gioco e l'unico problema è che non so creare i modelli 3D D:
Nel caso non ti interessi il 3D, Meglio Game Maker
[/quote]

Anche con GM si possono creare giochi in 3D, solo che non è proprio adatto! Cioè, diciamo che si voglia creare un shooter in prima persona, per farlo venire per bene devi averne di esperienza! Se no è un fottuto casino. GM è molto potente nelle giuste mani!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='Xxshark888xX' timestamp='1362831244' post='680488']
Anche con GM si possono creare giochi in 3D, solo che non è proprio adatto! Cioè, diciamo che si voglia creare un shooter in prima persona, per farlo venire per bene devi averne di esperienza! Se no è un fottuto casino. GM è molto potente nelle giuste mani!
[/quote]
Nelle giuste mani puoi farlo, ma è un fottio pazzesco

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='N1xx1' timestamp='1362775950' post='680232']
Java non sarà mai "veloce" quanto C++ (supponendo due programmi che fanno la stessa cosa e ottimizzati al massimo).


Meh, il multi thread è usato nel caricamento/salvataggio dei chunk. Ovviamente si poteva fare di più.


Il vero problema è che non ha mai conosciuto GLSL.


Il Unity che intendi tu non è un motore grafico, è un game engine.


Slick2D è una libreria che funziona con OpenGL.


OpenGL con SDL.
[/quote]
Sono d'accordo, hai ragione.
E' vero che Java non sarà mai veloce quanto C++ ma con la JVM per windows ci va comunque vicino, con le dovute ottimizzazioni ovviamente. Prova a fare una ricerca approfondita

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='fazo96' timestamp='1362922442' post='681424']
E' vero che Java non sarà mai veloce quanto C++ ma con la JVM per windows ci va comunque vicino, con le dovute ottimizzazioni ovviamente. Prova a fare una ricerca approfondita
[/quote]

Uhm... Sembra che la JVM per Server sia più veloce di un programma compilato con G++.

http://keithlea.com/javabench/data

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='N1xx1' timestamp='1362932025' post='681585']
Uhm... Sembra che la JVM per Server sia più veloce di un programma compilato con G++.

[url="http://keithlea.com/javabench/data"]http://keithlea.com/javabench/data[/url]
[/quote]
Java 1.4.2? LoL cosa siamo nel 2005?
Comunque il lato positivo principale di Java è che se io ho un gioco che fa 40 fps, ma dopo un anno esce una nuova JVM magari 1.8 che migliora le prestazioni il mio gioco farà 10 fps in più su tutti i PC!
C++ sarà sempre piu veloce perchè è piu basso livello e l'hardware è sempre più veloce del software e di tutto ciò che è interpretato. Java non è come Ruby o Python, java è semi-interpretato non interpretato, ecco perchè ci va così vicino al C++.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='fazo96' timestamp='1362944108' post='681782']
C++ sarà sempre piu veloce perchè è piu basso livello e l'hardware è sempre più veloce del software e di tutto ciò che è interpretato. Java non è come Ruby o Python, java è semi-interpretato non interpretato, ecco perchè ci va così vicino al C++.
[/quote]

Ok, mi sono informato meglio. C++ non è detto che sia meglio di Java, anzi, certe volte java può essere anche superiore, ma bisogna stare attenti a con che cosa si compila C++. Alcuni compilatori sono peggiori di altri, e se il codice non viene ottimizzato (a livello di compilazione, -o3 per esempio) allora le prestazioni ne risentono e di molto.

Parlando del confronto con Python. Python è interpretato, sì, ma quando viene eseguito viene prima letto tutto il programma, poi viene convertito in bytecode e poi eseguito. Allora diventa un linguaggio interpretato ma compilato a runtime. E poi, Python è Python per la semplicità, io lo utilizzo per scrivere scriptini veloci, me ne frego delle prestazioni perché secondo me non nasce come linguaggio per scrivere un'applicazione o un gioco.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='N1xx1' timestamp='1362952868' post='681992']
Ok, mi sono informato meglio. C++ non è detto che sia meglio di Java, anzi, certe volte java può essere anche superiore, ma bisogna stare attenti a con che cosa si compila C++. Alcuni compilatori sono peggiori di altri, e se il codice non viene ottimizzato (a livello di compilazione, -o3 per esempio) allora le prestazioni ne risentono e di molto.

Parlando del confronto con Python. Python è interpretato, sì, ma quando viene eseguito viene prima letto tutto il programma, poi viene convertito in bytecode e poi eseguito. Allora diventa un linguaggio interpretato ma compilato a runtime. E poi, Python è Python per la semplicità, io lo utilizzo per scrivere scriptini veloci, me ne frego delle prestazioni perché secondo me non nasce come linguaggio per scrivere un'applicazione o un gioco.
[/quote]
Eh già, python va usato esattamente come dici tu :)
C++ teoricamente è più veloce di java ma non è una cosa per gente che "ho appena iniziato a fare programmi seri, conosco il C++", è davvero difficile, la gestione della memoria, la scelta del compilatore, le librerie... Java semplifica tutto poichè il compilatore è uno solo (JDK) e un programma scritto su Windows va anche su Mac e Linux (A meno che non si usino le API di uno dei 3 sistemi operativi... in quel caso ovvio che non va!).

Ragazzi se avete appena cominciato a programmare, a meno che non siate degli scherzi della natura inspiegabili come Ale98 che ha fatto Dig and Work, non andate con C++! Questo è il mio consiglio personale. Python e il suo Pygame o Java con Slick2D sono le cose migliori... ma sicuramente non game maker o visual basic!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ascolta, se dico cosa posso fare con c++ è ovvio che lo conosco -.- comunque chiarisco il mio quesito: ho provato unity e non mi piace, io vorrei imparare a scrivere il mio motore grafico, però non me ne intendo! qualche cosa semplice da cui partire? vanno bene anche in 2D .

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='MarkTok96' timestamp='1363097207' post='682991']
Ascolta, se dico cosa posso fare con c++ è ovvio che lo conosco -.- comunque chiarisco il mio quesito: ho provato unity e non mi piace, io vorrei imparare a scrivere il mio motore grafico, però non me ne intendo! qualche cosa semplice da cui partire? vanno bene anche in 2D .
[/quote]


GM? E' il MIGLIORE!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ma con GM me lo scrivo io il motore grafico?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='MarkTok96' timestamp='1363102849' post='683063']
Ma con GM me lo scrivo io il motore grafico?
[/quote][quote name='Xxshark888xX' timestamp='1363101614' post='683042']
GM? E' il MIGLIORE!
[/quote]
Se lo dici tu... le opinioni sono opinioni

[quote name='MarkTok96' timestamp='1363102849' post='683063']
Ma con GM me lo scrivo io il motore grafico?
[/quote]
No mio caro, con GM non scrivi.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='fazo96' timestamp='1363105807' post='683102']
Se lo dici tu... le opinioni sono opinioni


No mio caro, con GM non scrivi.
[/quote]

Ecco che arriva il sapientone...

Comunque, no il motore grafico non lo scrivi tu, ma GM ha un suo linguaggio di programmazione che sarebbe il Game Maker Language che si basa sul C, quindi hai chance di fare tantissime cose! Il limite è la tua fantasia, puoi anche fare videogiochi in 3D, certo non all'altezza di Unity3D, ma per niente male!

Fazo: Informati ^^

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='Xxshark888xX' timestamp='1363107246' post='683120']
Ecco che arriva il sapientone...

Comunque, no il motore grafico non lo scrivi tu, ma GM ha un suo linguaggio di programmazione che sarebbe il Game Maker Language che si basa sul C, quindi hai chance di fare tantissime cose! Il limite è la tua fantasia, puoi anche fare videogiochi in 3D, certo non all'altezza di Unity3D, ma per niente male!

Fazo: Informati ^^
[/quote]
Ho fatto una piccola ricerca e hai ragione :P scusa se sono un po' ignorante
Quando provai io game maker tempo fa non aveva il suo linguaggino era solo un editor e si poteva fare molto poco!

EDIT: Wow game maker è diventato davvero potente, sembra davvero buono anche se probabilmente per progetti grandi non è una ottima idea... tu che sembri saperne tanto, come si comporta game maker a livello di prestazioni?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='fazo96' timestamp='1363161302' post='683475']
Ho fatto una piccola ricerca e hai ragione :P scusa se sono un po' ignorante
Quando provai io game maker tempo fa non aveva il suo linguaggino era solo un editor e si poteva fare molto poco!

EDIT: Wow game maker è diventato davvero potente, sembra davvero buono anche se probabilmente per progetti grandi non è una ottima idea... tu che sembri saperne tanto, come si comporta game maker a livello di prestazioni?
[/quote]

Se sai come gestire tutti gli oggetti che hai dentro la "room" (finestra di gioco) allora non c'è nessun problema, ed un esempio sono i "generatori casuali di mondi" in stile Minecraft 2D, molti sono riusciti a far generare un mondo davvero vasto senza avere cali di fps! Poi al massimo puoi usare delle .dll che ti aiutano in questo campo...

P.S: Uso GM da soli 10 mesi, ho ancora tanto da imparare, però mi ha aiutato moltissimo ad entrare nel mondo della "programmazione".
P.P.S: Un bel progetto che ha avuto MOLTISSIMO successo è Spelunky, nel 2008 è stato creato con Game Maker, poi hanno fatto un porter per poterlo vendere. Gli sviluppatori hanno anche rilasciato il source del file che si può aprire con GM :P

[url="http://spelunkyworld.com/"]http://spelunkyworld.com/[/url]

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
[quote name='Xxshark888xX' timestamp='1363165524' post='683484']
Se sai come gestire tutti gli oggetti che hai dentro la "room" (finestra di gioco) allora non c'è nessun problema, ed un esempio sono i "generatori casuali di mondi" in stile Minecraft 2D, molti sono riusciti a far generare un mondo davvero vasto senza avere cali di fps! Poi al massimo puoi usare delle .dll che ti aiutano in questo campo...

P.S: Uso GM da soli 10 mesi, ho ancora tanto da imparare, però mi ha aiutato moltissimo ad entrare nel mondo della "programmazione".
P.P.S: Un bel progetto che ha avuto MOLTISSIMO successo è Spelunky, nel 2008 è stato creato con Game Maker, poi hanno fatto un porter per poterlo vendere. Gli sviluppatori hanno anche rilasciato il source del file che si può aprire con GM :P

[url="http://spelunkyworld.com/"]http://spelunkyworld.com/[/url]
[/quote]
Bene, ho rivalutato le mie idee su game maker :D

Per quanto riguarda scrivere il tuo motore grafico, mio caro MarkTok, devi rivolgerti a DirectX o OpenGL. Sono gli unici due modi (almeno gli unici per cui ne vale la pena) di sfruttare l'accelerazione grafiche delle schede video dei computer di oggi.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Sì, ho già trovato dei tutorial (in inglese D:) e ci sto iniziando a capire... avrete mie notizie se farò qualche giochino :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Il c++ è un linguaggio fenomenale in termini di prestazioni poichè, rispetto al java, è il programmatore che decide quando de-allocare la memoria non più necessaria. Ovvio però che il programmatore deve essere bravo. La gestione dei puntatori è molto delicata, ma lascia comunque molta libertà. Java, invece, non lascia questa libertà poichè tramite la garbage collection dealloca autonomamente la memoria non più utilizzata. Se questa procedura è svantaggiosa perchè si ha un rallentamento dovuto alla deallocazione, il programmatore riceve benefici nella maggior facilità di scrivere buoni programmi.

Per sviluppare videogiochi, dove è necessaria una massima velocità in determinate situazioni, è meglio il c++. Tuttavia, anche con java si possono creare prodotti interessanti, dato che il linguaggio è in continuo aggiornamento.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.