Author Topic: Offline distribution  (Read 1210 times)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Offline distribution
« on: 14 December 2011, 16:09:12 »
Cyber Rock, who lives in India, has offered to distribute MegaGlest via postal mail, to interested people in India who have limited Internet access.

I like this offer, and would like to take up on it. According to 'Internet World Stats' about 8.5% of the population in India had access to the Internet in 2010. Based on the past annual increases documented there, and based on a study discussed by Times of India penetration should increase to somewhere around 10% by the end of 2011. These numbers refer to people who are online at least once a month, by any of the means possible - many seem to use mobile networks (3G or 4G) for this purpose. Only about 1% of the population have access to broadband Internet connectivity, though. This means there is still a very high percentage of people who have not Internet access at all, or just temporarily, or are online but are unable to download large amounts of data from the Internet. For them, being able to play MegaGlest may still be nice (if on the Internet or just via LAN). So coming up with a way to distribute MegaGlest offline seems like a good idea to me (comments appreciated).

This brings up the question on how to distribute and install mods (add-ons), though. Currently, we do this through the mod menu, by means of downloads off the Internet. Now the question is how this could be handled for offline distribution. Could there be a replacement which just installs this data from file:// locations instead? Should there be separate installers for game mods? Should we provide manual installation instructions which work with every mod, however they may have been packaged? Can we come up with a method which also works for headless servers, since there it is not currently possible to install mods by other than manual means either? Opinions and suggestions are welcome.
« Last Edit: 14 December 2011, 17:17:01 by tomreyn »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

Pizza90

  • Draco Rider
  • *****
  • Posts: 282
    • View Profile
Re: Offline distribution
« Reply #1 on: 15 December 2011, 00:14:49 »
I like this idea that surely will let people having fun with megaglest even if they dont have internet or have it but it's not fast  :) I'd like to suggest to create a cd with "megaglest + mods + a manual (that should be made and translated)". People that would use the cd  should just take the cd run the installer and play, for the mods they could just put the mods in the megapack factions folder and it should work right? I think the manual should be made because if people can't use internet a lot it would be nice if they had something to read in case of problems with installation or things like that. If you like my idea i think would be nice to offer a "special download" for those who want to ship it using postal mail, they should just download the folder with everything inside and put it in a cd :)
I translated Megaglest in italian and i keep the translation updated.

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Offline distribution
« Reply #2 on: 15 December 2011, 06:31:54 »
Should we provide manual installation instructions which work with every mod, however they may have been packaged?
It would be simplest to package all the mods as an addon, so they'd all be installed the exact same way, or create a separate program that simply would copy and extract those addons (from the CD).

Though, it'd probably be best to see if there's even any usage of this distribution service. New ways of distribution and features to assist that are nice, but they're a waste if nobody actually uses them.
« Last Edit: 18 June 2016, 14:47:23 by filux »
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: Offline distribution
« Reply #3 on: 15 December 2011, 10:39:31 »
I think those who enlist themselves on the wiki as offline distributors will learn how much demand there is for offline distribution, and I'm hopeful they will share their experiences with us. If there is demand and we cannot meet it properly because of lack of easily installable mods this may impact further spread, so I'm bringing up this discussion already now.

I may not have been clear enough on which types of mods I intend to discuss here: I'm thinking of mods which are available in the 'game mods' menu. It is not my intention to start yet another thread on whether Omegas' preferred Glest engine's specific required packaging scheme is better or worse or just different than the specific packaging scheme MegaGlest requires. The fact that these engines use different methods for embedding third party content hasn't historically caused a majority of modders to package their mods in a way which works out of the box (though there are notable exceptions), and I don't expect this to magically happen anytime soon. Surely, better documentation could help there.

But let's get back to the types of mods we already redistribute ourselves, namely those available in the game mods menu, since I think we should only try to redistribute these offline. That's because they are known to be formatted according to the packaging scheme MegaGlest expects, can thus be handled in an automated way, have passed some quality checks and are usually somewhat well tested.

For offline distribution of these, what I think is needed is:
  • a way to install them without Internet access
  • a way to install them without having to work on a command line nor, ideally, with a file browser to move around data to given locations.
  • a way to install them which works cross-platform or on every platform we support individually (which would increase the maintenance overhead, though)
  • a way to install them which allows for completely replacing previously installed mods which used the same unique identifier (mod name)
  • a way to distribute them which doesn't involve any manual maintenance overhead, and preferably little or none which is fully automatic: distributing them should be possible without any further preparations (compared to the format the 'game mods' menu listed mods have) unless these can be completely automated
  • a way to distribute them in a format which is optimized to file size (since space on distribution media is limited)
We already have structured data with the game mods menu backend, which is a database containing (amongst other) URLs for the game mods in question. So the easiest way I can think of right now would be a combination of:
  • a script which downloads all mods to a local (to the script) storage
  • a script which builds an easily redistributable database (sqlite, Berkeley DB, or just CSV) with file system references to these downloaded mods
  • a modification to MegaGlest which allows for offline Game Mods menu operation: MegaGlest accesses the local database (which requires that it understands its formatting) and installs files from the file system locations the database returns.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·