Introduzione a RunUO
Da Tomo della conoscenza - UOShards Wiki.
Contents |
La storia
Nel settembre 2002 Krrios, già autore di ModifyUO e del Krrios' Client, annuncia lo sviluppo di un nuovo emulatore. Il nome è RunUO e nel team di sviluppo compaiono, oltre a Krrios, i nomi di Ryan e Zippy, già ben noti nell'ambiente UOX (Ultima Offline eXperiment). RunUO nasce con obiettivi estremamente ambiziosi: offrire un nuovo livello di flessibilità, robustezza e professionalità al mondo dell'emulazione di Ultima Online.
Nel primo periodo di vita la crescita di RunUO procede con velocità senza precedenti: 2 o 3 nuove versioni ogni mese, ognuna in grado di introdurre parecchie decine di novità e miglioramenti. Grazie a questa rapidità e alla quasi totale assenza di bug, nei primi mesi del 2003 la comunità del sito www.runuo.com supera già in estensione quella di qualsiasi altro sito di un emulatore per Ultima Online.
Nel Marzo 2003 OSI introduce la nuova versione di Ultima Online - Age of Shadows, con sostanziali modifiche strutturali al gioco. RunUO dimostra di saper reggere egregiamente il ritmo imposto dall'Origin, implementando grossa parte delle novità nel giro di un mese.
Nei mesi successivi RunUO continua ad affinarsi e migliorarsi, aggiungendo le caratteristiche non ancora implementate e aggiornandosi continuamente con le nuove publish di OSI.
Attualmente RunUO è ancora in fase di beta. I passi verso una versione definitiva diminuiscono settimana dopo settimana, e il numero di appassionati che gioca su shard RunUO cresce costantemente a grande velocità.
Le caratteristiche
Sviluppato interamente in C#, RunUO si pone l'obiettivo di rispecchiare fedelmente le caratteristiche degli shard ufficiali OSI. Questa impostazione, oltre che largamente apprezzata da moltissimi giocatori, facilita la coordinazione fra staff e collaboratori offrendo un obiettivo comune da seguire.
RunUO si divide in due componenti: il core e gli script. Il core è closed-source ed è rappresentato fisicamente dal file eseguibile RunUO.exe. Nel core sono implementate esclusivamente alcune caratteristiche di base, lasciando quindi il grosso delle funzionalità agli script (che a livello di dimensioni sono circa 5 volte maggiori del core). Gli script sono scritti anch'essi in C#, e vengono ricompilati automaticamente ad ogni riavvio del server. Via script è possibile interfacciarsi sia a problematiche di alto livello (come per esempio la gestione degli spawn), sia a livello anche molto basso (come la gestione del network o sistemi di criptaggio/decriptaggio dei pacchetti). In questo modo è realizzata nella pratica quell'idea di flessibilità su cui si basa tutto il design dell'emulatore (ed è quindi anche possibile allontanarsi parecchio dall'idea di OSI-Style proposta da RunUO di base).
Il C#
Non si può parlare di C# (C-Sharp) senza introdurre il .Net Framework. Sviluppato da Microsoft e annunciato per la prima volta nell'estate del 2000, il .Net Framework è senza dubbio la tecnologia base su cui sta puntando maggiormente la casa di Redmond (e che con ottime probabilità diventerà ben presto multipiattaforma). Questa tecnologia è in realtà composta da due elementi: il Common Language Runtime (CLR), che è un runtime in grado di semplificare e potenziare l'affidabilità in molti aspetti che nella programmazione tradizionale dovevano essere gestiti manualmente (come per esempio la gestione della memoria), e la libreria delle classi, che offre un notevole aumento della produttività grazie alla possibilità di riutilizzare funzioni già scritte per la risoluzione dei problemi più comuni.
Sebbene il .Net Framework sia un ambiente multi-linguaggio, il C# è sicuramente il linguaggio che lo rappresenta in maniera migliore. Presentato come un'evoluzione del C++, in realtà assomiglia molto da vicino al Java, da cui importa buona parte dell'impostazione.
Parte delle motivazioni dietro alla rapida evoluzione e alle grandi potenzialità di RunUO derivano sicuramente dallo sviluppo in ambiente .Net.
Da dove iniziare
Il sito ufficiale di RunUO è www.runuo.com.
Il sito ufficiale del C# è msdn.microsoft.com/vcsharp.
Un ambiente di sviluppo gratuito per il C# (SharpDevelop) lo trovate qui: sourceforge.net/projects/sharpdevelop.
Articolo originale a cura di Phenos raggiungibile qui

