Ultima Remakes
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
Ultima Remakes
Out of curiosity, since Ultima VII is such a popular game and engine, has anyone considered redoing the first VI games using the ExultStudio engine? I downloaded the studio to consider this, but I just don't know enough to even begin unfortunately.
Re: Ultima Remakes
Well, I know one thing. Ultima VI wouldn't fit in the standard VII world size. It was giant in comparison
The others could be ok though
The others could be ok though
Re: Ultima Remakes
You can use the new multimap capability of Exult Studio to add VI's dungeons. (well, I havn't tried it)
Re: Ultima Remakes
Remaking Ultima VI would be cool but there is many tasks that need to be solve.Maybe you open site with your project.
Good Luck!
Sevaton.
Good Luck!
Sevaton.
Re: Ultima Remakes
Remaking one of the older games with ES should be possible, but it's probably too much work for any of us.
I wonder if it would be possible to do an automatic conversion of one of the games, like U4 or U6, where the data file formats are documented.
I wonder if it would be possible to do an automatic conversion of one of the games, like U4 or U6, where the data file formats are documented.
Re: Ultima Remakes
I'm still planning to do a U4->Exult conversion, requiring a legal copy of U7 but apart from a few steps I haven'T done much. I kept it on the backburner until there was multi-map support.
For the conversation I'd use the scripted down conversations you can find.
Additionally I'd still need support for more shapes, support for vehicles (balloon) and lots of help in changing how Exult did stuff. But until I have a "working" map, there is not much use in talking about it
For the conversation I'd use the scripted down conversations you can find.
Additionally I'd still need support for more shapes, support for vehicles (balloon) and lots of help in changing how Exult did stuff. But until I have a "working" map, there is not much use in talking about it
--
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: Ultima Remakes
U6 uses chunks and super chunks for it's maps like U7.
It's world maps (including dungeon maps) take up less space than just the U7 world map (if you're counting super chunks).
The scale of the world is a bit different, U6 uses 16x16 tiles, while U7 uses 8x8 tiles. But in U6 a chunk is made up of 64 tiles and in U7 it's 256 tiles, so it is the same number of pixels per chunk.
The game could be redone on a single U7 map, but it would probably look a bit squished because of the height of the wall tiles that U7 uses.
But that is assuming that you use the exact same chunks as U6, instead of redesigning the whole world.
I hope that makes sense.
It's world maps (including dungeon maps) take up less space than just the U7 world map (if you're counting super chunks).
The scale of the world is a bit different, U6 uses 16x16 tiles, while U7 uses 8x8 tiles. But in U6 a chunk is made up of 64 tiles and in U7 it's 256 tiles, so it is the same number of pixels per chunk.
The game could be redone on a single U7 map, but it would probably look a bit squished because of the height of the wall tiles that U7 uses.
But that is assuming that you use the exact same chunks as U6, instead of redesigning the whole world.
I hope that makes sense.
Re: Ultima Remakes
Just wondering: In a U4 conversion, how would combat be handled? Seems like we'd have to implement U4-style manual combat in order to be true to the original.
Re: Ultima Remakes
I didn't yet think of that. Also the whole virtue side of the game is something I'd rather not puzzle about.
--
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!
-
- Site Admin
- Posts: 1310
- Joined: Thu May 14, 2020 1:34 pm
Re: Ultima Remakes
with regard to U6, it was possible to take control of a companion using the 2-8 keys (not from keypad) and 0 to go into party mode. I must say this was a great feature that might be difficult to do with U7. Also, having a turn-based combat mode would make U7 what it could have been: a perfect improvement over U6.
Artaxerxes
Artaxerxes
Re: Ultima Remakes
I've been wondering how a project like that might go. I think starting from scratch would be too overwhelming for a volunteer project. But maybe one could start with the U7 map, and then modify it for the older game. The usecode (scripting) wouldn't be too terrible, since the plot of U5 isn't as complicated as U7's. You could use the existing code for most of the inanimate objects, and write new scripts for the NPC's.
I guess the underworld could go on a new map.
I guess the underworld could go on a new map.
Re: Ultima Remakes
Make a tool to convert U5 scripts into U7 usecode.
Re: Ultima Remakes
the more I think about it the more I'd like to have a conversation editor that transforms conversation to usecode-script.
--
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: Ultima Remakes
I'm starting to think you're right. I'm also considering changing the way conversations are specified in Usecode. Maybe it should look more like this:
conversation {
Start: "Hello Avatar. How may I help you?"
"Name" => Name
"Job" => Job
"Bye" => break;
Name: "My name is Joe"
"Job" => Job
"Bye" => break;
Job: "I sell armour"
"Buy" => Purchase
...
In other words, each conversation state should be fully specified (even though this is more tedious than the current method). This would be more easily be generated by a GUI conversation editor.
conversation {
Start: "Hello Avatar. How may I help you?"
"Name" => Name
"Job" => Job
"Bye" => break;
Name: "My name is Joe"
"Job" => Job
"Bye" => break;
Job: "I sell armour"
"Buy" => Purchase
...
In other words, each conversation state should be fully specified (even though this is more tedious than the current method). This would be more easily be generated by a GUI conversation editor.
Re: Ultima Remakes
no
To clarify: they don't make fun of this "name,job,bye" for no reason. It was just plain annoying.
To clarify: they don't make fun of this "name,job,bye" for no reason. It was just plain annoying.
--
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!
-
- Site Admin
- Posts: 1310
- Joined: Thu May 14, 2020 1:34 pm
Re: Ultima Remakes
I think we should all get together and discuss a dialog format that would be simple, powerful and extensible.
Let's all do a major brainstorming and propose ideas, even completly crazy and we'll then discuss them and see if we can get something workable.
Artaxerxes
Let's all do a major brainstorming and propose ideas, even completly crazy and we'll then discuss them and see if we can get something workable.
Artaxerxes
Re: Ultima Remakes
Good idea. The current format in our usecode compiler was meant to match the disassembled usecode, but it's probably not the easiest thing for humans to write.
Re: Ultima Remakes
> In other words, each conversation state should be fully specified
This is not always possible. You can't really specify multiple threads that can be expanded simultaneously this way without a lot of duplication of text/logic.
As for the brainstorming:
I wonder how doable a real graphical conversation tree (in practice it might become a DAG) would be. You'd get a bunch of nodes, each representing a conversation option and the children of each node are the choices you get when you select that option.
In each node (and possibly also along edges) you can add some code (set global flag, give item, take item) and on each edge you could add conditions (has item? is global flag set?) which would control if the child-option would appear. These could be specified by manually entering usecode or possibly with a custom editor for the easier cases (like the ones I mentioned).
Then there would be some special flags that nodes and edges can have, such as "creates subtopic" (in which case the conversation state is pushed to the stack and cleared) or "closes subtopic" (which would pop the previous state).
Disclaimer: I haven't really thought this through entirely...
This is not always possible. You can't really specify multiple threads that can be expanded simultaneously this way without a lot of duplication of text/logic.
As for the brainstorming:
I wonder how doable a real graphical conversation tree (in practice it might become a DAG) would be. You'd get a bunch of nodes, each representing a conversation option and the children of each node are the choices you get when you select that option.
In each node (and possibly also along edges) you can add some code (set global flag, give item, take item) and on each edge you could add conditions (has item? is global flag set?) which would control if the child-option would appear. These could be specified by manually entering usecode or possibly with a custom editor for the easier cases (like the ones I mentioned).
Then there would be some special flags that nodes and edges can have, such as "creates subtopic" (in which case the conversation state is pushed to the stack and cleared) or "closes subtopic" (which would pop the previous state).
Disclaimer: I haven't really thought this through entirely...
-
- Site Admin
- Posts: 1310
- Joined: Thu May 14, 2020 1:34 pm
Re: Ultima Remakes
fun, that's the conclusion that I reached too. I started to try an XML-like format for conversation but it got kinda messy when incorporating sub-conversation etc.
Then I thought of a screen in which you type each party's conversation. Adding symbols like "My name is Dude (+What a ridiculous name!+) (+Lovely name!+)(+Say nothing+)" in the NPC's section would automatically add those 3 answers in the answer pool. To remove you would use different symbols, like "(-Job-)", etc....
To be investigated...
Artaxerxes
Then I thought of a screen in which you type each party's conversation. Adding symbols like "My name is Dude (+What a ridiculous name!+) (+Lovely name!+)(+Say nothing+)" in the NPC's section would automatically add those 3 answers in the answer pool. To remove you would use different symbols, like "(-Job-)", etc....
To be investigated...
Artaxerxes
Re: Ultima Remakes
I'm not so sure about the coding/scripting part, but from a gameplay stnadpoint I actually preferred having the ability to initiate dialogue without submenus. It could make the coding easier as well. Such as:
Have the menu driven dialogue trees that will always be available (name, job, etc.) in place. Include an "other" option for the player to type in a keyword. This allows the player to figure out plot elements and forces the player to remember important conversations. There would not need to be any flags to set, etc.
If the player forgot that there is someone in Trinsic who was a pirate, too bad. If he notices that some guy has pirate stuff when he first meets him and asks about it, then that shows good observation skills. It is better than the option to ask about "Pirate" suddenly appearing in the proper person's dialogue menu, only when he is supposed to know about it. It takes away the fun of trying to find out who it is.
Have the menu driven dialogue trees that will always be available (name, job, etc.) in place. Include an "other" option for the player to type in a keyword. This allows the player to figure out plot elements and forces the player to remember important conversations. There would not need to be any flags to set, etc.
If the player forgot that there is someone in Trinsic who was a pirate, too bad. If he notices that some guy has pirate stuff when he first meets him and asks about it, then that shows good observation skills. It is better than the option to ask about "Pirate" suddenly appearing in the proper person's dialogue menu, only when he is supposed to know about it. It takes away the fun of trying to find out who it is.
Re: Ultima Remakes
I think this is what Dr.Code said, but avoid duplication by putting your text in another section (as it does in the code), and just point to it from the node list. This goes for blocks of text or single words. It is like using a variable but is automatically inserted replacing the reference. (so it's more like a macro)
Re: Ultima Remakes
What makes this tricky (and interesting) is that U7 supports more complex conversations than other RPG's I've played, since it does not use simple finite-state-machines.
Re: Ultima Remakes
We could of course have different ways of describing conversations. One close to the bytecode which allows you to do everything (or everything that makes sense) usecode can do (like the current version) and one that can only generate a (hopefully large enough) subset.
Re: Ultima Remakes
yeah, two versions sound plausible. When you try to do more complicated things it may get too hard otherwise.
--
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: Ultima Remakes
I think Adonthell has a graphical conversation editor (written in Python). Might be a good place to borrow ideas from
-
- Posts: 1241
- Joined: Thu May 14, 2020 1:34 pm
Re: Ultima Remakes
A graphical conversation editor? Is that not implemented in the Aurora toolset for Neverwinter Nights?
- Wizardry Dragon
- Wizardry Dragon
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: 731
- Joined: Thu May 14, 2020 1:34 pm
Re: Ultima Remakes
Aurora's conversation system is no where near as complex as Ultimas.
Re: Ultima Remakes
Adonthell's looks pretty good from the manual.