View unanswered posts | View active topics It is currently 30 Nov 2024, 07:23



Reply to topic  [ 10 posts ] 
 Mods and Multiplayer 
Author Message
Lieutenant
Lieutenant
User avatar

Joined: 31 May 2006, 01:00
Posts: 451
Lately, the focus on Supremacy seems to be the multiplayer aspects of it. Since the game is also going to heavily focus on modifications, I am curious at how the two concepts are going to interact with each other. Upon reflecting about this issue and learning on how Legacy handles mods and multiplayer, an idea occured to me.

Disclaimer: I am ignoring the complexity of this idea completely. It would likely be challenging to say the least. But I am ignoring it as I believe this could be a pretty important feature to the Supremacy project as it should add to the robustness and flexibility of the program.

With Legacy currently, if you mod the game, you are unable to play multiplayer internet games (I don't know about LAN or direct IP games). This reason is largely why I never ever mod anything (plus the fact that I'm somewhat lazy.)

As far as I know, the current plan is to impliment a server that will handle multiplayer games. I don't know if the server acts as just a meeting room or if the server itself hosts the game. Either way, multiplayer games with modifications are an issue. So I propose removing the related issues.

First of all, I would like to see each game always have the out-of-the-box features. Think of them like the default settings. These default settings could be hard-coded so they are unchangeable. In addition, there will also be files that are editable for modications. What this will do is essentially allow the game to keep two seperate sets of game files, a "default" mode and a "modified" mode.

Thus, if a player is creating a multiplayer game, they will have the option of starting a default game or a modified game. For example, if someone has a total Star Wars modifcation, they will still have the option of playing a standard Star Trek: Supremacy game as the default statistics will ALWAYS be part of the game. As I've said before... I like options :)

This essentially allows players to modify their games, but they can also supress the modifications in favor of a default game at any time without remodification.

****************************************************

This could technically be a seperate idea, but it is definitely related to the above default/modified idea. This can be implimented seperately or in conjunction. Again, I am completely ignoring the complexity level of implimentation.

I would also like to see a third "set of files" available for use. These files will ONLY be used in multiplayer games and multiplayer games will ONLY use these sets of files. When a multiplayer game is created, the host's game files will be sent to all other players. This essentially allows everyone to have the same mod loaded up. Thus, if a friend of mine wants to play his Battlestar Galactica total conversion, I would not need to remove my Star Wars total conversion. Since my friend is hosting the game, his Battlestar mod would be sent to me and saved in the multiplayer files, perserving my own modifications.

This would also allow for the easy sharing of modifications. After the multiplayer game ends, it might even be possible to export the mod from the multiplayer files and save them on the computer's hard drive for later use.

Depending on how crazy we feel like getting, we might even be able to save the different mods within the Supremacy application itself. With a "game mod option" in the game creation screen, a player could save dozens, if not hundreds of different mods and be able to access them all any time they create a new game. StarCraft does this for customized maps and is the main way new maps are spread to other players.

*******************************************************

These ideas are likely very complex to impliment. The different ideas themselves can be independant of each other and can definitely be modified to be easier to impliment or use. However, I think these should definitely be considered as it attempts to address the main problems with modifications; they make multiplayer games difficult to do properly and often locks players into only games that their modified files allow. I'd like to break the mold, so to speak, and allow better flexibility when it comes to modified games. Since the game files and multiplayer in general is in the infant stages, these ideas warrant discussion.

_________________
-Azh


11 Dec 2006, 16:17
Profile
Commander
Commander
User avatar

Joined: 30 May 2005, 01:00
Posts: 1137
Location: Northglenn, Colorado - U.S.
*Original configuration :arrow: my modded game...
/
/
*Multiplayer file storage* :arrow: access to all stored modded multiplayer games....


hmmm I like the concept. I concur that the task would be time consuming.

For those of us who do not know how to mod , yet would like to get into a modded game, yeppers this would work great.

Question is while this is in the infancy stage, how much longer would this set the game back in time? This would be regarding release to the masses in general?

Another question I wonder about is download times. With all the different systems out, each downloads at different speeds. Working this as a file sharing deal could cause some lag times for some. Also storage, who would want to store all this information without purchasing a huge storage system. ( I ask this cause I used to work at a business that built storage units for computer systems. )

But I do like the idea.... the concept... all of it... :lol:

_________________
I'm A Romulan with an Attitude and I'm not afraid to use it!

Image


11 Dec 2006, 18:28
Profile YIM
Combat Engineer
Combat Engineer
User avatar

Joined: 18 Jul 2005, 01:00
Posts: 1001
I certainly like the concept of having a default set up, then scan whoever's the Hosts Mod files and downloading them and then beginning the game. It seems simple enough at first and allows differant mods to be available at any one time.

Some problems i can see arising is Size, and perhaps how files are transfered from one computer to another. Maybe Malicious content from people you don't quite know but you risk that with anything you download from, only here it's hard to tell if it is safe.

But as it would be played mostly between friends i doubt that is a huge problem.

If a mod is a seperate entity then you would either have to Download the Whole Game Data, ie the whole game again but with the subsequent changes. ( This could be bad if Game size is large )
Or you need download only those changes brought about by the Mod and the original game has the ability to read those changes and implement them somehow and ignore there default counterparts.

For modders that would be great, but how easy would it be for Mstrobel like you said i have no idea :)

Great idea though, especially for sharing Mods

Regards Wolfe


11 Dec 2006, 19:37
Profile
Lieutenant
Lieutenant
User avatar

Joined: 31 May 2006, 01:00
Posts: 451
Malicious content would probably be a non-issue. Supremacy is essentially expecting text files, and possibly graphic files. It'll attempt to read them in as such, not execute them. Some sort of valadation would be required, but it wouldn't have to be crazily complex.

Again, I pretty much ignored the complexity of the idea. The goal of BotF2 is to make a moddable, multiplayer game. Those two concepts usually clash with each other and wind up being one or the other, not both at once.

Download times would be a non-issue. It wouldn't work in a way that typical "file-sharing" works as most people know it from downloading music. The Supremacy server would simply tell the client, "Here are the game files" and the client would download them. It wouldn't be any different than how StarCraft maps are sent to all the players on internet games.

In StarCraft, there is a map editor which allows you to completely create a customized game with custom stats, scripts, triggers, obstacles, resources, etc, etc. The primary method of spreading maps around is by hosting games. When you join a game, if you do not have the map, StarCraft will download it. The game cannot start until all players have downloaded the map. StarCraft also saves every map you download in a special download folder so that you may now use the map whenever you want. Ideally, something similiar for Supremacy would be huge and would largely make the game unique in terms of modability.

It would be a simple matter for the server, or even the client, to first read the file and ensure it is in a correct format before doing anything else with it. If there's anything that could be considered "corrupted" the file gets trashed.

Some valadation would be a rather easy matter to add once a file is received. We can hold it in memory as a string variable, valadate it, and then save it to a file or trash the variable (and the RAM address). This is getting a bit more technical than I was planning, though.

Size would likely be a non-issue. I mean, if you want to allow the flexibility to be able to play with anyone and with any mod, you'll suck up the download times. But I can't imagine it taking more than a several seconds of high-speed DSL/Cable, and perhaps a couple minutes over dial-up.

I would be highly against downloading ALL of the gamedata (IE: the entire Supremacy program) every game. What I was envisioning was simply the mod files that are in the XML format, and perhaps included graphic files. The graphic files would take up the vast majority of the data that gets transfered, particularly if they are high-quality. If there is source-code modifications, my idea breaks down... but then again nothing short of a complete reinstall with the new code would be possible anyways. This ONLY deals with the XML files and other related modifiable files.

Ideally, I'd like to see these mod files get saved in a seperate downloads directory in the Supremacy program files. When Supremacy saves the mod, it will save it in a way that it can easily populate a drop-down or file menu so it can be selected and loaded into a new game. It is worth repeating that saving each mod you download is just a small (and technically seperate) part of what I proposed.

By the way, if I wasn't clear about it before, I apologize, but all of this downloading will occur before the game is actually started. When you join a game, you will then download the game files before you start playing. In fact, it should probably be programmed so that the game cannot start at all until everyone has downloaded the game files. That way, there is no issues of lag during the game in any way that is related to this proposal.

There are a few other questions in relation to these ideas that I have myself and am unsure on how to solve them. However, these are dealing with the specific implimentations. At this point, I just want to outline the general idea of what would be occuring and try to get some feedback regarding on how much value it would add to the game. I figured I'd let Mike worry about the complexity and how long it would take to impliment. But if this would add a high degree of value to the game overall, almost any time frame would be acceptable.

_________________
-Azh


11 Dec 2006, 20:08
Profile
Combat Engineer
Combat Engineer
User avatar

Joined: 18 Jul 2005, 01:00
Posts: 1001
Sorry i thought you were leaning towards a more Total conversion type mods, my mistake. If it is only changes to xml files etc and not to graphically inclined then i guess size shouldn't matter to much.

Though i would ask and don't take this the wrong way, if the only changes are really going to be superficial in the sense of editing numbers, modifiying ship stats and research etc. Do you really think a lot of people will be doing this?

If the task of designing a system takes ample time does it bare in a cost benefit analysis any kind of reward over just simply downloading the appropriate files from a site?

Truthfully this system seems to work for situations like you posted such as Maps but i can't see hundreds of players taking the time to fiddle around with the values and stats of the game. Not to mention i would tire quickly if they did due to having to learn a new game "style" because every game i play has had someone edit the values in some way.

Don't takes this the wrong way, if it could be done easily then great but we don't know that sadly :(

Regards Wolfe


12 Dec 2006, 01:20
Profile
Commander
Commander
User avatar

Joined: 30 May 2005, 01:00
Posts: 1137
Location: Northglenn, Colorado - U.S.
I took all what you stated into account when I posted below you Azh, It is why I asked what I did.

Again I like the concept... You mentioned you had rezervations about your own idea, would you state those please?

This is just a thought....So bear with me.. With the whole modding idea/implemention.. perhaps it **Could be limited** to concepts that are not to far fetched or so overbearing that any player who wanted to play a modded game would be able to do so fairly..

I'm only thinking in actualy gameplay mode (for myself I try to see it as if I was actually playing it real time) So if I'm in a battle with whoever and they are losing cause I got a few lucky shots in, they suddenly split a ships upper hull open and a 100 megaton warhead torpedo launches with plasma seeking ability, then I'm up the paddle without a creek. that tends to make players want to bail and not play..

Also. with modding does there not also come a few who know/understand enough coding to change the games program and put in (i.e. a type of cheat code). that way they can build as many ships as they wish and not worry about colonizing ect..

I think of it as bullying (sp?) and yes I have seen it in botf when I used to play online in multiplayer.

I'm just thinking some type of protections should also be implemented.. but I could be wrong...

_________________
I'm A Romulan with an Attitude and I'm not afraid to use it!

Image


12 Dec 2006, 07:37
Profile YIM
Chief Software Engineer
Chief Software Engineer
User avatar

Joined: 11 Aug 2005, 01:00
Posts: 2688
This is a good thread, but it doesn't bring up anything that I haven't already been thinking about. Here's where things are right now:

At the beginning of the game, all of the data that was stored in XML is included in the game state sent to the clients at the beginning of the game. That way, the data on all the clients is guaranteed to be consistent. That same data is also included in the savegame files, so you cannot modify any game objects in saved games. This prevents any issues that would arise from removing or changing certain buildings or ships and then loading a saved game in which those objects were already built.

The plan for mods (not yet implemented) will be similar to Civ4. Each mod will have its own folder containing a mod definition XML file and a 'Resources' folder structure similar to the main game 'Resources' folder. When a file is needed, it will first check in the 'Resources' folder for the currently selected mod, and if the file does not exist there, it will load the file from the main game's 'Resources' folder. Therefore, the mod's 'Resources' folder only needs to contain files that have been added or changed from the base configuration.

The one issue I haven't settled on yet is file downloads. At the moment, only the game databases are sent to the clients. This does not include string tables, graphics, etc. Download times would be pretty high for sending mods that include lots of new ships (models + textures). It would also be a pain in the ass to implement. I haven't decided if it's worth the trouble yet. It would be alot easier just to require all players to have the same mods, and then compare the mod Resources folders to ensure that they have the same models and graphics (XML is irrelevant). Players without the required models and graphics would not be able to play.

_________________
Lead Developer of Star Trek: Supremacy
253,658 lines of code and counting...


12 Dec 2006, 14:56
Profile WWW
Commander
Commander
User avatar

Joined: 30 May 2005, 01:00
Posts: 1137
Location: Northglenn, Colorado - U.S.
***Bows to the Hmmm Great Zlad*** Supersonic. Electronic...


Perhaps this. if one element is modded why not all across the board? Makes the game for all involved a lot more fun eh?

_________________
I'm A Romulan with an Attitude and I'm not afraid to use it!

Image


12 Dec 2006, 15:20
Profile YIM
Lieutenant
Lieutenant
User avatar

Joined: 31 May 2006, 01:00
Posts: 451
It sounds like installing a mod is simply downloading a folder and copying it to your mods directory. If that is so, then there is definitely less of a need to send graphic files out when players join a game. However, it will require modders a place to upload those mods. I realize that can always occur here and at armadafleetcommand's home page. I must admit, though, that these websites were not known to me until Wikipedia pointed me this way. So... I'm not really saying if you need to transfer graphics or if you don't, I can see both sides of the equation. *shrugs*

I am curious, though, at how difficult it would be to send graphic files. Other than the increased download time, I don't see why it would be any more complicated. It seems like you're sending the data. I was thinking about actually sending the files so that they'd be available for use for another game.

A "total conversion" is essentially a new set of XML files and graphic models. If they are all contained inside a folder, I would assume that the mod would know where each resource is (both XML and graphic) so it can be loaded.

Wolfe: the concerns you've stated appear to be about modding in general. I personally am not really that much of a modder myself. I prefer default games although I have played some customized ones every now and then. Those custom games usually require re-learning the details of each unit as they are typically different. Supremacy is being programmed purposely to allow users to do this (but I'm sure you already know this.) I like giving players as many options as possible, so I'm hoping to see the flexibility to be able to play any game at any time regardless of what you mods you may or may not have. This gives all users the choice to join any game they want... but you can still avoid the mods you'd rather not play.

Speaking of which, does that mean that you will always be able to play a default game of Supremacy regardless of what mods you've got? It sounds like you'll be able to from the system you described, Mike, but you didn't actually come out and say it so I'd just like to double-check.

And the only additional question I've got is determining what to name each mod file-wise to ensure it is unique, or when to overwrite a mod. For example, if I made my own Star Wars mod called StarWars1 and I join a game that is using a different mod with the same name, I'm not sure how I would handle it programmatically. Would it download and replace my StarWars1 mod? Would it automatically rename it to StarWars1_1 (I'd probably go with this option) but still show up in the game selection list as StarWars1, along with my StarWars1 mod? How does it determine when the mod is different or if it's the same? There's several questions here that will only add to the complexity of the implimentation. But they're pretty important and definitely worth thinking about.

_________________
-Azh


12 Dec 2006, 15:22
Profile
Chief Software Engineer
Chief Software Engineer
User avatar

Joined: 11 Aug 2005, 01:00
Posts: 2688
I'm not sending the XML data as files. I already have to load the data from the XML in order to use it in the game. It gets loaded into data structures that I created for the game. I just serialize those structures along with everything else at the beginning of the game. Doing that with binary files would require loading them all into memory and writing them at once, so that's out of the question. Thus, I'd have to send the files individually. It's not that hard, but I'm not sure it's a great idea.

EDIT: I've been thinking about compiling a copy of the default configuration into the game itself so it can't be modified (and will always be available). I'm pretty sure I mentioned that a while back.

_________________
Lead Developer of Star Trek: Supremacy
253,658 lines of code and counting...


12 Dec 2006, 16:27
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 26 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware.