Hey guys, DragonGeo2 here (the one and only dev working on Project Aedra). I figured I'd answer a few questions you guys had about my project that aren't answered in the FAQ:
http://aedra.svn.sourceforge.net/viewvc/aedra/README.txt?revision=59&view=markup
Oh and by the way, for you guys who were having crashing issues, give r90 a try (you can download it from Sourceforge here: http://sourceforge.net/projects/aedra/ ). Previously to r89 or so, the engine didn't like to run on certain nVidia cards (I don't have any to test on, I'm sorry to say) but I believe I fixed that in one of the Morrowind_aux.ini switches (at least Wolvman isn't having the crash bugs anymore). Also, prior to r90, the engine didn't support mods that extended the landmass beyond the original game's landmass (such as TR1 and TR2), but now it does support those. If you're still getting any crashes, please send me an email (at dragongeo2 -at- gmail.com ) and copy-paste the last few lines of lastrun.log and lasterror.log into the email. It's even easier for me to figure out what went wrong if you include the last created minidump file.
Also since I'm working on mod support lately, if you find any mods that consistently cause Aedra to crash, lemme know so that I can figure out WHY they make it crash and fix the problem. Currently known to work mods are:
Siege at Firemoth.esp
Tribunal.esm
Bloodmoon.esm
Morrowind Patch v1.6.5-BETA.esm
moons_soulgems.esp
Book Jackets - Morrowind.esp
Book Jackets - Tribunal.esp
Book Jackets - Bloodmoon.esp
Morrowind Code Patch Showcase.esp
AedraTestPlugin.ESP
Darknut's Creature Textures
Darknut's Dwemer Ruin textures
Tamriel Rebuilt Map 1
Tamriel Rebuilt Map 2
intresting.... building a new engine thats good. BUt I cannot find any information as to WHY this one is going to be better than OpenMorrowind?
Open Morrowind has aims and goals that it lays out for IMPROVEMENTs over morrowind. This one looks like its just recreating morrowind for the sake of creating morrowind?
Or have I completly missed something? I really hope that its going to offer us something more
Perhaps the reason you think that my project does not have aims and goals for IMPROVING Morrowind is because I didn't make such a sweet website as the OMW guys did
My project has sort of different aims than the OpenMorrowind project does, though I cannot speak for their project other than to say that they're doing great work for Morrowind and I hope that you guys think I am too. For one, OMW is designed with cross-platforming in mind, whereas my engine is designed to be Windows-only (of course, it's open source so if you really wanted to you could port it to Linux or Mac or whatever). Also, OMW is not officially supporting multiplayer as a "main feature" of the engine - they're recreating the base Morrowind engine first, and then possibly adding Multiplayer on as a new feature. My engine is going to support LAN multiplayer as a primary feature of the engine. I might add Internet-based multiplayer later, but that's an entirely different and larger problem to synchronize. Also, OpenMW is using a lot of open-source middleware (kinda like Morrowind itself did) and I'm trying to keep my engine as dependency-free as possible. Of course I'm still using Direct3D, Win32, FMOD, and NifLib. Another aim of my project is to fix some of the fundamental issues with the original Morrowind engine that cannot be patched using a mod - things like the often inept AI and the fact that despite being a game released in 2002, it still runs at less than 60 FPS on my computer which I bought brand-new in 2009. Also, Morrowind's graphics engine (which was written at the advent of programmable graphics pipelines) can be much upgraded without replacing any of the original artwork.
Looks like they're rolling their own engine from straight DirectX. Impressive they've gotten so far with that. I'd like to see it fully shadered.
Making it fully shadered isn't as difficult as making it fully shadered and run fast >_<
Yeah, I'm quite curious how it will work out with all the global state in MW that really only applies to one player. If one player gets the codebook from Sottilde for the FG, what do the other players get?
In multiplayer it doesn't really make sense to pause during menu mode, but so much of the gameplay and so many scripts are built on the assumption that play is paused during menu mode.
How do you synchronize mods so that two players see the same stuff?
It would be interesting to hear what the plans are for all that.
I've already run a few (and I don't mean very many) small tests involving this, as well as mulling over the scripting functions list for hours on end, thinking of the various ways that multiplayer could be implemented. What I've come up with is that there's several approaches that can be taken to solve the problem:
1) The NWN2 approach of "multiplayer with pausing", whenever any player talks to an NPC or opens their inventory or world map, the game pauses for everybody. I personally hated this in NWN2 because it completely destroyed the flow of the multiplayer game for me. The upside, however, is that synchronization is dead simple.
2) The approach of "multiplayer without pausing" in which opening a menu or talking to an NPC does NOT pause the game for anybody. This style means that the entire way Morrowind is played kinda changes - for one there's no more of the ability to pause battle to chug potions, you'll either have to be very very quick with your inventory or you'll have to have them hotkeyed. The same thing goes for spells and weapons that you don't have equipped. Another issue that this brings up is that it might break a ton of scripts that are designed to be run at a time "when menu mode is running but non-menu mode isn't running". If I had to choose I would implement this mode of multiplayer, though it would take *a lot of a lot of* tweaking and playtesting to get things to work correctly.
Another large issue with multiplayer is the problem of the scripting language itself - it's very single-player oriented. In fact, like half of the functions refer to "Player" but it of course does not specify WHICH player is involved. Once again, there are a few solutions to this problem:
1) Only one person (presumably the host) is the "player" who is basically the Neraverine and everyone else just plays as an NPC that aids the main player in their journey. This method would still potentially break stuff in instances where the non-host speaks to NPCs and completes quest objectives that may start scripts running on the player who spoke to that NPC rather than on the host player, which might render the main quest unfinishable or whatnot. This method, however, is still probably the "least likely to break stuff".
2) All of the players are the "main player" or the Neravarine and they all share a quest journal. This would require teamwork amongst the players (for instance, if one of the players wants to take the back path of the main quest and the others don't, well you can't take both if you share the same quest log) to make sure that one person does not do something that might negatively affect all of them.
3) All of the players are the "main player" or the Neraverine and they all have their own quest journals, factions, quest logs, etc.. This means that players can "cut off" other players from completing certain quests (ie one player joins one great house and another player joins another and they kill each other's quest givers). However this also adds consistency and realism (I think) to the world and as a result this would be my preferred option in this choice. Of course choosing this option also requires the most work in rewriting the scripting language (rather, its internals, so that scripting functions such as ModPCCrimeLevel change *the right PC's* crime level instead of all of theirs, or the nearest one, etc.)
Yet another problem with mutiplayer support are the questions, "What happens when someone dies?" and "Can players attack other players?". Since I'm still working on this, these questions are yet unanswered and they'll likely be figured out later on in the development process (though does anyone have an objection to moving dead players to Seyda Neen or something with 1hp?)
Proof of that is that I abandoned Oblivion long time ago, and I'm still playing Morrowind ^^
Back on topic...I'm surprised that still nobody has asked the 1.000.000$ question....will this engine support mods in multiplayer? and how will it handle them?
And as a little idea...I think MP mods could be divided into 2 categories...the ones that doesn't affect in any way the other players in the game (like texture/meshes replacers, graphic enhancements, etc), and therefore doesn't need to be shared, and the other ones who does affect the other players (custom armor/weapons/hair/faces, questmods...). The good thing is that MW mods weights relatively little, and if the engine could manage them in a "per-character" base, it could be pretty much like "live-auto downloads", meaning that the new player could somehow upload their char custom content to the other clients (pretty much like Half-Life-engine games does with the spray logos). As the client would only upload (as much) one new face/hair/armor-clothes model/weapon model, the upload should be relatively small...well, at least for "character mods".
But well, another problem are the permissions for redistribution from the mod makers...xP
I agree that I've found Morrowind to be a much more enjoyable and replayable game than Oblivion, which probably also factored into my decision to rewrite it. In terms of multiplayer mod support, I was thinking that there were two options I could go with:
1) Be a hard-ass about it and say that nobody gets to play multiplayer unless *everybody* is using *all of the exact same* mods. Of course, this is easiest for me coding-wise, but it might not provide the best player experience :3
2) I could, when a multiplayer game starts (or when a cell gets streamed in for the first time), run a hash check against the world's collision trees and determine whether there are any inconsistencies (which would mean that one of the players is using a mod that changes either one of the mesh's collision volumes or the land the cell is on or the cell's objects list etc.) and then disallow that particular mod for the player which has it enabled. Of course, this wouldn't work if one of the players was running a mod which changed NPC stats or added new weapons or spells or whatnot and another player wasn't. In the end, they'd both have to be running the same mods in order for things to work correctly.
Since Project Aedra can be run on x64 will it be able to recognize more than 4GB of RAM?
Yes it already supports more than 4GB of RAM (assuming you're running Vista x64 or Win 7 x64).