Possible multiplayer?

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
Just0

Possible multiplayer?

Post by Just0 »

is is possible to code multiplayer into the game? prehaps in future release of Exult?
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by wjp »

Anything is possible, but we're not going to do it.
Gradilla Dragon
Posts: 468
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Gradilla Dragon »

I guess it's time to rant.

Many ask for multiplayer support on xu4, nu5, nuvie, Exult, and I guess on Pentagram and U3Project too. None make a decent proposal about the gameplay itself, though.

The same stone is thrown again every once in a while. Why can't people suggest a decent multiplayer gameplay instead of just coming around and saying they-would-like-to/it-would-be-cool-to/they-want-to-know-if-the-engine-will have multiplayer support?

Adding multiplayer support will be an extremely time-consuming task. There are two points to cover BEFORE adding multiplayer support:

First of all, the Ultima gameplay is in no way suitable for multiplayer gameplay. All are single player games, very tied to single player mechanics, story and gameplay. This means the first thing to do would be to REDEFINE the gameplay for multiplayer mode. If this point is not covered, adding multiplayer support to an existant engine (like Exult and xu4) makes absolutely no sense at all.

Second, the need for a communication medium and protocol arises. This part takes time to design and implement. The nu5 team is trying to cover this part. We are currently working on the concept of a communication library. It already has a name: EXMLSLib. It is meant to be a general multipurpose communication library using XML, Sockets, SSL/TLS/other encryption, not limited to just games, but other things like Instant Messengers. Defining the protocol will be up to the developer using the library, but we may include a built-in protocol of our own.

You may be wondering by now why is the nu5 team bothering to do this if the leader says the gameplay is not suitable. Well, this is a decision we took in order to have the networking code already built-in for the time when someone comes with a decent idea about how the multiplayer gameplay should be handled.

So, my open request to everyone is: Share your ideas about multiplayer gameplay. Don't just ask us to add multiplayer support.

Well, that's the end of my rant.
- Gradilla Dragon
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by wjp »

Well said :-)
Chris Schumacher

Re: Possible multiplayer?

Post by Chris Schumacher »

All right, here goes, now mind I don't have the expertise to implement even
a tenth of this, but hopefully it can inspire those who can.


Implementation plan for Multiplayer Exult

Logistical Concerns
- Two variants of the Exult program must be constructed:
Exult Multiplayer Server (EMS) and the Exult Multiplayer
Client (EMC).

EMS - The server contains all the information regarding the Ultima 7
world, as well the stats of the characters who are playing. No more
than 8 characters can be registered to play at any one time. For this
reason there will be no central server, everyone will be allowed to
host their own games. This program will also include a God Client which
will allow the owner to play in God mode and change the map at will.
This will ensure that the gaming world can be refreshed and allows the
plot to extend beyond the original game.
The EMS can run continously, but it's much more likely that it will run gameplay sessions, just like the EMC will.
- It should be possible to make changes to both the running campaign,
and to the default campaign which is set-up everytime the Ultima Master
hits the reset button.
- The program should automatically back-up the gaming world at a preset
time everyday. Saving and loading for a better outcome should be
discouraged, but still possible (for the Ultima Master only)

EMC - This allows someone to log into a running server, but only with
approved authorization codes. No information is stored in the client,
and simply allows the player to play with the game. There is no save or
reload option in the EMC.

Gameplay Mechanics

Characters
----------
There can only be one Avatar, and this will be reserved for the character
who runs the Server. The Avatar will have all the characteristics of the
original Ultima 7 Avatar. The other characters players must create their
own characters. This is done through a new interface that must be added
for the program. They are allowed to choose between a number of classes.

MAGE - Can use all magic in the game, but their strength is capped at 10
points. Their MP is consistent with that of the Avatar: one point for
each level. [Sprite: Nystul (male) Mariah (female)]
BARD - Has an unlimited dexterity score, intelligence can also go up to 30.
Strength is capped at 20. Can use the spellbook, but has a maximum mana of 10, one point per every 3 points of intelligence.
SOLDIER - Has a strength cap at 30, cannot use any magic. Dexterity is capped at 20, intelligence at 10.
LARK - Has a strength cap at 20, intelligence cap at 20, dexterity cap at 15.
For every point of intelligence, they have one point of mana.
ALCHEMIST - Intelligence and Dexterity cap at 20, strength cap at 10. For
every point of intelligence there is a point of mana.
RANGER - Has a cap of 20 for each attribute, one point of mana for each point of intelligence.

You can determine your starting attributes from a pool of unallocated points. Note however that mana and HP cannot be directly altered, since they are tied in with intelligence and strength respectively.

Party
-----
Each character is their own person, and isn't tethered to the party. However, a good leader will delegate responsibility, but there is no code to keep a "team" together, always allowing players to go off on their own if they so choose.

Henchmen
--------
The NPCs in the game who could join the Avatar in the original Ultima 7 will be allowed to do so now. However, it should be note that they are "tethered" to the character who asks them to join. They don't owe allegiance to any of the others.
It is highly recommended that more potential party members be added to the game.
Suggest altering the usecode for Mariah, Jeffery, and (possibly) Gorn so they can join the party. Also suggest reimplementing characters such as Toshi, Maxwell and Johne from Ultima 5.
- Code must be added to make it impossible for someone to "steal" someone's henchman.

Player-Killing
--------------
Will be allowed. This way it will become possible for players to compete instead of cooperate.

Death
--------
Keep in the old ressurection method. Perhaps allowing the character to
set the ressurection place might be ideal (in fact, bring over the silver seed
and silver tree, it will be just like UU 1.)

Gameplay World
--------------

You start out the game in Trinsic, following the lead of the Avatar. Your party is free to roam about town, interrogating each of the members of town for information. The flags will work as before, so once all are thrown, the Avatar (or anyone else!) can go to the mayor and report, thus opening the gate and allowing the rest of the team to leave.
From here, it becomes extremely non-linear. Most beginning players will go to Britain, where it's suggested they break up into smaller teams. One to run Batlin's errands, the other to check out the Isle of Fire.
Very little of gameplay will have to be changed since, unlike Serpent Isle, The Black Gate is extremely non-linear and will allow each player a good opportunity to do as they wish. Enough bonuses should be peppered throughout the world to encourage our players to explore as much as possible.
Once a player destroys the black gate, everyone will go into stasis. The game on the server will be suspended. It could be possible to make a Serpent Isle prequel, but that would be an enormous undertaking, and should be saved for a "service pack" after the system has been implemented.
Serpent Isle, as it stands, really can't be made into a multiplayer game. It could, however, be substantially changed to make a "Chronicles of Batlin" prequel, which might actually be a good idea, since Batlin had been shown to delegate responsibility and not travel around with an entourage like the Avatar.
Chris Schumacher

Re: Possible multiplayer?

Post by Chris Schumacher »

Oh, I forgot to add, when someone uses the EMC, they can import a file for
their portrait. It will have obvious restrictions, but people can actually use
a headshot (or a buttshot, if they want) for their picture.
Skutarth

Re: Possible multiplayer?

Post by Skutarth »

Well, well, well. This just begs for me to mention again how we could fix up the Serpent Isle map and plot now that there is (sort of) working multiple map support. Then we could use Chris' great game mechanics ideas along to make Serpent Isle, too. The only problem I have is that some of it just sounds like Ultima Online again. The only nag I really have about that is choosing your classes. Everybody should be assigned their class like the good old days: the Tarot test.

My only contribution other than that would be for the chat system to be the talking yellow text over their heads as they walk around.
Macaw

Re: Possible multiplayer?

Post by Macaw »

* Macaw's Multiplayer U7 Proposal :) *


- Only make it Local are network multiplayer or something, a 'online u7 mmorpg' is of course out of the question.

- Just make it so that 2 (or more) different avatars (with their parties) can walk around in the existing U7 world, in their own stage in the storyline. For example, if one of the avatars talks to someone for a story development then the other avatar needs to do it as well, its like 2 people playing seperate single player games on the same world, if ya know what I mean.

- If thats too hard to do, then just take out all story conversations etc, and just let multiple avatars explore the world as it is when the game starts, with conversation with story characters cut out.

- If thats too hard again, then take out all NPC's and just focus on trying to get 2 or more seperate avatars controlled by different people walking around in the same world.
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by artaxerxes »

so the point of this multiplayer mod is to.... finish the game faster?
Sounds kind of flat, doesn't it?

Artaxerxes
Gradilla Dragon
Posts: 468
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Gradilla Dragon »

Yea, either troublesome or too flat. Several NPCs have to disappear because the plot says so (Alagner, the ghosts at Skara Brae, etc), leaving us with the option to take out all story elements, which in my opinion makes the game too flat for the simple reason that the story was cut out...
- Gradilla Dragon
Chris Schumacher

Re: Possible multiplayer?

Post by Chris Schumacher »

Artaxerxes, you're forgetting the dynamic of the players, which makes the
game more interesting. I mean, how realistic does it seem that one player
will get all three of the prisms?
Of course, I'm talking about the eighty-player version, not the two-player
version which was just suggested. And, as noted, the Ultima 7 that would
be set up on the EMS would actually be quite different from the single-player
version, because it would have been specifically modified to work with
multiple players (for instance, the addition of more party members, replacing
the trainers with something like shrines so somebody doesn't get the bright
idea of killing off all the trainers and hiding their bodies so no one can advance. Come to think of it, that's actually a rather cool idea. :) )
Also, with the God Client abilities of the EMS, the Ultima Master would be
able to change the world at will and add their own twists and turns to the
plot. So for every seven player-characters, you have a UM, which means that
with just a group of a hundred, you will have at twelve unique experiences.
Tristan de Inés

Re: Possible multiplayer?

Post by Tristan de Inés »

Making the original BG and SI plots work with multiplayer seems pretty hard. But what would make sense is implementing multiplayer support to make it possible to design a new Exult game with multiplayer in mind.

One simple multiplayer implementation could look like this: have always only one player the "active" character. Only he can talk to NPCs and thereby advance the plot. The other players are just "observers" acting as party members with limited options, like entering combat, interacting with items and talking with other players.

Another way would be to treat all players as equals. This would require new usecode functions as, for example, to determine which player is actually interacting/talking to NPCs. This would require careful planning though, since you don't want players interfering with themselves and getting everything messed up.

A "hybrid" solution would be to have an "active" character like suggested above, but still allowing other players to speak to NPCs, buy items from them and stuff. The catch is, that only the "active" player will receive all the conversation options (especially quest-critical ones) whereas the other players only have a set of standard conversation options available.

There are many ways of approaching a multiplayer Exult, but great care has to be taken to not allow players to "break" the game.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Dominus »

sounds rather boring for the non-active characters
--
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!
Gradilla Dragon
Posts: 468
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Gradilla Dragon »

Not only boring to the non-active characters, but also troublesome to code. I think it would require lots of usecode rewrites in order to have the game to only show basic options to the non-active and all options to the active.
- Gradilla Dragon
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Dominus »

He he, I think we are not even talking about the possibility to code something like that. The Exult team has repeatedly said they(we) won't do that and as long as no actual coder with the guts to tackle this comes forward I regard this as wishful dreaming.

Anyway I also still think that all the wishes save for the U7/Exult-Engine can be done with the free servers/shards of Ultima Online.
--
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!
Chris Schumacher

Re: Possible multiplayer?

Post by Chris Schumacher »

>He he, I think we are not even talking about the possibility to code >something like that.

But then again, that isn't what Gradilla was talking about. He said that no
one even put forward a suggested implementation for it, which I quickly
provided. Means without an end is fairly useless. The first step is defining
the goal.
Krexx

Re: Possible multiplayer?

Post by Krexx »

hey, if the exult team don't want to do anything of multiplayer, let the people dream about they want, and don't tell us of using an Ultima Online instead in making Exult multiplayer (anyway, remember that exult is OPENSOURCE).
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by SB-X »

Now if I were to do a multiplayer Exult it would be completely different than Chris Schumacher's idea, with a different goal. But I don't have time to code it.
The fun thing about it being open-source is that different people can make their own multiplayer version with different styles. (though it might be best if everyone compromised and focused energy on one implementation)
Krexx

Re: Possible multiplayer?

Post by Krexx »

'The fun thing about it being open-source is that different people can make their own multiplayer version with different styles. (though it might be best if everyone compromised and focused energy on one implementation)'

Maybe it could be necessary to make a 'fork' to the project and start a parallel project to Exult, an unified multiplayer Exult.
J3RK

Re: Possible multiplayer?

Post by J3RK »

How about just adding the ability for 4 players to join. The world objects and events would be "shared" If someone got an important item, that person would have to be present to use it. If one person accomplishes a quest, then it is complete for the party. People could branch out and accomplish several things at once. They could pass items back and forth as needed. The reason I say only 4 players is that the game would still take a while to complete. Too many players would make the game too short. One player could go off to Bucaneer's Den and win money to buy equipment for the party. Different players could explore different dungeons. Only one NPC party member of each type, so each player would have different party members. It seems that this would be the simplest way to do it. No extra or repeating items or events would be necessary. It would add a nice trading and exploration dynamic. If a player went to an NPC that another player had already spoken to or completed a quest for, they would just say what they say when a single player has completed the task or said all they can say. If this approach was taken, the hardest part would be creating or adapting net code to sync the players. Each players completed tasks would clear the plot flags for the whole party. The only thing to be kept track of is which player had which items. It would also ensure that the player occasionally met up, and travelled together, because one would have a key that the other need to get somewhere, etc.
Chris Schumacher

Re: Possible multiplayer?

Post by Chris Schumacher »

J3RK, you're still leaving out the option of competitive play. Yes, you could
work together, but you could also just build up power while other people
solve the quests and kill everyone else to gain the quest items.
That's the reason why I think a number around 8 or 9 would be better, also
because you could break the characters up into sub-teams which would have
between 8 and 12 characters, including henchmen.
Gradilla Dragon
Posts: 468
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Gradilla Dragon »

And why is competitive gameplay necesary? That will mess things pretty bad.
- Gradilla Dragon
Chris Schumacher

Re: Possible multiplayer?

Post by Chris Schumacher »

Because leaving it out will limit the way that a player can solve a problem.
And frankly I defy you to create an acceptable system wherein it can't be done, otherwise you'd end up with someone like Tristan suggested, where
the other players just stand around and watch.
True, you don't have to do it that way. In fact cooperative play would get the
game completed faster, and arguably would be more fun, but you shouldn't
FORCE someone to play that way.
And besides, since the Ultima Master, and not some faceless company, is
running things, if someone is irking the rest of the players (i.e. PKing in a
cooperative game) it's that much easier to stop them from ruining the fun. :)
Ksaturn
Posts: 13
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Ksaturn »

example...
Paladin - Str cap 25, dex cap 15, int cap 15. 1 mana per int pnt. limited to spells like bless,light,cure,ressurect(if you allow 8th circle spells for him that is) ect.(no offensive or summon)

nm....
wait a sec...

UO HAS A FREE SHARD/SERVER?!?!?!?!?!
WhereWhatWhenWhoHow?!?!?!?

....srry bout that...
Eraamion

Re: Possible multiplayer?

Post by Eraamion »

Well, well, I think the problem is everyone wants to envision the final product. I say, don't rush. Try playing with it in little steps, with lots of testing (no doubt there will be testers aplenty), and see what comes out of it. I have no programming skills (wholly different fields of interest), but I might still have some suggestions as to the initial steps. :)

1. No story. You can add GM-managed story later.
2. Put all main-story NPCs away, as well as all quest-related items.
3. Keep only NPCs no one would be able to play with at first, like merchants.
4. Do coding necessary for people to log on the server (which would be U7 Britannia map), make global chat.
5. Advertise Exult Online Alpha, promote roleplaying, wait and watch. :-)

The ideal outcome would be roleplayers logging on, creating a community, then a structured society (unofficial clans like Lycaeum mages, Serpent Order etc.) The problem is, get many good ones so that there will be synergic effect. The small size of the continent does only help.

What then? Forums would be thriving with ideas. If a powerful mapping tool is going to be made, whole new realms could be implemented. If there will be a community of sufficient size, you can make player-run economy as well. But that's a distant future.

Don't strive to do everything at once, that's what I basically wanted to say. :)
Gradilla Dragon
Posts: 468
Joined: Thu May 14, 2020 1:34 pm

Re: Possible multiplayer?

Post by Gradilla Dragon »

What's wrong with trying to envision the final product? Well, since you have no programming skills, I guess you don't understand the reason.

Programming is not just hammering things in. Adding multiplayer support is not just adding networking code, removing some NPCs and adding chat rooms. It involves lots of internal rewrites, planning, protocol definitions, considerations for connection issues and numerous other things that have to be done before the "real" work starts.

Yes, huge tasks can be done little by little, but in the case of adding multiplayer support to Exult you have to look at the whole "final" product before starting work on it.

It's not the same to start a new project from scratch than trying to adapt an existing project to do something it originally was not designed to do in the first place. The effort is roughly 30 times as hard in such a case, if not worse.

It usually involves ripping apart perfectly working things, redesigning them, then consequently breaking something else that was tightly coupled with whatever you redesigned, then redesigning all those parts that broke, then checking is something else didn't break with that redesign, and it goes on.

And after all those redesigns, you actually haven't done anything yet, you just got ready to start implementing that new feature. So, you start the implementation, then stumble with something you did not foresee when you redesigned the other stuff, and have to rip it apart , redesign it, verify that you didn't break anything, bla bla bla.
- Gradilla Dragon
Eraamion

Re: Possible multiplayer?

Post by Eraamion »

It is really a question of willingness. The problem is there are more success factors you cannot do anything with in online games than in classic single/multiplayer games. You can think out everything in singleplayer, but even a theoretically awful online game can be thrilling to play if there is a great community. And vice versa. Even if it would mean recoding the game each time because of features you haven't envisioned before, still better than devoting years to a well-polished online game no one will play. That, IMHO, is a worse waste of time than just trying to do it. Period.

But yes, I agree even that would be difficult and time-consuming. In case you decide to go for Exult Online after all, I wish you good luck and my support, for whatever it is worth.
Locked