world size
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
-
- Posts: 6
- Joined: Thu May 14, 2020 1:34 pm
world size
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?
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?
Re: world size
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.
Re: world size
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...
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!
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!
-
- Posts: 6
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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.
-
- Posts: 6
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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?
-
- Posts: 6
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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?
Re: world size
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
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!
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!
Re: world size
Heh! Note that our world is a sphere, while U7 is, topologically, a torus (or donut).
-
- Site Admin
- Posts: 731
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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.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?
Re: world size
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!
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!
-
- Posts: 6
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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?
-
- Site Admin
- Posts: 731
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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.
When rendering Exult grabs objects from both edges of the world so it appears seemless.
-
- Posts: 1241
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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
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
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
-
- Site Admin
- Posts: 1310
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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
Artaxerxes
-
- Posts: 1241
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
That can be done - with some difficulty - with UCC.
----------
Peter M Dodge
Aka Wizardry Dragon
www.thefeudallands.ca
----------
Peter M Dodge
Aka Wizardry Dragon
www.thefeudallands.ca
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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.
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/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
-
- Posts: 1241
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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
-----------
Peter M Dodge
aka Wizardry Dragon
www.thefeudallands.ca
Cheers, Wizardry Dragon
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
-
- Site Admin
- Posts: 985
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
You likely can't set the barge size or direction through usecode.
Re: world size
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.
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.
-
- Posts: 1241
- Joined: Thu May 14, 2020 1:34 pm
Re: world size
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
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
Lead Designer, Ultima VII: The Feudal Lands
www.thefeudallands.ca
Re: world size
Hey Wiz, you wouldn't be interested in potentially making a future mod for xu4 would you?