Poplicola
Sorceror
Open source XNA Ultima Online client
I played Ultima Online my first semester in college. It was a lot of fun, although I remember struggling with the interface. Now I'm working on my own Ultima Online client, both as a hobby and in a attempt to implement a better interface for the classic UO client. I've been coding this up for the past month and a half, and now I'm releasing the code as open source.
I've used code from xWinFormsLib, UltimaSDK, and Chase.XNA's map renderer in this client. Being able to use this code so I didn't have to start entirely from scratch saved me a lot of time, so thanks to Chase.XNA and the developers of UltimaSDK and xWinFormsLib.
Visit UltimaXNA @ Google Code to download the latest revisions from the SVN and upload your edits
UltimaXNA @ Google Code
So, what can you do?
You can log in to a server on a local machine, walk around, see NPC's walking around and animating... and that's about it. Considering how much is going on beneath the hood, that's pretty impressive.
If you want to add on to the engine, extend it or optimize it, you're welcome to do so! I only ask that you share your additions so that I don't end up recoding what someone else has already done.
A word of warning!
This is my first C#/XNA project ever, so the code may not follow best conventions for the language. It is also somewhat messy and poorly commented in places. I'll try to amend this in future releases. But don't let this stop you from diving in and having fun with it!
The client does not handle every single message that the server might send - so beware using this in a production environment, it might drop crucial packets. It works just fine on a fresh-out-of-the-zip-folder distribution of RunUO 2.0.
An issue which might crop up is a missing reference to the xWinFormsLib dll. If this happens to you, simply add the /bin/Debug/xWinFormsLib.dll library as a reference in the solution explorer.
You will need to change the Username and Password variables in the Engine.cs file to log in to your server. The client currently attempts to log in to a server on Localhost, so if you're attempting to log in to a remote server, you'll need to change the appropriate string further down in Engine.cs.
Have fun and let me know what you think!
I played Ultima Online my first semester in college. It was a lot of fun, although I remember struggling with the interface. Now I'm working on my own Ultima Online client, both as a hobby and in a attempt to implement a better interface for the classic UO client. I've been coding this up for the past month and a half, and now I'm releasing the code as open source.
I've used code from xWinFormsLib, UltimaSDK, and Chase.XNA's map renderer in this client. Being able to use this code so I didn't have to start entirely from scratch saved me a lot of time, so thanks to Chase.XNA and the developers of UltimaSDK and xWinFormsLib.
Visit UltimaXNA @ Google Code to download the latest revisions from the SVN and upload your edits
UltimaXNA @ Google Code
So, what can you do?
You can log in to a server on a local machine, walk around, see NPC's walking around and animating... and that's about it. Considering how much is going on beneath the hood, that's pretty impressive.
If you want to add on to the engine, extend it or optimize it, you're welcome to do so! I only ask that you share your additions so that I don't end up recoding what someone else has already done.
A word of warning!
This is my first C#/XNA project ever, so the code may not follow best conventions for the language. It is also somewhat messy and poorly commented in places. I'll try to amend this in future releases. But don't let this stop you from diving in and having fun with it!
The client does not handle every single message that the server might send - so beware using this in a production environment, it might drop crucial packets. It works just fine on a fresh-out-of-the-zip-folder distribution of RunUO 2.0.
An issue which might crop up is a missing reference to the xWinFormsLib dll. If this happens to you, simply add the /bin/Debug/xWinFormsLib.dll library as a reference in the solution explorer.
You will need to change the Username and Password variables in the Engine.cs file to log in to your server. The client currently attempts to log in to a server on Localhost, so if you're attempting to log in to a remote server, you'll need to change the appropriate string further down in Engine.cs.
Have fun and let me know what you think!