La maggior parte degli MMO in questi giorni ha fatto qualcosa di importante sul lato server, per motivi di sicurezza. Non è possibile scaricare molto sul client, motivo per cui una delle prime cose assecondate sono le routine AI. Penso che la maggior parte degli sviluppatori consideri il lato client come hackerabile come una regola, non un'eccezione.
Badify di Scalify ( http://www.scalify.com/badumna.php ) tenta di scaricare parte di esso sui client in quanto avranno i calcoli eseguiti sul lato client e inviati l'un l'altro; alcuni dati vengono inoltre inviati a un peer autorevole per essere convalidati prima di essere passati ai client, proprio come un server dedicato. Il problema è che TUTTI i dati in una partita multiplayer DEVONO essere inviati attraverso un pari autorevole se si desidera evitare l'inganno. Ho cresciuto Badumna perché mi sembrava il più vicino a ciò che potevi desiderare, ma anche quello non sarebbe stato in grado di catturare gli imbroglioni - potrebbe catturarne alcuni, ma qualsiasi cosa critica (cioè tutto, praticamente) deve essere fatta server- lato.
Potrei espanderne un po 'su Badumna, perché potrebbe essere comunque qualcosa che troverai utile (ma ti esorto a riconsiderare lo scaricamento di qualsiasi cosa importante sui client, perché i client tradiranno).
Badumna offre un'architettura ibrida per le operazioni sui dati. Fornisce il controllo completo allo sviluppatore nel decidere cosa è critico (e deve essere verificato) e cosa non lo è (e quindi può essere inviato dalla rete decentralizzata).
Se un MMO richiede che ogni singolo bit di informazioni debba essere verificato, Badumna funzionerà come una soluzione client-server. Tuttavia, credo che ci siano diverse categorie di applicazioni MMO con requisiti diversi. Ad esempio, abbastanza spesso un MMO avrà zone di combattimento in cui è probabile che i giocatori imbrogliano e quindi ogni bit di informazione deve essere verificato. Tuttavia, ci sono anche zone in cui i giocatori possono solo camminare / correre / ballare / chattare. Tali zone non richiedono una verifica completa e possono utilizzare la rete decentralizzata di Badumna e trarre vantaggio dalla scalabilità che può offrire.
In secondo luogo, Badumna fornisce funzionalità di sicurezza aggiuntive a cui gli sviluppatori possono accedere come la protezione dell'identità (in modo che gli utenti non possano fingere di essere qualcun altro), proxy dei reclami (che consente ai client di essere configurati per segnalare giocatori malintenzionati / imbroglioni a una fonte attendibile) e una lista nera (vietando ai giocatori malintenzionati di giocare).
Non ho esplorato così tanto Badumna, quindi potrebbero esserci problemi e caratteristiche di cui non sono a conoscenza, ma almeno ho dato un'occhiata superficiale.
tl; dr: il client dovrebbe davvero essere solo una tastiera e un mouse collegati a Internet.