VCMI Project - Heroes 3: WoG recreated
Forum of the project aiming to recreate best turn-based strategy ever!

General discussion - Support for demo versions?

MrFlibble - 2016-11-10, 18:19
Post subject: Support for demo versions?
Hello everyone. I've found your project because I have a long-standing interest in source ports and engine recreations of various games.

As you all know, the demo version of Heroes of Might and Magic III contains one single-player scenario which is generally similar to its counterpart in the full game, except for a 28 turn limit. What seems to be a bit less well known is that there are also demo versions for Macintosh and Linux (the latter having been developed by LokiGames). The demo distributions' file names are heroes_3_complete_demo.sit and heroes3-demo.run for Mac and Linux respectively.

Recently I took interest in possible extras that can be obtained from non-IBM PC demo or shareware versions of games, and decided to check out the demos of HoMM3 too.

From the readme supplied with the Linux demo it appears that the turn limit was doubled to 56 turns, making the demo scenario more beatable. While I have not found any info on limits from the Mac demo, the scenario there definitely has differences compared to the Windows version. For example, it does not mention the four weeks limit in the opening message, unlike the regular Windows demo version. The starting castle also seems to have more buildings, and the player starts with a random female Knight, whereas a male Knight seems to always be the starting character in the Windows demo.

I tried to replace the Windows demo scenario with the Mac one (I used StuffIt Expander to unpack the Mac demo distribution), but the demo is hardcoded to only play its original scenario.

However, I managed to run the Mac demo files with the current stable release of VCMI (v0.99). The demo scenario seems to work quite well, except for the following:
  • when starting a new single-player game, a graphical artifact shows up which seems to be made of borders for the scenario selection menu. Pressing Enter loads the demo scenario.
  • the demo includes only a limited number of music tracks, with all castles playing the Stronghold theme for example. VCMI ignores this, so the music often does not play at all.
  • the console shows a lot of error messages related to missing game data, most of which seem to no affect game play.
I was able to play both the Windows and the Mac demo maps, but only with the Mac demo data files. Trying to launch VCMI with the Windows demo data results in a crash shortly after the start of the game.

I think it would be a neat feature if the demo data support were properly implemented in the project, in particular regarding the Mac demo which appears to include extras from the Complete edition such as new neutral monsters etc.

SXX - 2016-11-12, 05:32

It's nice idea to have demo assets support. Though what actually need to be done with assets is they must be unpacked to check what's exactly there and what's not. It's possible that we can combine them too if one have something others don't have.

From what I see Mac complete demo have on my testing map:

  • All graphics for adventure map objects
  • All graphics for town screen, but only Castle, Necropolis and Dungeon has backgrounds.
  • Creatures of Castle, Necropolis and Dungeon for sure have all animations.
  • Overall only 3 towns have full assets I suppose.
  • Some of creatures from other towns also have full set of animations, but not all of them.
  • All spell icons in place and probably animations too.

So what's we need in that case it's some mod that disable all towns except 3 and qualify all working creatures from another towns as neutrals.

We need code to be able disable some things anyway so it's can be done.

Macron1 - 2016-11-12, 19:23

SXX wrote:

So what's we need in that case it's some mod that disable all towns except 3.

It's possible, look for my ban-mod as example.
By the way, where this demo we are talking about can be downloaded?

misiokles - 2016-11-13, 14:17

Here for example:
http://www.fileplanet.com...-III-Demo-[Mac]

SXX - 2016-11-14, 22:00

Macron1 wrote:
It's possible, look for my ban-mod as example.
Yeah that would certainly work. Now we just need a way to find incomplete assets in some automated way. Or we need to make CAnimation not crash when assets doesn't exist.
SXX - 2016-12-08, 19:12

Again thanks for pointing out to the Mac demo.

I don't have time to create limiting mod for demo myself at moment, but I end up using it in my hosted vcmi servers experiment. Looks like it's have everything server-side might need and it's make it possible to keep this thing legal.

BTW I re-uploaded them to my server:
http://vcmi.arseniyshestakov.com/demo/

val-gaav - 2017-01-03, 15:30

SXX wrote:

We need code to be able disable some things anyway so it's can be done.

Would be nice if disabled towns and creatures were replaced on maps if placed there by a random town/ random same level creature.

This way all custom maps would be playable with demo version.

Also as far as vcmi mod map format goes this could also be nice to have . If someone disables forge in mods but vcmi made map would have it placed on map alternative to forcing the mod on would be to replace the town.


Anyway cool stuff with the demo.

josch - 2017-01-21, 10:29

Does anybody know where the demo can be officially downloaded? Just putting the demo on some random server is unfortunately a copyright violation (the copyright holders distributing it for free doesn't mean that others are allowed to do so as well).
misiokles - 2017-01-21, 11:25

I don't know what is Apple policy about software, but demo is always free to use and I can't recall any restrictions in such cases (I've read windows demo warranty and there no restrictions about sharing demo) . BTW, who handles 20 years old software? Even original creators: NWC cease to exists long time ago.
josch - 2017-01-21, 12:08

Yes, free to use. That does not mean free to distribute.

Copyright doesn't work that way round. The default is not "do whatever you want" and then you add restrictions. The default is "You are not allowed to do anything with it". Unless the license says that you are allowed to redistribute the software it is a copyright violation to do so.

And about 20 years: copyright extends 70 years after the original author's death. NWC ceased to exist but that doesn't mean that everything they created is now free for everybody. Quite the opposite actually.

My interest in this topic is for the Debian vcmi package. It would be great if there was a legally okay source to download the demo from.

misiokles - 2017-01-21, 12:11

So you must ask Ubisoft about hosting Mac demo.
val-gaav - 2017-01-21, 12:59

misiokles wrote:
So you must ask Ubisoft about hosting Mac demo.

That will be a waste of time.

josch - 2017-01-21, 13:23

val-gaav wrote:
misiokles wrote:
So you must ask Ubisoft about hosting Mac demo.

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.

misiokles - 2017-01-21, 14:11

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.
josch - 2017-01-21, 14:37

misiokles wrote:
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!

hex - 2017-05-03, 10:52

josch wrote:

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.


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)

josch wrote:

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.


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.

josch - 2017-05-04, 14:14

hex wrote:
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:

Code:
$ 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:

Code:
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:

http://sources.debian.net...ndler.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.

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

SXX - 2017-05-28, 13:23

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:

https://www.fileplanet.co...-III-Demo-[Mac]

SXX - 2017-05-28, 13:35

josch wrote:
If there was a way to download the demo legally from somewhere, I'd of course all be for supporting it by vcmi.
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.

josch - 2017-05-28, 19:53

SXX wrote:
josch wrote:
If there was a way to download the demo legally from somewhere, I'd of course all be for supporting it by vcmi.
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).

SXX - 2017-05-28, 21:18

josch wrote:
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?
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.

josch wrote:
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).
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.

josch - 2017-05-29, 08:24

SXX wrote:
josch wrote:
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?
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.


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.

SXX - 2017-05-29, 09:06

josch wrote:
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.
I doubt any game demo in history ever had such a license. :roll:

RoE demo ships with pretty standard EULA:
https://gist.github.com/ArseniyShestakov/6af72e3a3e5f3c847404faa7530522a1

josch wrote:
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.
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! ;-)

K5HV - 2017-06-25, 14:03

I've checked Linux demo and it doesn't work with VCMI. Map is not working with Mac files either.
Quote:
Map MAPS/H3DEMO is invalid. Message: Invalid map format!


For those who wants to easy unpack Mac version on Linux (and maybe other platforms too)
Code:
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.

SXX - 2017-07-03, 16:48

K5HV wrote:
When I tried to play random map, some massage apperes. Since I cannot read Russian, I do not know what the problem is.
It's just problem with VCMI WoG submod, you need to remove russian translation.
hex - 2017-07-24, 11:50

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.
SXX - 2017-07-24, 20:00

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:
https://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.

josch - 2017-07-25, 19:05

SXX wrote:
There is already mentioned "game-data-packager" in Debian to do the job.


This is OT on this thread but the game-data-packager based solution would greatly benefit from this vcmi bug getting fixed: http://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.

SXX - 2017-07-25, 19:32

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

Powered by phpBB modified by Przemo © 2003 phpBB Group