Support for demo versions?

That will be a waste of time.

Yes, so my argument is:

Right now it is just as illegal (because of copyright reasons) to distribute the demo (except if you are ubisoft or whomever else they gave permission) as it is to distribute the full game.

So I wonder how useful it is to add support for the demo in these circumstances.

If somebody is pirating homam3, then they can actually do that with the full version and not pirate the demo instead. Unless there is a license from ubisoft that says otherwise, downloading the demo from an unauthorized source is just as illegal as downloading the full game.

If there was a way to download the demo legally from somewhere, I’d of course all be for supporting it by vcmi.

I think you should really ask Ubi what they say about statut of this demo. I’m completely sure they are treating is as abandonware. So, take your turn.

Anybody is free to do so. I encourage you to try. It is already loads of work trying to find somebody responsible. The last time I tried, I did so by phone, email and letter. The latter never got any response, the former two were unable to get me in contact with anybody who could give me concrete answers.

My only experience where ubisoft was actually doing something was, when they sent my web hoster take-down notices because I hosted videos on my server that showed off videos of my own homam3 engine-reimplementation which used their assets. So no, this is far from abandonware (depending on your personal definiton). They might not distribute the original game anymore but they still have their lawyers going after people infringing on their copyright. That this happened to me is proof of that.

I wish you the best of luck!

This is true for most countries, yes. But while it’s in theory illegal it’s kind of the point of a demo (as with freeware/shareware in general) to be distributed as widely as possible. That’s the reason why a website like Fileplanet can be in existence since more than 20 years. (according to their footer)

Downloading from “unauthorized sources” is not illegal (in most jurisdictions). That’s why people use sharehosters and streaming pages where the server operator bears the legal risk.

If FilePlanet seems like a dubious place to link to, you may want to consider the Internet Archive.

That’s wonderful!

Here is how to extract H3BITMAP.LOD, H3SPRITE.LOD, VIDEO.VID and the other files from the demo without having to execute the h3demo.exe on Linux:

$ md5sum h3demo.exe
33e40e8236126f63bc6f8f70568c379d  h3demo.exe
$ dd if=h3demo.exe skip=1 of=h3demo.cab ibs=130731
file h3demo.cab
$ h3demo.cab: Microsoft Cabinet archive data, 98134327 bytes, 17 files
$ cabextract -F Disk1/data1.cab h3demo.cab
$ unshield Disk1/data1.cab

In summary, what’s happening here is: h3demo.exe is a “InstallShield self-extracting archive” which contains a cab archive at byte position 130731 until the end of file. So we extract that part of the file and store it in h3demo.cab. That archive contains a single directory called Disk1 with a couple of stuff inside but we are only interested in data1.cab. Despite its name that file is not a cab archive but an InstallShield file, so we use unshield to extract that file as well.

EDIT:

The lod files from the demo are incomplete (not surprising). Here is the log I get when trying to start vcmi with the lod files from the demo:

VCMI 0.99 GITDIR-NOTFOUND (client)
Creating console and configuring logger: 1
The log file will be saved to "/home/josch/.cache/vcmi/VCMI_Client_log.txt"
	Initialization: 1
	Data loading: 13
	Mod handler: 0
	Mod filesystems: 12
Basic initialization: 28
Initialized logging system based on settings successfully.
[log level] ai => not set
[log level] animation => not set
[log level] bonus => not set
[log level] global => trace
[log level] network => not set
Error: campaign movies was not found!
Error: campaign music was not found!
Loading settings: 29
Found 3 render drivers
	opengl (active)
	opengles2
	software
Check display mode: requested 800 x 600; available up to 1920 x 1080 
Created renderer opengl
	Initializing screen: 105
	Initializing video: 0
Initializing screen and sound handling: 5
		Bonus type handler: 1
terminate called after throwing an instance of 'std::runtime_error'
  what():  Resource with name DATA/TENTCOLR and type TEXT wasn't found.

EDIT2:

And if I add a Data/tentcolr.txt with the content from the full game, the game starts but freezes during the 3DO logo video playing in the very beginning. strace says that it’s stuck at a futex() call waiting:

EDIT3:

Seems that vcmi is caught in an endless loop here:

sources.debian.net/src/vcmi/0.99 … .cpp/#L323

EDIT4:

Since that function seems to parse CRTRAITS.TXT I uploaded the file from the demo for your convenience. Maybe somebody notices something odd that makes the parser fail.

mister-muffin.de/p/uN-1.txt

Just in case there is Mac demo and it’s have all adventure map bitmaps and 3 towns so it’s fully functional in VCMI out-of-box. If legal problems can be somehow bypassed then we can use it instead.

Is someone could ask same guy on Web Archive publish it too then it’s could be helpful:

fileplanet.com/56293/50000/ … -III-Demo-[Mac]

The only thing I wonder about is there any open source game in Debian that actually do that? Like support downloading and extraction of demo assets.

I know winetricks request to manually download files and put them somewhere in some cases, but I suppose their legal status is dubious.

Why is it important if there is anything in Debian doing that? Isn’t this topic independent of the operating system vcmi is run on?

Anyways, here the Debian situation: for Debian it doesn’t matter whether the assets come from a source that you have to pay money for or a source that you do not have to pay money for. In case of this demo, the content is still non-free and vcmi would remain in the archive section it is in right now (contrib).

As for downloading assets, Debian has a tool that is used by multiple engines called game-data-packager. It even already supports Heroes of Might and Magic 3 (but not yet the Demo but uses the full game as its source).

Because Debian community unlike Arch or Gentoo actually care about legal status of packages and I hoped someone actually reviewed the situation. Like to be fair I never knew distribution of game demo versions could be illegal and I almost sure it’s should be legal in Europe at least.

For now It’s not that important in what part repository VCMI is. If we had a goal to make free assets then we could really ask few town creators to license them appropriately and replace everything else.

Though it’s not yet time for this kind of stuff since engine not fully playable yet.

[quote=“SXX”]

Debian can make use of the Demo in the sense that it is legal for Debian to distribute a script that automatically downloads and unpacks the demo (for example from archive.org). But it is not legal for Debian (or Arch or Gentoo or anybody) to distribute the demo unless the demo ships with a license that allows them to do so. I was not able to find such a license for the demo version.

Here a quick overview of the copyright situation in Europe: All creative works are “all rights reserved” by default. Whenever you find some creative work in the internet, then by default you are not allowed to do anything with it other than viewing it (because that’s what the rightsholder allowed you to do by putting it on their website). You are not allowed to distribute it (with or without modifications, with or without taking money for it) unless the copyright holder gave you specific permission to do so through a license.

So, ubi might’ve given certain third parties the permission to offer the demo for download but that does not mean that you automatically have that permission to do the same. Remember, by default any work is “all rights reserved”. It requires a license that says otherwise for you to be able to do more than just having the file on your own computer.

Thus, for Debian, the situation doesn’t change much if vcmi gains support for the demo version. The only change will be that the Debian version of vcmi might then gain the ability to automatically download the demo (for example from archive.org) and use its assets. But Debian (and everybody else unless there exists a license that says otherwise) is still not allowed to redistribute the demo.

This is the whole point of licenses like the GPL or creative commons. Since by default all works are “all rights reserved” it needs a license that specifically says that it is allowed to modify the work and share it with others. Another example is, that on github lots of code is shared without any mention of a license. This code is proprietary and cannot be used by anybody unless the author gives specific permisson. This is in contrast to what most people might think that by default everything is free to copy and it needs a big license to make doing so illegal. It’s the other way round. Everything is “all rights reserved” by default and it needs a license to allow people to do anything with it.

I doubt any game demo in history ever had such a license. :unamused:

RoE demo ships with pretty standard EULA:
gist.github.com/ArseniyShestako … a7530522a1

I understand it all include how licensing work in theory, but to be fair I’m not really worried that much about trying to put something in Debian repository yet since I have no doubt anyone who actually care can buy H3 on GOG with no problem.

Though we really need some testing automation for our CI to track regressions and there also some question regarding how multilayer servers should work in future. This is main reason why I asked for some legal advice in that area.

So thanks for explanation! :wink:

I’ve checked Linux demo and it doesn’t work with VCMI. Map is not working with Mac files either.

For those who wants to easy unpack Mac version on Linux (and maybe other platforms too)

wget "http://download.fileplanet.com/ftp1/fpnew/gamedemos/strategy/heroes_3_complete_demo.sit"
md5sum heroes_3_complete_demo.sit #should be 49343f4fc8c5820c28f4bc8c39a2e149
unar heroes_3_complete_demo.sit
mv Heroes\ III\ Demo/{music,mp3} #change dir name for vcmibuilder
vcmibuilder --data Heroes\ III\ Demo/

unar is from The Unarchiver cmdtools.

When I installed WoG, I’m able to enter map selection screen without glitches. But whole game is in Russian.
When I tried to play random map, some massage apperes. Since I cannot read Russian, I do not know what the problem is.

I’ve also create PKGBUILD for Arch Linux thats downloads MacOS X Demo, extracts files and copy it to vcmi data directory. I’ve uploaded it to AUR.


It’s just problem with VCMI WoG submod, you need to remove russian translation.

Regarding Debian: There is the example of the Microsoft Fonts. Everyone is allowed to download them (“freeware”), but redistribution is not allowed. Debian added the package ttf-mscorefonts-installer to the contrib repository that does nothing but asking the user to agree to the EULA and download the fonts. Contrib means the script is free software but depends on unfree stuff.

There is already mentioned “game-data-packager” in Debian to do the job.

I emailed archivist who put Heroes 3: RoE demo on Web Archive and hopefully he’ll upload Heroes 3: Complete Mac demo there as well. So it’s will be source we can redirect players to. I think it’s would be solid source especially because Web Archive and old games such as H3 should be under DMCA exception in the U.S:
archive.org/about/dmca.php

Also I asked @misiokles to work on mod that disable all missing assets and I’ll also make sure engine is compatible with it.

This is OT on this thread but the game-data-packager based solution would greatly benefit from this vcmi bug getting fixed: bugs.vcmi.eu/view.php?id=2189

As things are right now, Debian needs a wrapper script around vcmi which makes sure that ~/.local/share/vcmi is symlinked to /usr/share/games/vcmi which is quite awkward.

Oops, i’ll make sure to resolve it ASAP.

So Mac demo is now on archive org:

I’ll make sure mod for compatibility with it is available so we can use it on CI.

@josch
If you going to have time, can you look into contributing mac demo download / extract into “game-data-packager”? I’ve made mod for Mac Demo assets and while it’s still need more work (demo missing few menu screens) it’s totally possible to play randomly generated maps with VCMI using these assets.