Ultima Online Server

Ultima Online Server

Postby jdc » 30 Sep 2022, 14:16

Ultima Online server

hi

The game is one of the most popular games since all times, if not the number one game. Why attempt to build a concept from scratch when you have one concept that works and is open source?

The objective is to building a Ultima Online server but instead of using oficial code in C# convert it to C. The game become open source in 2000's and something but the C# code is not that much efficient. I remember playing like width 50 players was good width 100 p. ok and width 200 we already lag a lot. And in general the game was very slow.

The admins of this forum posted the "Raylib" a pure C lib on the new forum, and in here we have a beanch mark test it is incredibly fast : https://www.youtube.com/watch?v=QO4zLdAWJsw

The game is still growing in 2020 in here you can see some of it's stuff and also to see it lags a bit is not to much fluid: https://www.youtube.com/watch?v=frqm2j_M18E

A good starting point for people who whant to learn C and do something that can be usefull.

Start to play the game in 1991, 3 years after the game came out. played in many servers and have a few ideias how to improve it. A new concept for the PVP system which is bit outdated compared width new things like League of Legends. In the game you have a pure steal system when you die which can cause a bit of stress to players because when you go in to a dungeon you are always afraid of being attacked and robed. Some ppl like it but something more RPG for the fights could balance the game. Played it a lot and know is very stressfull...

The work to be done:

- convert it to C raylib since the game is only 2D is not that much work in therms of the 3D stuff which is a bit more complicated.

- Main stuff is more in programming since we already have the concept done and media done (sounds, effects, tiles, etc...)

- Update the tiles, some tiles just need a bit work are a bit to outdated others are good people develope many stuff throw out the years that have been open source wdith a bit of luck we can found a good set of ones to updated the raw stuff.

Think is a fun usefull project to have and learn something., post your thoughts.
jdc
 
Posts: 150
Joined: 29 Jun 2017, 16:48

Re: Ultima Online Server

Postby Julius » 30 Sep 2022, 17:17

Can you link to the source code please? What license is it under?
User avatar
Julius
Community Moderator
 
Posts: 3306
Joined: 06 Dec 2009, 14:02

Re: Ultima Online Server

Postby bzt » 01 Oct 2022, 09:13

Noble goal, but I have a few notes.
jdc {l Wrote}:The objective is to building a Ultima Online server but instead of using oficial code in C# convert it to C. The game become open source in 2000's and something but the C# code is not that much efficient.
It's highly unlikely that it was written in C# in 2000 considering the first version of C# was released in 2002. Also it was never licensed open source, (a later version, not the original) source leaked, you can find that and some of the FOSS rewrites here. You can't use that legally, but you can learn from that to write your own code (a lot of people have already done that, there are lots of FOSS rewrites already).

jdc {l Wrote}:The admins of this forum posted the "Raylib" a pure C lib on the new forum, and in here we have a beanch mark test it is incredibly fast
Not the admins, I did, I posted about raylib. And yes, it is indeed incredibly fast. But you say the game became laggy after a lot of a people joined, so my guess is making the client faster won't do any good, as that wasn't the bottleneck, the server was.

jdc {l Wrote}:A good starting point for people who whant to learn C and do something that can be usefull.
Not so sure about that. As someone who has contributed to raylib and has deep knowledge about it, I definitely recommend to start with something simpler. The raylib philosophy is, it does not take your hand and restrict you to some high-level interface. It does not stop you to do whatever you want, which also means you have to be knowing what you're doing. It's for the pros.

jdc {l Wrote}:- convert it to C raylib since the game is only 2D is not that much work in therms of the 3D stuff which is a bit more complicated.
Also, you won't need any of the features raylib provides for the server. For that all you need is bsd sockets, preferably with some event poll mechanism plus pthreads and not with fd select plus fork. Otherwise yes, rewriting the server in C like that would give it a huge performance boost. Wouldn't influence the clients though.

jdc {l Wrote}:- Main stuff is more in programming since we already have the concept done and media done (sounds, effects, tiles, etc...)
Are you sure about that? I don't think those are licensed under a FOSS license. But you can always say, "go buy the original game and copy the data files over". That works, you just can't legally ship the assets.

Cheers,
bzt
User avatar
bzt
 
Posts: 332
Joined: 23 May 2021, 21:46

Re: Ultima Online Server

Postby drummyfish » 01 Oct 2022, 12:59

Yeah I feel like what bzt is saying. Ultima released as FOSS? Server in raylib? Also the text HURTHS to read.

I don't wanna be bashing but we need some links to sources etc., otherwise this seems pretty "sus"? :shock:
User avatar
drummyfish
 
Posts: 448
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Ultima Online Server

Postby leilei » 02 Oct 2022, 02:56

UOX was a thing for 24+ years.

The OP reeks of GPT...
User avatar
leilei
 
Posts: 154
Joined: 03 Apr 2012, 02:53

Re: Ultima Online Server

Postby PeterX » 02 Oct 2022, 16:53

UO means Ultima Online but UOX means what?

UO was and imho still is cool. What be really cool to have it libre.

No matter if the OP was paid (I doubt it) or not he/she is writing remarkably wrong statements. I wonder where he/she got all the wrong infos from.

Greetings
Peter
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Re: Ultima Online Server

Postby jdc » 02 Oct 2022, 16:56

You sure about the license?

It is on Github just search for Ultima Online

https://github.com/search?q=ultima+online

Not going to go full development on this, is just something for the community if i found more people will do some stuff. I already have my hands full in the project of the box. Like my field of expertise is more the design of features, is not full knowledge on all stuff about games... Think this guy that posted this C library for physics is my type of project that i'm interested. People that have some field of expertise and share it.

Think at least the server to play the game is open source is posted there!

Maybe people are moving from sphere script which is the original think behind the server in to C#, it could be a bit better in therms of lags. Like maybe in a oficial server will not lag, but this is just for costume servers need something a bit better.

If the game is not open source think is still possible what that will cost to people 10 euros for a 30 years game? If not already many people have the game license.

ps : It seems we need to get some form o data using some mull tools : https://fileinfo.com/extension/mul , from there probably need a re-writte in some stuff. Maybe change the mul extension to simple packages, it says in the article this stuff is very outdated. But is easy to writte a program to make this type of updates, just : if (image) go here, if script ...etc...

if any one have the server capability to put the C# version online we could test it...
Last edited by jdc on 02 Oct 2022, 17:35, edited 4 times in total.
jdc
 
Posts: 150
Joined: 29 Jun 2017, 16:48

Re: Ultima Online Server

Postby PeterX » 02 Oct 2022, 17:09

Thanks @jdc!

Searching github for "ultima online server" produces even better results. And now I know what UOX means.

Edit: "I don't have the time but could someone develop/host this" normally doesn't work. I'm just saying... But perhaps someone will host it anyway.

Greetings
Peter
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Re: Ultima Online Server

Postby jdc » 13 Oct 2022, 13:14

Isometric

Looking in to Open Game Art tiles and uo tiles are not isometric. Actually the isometric angle in a game looks wierd.
Attachments
ultima-online-iso.jpg
jdc
 
Posts: 150
Joined: 29 Jun 2017, 16:48

Re: Ultima Online Server

Postby bzt » 13 Oct 2022, 13:35

jdc {l Wrote}:Looking in to Open Game Art tiles and uo tiles are not isometric. Actually the isometric angle in a game looks wierd.
Actually, this is the real isometric view, where all angles are 120°. But you're right, it looks weird, that's why in video games a distorted variant is more often used (should be called dimetric and not isometric, where you rotate the object first 45° around the XY plane and then 30° around the X axis), because that produces a 2:1 pixel ratio which looks much nicer on computer screens. Read more.

Cheers,
bzt
User avatar
bzt
 
Posts: 332
Joined: 23 May 2021, 21:46

Re: Ultima Online Server

Postby jdc » 17 Oct 2022, 17:00

Think i will go foward with this at least until im tired lol.

Whent to open Game art and get a bunch of tiles. Mount them to see what kind of looks could i get. If we have any candidates to due the basic stuff in Ray Lib, that will be nice. No plans to go to make online version, will do it just for fun, start width something simple. Just to have it working no big plans...

What else can i say, i have som much experience in design games and things and width ultima online play That i re-designed Ultima Online very quickly. Have the designed document almost ready. In my curriculum is 10 design of games now, a couple of attempts width developing them width propertary engines which failed due to old hardware.
Attachments
p1.jpg
jdc
 
Posts: 150
Joined: 29 Jun 2017, 16:48

Re: Ultima Online Server

Postby bzt » 18 Oct 2022, 07:42

jdc {l Wrote}:Whent to open Game art and get a bunch of tiles. Mount them to see what kind of looks could i get.
Yep, you can't use OGA assets like that. It is not a collection of Free and Open assets as the name suggests, rather it's just a "hire me" advertisement platform with lots of half-ready stuff.

First, not all OGA contents are compatible with each other. You have used assets with different pixel ratio and projection, that's not going to work (and looking very very ugly, see how that white hut on the left and the stone road misaligned). The castle stands out too, if you really want to mix isometric tiles with orthographic ones, then you must use a hexagonal grid, which is a lot more difficult than isometric alone (possible, but hard and has some very serious limitations). I'd recommend to stick to isometric only.

Second, OGA assets are not usable in a game as-is. Think of them as raw images which need to be further processed by an expert designer. You must harmonize the color palettes for example, use one palette for the environment (terrain tiles, objects, etc. everything that's static), preferably with mostly pastel colors; and another palette for the units (hero, enemies, everything that the player can interact with), preferably with more vibrant colors, so that they stand out from the environment. You also have to resize them correctly, so that they appear on the same scale (look how the skeleton warrior and the bee are much taller than the house).

My suggestion is, search only for Flare and Flare-compatible assets. They are looking good and guaranteed to work together, but there's a catch, the number of available assets is pretty limited.

jdc {l Wrote}:If we have any candidates to due the basic stuff in Ray Lib, that will be nice.
There's none. Raylib is just a library, it does not help you with the assets, but in return it does not limit you either.

Cheers,
bzt
User avatar
bzt
 
Posts: 332
Joined: 23 May 2021, 21:46

Re: Ultima Online Server

Postby Granite » 18 Oct 2022, 17:56

whats this

edit: Final warning by moderator: stop spamming threads like this
i have a youtube channel
called "The Supa Ducky"!!!

link to my channel:
https://www.youtube.com/channel/UCcqDi5 ... zEkDp9mn1w
User avatar
Granite
 
Posts: 26
Joined: 03 Oct 2022, 20:16

Who is online

Users browsing this forum: No registered users and 1 guest