Newsgroup: it.comp.programmare
Titolo: Un consiglio

ciao a tutti, sto sviluppando insieme ad alcuni amici un progetto: un
mmorpg online, ma non so quale sia il linguaggio di programmazione più
adatto (al momento siamo sprovvisti di un programmatore). Quindi volevo
un consiglio, così da poter ricercare un programmatore con competenze
specifiche.
Il programma per il mmorpg dovrà essere in funzione 24/24 ore, gestire
una mappa su cui clickare con il mouse, più altri bottoni a cui
associare diverse funzioni. Il numero di questi bottoni per ogni pagina
dovrà essere dinamico, in modo da diminuire o aumentare a seconda
delle situazioni. Inoltre dovranno essere supportate immagini di vario
tipo, ed altri programmi che simuleranno giochi d'abilità o altro,
lavorando al contempo anche con l'html.
Considerando anche la necessaria leggerezza visto che si tratta di un
gioco online, cosa mi consigliate? è meglio che mi rivolga
direttamente alla nasa??? :)
grazie, 
daniel

 direttamente alla nasa??? :)
Per "necessaria leggerezza" penso intendi che il collo di bottiglia e' 
la larghezza di banda del server, non tanto la memoria o la CPU occupata 
su client o su server ne' la larghezza di banda dei client.
Per minimizzare la larghezza di banda del server occorre che il 
protocollo di comunicazione tra client e server sia ottimizzato, in modo 
da inviare ai client solo le informazioni strettamente necessarie.
A tale scopo, sconsiglierei di usare il protocollo http (quello del 
Web), in quanto non e' molto ottimizzato, bensi' ritengo opportuno 
adottare un protocollo dedicato, che si puo' ottenere solamente 
sviluppando appositamente sia il lato client che il lato server 
dell'applicazione.
Lo svantaggio e' che per utilizzare l'applicazione si deve avere un 
apposito programma in esecuzione sul client e non un semplice browser Web.
Per sviluppare applicazioni client/server multipiattaforma con 
protocollo dedicato il linguaggio piu' usato credo che sia Java (da non 
confondersi non JavaScript).
Quindi una possibile soluzione e' sviluppare un programma client grafico 
e un programma server non grafico, entrambi scritti in Java.
Il programma client puo' presentarsi sotto forma di applet per essere 
eeguito senza bisogno di installazione, oppure puo' essere installato 
tramite WebStart.
I due programmi possono comunicare tramite la tecnica RMI (Remote Method 
Invocation), che permette a un unico server di rispondere a piu' client.
Il programmatore del lato client deve essere esperto di programmazione 
grafica in Java, mentre il programmatore del lato server deve essere 
esperto di programmazione RMI e di multithreading in Java.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

Gentilissimo carlo, proprio le dritte che cercavo =)

 euro in ogni caso  ci devi investire :)
Non mi sembrava che i requisiti parlassero di grafica "pesante" ne' di 
grafica 3D.
D'altra parte l'uso di C o C++ complica non poco la comunicazione e 
rende il programma non immediatamente portabile, in quanto richiede la 
ricompilazione.
Comunque se e' richiesta della grafica 3D, ho visto che l'Irrlicht 
Engine ha anche il binding per Java.
E poi tutto dipende da quanto vogliono investire in risorse umane.


Io in realtà pensavo a qualcosa di non motlo pesante in termini di
grafica. L'idea era di mettere il gioco online, ma di poterci
tranquillamente giocare senza scaricare nessun tipo di software.
Registri un personaggio e via, semplice e veloce.
La grafica si dovrebbe limitare a qualche immagine, anche ad alta
definizione, e magari qualcosa di animato. Con la possibilità di
togliere/mettere opzioni grafiche da un menù apposito, personalizzato
x ogni utente.

dani...@email.it
 wrote:

Confermo la validita' di Java.
Per non installare niente, il lato clinet deve essere uan applet.
Anche l'applet viene ovviamente scaricata, ma automaticamente.
Per le immegini consiglio il formato JPEG se di tipo fotografico, ossia 
sfumate, o di formato PNG se di tipo grafico, ossia con i contorni 
nitidi e i colori uniformi.
Per velocizzare il lancio del gioco, le immagini dovrebbero essere 
scaricate durante il gioco tramite RMI. Solo quelle piu' piccole (le 
icone) possono essere incorporate nel JAR dell'applet.
Le applet non usano il menu a tendina della finestra principale del 
browser, ma possono avere menu popup.
