The Elder Scrolls III: Morrowind, the predecessor to Oblivion and Skyrim, is arguably the deepest and most immersive game in the Elder Scrolls series.
For 15 years, it could not be played in multiplayer in any kind of decent way. Now, however, with Morrowind's engine having been recreated through the OpenMW[openmw.org] project, playable multiplayer has also been implemented through the TES3MP project based on OpenMW.
Use this group to find people to play with, to report bugs and to think about solutions to gameplay issues.
To play, get the latest Windows release from here.
We've reached a very significant milestone now that the gaming press is covering us. So, where do we go from here?
Here are some of my thoughts in regards to future versions. These may end up changing at any time, or splitting into multiple versions, so regard what follows as an optimistic outlook.
I'll probably put out 0.7.0 later this month, which is entirely possible because it will be a polish-focused version instead of one revolving a large gamechanger like 0.6.0 was.
It will focus on addressing the shortcomings of 0.6.0 by, among other things:
* Synchronizing, saving and loading custom spells, player-made potions and enchantments, and player-filled soul gems * Solving at least half of all remaining quest problems * Fixing all remaining spell-related problems * Fixing throwing weapon sync * Making NPCs react identically to all players * Removing the most notable item duplication methods * Adding weather sync * Fixing the most frequent reasons for client and server crashes
While 0.7.0 will likely bring in the old-time Morrowind crowd that is waiting for a more polished experience, the goal of 0.8.0 will be to address the most common criticism about Morrowind: that it is dated, and more specifically that its graphics are dated.
There are countless graphical mods for Morrowind that can make it look good today. Although most of them are perfectly usable with TES3MP already, they suffer from the fact that our plugin sync is not user friendly at all, and downloading the right mods for each server just to then manually have to disable and enable them separately for each server is a pain.
That will change. Mods will, at the very least, be automatically enabled and disabled by the server browser if you already have them installed and try to join a server.
Next up, trying to connect to a server whose mods you don't have will bring up a list of links to their pages on mod websites.
Ideally, some mods should also be allowed to get downloaded and installed automatically and effortlessly through the server browser. Depending on circumstances, this could either happen in a style inspired by games from Unreal Tournament 1999 to Garry's Mod or through some kind of partnership with mod-hosting websites. While downloading any mod, the server browser's download window would also display the mod's authors, its description and a link to its usual download page, perhaps with the help of a community-maintained database if other avenues don't work out. Any mod authors could also request that no automatic downloading be done for their mods, in which case their mods would get added to a download blacklist.
The above additions in 0.8.0 will help in innumerable ways with playing any mods with anyone, but the ease of making the game look more attractive will give it a boost in the eyes of those who would otherwise not go back to it or even try it for the first time.
Other than that, there are also those who feel the combat is dated. However, anything the above-mentioned mod sync cannot do to improve that, optional and toggleable improvements added to the C++ code can, as long as we reach a consensus on what those improvements should be.
Many people are excited about TES3MP because of the potential it provides for customizing every aspect of every single server. They dream of faction wars, player housing and occupations, server-set NPC schedules, procedural quests and more.
Our Lua scripting system is not yet robust enough for that, but a few significant improvements to it focused specifically on delivering all of the aforementioned features as toggleable server options would go a long way towards giving players and scripters all the tools they need to do what they want.
One version will certainly focus on that, and it will probably be 0.9.0
It's not entirely clear what the versions beyond will be about, though I am definitely interested in making TES3MP compatible with the data files of Oblivion, Fallout 3, Fallout: New Vegas and Skyrim, so that people who own those games can try it with them.
Experiments already done by cc9cii of OpenMW show that doing it properly is difficult, but that it is certainly possible:
Whenever you get excited about a project like this and its potential, please help it. There's no need to wait around for years with no stake in its success. Instead, you should team up with us and make it go as far as it can go.
If you have coding knowledge, we could use your help. If you don't have coding knowledge, you can be just as effective as those who do if you make it possible for us to spend more time on this than on other work.
We've never been particularly able to dedicate ourselves to TES3MP, because hobby projects don't pay the bills. But what if they did? What if we took our now proven skills and were able to focus on finishing this project in months instead of years?
For anyone coming here who isn't familiar with TES3MP, it's basically OpenMW[openmw.org] with multiplayer on top.
There have been numerous attempts by fans at adding multiplayer to Bethesda games. All of them have fallen apart at the critical NPC sync stage, where computer-controlled characters and creatures in the world need to show up, move, animate and act correctly for all players at all times, with major complications added by the open world nature of the games that means NPCs can theoretically follow players to almost any location in the world and the fact that their artificial intelligence only ever accounts for the existence of one single player.
Back in March this year, the complete lack of NPC sync in TES3MP for 15 months was making this project feel like another failure.
The original developer Stanislav is a genius who has single-handedly created some of the most excellent networking and scripting systems in fanmade multiplayer history, but his motivation in regard to NPCs had been faltering. It was time for me, the junior developer up to that point, to take matters into my own hands and finish what Stanislav had started with this project in 2016.
And now here we are. Over the past few months I've doubled my code contribution to this project, and have not only added the giant feature that is NPC sync, with its synchronization of positions, stats, equipment, sounds, attacks, spells and animations, but I've also added journal sync, faction sync, dialogue topic sync, quest kill count sync, object enabling/disabling sync, trap state sync, werewolf state sync and various smaller features, such as the ability to set the difficulty for each player or jail players, and important fixes like allowing client scripts with custom messageboxes to work again or preventing players from reading the same skill books again when rejoining a server.
Meanwhile, Stanislav's continuing contributions have also been very valuable. He has added plugin sync that prevents clients from joining a server if they do not have the exact same plugins and checksums that are set for it, as well as ingame time sync. He has reworked his server browser by allowing it to display custom information for all servers and by fixing its previous stability problems, added significant bandwidth optimization for almost all packet types, has restructured large parts of the packet-processing code so it is cleaner, and has fixed security vulnerabilities in our RakNet networking library.
With all of the these additions, the TES3MP of today is on an entirely new level compared to before, and it is very close to what everyone was hoping it could someday become.
However, make no mistake: there are still significant problems and missing or unfinished features. You will not be able to have a genuinely seamless gameplay experience unless you are willing to overlook them until they are fixed in the next couple of versions.
As such, this new version is far from perfect, and I am releasing it not because we are done with making the game playable, but because you should see how far we have gotten.
What is still missing
Instead of going through everything that has been added – because there is just so much of it – perhaps it is easier to simply list what is still unfinished, from most important to least important.
Please note that most of these are not particularly difficult to fix, but remain as problems due to lack of time and will be fixed in subsequent versions.
To begin with, most ingame script values are not synchronized across players, and none of them are saved or loaded. As a result, although the vast majority of quests are very playable, there are some quests – especially in the main questline – that will get broken if you leave the server at the wrong time.
Custom spells are not yet implemented. Other players will not see or be affected by the spells you create yourself, and you will completely lose them when you log out of the server.
Similarly to custom spells, potions and enchantments made by players are not yet synchronized and are not saved to the server, and the same goes for soul gems filled with souls.
Spells cast through items are not yet synchronized.
Combat with throwing weapons is not synchronized.
Creating duplicates of items is still possible under certain circumstances.
NPCs do not treat everyone the same. Only the player on whose client their AI is being run will get greeted by them, chased down by guards attempting an arrest, or followed by quest followers.
Quests that require you to kill a number of targets will get broken if you kill the targets and leave the cell they are in before their death animations are finished.
Attacks by non-bipedal creatures are not properly synchronized.
Summoned creatures are very aggressive towards anyone who attacks their summoner. In addition, if the players in an area leave the server before the summoned creatures in that area are unsummoned, then those creatures will become regular NPCs in that area who do not attack on sight, but do not ever get unsummoned.
Leaving the server while equipping bound items turns them into permanent items.
Spell effects and diseases are not saved to or loaded from the server. This means all of them will disappear when you log out and rejoin.
NPC dipositions are not synchronized, saved or loaded, and neither are merchant inventories.
Weather synchronization is not yet implemented.
Loot and creatures never respawn unless the server deletes the cell data for the cells they are in.
Hotkeys and mark spells are not saved to or loaded from the server.
Exploration of the world map is not saved to or loaded from the server.
There may be some issues that I have forgotten, but that's mostly it.
If you'd like to help speed up development of TES3MP, I have now started my own Patreon which can be found here: