world size

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
swotavator
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

world size

Post by swotavator »

Hey all.
I decided I might want to take a hand at modding after seeing the u6 conversions great success. As I am setting things up, I had a few questions:
Are these mods, such as SETC, U6 and TFL making a 'mod' or a 'new game?'
Also, is there any way to alter the world size? or are we stuck to 24k pixels? If we are, is there a way to construct a world from 4 maps? Using a solid seam of teleport eggs perhaps?
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by drcode »

You can't change the world size, but you can add additional maps and have eggs that teleport you between them, as you suggested. I don't know how reliably this works as I haven't tried it in a long time.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Dominus »

A solid seam of teleport eggs won't work the way Exult works atm, at least not if you are on any transportation object. The party would teleport but the transport would stay on the teleport point.
Also remember, our world wraps, so the teleport belt would need to be away from the seam...
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
swotavator
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by swotavator »

i was thinking more about it. so there would need to be at least a 1920 pixel offset from the screen wrap where the maps overlapped. Also, no way around the transportation issue. This should be surmountable. U7Pt2 had no open forms of transportation, and it wasn't wholly missed.
swotavator
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by swotavator »

what is the limit? I am not really familiar with how U7 stores map info. is it like each chunk in its own file? Sso the map is an array of different files? so map size is coded into how these files are made/stored/read?
swotavator
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by swotavator »

duh, one last question. How does the engine conduct the wrapping? how does it move your party/transportation from one edge of the map to the other?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Dominus »

It doesn't move the party, the world wraps. You can easily see this in the SI dream realm which is split in half by the eastern and western map edge.
So there is no seam, no edge of the world, you can see the "other" side when you are on the edge, you just don't notice another side :)

Similar to our real world default map (US to the west and Russia to the east). When you look at the map you might think that there is an edge right next to the US and Russia, but when you stand there in the real world there is no edge, the world wraps :)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by drcode »

Heh! Note that our world is a sphere, while U7 is, topologically, a torus (or donut).
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Colourless »

duh, one last question. How does the engine conduct the wrapping? how does it move your party/transportation from one edge of the map to the other?
If a object attempts to move to a tile that is off the edge of the map, Exult will move them to the correct tile on the other side of the world.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Dominus »

btw. currently Exult is prone to crash with BG when you sail (flying the carpet is ok) around the 4-ways-wrap spot, the spot where all 4 sharp corners of the map meet :)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
swotavator
Posts: 6
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by swotavator »

that all makes sense, but still. Exult is the full engine and only uses u7 data files, correct? So somewhere in the exult code, it checks the avatar's location, determines if its at the edge of the map, and transports them, right?
Colourless
Site Admin
Posts: 731
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Colourless »

No, not exactly. It works as I said, if an object (that is any object, not just the avatar!) moves beyond the edge of the world the position is adjusted to be at the correct position on the other side. For example if you attempt to place an object 10 tiles past the right edge of the world, Exult will correct the position to be 10 tiles in from the left side. Its not 'teleporting', its wrapping.

When rendering Exult grabs objects from both edges of the world so it appears seemless.
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Wizardry Dragon »

Using multiple worlds works reliably.

You can also restrict ocean travel and free up a lot of map real-estate. This is what SI did.
-----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by artaxerxes »

something to keep in mind as well, how do you handle the carrying of a skiff which was *essential* in U6 to explore all areas and possibly to complete the game. Same question about the balloon.

Artaxerxes
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Wizardry Dragon »

That can be done - with some difficulty - with UCC.
----------
Peter M Dodge
Aka Wizardry Dragon
www.thefeudallands.ca
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
agentorangeguy
Posts: 565
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by agentorangeguy »

I have a general idea for the balloon in my head, nothing on paper yet. Basically a generic way I've thought of is this: double click baloon item, set the don't render flag for all members of the party, polymorph into that baloon item, set the z-coords... then i'd have to figure out some way to "land", then teleport the party and clear the flags

i guess for the skiff, i could probably do something similar... but it would be very generic.. i'd probably need some of the exult gurus to help out with ideas for that. i did make shortened boats as skiffs on the mainland that are workable, but as for carrying them, i don't know yet.
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Wizardry Dragon »

You can dynamically create items. You'd just need to create a "barge" item - and destroy it - reliably. In concept, it's easy. In execution ... well, not so much. When I was first messing with usecode, one of the first things I tried to do was make the carpet able to be carried in that kind of way, but it wasnt possible with normal BG usecode. UCC, however, has greatly increased what is possible.
-----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Malignant Manor
Site Admin
Posts: 985
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Malignant Manor »

You likely can't set the barge size or direction through usecode.
Darren___

Re: world size

Post by Darren___ »

From my perspective, I'd recommend trying to request a feature in core exult instead of making your scenario be an arduous teleport hack.

Keep in mind, this is wrjitten with complete ignorance of the real exult codebase.

Define:
LargeChunk of fixed size, equal to U7 and SI maps.
Define a RectangularMatrixWorld of these LargeChunk, such that observering/traversing off one will send you to the apt adjacent LargeChunk.

Then when init'ing the regular U7 and SI worlds, you have a special case (1,1) rectangular matrix of LargeChunks; business as usual with limitless extensibility for the modders.

Could do the same thing with N,E,W,S, (and additional NE,SE,NW, SW) links, but it could get trippy and weird if they aren't consistent. Would give modders more flexibility though. Perhaps there could be variations of strucctures to handle boundary transitions. ie: LinkedWorld

And to deal with more complex arrangements, a VariableSizedChunkLinkedWorld where linking could be conditional on where the transition takes place for further flexibility.

Just a thought.
Wizardry Dragon
Posts: 1241
Joined: Thu May 14, 2020 1:34 pm

Re: world size

Post by Wizardry Dragon »

Marzo and I discussed increasing the world map size about this time, last year. In the end it was decided against as Marzo's testing revealed it to be of minimal feasibility: for the amount of work involved in rewriting existing worlds to work, as well as caching extended amounts of cache information, made it not really worthwhile.

It is possible to make a world map any size, really, however Exult doesn't manage memory well. That problem aside though, the real catch - and something that we never really worked out - is how to work it so you can have variable size maps without breaking the compatability with the original games.

I recall Marzo mentioning that changing chunk sizes wouldn't be possible without breaking Ultima 7 "compatability" The actual world size was problematic mostly because of eating up memory - it would be easy to have Exult default to some sort of default size that just happened to be the Ultima 7 map size.

I wish I recalled the programming particulars of those discussions. They're probably in the #TFL logs if you go back far enough, though some of it was in privmsgs
-----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Darren__

Re: world size

Post by Darren__ »

Hey Wiz, you wouldn't be interested in potentially making a future mod for xu4 would you?
Locked