Ultima Odyssey

Ultima Odyssey 2020-06-23

No permission to download

Djeryv

Squire
Djeryv submitted a new resource:

Ultima Odyssey - A Single or Multi Player Adventure Game

Ultima Odyssey is a single or multi-player adventure game that takes place in an alternate Ultima universe, shortly after the events of Ultima III: Exodus. You can create a character that tries to make their way through the many worlds. You will have to find a way to feed yourself, and acquire equipment to explore your way around. Everything you need to know can be learned within the virtual environment. Knowledge can be acquired by talking to the citizens of the land, or you may find a book...

Read more about this resource...

The dev I passed it to had an issue with their blog and Google to the point where they decided to cease work. I am not going to go into the details of this "issue" here but I am not that timid...so since he is out of the picture I am putting it back up here. Like I said in the past, I didn't want the game to go away. Feels like the Godfather III where I get pulled back in. I took some of his ideas, however, and put them into the overall package. I liked how he did the client files as it seems to make updates much easier where one just needs to worry about the "Files" directory in the process. I removed his game label from the system and put it back to Ultima Odyssey because...I like it. I took a lead from his server folder layout as it seemed less intimidating to people that are not into emulation work. I redid the manual without his label and I left out much of my ramblings like he did.

I added pop up boxes to the Bard's Tale quest areas so it will throw certain pieces of information into the player's face. This is a little bit of hand holding that I hope makes the quest a bit more newer-gamer-friendly. The one thing I love...love...love, is the Jedi sub class he put together! I made the Syth class for "fun" and to do the genre-mashing I like a little bit of like in Expedition to the Barrier Peaks. I changed Sith to Syth for a differentiator, but he couldn't really do anything for "Jedi" so I left it be just that. I couldn't think of anything that just didn't look weird. Take that Disney! Anyway, it is pretty identical to the Syth path expect you need a bit more karma to pursue it where Syth simply need a negative karma.

I fixed his code for server saves and kept the settings.xml concept because I have that in the INFO folder and it saves a copy with each server backup (along with the rest of the INFO folder contents). So that is a nice addition to disaster recovery. Anyway...sorry the new dev idea didn't work out. I tried.

1592943666729.png

1592943675091.png

1592943681479.png
 
Last edited:

Djeryv

Squire
I don't include Razor in the client as it generally isn't needed anymore by many players since ClassicUO covers many of the areas on its own. If you do want to get it though, this is the website for it:


Here is an example of me pointing Razor in my settings.json file...as I put a "Razor" folder right in my "Game" folder where Razor.exe is. Make sure to copy a Cliloc.enu file into that same folder because Razor needs it. ClassicUO wants to look for these things in the "Plugins" folder but I have it in the "Game" directory instead...hence the "..\\..\\" prefix.

"plugins" : [
"..\\..\\Razor\\Razor.exe"
]
 
Thanks for keeping the project going, Djeryv, and for sharing the latest version!
I would like to suggest a few minor fixes, if you don't mind.

I got a NumberFormatException crash on the game loading process when loading settings.xml. After examining the scripts, I found out that the file is not loaded in a culture-neutral way, which causes issues when your locale is set to something that uses a different floating point number delimiter (e.g. in my locale, we use a comma instead of a period). It's very easy to fix this, by editing Settings.cs and replacing all instances of Convert.ToDouble with XmlConvert.ToDouble, which converts in a culture-independent way. I'm attaching my version of Settings.cs that works crashless on my system.

Also, I noticed that the Fountain of Life house add-on doesn't work properly, it uses gump ID 0x484 in the scripts, but that is taken by a spell icon in Odyssey, which causes the add-on to fail to work (you can drop in the bandage, but you can't take out the enhanced bandages). I don't know what gump it was originally used with, but I tried various options (among them 0x11A and 0x11B) and at least on my setup, I currently settled on 0x11A, which looks interesting but doesn't quite seem to match the original intention, I believe. At any rate, thought you may want to know about this so that you can potentially implement some kind of an appropriate fix on your side.

The third note is only for those who are running on Mono - I'd like to say that the latest version of Odyssey compiles and works well on Linux running Mono, but just like with other versions of RunUO 2.x, you would need to make an alteration to ScriptCompiler.cs under Data/Source and recompile before the game works out of the box (otherwise it'll error out trying to find scripts). Change line 234 to read this way:
C#:
                CompilerResults results = provider.CompileAssemblyFromFile( parms, files );
I have no idea if this may have any unwanted side effects on platforms other than Mono (e.g. .NET Framework), so I don't know if I would recommend this as a global change for all systems or not :/
At any rate, Odyssey compiles clean on Linux with the latest upstream Mono using this command (run from the Data/Server folder):
mcs -optimize+ -unsafe -t:exe -out:Odyssey.exe -nowarn:219,414 -d:NEWTIMERS -d:NEWPARENT -d:MONO -reference:System.Drawing -recurse:./*.cs

I hope this ends up being helpful for someone :)
 

Attachments

  • Settings.cs
    25.7 KB · Views: 4

Tukaram

Rookie
How much admin control do we have to the package? Can we still add a 'custom' folder for other scripts? Are there compatibility issues with ServUO scripts?
~Edit~ I am, of course, downloading this as I ask ha ha
 

Djeryv

Squire
I'm attaching my version of Settings.cs that works crashless on my system.
I am new to XML parsing in C so I will use your info because it compiles just fine for me as well. Many of these changes (especially the new settings.xml file) is a goal to make Odyssey more approachable to non-techy players of the game. There have been far too many questions raised by these folks and it is just a reminder that many people ONLY know how to install a game and then click an icon to run it. Anything beyond that is a mystery to them. So if I have a directory structure that looks less intimidating, and remove some console messages that make them freak out (like the cleanup of 1,000 items freaks people out), then maybe I can get rid of some of the fear. Along with that, I buried alot of stuff in the DATA folder just to get it out of the player's face. When they unzip it and only see this...

1593002511242.png

...it looks less scary. They would know (from the manual) that their saved game is the SAVES and INFO folders and the DATA folder has the info that makes the game run. They will have a BACKUPS folder later but that is explained in the manual as well. If a new player downloads this and just runs ODYSSEY.EXE, then they should literally be all set.
Also, I noticed that the Fountain of Life house add-on doesn't work properly.
I can fix this...perhaps today.
 
Yeah, definitely a good call! I noticed that the new package is definitely very easy to get going from the grounds up, with pretty much no configuration necessary (or folder hassle).
 

Djeryv

Squire
Also, I noticed that the Fountain of Life house add-on doesn't work properly.
I have this fixed in my version, but I think I want to wait until Friday to release an update. I would like to add a bit of meat to it because an update to a fountain seems a bit weak since it requires a client update as well as a server update.
 

Djeryv

Squire
Both client and server were updated.

Set Jedi to only require >=0 karma so when they make a laser sword they can still be a Jedi.

Fixed the fountain of life.

Fixed the reading of the settings.xml file.

There is a new setting at the bottom of the settings.xml file for new mounts and mount appearances (see last 2 images as examples).
-It takes advantage of the ClassicUO client capabilities to allow for mounts to appear as they are before being ridden.
-So an elder black bear will look the same when riding it...as an example.
-Before it would change to a different appearance due to the limitations of the original client.
-This also let me add more mount options to the game like manticores, pandas, zebras, basilisks, tigers, and axebeaks.
-This option only exists in case I need to introduce the original client back into availability.

There is a new setting at the bottom of the settings.xml file for dismounting when entering buildings (see first image as an example).
-Defaulted to true, a character will dismount when they enter a building and mount the steed again when they leave.
-Unlike "no mount" regions like dungeons, public regions (bank, inn, etc) and such, this does not affect magical effects that make you run fast.

When using "no mount" regions and buildings, virtual/ethereal mounts will automatically remount just as creature mounts do (see first image as an example).

mounts.gif

dragyns.gif

bears.gif

@CaptMyron you got your "no horses allowed" buildings.
 
Last edited:

rhasce

Citizen
Am I wrong but it seems that to update it is way easier correct? all you do is copy the Info and Saves folders correct?
 

Djeryv

Squire
Am I wrong but it seems that to update it is way easier correct? all you do is copy the Info and Saves folders correct?
I am trying to make everything easier, but I don't know if I am successful until a novice gets their hands on it. The 2 folders you grabbed are essential to keep, where I also suggest the BACKUPS folder but that isn't detrimental if you don't grab it. If I mention that I added new settings to the settings.xml file (and you changed yours to be different) then you have to look at my updated one and add the new settings to yours. This recent update has 2 new settings I added.
 
I wanted to point out a couple things that may be bugs.

I notice that creatures sometimes retain their "fast follow" after being release. I shoot at a released creature with an arrow, and it becomes the fastest member of it's species.

Also, I just upgraded to the latest commit, so this next one may have changed: I used to get a ton of Night Sight items, but the property would not take effect when the item was equipped. I'd say about 1/2 or more of the night sight items I've found did not actually grant Night Sight.

Thanks Djeryv for the game!
 

Djeryv

Squire
Also, I just upgraded to the latest commit, so this next one may have changed: I used to get a ton of Night Sight items, but the property would not take effect when the item was equipped. I'd say about 1/2 or more of the night sight items I've found did not actually grant Night Sight.
Are you absolutely sure about this. Quite awhile ago, I changed how the light level system works in regards to day and night. The issue I was having is that different worlds had different light levels at different times. I know this is to simulate the sun rising and setting, but it didn't fit my world design. So for example, the pirate/dock island in Sosaria is all the way to the west...but the inner part of that town is all the way on the right of the map. If you went between docks and town the light level would change suddenly and it looks odd. So I made a global day/night light level setup for the entire game so I don't have this issue anymore and it makes map linking and such much better looking.

During this time, I also changed the night sight property to only go into effect if the light level is < 13. This is to give night sight effective in dungeons still, but give the night time (or inside the tavern and such) the ambient light look no matter what because they are those areas are light level 20 (which is the full night time level). So the difference between 13 and 20 is not very significant...but dungeons and caves are 28 which is where you would notice a difference. I wasn't trying to make night sight useless, as I think 13 does just fine. I was trying to make it so the world looked better with lanterns, lamps, and torches being lit up where before all of that goes away because night sight just blazed it all up to max pretty much. If I am in a dungeon, and my night sight is level 13 instead of 28, I can function normally where having it really, really dark is a pain in the ass as intended where you better have a light source.

I will wait to hear back from you before issuing any fixes.
 

Finaltwist

Squire
Love the lighting fixes djeryv - i don't know if you'd be willing to indicate where the change needs to be done? Would happily copy this change as its a good one.

On a side note, id like to point out that characters tend not to trigger any traps once stats are maxed and detect hidden/remove trap are over 90. ITs a shame since the hidden traps are an amazing addition to the game. So what we did was to change the remove trap skillcheck (was 0 min, 125 max) and randomized the min value. doing this meant that some traps would have a minimum disarm value, thus making it harder for characters to simply negate the trap.

Also, in the theme of lighting, having traps completely hidden was a little tricky, since no one would know where to use detect hidden or remove trap. we thought about adding a very small footprint item that would be hard to see, but then players can simply ctrl-shift and see them easily that way. so instead, we changed the itemid of the traps to 0x1647 and added a " Light = LightType.Circle150;" in the constructable. now hidden traps emit a soft light which players can pay attention to in order to maybe see where the traps are. Also, this is made harder by the use of nightsight and "alternative lights" in the client.

cheers and thanks for the continuous work on this game!
 

Djeryv

Squire
Light levels were changed quite awhile ago, but we have yet to determine if there is an issue that @submarine408 mentioned. I don't notice one when I play.

Walking over traps does a passive check for skills, luck, or saves so players don't have to actively use the skill when they walk directly over it. They only need to use the skill if they want to know if a trap is near them. There is no visual indicator for hidden traps because they are "hidden".

Hidden traps already do a 125 check, but I saw another spot that could use the increase so I did that as well to make a powerscroll more worthwhile.
 

JesusMcCoy

Citizen
Found a thing. One of my players was asking about the various damage bonuses. When I was checking out BaseWeapon.cs, line 2337 references armslore for the ninja bonus.

Second thing. Can someone confirm if we've been abusing the Codex by taking an additional 100 skill in a skill we have 100-120 in already. Going to test this over the weekend, but I think I can get over 100% chance to block with parry/bushido. With Hiding, the sneak attack bonuses are off the charts. I guess I'm asking if a player should be blocked from learning a skill from the Codex, if they already have X amount of real skill for that skill.

Edit: Or maybe the player receives the greater of their natural skill vs. Codex
 
Last edited:

Tukaram

Rookie
During this time, I also changed the night sight property to only go into effect if the light level is < 13. This is to give night sight effective in dungeons still, but give the night time (or inside the tavern and such) the ambient light look no matter what because they are those areas are light level 20 (which is the full night time level).
Oh, that explains why none of my night sight items seem to work. Where would I fix the light level? It is too dark for me to see in the buildings or around town. (I have not even found a dungeon yet ha ha)