Being the instigator of this mod, it's my responsibility to try to sell the concept... Here we go!
Not being able to program isn't a barrier to helping the project! Thinkers and brainstormers are important, too!
Register at http://skynet.hipolipolopig.us to join us!
[Warning! Long post is long, technical and not really suitable for non-programmers!]
This is one of the ideas that I've been throwing back and forth in my head while waiting for the CK; SkyNet, Skyrim Co-Op. I can tell that some of you can already feel the need to flame welling up, assuming that this project would fail like so many before it. The thing is that it's not impossible to create this, it's just damned difficult, lengthy and frustrating. Most people have lives that need living so they can't give what they'd like to heir ideas. This is where I come in
I'll tell you a little about me first, if you wanna skip this go right on down to the [Technical Stuff] section. I'm 19, I've been programming for around 8 years, almost 9, in C# and will gladly disregard most other languages as hogwash (BASIC, Java, Objective-C... Not C++. I respect that

) I first started tinkering with network mechanics in 2009 for a Comp. Sci. class competition thingy and found myself hooked (That might be used as a pun later, we'll see!). I've spent most of my time since learning plenty about serialization, networking structure and (Most recently) CodeDom (Code that compiles code on-the-fly, for those that aren't familiar). Playing Skyrim for a while, I began to feel that it could do with... Well, other people! Could you imagine getting a group together to take down a dragon? (More on difficulty scaling later...) Or raiding Whiterun/Solitude/Windhelm, army against army while 3 or more dragons torch your foes? It sounds fairly lame written down, but I know that I want it.
Now, how the heck do we manage it? (Yes, we. Reading this means that you're in on it, too!)
[Technical Stuff]Thanks to the team that have previously worked on OBSE and now SKSE (Pre-release version available here), we have a base for injecting our own code into Skyrim. Until the CK is released, we can't hook anything important (Properly, at least) like players moving, equipping/removing items, entering/leaving combat, etc. But we can at least get started. So, the first thing to do (For me, at least. Being Mr. C# ) is to inject the .net framework into Skyrim.
"Well nuts," I thought to myself when this came up, "That can't be done!"
BZZT It can. The
ICLRRuntimeHost interface allows us to call up the .net framework inside of a non-managed application when injected (Effectively most modern games). Several issues may crop up with this, however. How does this affect the stability and performance load of the game? Things like this will need to be tested. But it can be done (SKSE will be the cornerstone of this, it handles most of the difficult stuff beautifully).
Next on the list is hooking every single little thing that happens on both client and server ends. Hell in a handbasket. This, aside from modifying core-content, will be the most time-consuming. We're not running an amateur show and broadcasting only move/equip/combat events. A Server <-> Client model can't work properly like that. Every time a player goes to loot a corpse, that request will need to be sent to the server, then a response sent to the client to say "This is what's on this corpse, take your pick!", player chooses items (Send message to server; "Took A, B, E") ... You get the picture. Lots of messy code with the potential to go painfully wrong. There are many more questions here; "What about events like talking to an NPC?", "What about quest-line events?", "How are you going to handle mods?" and so forth. All in good time. That mostly fits into modding core content and logic, rather than the server side of things. Let's talk about that now.
Modding core logic and content. Definitely the hardest part. Will probably need its' own dedicated team. Skyrim will need to be told to either act as a client or a client/server, each acting differently. The client logic will need to be told to wait to receive replies and events from the server as well as send requests to the server for every final result of each action, whereas the client/server will need to be told to listen for requests from clients, distribute responses/events and handle its' own client. We may as well be re-writing everything from scratch.
If you've read all of this, understood it and don't feel the need for flaming, you're the kind of person that would be an invaluable asset to a team if this were to get underway. Well, more underway than it already is. In any case, please contact me if you're interested and have a steady background in C++, C# or modding Bethesda's various series.
This will be done, I'm not giving up on this and may the 9 have bloody mercy on me if this falls over!