ArsLudica.org Forum

Effettua l'accesso o una nuova registrazione.

Inserisci il nome utente, la password e la durata della sessione.
Ricerca avanzata  

News:

Autore Topic: [Blog] Takeda, Sun and Rain  (Letto 2686 volte)

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #15 il: Dicembre 01, 2010, 16:45:58 »


Oppure fai come Carmack e ti metti a dire che su Android non puoi fare i giochi perché non c'è il supporto C++, anche se esiste e funziona anche molto bene :D

Non so che concetto tu abbia di "molto bene", diciamo che funziona per grazia divina.

L'NDK per grazia divina? Quanto sei fanboy!
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

OniTakeda

  • Old Member
  • ****
  • Offline Offline
  • Post: 256
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #16 il: Dicembre 01, 2010, 17:05:44 »


Poi c'è il discorso game industry, dove il C++ è l'equivalente di Java nelle industrie IT normali: ormai troppa gente lo sa, è una cosa familiare e cambiare costa tempo e soldi.

Fortuna che MS un po' si sta muovendo verso lo svecchiamento (vedi XNA su 360, tra l'altro usato massivamente anche da Bioware, WP7 e quello che riesce a fare solo con Silverlight e XNA su C#) ma sarà una cosa lenta e macchinosa per tutta una serie di motivi.

IMHO dovreste essere un po' più flessibili (se non altro per cultura personale). E' chiaro che probabilmente il cambiamento non avverrà a breve ma le cose si stanno muovendo abbastanza in fretta (vedi anche Dalvik di Android, che NON E' Java ma è pur sempre una gran bella virtual machine ad alte prestazioni).

Non so se ho afferrato il discorso, ma dici che linguaggi come java o C# con il tempo diventeranno uno standard?
Infondo java ha appena 15 anni, è relativamente giovane.
Penso che alla fine l'importante per programmare sia avere una buona conoscenza di algoritmi e basi di dati, poi il resto è solo questione di sintassi.

p.s.
in confronto al c++ java mi pare abbia delle belle semplificazioni, tanto per dirne una il garbage collector.
Connesso

Cherno

  • Redazione
  • Hero Member
  • *****
  • Offline Offline
  • Post: 3.829
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #17 il: Dicembre 01, 2010, 17:10:54 »


Oppure fai come Carmack e ti metti a dire che su Android non puoi fare i giochi perché non c'è il supporto C++, anche se esiste e funziona anche molto bene :D

Non so che concetto tu abbia di "molto bene", diciamo che funziona per grazia divina.

L'NDK per grazia divina? Quanto sei fanboy!

di un pò: ti trovi bene col debugger? Certo che sono fanboy, sono fanboy di visual studio, se permetti. Poi vienimi a parlare di ottimizzazione dei tempi :D

Cherno

  • Redazione
  • Hero Member
  • *****
  • Offline Offline
  • Post: 3.829
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #18 il: Dicembre 01, 2010, 17:22:11 »



Poi, parliamone: quando riduco i tempi di sviluppo ad 1/3 ed elimino metà degli errori solo perché ho scelto una tecnologia, per me quello è un vantaggio.

Dipende dalle persone con le quali lavori e se sai valorizzare le loro skills (sempre tenendo conto che le abbiano chiaro)

Pensi sul serio che tutti i giochi schifosi, in passivo o che non funzionano bene su AppStore siano solo dovuti al fatto che la gente non è capace? Metterci tre giorni invece che tre ore ha una ripercussione anche sulla qualità di quello che fai, se il tempo non è infinito. Non a caso molti giochi veri e belli che sono su AppStore sono port fatti da J2ME, che è tutto dire :D

Quindi ora è java a fare belli i giochi? Diciamo piuttosto che è più facile fintanto che, citando monopoli, hai 4 gb di ram un processore quad core e la scheda video figadiddio con supporto dx11 e via andare.

Il discorso è questo: il gioco non è fatto dal linguaggio, il gioco è concepito da un game designer il quale chiede delle features a programmatori e grafici mentre progetta il gioco da farsi. Questi diranno, in base alla loro esperienza, skills, tempi di realizzazione, macchine obiettivo e quant'altro qual è la strada migliore per ottenere un dato risultato, cosa si può fare e cosa assolutamente no a partire dai requisiti dati.

Non c'è tanto da ragionar su per arrivare a capire che nel momento in cui ti spingi in ambienti quali dispositivi mobile e console, java lo prendi e gli dai un calcio perchè non puoi gestire quello che deve essere gestito in maniera ottimale.

Nel momento in cui sony, nintendo e microsoft stessa ci diranno che la strada migliore è java, allora gli sviluppatori di videogames, perchè di questo parliamo, migreranno li. Quando accadrà allora anche Monopoli probabilmente chiederà java ai colloqui.

StM

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 9.424
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #19 il: Dicembre 01, 2010, 17:23:00 »

E' semplice, ha un sacco di librerie ed è universale.

Java non te lo chiederà nessuno a meno che tu non faccia un colloquio per fare il programmatore time & material per risolvere casini di strutture IT di dieci/venti anni fa.

Java non è semplice, è un casino.
Java hon ha un sacco di librerie. Non ha uno standard condiviso e mancano un sacco di cose che devi integrare esternamente. Questo in un progetto molto grande (non ludico) è un grossissimo problema. Inoltre non ha un bridge nativo per le API grafiche e questo è un problemone che Sun non ha mai voluto risolvere. Funziona molto bene per cose di bassissimo livello tipo la ntework programming, un sacco di MMO hanno tutto o quasi tutto il loro back-end scritto in Java. Dove si lavora con una grandissima frammentazione dei dati e l'applicazione non deve crashare. Mai.

Java ha un sacco di librerie *esterne* se devi fare cose sugli application server, sui database, se devi utilizzare protocolli specifici di un particolare settore. Quelle integrate vanno bene per esercizio, e alle volte quando ti va di culo per avere interfacce comuni anche se usi librerie diverse (io ho bestemmiato per raffazzonare un convertitore tra org.w3c.Document, org.jdom.Document, e org.apache.ecs.Document... e sono tutti più o meno rappresentazioni dom di un cacchio di documento, solo che ognuno ha un suo ambito di utilizzo specifico e al di fuori di quello non serve a nulla :azz:; però i jdbc funzionano abbastannnnnza bene). Non so la situazione nel multimedia, ma penso sia una tragedia ;D.

Poi la semplicità è relativa. A volte per convertire un oggetto in un altro devi istanziare 5 oggetti diversi, di cui 2 in mezzo non servono a nulla se non a istanziare altri oggetti (e allora ti domandi: perché non mettere direttamente un costruttore negli oggetti da istanziare???). Per non parlare del fatto che magari non hai problemi di memory leak, ma spesso il garbage collector non fa il giro abbastanza spesso da mettere una pezza alla TUA cattiva programmazione, in cui sì, dereferenzi gli oggetti, ma prima di farlo non liberi delle risorse che occupano.

E infine ci sono le JVM mistiche su cui un'applicazione si inchioda dopo che gira per un po', mentre su altre non hai mai avuto problemi...

Java non va sottovalutato, neanche nei suoi aspetti negativi ;D
« Ultima modifica: Dicembre 01, 2010, 18:16:33 da StM »
Connesso

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #20 il: Dicembre 01, 2010, 17:52:38 »

Citazione
Non so se ho afferrato il discorso, ma dici che linguaggi come java o C# con il tempo diventeranno uno standard?

Guarda, in generale non esiste una soluzione univoca.

Considera però queste cose, frutto della mia esperienza, che è diversa da quella di altri.
Chi fa sviluppo indipendente ed innovazione usa tecnologie all'avanguardia.
Se vuoi essere un impiegato industriale devi adattarti alla richiesta che ti offre più possibilità di lavoro.

Sono due aspetti differenti ma secondo me hanno un certo peso perché di solito le tecnologie all'avanguardia ti permettono di essere economicamente competitivo (ci metti meno e la qualità è più alta) mentre gli standard industriali ti permettono di investire sull'esperienza delle persone (che però costano e sono esperte, quindi perché dovrebbero dar retta a te?).

Le efficienze che fai in sviluppo spesso sono molto preziose per migliorare la qualità del prodotto e per i giochi questo è un tema fondamentale, in particolare se non hai una grande azienda dietro che può tamponare ritardi di varia natura.
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Monopoli

  • Hero Member
  • *****
  • Offline Offline
  • Post: 4.296
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #21 il: Dicembre 01, 2010, 18:02:34 »

Sono stato preciso nella mia frase: "Se vieni da noi a fare un colloquio, non ti chiedo certo Java" ;)

Questo perche' Java non e' in nessuna parte della pipeline di produzione. Per il gioco usiamo C++ e assembly, per i tool C#, per la roba in gioco LUA e per altre cose Python.
Quindi se nel CV ci metti che non sai il C++, purtroppo probabilmente non sarai nemmeno papabile per un colloquio.

Questo e' quanto :)
Connesso
Il mio blog agghiacciante
http://monopoliano.blogspot.com
E' Uscito! Compra qui: http://itunes.apple.com/us/album/crystal/id461134607

"Monopoli hai la voce da frocio ma sei un figo sull'Arsludicast."

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #22 il: Dicembre 01, 2010, 18:17:55 »



Poi, parliamone: quando riduco i tempi di sviluppo ad 1/3 ed elimino metà degli errori solo perché ho scelto una tecnologia, per me quello è un vantaggio.

Dipende dalle persone con le quali lavori e se sai valorizzare le loro skills (sempre tenendo conto che le abbiano chiaro)

Pensi sul serio che tutti i giochi schifosi, in passivo o che non funzionano bene su AppStore siano solo dovuti al fatto che la gente non è capace? Metterci tre giorni invece che tre ore ha una ripercussione anche sulla qualità di quello che fai, se il tempo non è infinito. Non a caso molti giochi veri e belli che sono su AppStore sono port fatti da J2ME, che è tutto dire :D

Quindi ora è java a fare belli i giochi? Diciamo piuttosto che è più facile fintanto che, citando monopoli, hai 4 gb di ram un processore quad core e la scheda video figadiddio con supporto dx11 e via andare.

Il discorso è questo: il gioco non è fatto dal linguaggio, il gioco è concepito da un game designer il quale chiede delle features a programmatori e grafici mentre progetta il gioco da farsi. Questi diranno, in base alla loro esperienza, skills, tempi di realizzazione, macchine obiettivo e quant'altro qual è la strada migliore per ottenere un dato risultato, cosa si può fare e cosa assolutamente no a partire dai requisiti dati.

Non c'è tanto da ragionar su per arrivare a capire che nel momento in cui ti spingi in ambienti quali dispositivi mobile e console, java lo prendi e gli dai un calcio perchè non puoi gestire quello che deve essere gestito in maniera ottimale.

Nel momento in cui sony, nintendo e microsoft stessa ci diranno che la strada migliore è java, allora gli sviluppatori di videogames, perchè di questo parliamo, migreranno li. Quando accadrà allora anche Monopoli probabilmente chiederà java ai colloqui.

No macché Java, era per dire che i giochi superiori alla media su AppStore spesso vengono da ambienti più maturi e produttivi, sviluppati su tecnologie e tool rodati, che ti lasciano spazio per divertirti ed essere creativo.

Cherno devi sapere di che parli però: J2ME gira con appena 32K di RAM e l'ultima volta che l'ho usato (5 anni fa) aveva dei tool per i giochi 3D paragonabili allo Unity di oggi (che infatti era nato come progetto open source ispirato a quelli). Ovviamente non con la stessa qualità. Un binario C# spesso ha bisogno di meno memoria di uno staticone C++ per una serie di ragioni che trovi scritte in un sacco di letteratura sulle virtual machine e sui sistemi operativi. Puoi verificarlo anche su MacOSX con Mono. Figurati su dispositivi con una VM hardware (non è il caso dei microcontrollori Apple). :D

La storiella del game designer, delle abilità è sbagliata in partenza per tutta una serie di ragioni. Le prime esigenze sono commerciali e le start-up o i progetti che davvero cambiano la vita a degli illustri sconosciuti da tempo non sono quasi più sviluppati a basso livello. Ci sarà un perché ed un percome ed è pure dimostrato scientificamente dall'ingegneria del software.

Il problema si riduce in: non lavoro in EA o Codemasters. Ho centomila euro ed un anno di tempo. Devo fare un bel gioco, con connettività online e tutto il resto. Lo faccio in C++ oppure magari in Flash, XNA, Unity o una tecnologia/middleware che mi garantisce meno rogne e lascia più spazio alle cose creative?

Avoja a dire la gente brava.. Se non ti bastano i soldi perché, a fare una semplice metrica ed una pianificazione di progetto, non ci sta dentro non ci sono cazzi. Puoi essere anche circondato da luminari ma quando una build va a puttane per una stringa sbagliata e perdi un giorno (e hai responsabilità diretta per quel giorno perso) le cose diventano tristi molto in fretta!

Gli asset e la parte creative sono un problema secondario e quasi invariante rispetto alla tecnologia che scegli. Qui il talento conta non ci stanno cazzi.

Per il tooling già sarebbe da parlarne... Non c'è cosa più inutile che perdere giorni a risolvere i bug di un tool che qualcuno ha voluto scrivere con wxWidget o Qt, invece di usare WPF.

In generale condivido il tuo ragionamento, che però non si basa su una visione d'insieme ma sul vantaggio soggettivo percepito (quello che conosco fa meno paura di quello che non conosco). Pensa quanto mi cago sotto io che ogni 6-8 mesi mi tocca fare pitch o inziare a lavorare su progetti o tecnologie praticamente ignote... La prima volta che ho messo mano su Ruby mi sono detto: "cazzo non ce la faremo mai", due mesi dopo avevamo un'efficienza che si era già ripagata il primo mese di lavoro dove sembrava di stare fermi.

Visual studio non si batte per il debugging. Dovresti vedere cosa fa con C#, una Xbox/WP7 e XNA! :D
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #23 il: Dicembre 01, 2010, 18:24:44 »

Questo perche' Java non e' in nessuna parte della pipeline di produzione. Per il gioco usiamo C++ e assembly, per i tool C#, per la roba in gioco LUA e per altre cose Python.
Quindi se nel CV ci metti che non sai il C++, purtroppo probabilmente non sarai nemmeno papabile per un colloquio.

Questo e' quanto :)
Non mi continuare la trollata su Java di Cherno, che ha fatto finta di essere stupido come al solito.

Quelli evidenziati, ad esempio son vecchiettismi. Bioware sul primo ME aveva risolto le scollature del loro pessimo sistema di scripting che è un wrapper di LUA integrando XNA ed usando lo scripting dinamico del C#, è più veloce (compila in nativo) funziona meglio, PARALLELIZZA ed ha una piattaforma nativa su Xbox.

LUA sicuramente è multipiatta e molto in voga, python funziona benino ma ad esempio è una merda quando lo devi scalare su più di un processore... e francamente ha una pessima gestione della sicurezza del codice: un errore di battitura può avere effetti devastanti e non sempre è facile da individuare.

Per il resto è chiaro (e pure ovvio) che Codemasters essendo una realtà consolidata lavora con ciò che ha.
Ma a guardarsi bene intorno, gran parte degli studi storici hanno ampiamente perso il treno dei giochi massivi ed un motivo ci sarà.
 
Ad ogni modo offerte interessanti nel gaming ci sono ormai praticamente per qualsiasi cosa (non per Java se si escludono le assunzioni d'oro fatte tre anni fa da Jagex). Su GI.biz da quando WP7 ha fatto il botto negli USA le richieste di XNAofili o Silverlightofili si sono moltiplicate. Se non mi piacesse così poco fare i giochi rispetto alla ricerca applicata e ai new media (e se mi pagassero altrettanto bene), un pensierino ce l'avrei fatto. :D

Così come vi stanno inziando adesso ai processi agili, con un decennio di ritardo anche voi godrete delle cose belle! :P
« Ultima modifica: Dicembre 01, 2010, 18:35:33 da Ziggybee »
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #24 il: Dicembre 01, 2010, 18:30:02 »

Comunque non la fate diventare una guerra a chi ha ragione e chi ha torto.
Si tratta di ambiti differenti, con differenti campi d'applicazione e potenzialità future (IMHO MS é chiaro dove vuole andare a parare).
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Cherno

  • Redazione
  • Hero Member
  • *****
  • Offline Offline
  • Post: 3.829
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #25 il: Dicembre 01, 2010, 18:35:33 »

Guarda Zero che qua a fare chi andava meglio a far cosa sei stato tu :asd:
Sei tu che stai puntando tutto il discorso sul linguaggio :boh2:

Inoltre ho palesemente scritto che dipende dall'ambito, dove lavoravo prima andava bene obj-c, dove sono ora usiamo c++.
Monopoli ha detto chiaramente che se non sai c++ in codemasters non ci lavori, ad esempio.

Quindi il discorso penso sia esaurito.

Cherno

  • Redazione
  • Hero Member
  • *****
  • Offline Offline
  • Post: 3.829
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #26 il: Dicembre 01, 2010, 18:39:58 »

E sticazzi? Nel senso che il mio post era per sostenere la causa del "dipende dagli scopi", ma a quanto pare quel pezzo di frase lo manchi sempre.

Seguendo questa linea di dialogo potrei fare un post con scritto

"Potrei lavorare all'amsa" :boh2:

Edit: sbaglio o c'era un post prima di questo?

Ziggybee

  • Administrator
  • Hero Member
  • *****
  • Offline Offline
  • Post: 8.383
  • Gamer Extraordinaire
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #27 il: Dicembre 01, 2010, 18:44:03 »

Guarda Zero che qua a fare chi andava meglio a far cosa sei stato tu :asd:

Si è vero.

Nell'ambito di Minecraft sono convintissimo che abbia fatto la differenza. L'idea era buona e le persona sicuramente abili ma senza una tecnologia all'altezza uno studio non professionale senza milioni di investimenti non lo avrebbe nemmeno inziata una cosa così complessa.

Anche perché si tratta di un gioco online, che è una cosa mooolto diversa da un gioco per console e molto più sensibile alla tecnologia impiegata.
Connesso
Matteo Anelli

Vazkor: "Altro che Apple TV"

Monopoli

  • Hero Member
  • *****
  • Offline Offline
  • Post: 4.296
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #28 il: Dicembre 01, 2010, 19:39:49 »

Questo perche' Java non e' in nessuna parte della pipeline di produzione. Per il gioco usiamo C++ e assembly, per i tool C#, per la roba in gioco LUA e per altre cose Python.
Quindi se nel CV ci metti che non sai il C++, purtroppo probabilmente non sarai nemmeno papabile per un colloquio.

Questo e' quanto :)
Non mi continuare la trollata su Java di Cherno, che ha fatto finta di essere stupido come al solito.

Quelli evidenziati, ad esempio son vecchiettismi. Bioware sul primo ME aveva risolto le scollature del loro pessimo sistema di scripting che è un wrapper di LUA integrando XNA ed usando lo scripting dinamico del C#, è più veloce (compila in nativo) funziona meglio, PARALLELIZZA ed ha una piattaforma nativa su Xbox.


Si ma capisci che per quello che ci facciamo con quei linguaggi mica ci serve parallelizzare e avere roba che compila nativa :) E Bioware il primo ME non l'ha fatto su PS3: dubito ci sia un interprete affidabile per PS3 di C# :D
Cioe': se vedessi gli script capiresti che avere una cosa che parallelizza e compila sarebbe uno spreco :) E python uguale: se vedessi per cosa lo usiamo, diresti che va bene.

Ma qui non mi metto a dire cosa e' bello o no: che mi frega a me? A me interessa dire quello che serve per entrare nell'industria davvero.
Ed il C++ fa parte di queste cose :) Gli altri linguaggi (a parte C# se fai i tools) sono accessori, si possono anche non sapere. LUA ad esempio ti serve solo se sei un designer. Io mica lo so LUA :D
Connesso
Il mio blog agghiacciante
http://monopoliano.blogspot.com
E' Uscito! Compra qui: http://itunes.apple.com/us/album/crystal/id461134607

"Monopoli hai la voce da frocio ma sei un figo sull'Arsludicast."

OniTakeda

  • Old Member
  • ****
  • Offline Offline
  • Post: 256
    • Mostra profilo
Re: [Blog] Takeda, Sun and Rain
« Risposta #29 il: Dicembre 01, 2010, 20:24:43 »

Non sono convinto che tutto sia partito dalla mia osservazone, ma ho imparato un bel po di cose in questo topic .;D
Tra l'altro ci tengo a precisare che il c++ ormai lo conosco, ma per cazzeggio personale preferisco di gran lunga java.
Imparato forse è una parola grossa, son riuscito a fare un classico pong  e uno shoot'em up abbastanza jurassico, giusto per intenderci.

Detto questo ancora son ancora all'anno 2 di 5 dell'uni e prima di iniziare a scrivere CV penso ne passerà acqua sotto i ponti, ma c++ mica non lo ce lo scriverei perchè mi sta antipatico, ne in un colloquio alla domanda parlami dite direi "C++ puzza". ::)
Connesso
 

Pagina creata in 0.026 secondi con 15 interrogazioni al database.