Card Game Engine

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Message
Author
EvilDragon
Veteran
Posts: 284
Joined: Fri Dec 28, 2007 5:47 am
Location: Where the Dragons rule!
Contact:

Re: Card Game Engine

#31 Post by EvilDragon »

mikey wrote:Again, if the "free for non-commercial use" idea isn't acceptable, and if this "no obfuscation" thing must exist, then transfer that into the program, rather than the game that's being made with it. So that Free version would not let you obfuscate, and the Pro version would. What this would allow would be the creation of freeware games with obfuscation. It's much better than forcing people to sell their games if they don't want their art to be seen.
This is the right thing to do IMHO. Very good point, sir!
Angels of paradise, angels of sacrifice
Please let me be under your wings...

Wintermoon
Miko-Class Veteran
Posts: 701
Joined: Sat May 26, 2007 3:41 pm
Contact:

Re: Card Game Engine

#32 Post by Wintermoon »

FWIW, I also consider this licensing scheme unacceptable.

Philosophically, I am not willing to invest my time and effort into writing a game that isn't under my control. By control I mean that I can distribute the game as I wish, without paying royalties and without giving away the source code. I am willing to willing to pay for this control, but only as a one-time fee with no further obligations on my part.

Pragmatically, the shareware business model relies on distributing a lot of copies of a program for free and charging for the upgrade. Paying a royalty for each copy distributed is not reasonable in this case, nor is requiring the free version to be open source.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Card Game Engine

#33 Post by PyTom »

I'm now strongly considering relaxing the license for the cardgame engine, that focuses on free redistribution more than on open-sourceness. Something to the extent of:
License Idea wrote: This code comes with NO WARRANTY. It may be distributed in modified or unmodified form, either by itself or as part of a combined work, provided that such distribution allows further redistribution without requiring payment, notification, or other consideration. A combined work consists of all code loaded into the same memory space as this file, and any other asset (art, music, sound, font, etc.) that is loaded by that code.
(It's actually really hard to write a license, which is why I wanted to go with a pre-existing one.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Aenakume
Regular
Posts: 182
Joined: Mon Aug 11, 2008 4:38 am
Projects: Arts... i hate arts -_-
Contact:

Re: Card Game Engine

#34 Post by Aenakume »

PyTom wrote:I'm now strongly considering relaxing the license for the cardgame engine, that focuses on free redistribution more than on open-sourceness. Something to the extent of:
License Idea wrote: This code comes with NO WARRANTY. It may be distributed in modified or unmodified form, either by itself or as part of a combined work, provided that such distribution allows further redistribution without requiring payment, notification, or other consideration. A combined work consists of all code loaded into the same memory space as this file, and any other asset (art, music, sound, font, etc.) that is loaded by that code.
(It's actually really hard to write a license, which is why I wanted to go with a pre-existing one.)
i'll bet.

IANAL, but would creative commons share-alike work? Doesn't a game that uses the engine count pretty clearly as a derivative work?
“You can lead a fool to wisdom, but you cannot make him think.”

User avatar
ficedula
Regular
Posts: 177
Joined: Sat Mar 31, 2007 2:45 pm
Location: UK
Contact:

Re: Card Game Engine

#35 Post by ficedula »

Aenakume wrote: IANAL, but would creative commons share-alike work? Doesn't a game that uses the engine count pretty clearly as a derivative work?
Nope.

Opinions are divided on whether calling functions in somebody elses library, makes your code a derivative work of that library. Some people (*cough*FSF*cough*) are of the opinion it does; I've also read convincing legal opinions that merely calling/linking to somebody elses code does not, in of itself, create a derivative work. In any case, I don't believe the various theories have ever been clearly tested in court (if anybody knows otherwise, do say; I really would be interested). One thing it certainly isn't, is clear.
PyTom wrote: (It's actually really hard to write a license, which is why I wanted to go with a pre-existing one.)
It's worth bearing in mind that virtually no pre-existing licenses have been fully tested in court, the preceding derivative work issue being a primary example. When people say 'License X has been tested in court' what that normally means is 'A court in country Y didn't completely dismiss license X as being a pile of rubbish, and at least some of its terms actually mean something'.

Which isn't to say that you shouldn't use a pre-existing license. It probably is a bit safer than a home-grown agreement. But frankly, the fancier you get, the more likely it is that somebody will get screwed off with the terms you're imposing and (try to) find a loophole.

(Incidentally, PyTom, if you've set up in business for yourself, don't you have a legal advisor? I set up a software business earlier this year, and while it wasn't my first priority, and I certainly don't have a lawyer on a full-time retainer, I do have access to a dedicated legal advice service. Although I suspect their advice if I were to ask them would be 'keep it as simple as possible, and if you want two different licenses for commercial vs. non-commercial, keep it at two simple licenses'...)

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

Re: Card Game Engine

#36 Post by monele »

If you consider a library of function a tool (or set of tools), then using them to build something else should not be considered as a modification of the tools, right?

Aenakume
Regular
Posts: 182
Joined: Mon Aug 11, 2008 4:38 am
Projects: Arts... i hate arts -_-
Contact:

Re: Card Game Engine

#37 Post by Aenakume »

ficedula wrote:
Aenakume wrote: IANAL, but would creative commons share-alike work? Doesn't a game that uses the engine count pretty clearly as a derivative work?
Nope.

Opinions are divided on whether calling functions in somebody elses library, makes your code a derivative work of that library. Some people (*cough*FSF*cough*) are of the opinion it does; I've also read convincing legal opinions that merely calling/linking to somebody elses code does not, in of itself, create a derivative work. In any case, I don't believe the various theories have ever been clearly tested in court (if anybody knows otherwise, do say; I really would be interested). One thing it certainly isn't, is clear.
You're talkin about linking to external libraries - which i agree is a grey area.

But unless i'm mistaken, Py'Tom's card engine is not an external library. To use it in your game, you have to include it in your game - not just link to it. That does make it derivative.

Here, i show, with my emphasis:
http://www.rosenlaw.com/lj19.htm wrote:The primary indication of whether a new program is a derivative work is whether the source code of the original program was used, modified, translated or otherwise changed in any way to create the new program. If not, then I would argue that there is not a derivative work.
See? In order to use the card engine, you actually have to use it in the program, not from the program.
monele wrote:If you consider a library of function a tool (or set of tools), then using them to build something else should not be considered as a modification of the tools, right?
If usin Py'Tom's engine in a game doesn't make it a derivative work, then i can use creative commons no derivatives music in my game without breakin the licence.

This is not the same as makin a stand-alone library then linking to it. Unless i misunderstand how Py'Tom's engine works, you actually have to stick it right into your final work... same as you would for any other protected work, like music or anything else, so the same protections apply, no?
“You can lead a fool to wisdom, but you cannot make him think.”

User avatar
ficedula
Regular
Posts: 177
Joined: Sat Mar 31, 2007 2:45 pm
Location: UK
Contact:

Re: Card Game Engine

#38 Post by ficedula »

If you distribute somebody elses code (whether a DLL, set of Python modules, or whatever) with your game, then sure, you're subject to copyright law, and will have to obtain a license from the copyright holder and follow whatever terms they impose, but the reason there's no question in that case is because you're distributing their code.

If instead you offer your game for download but without including RenPy (or the RenPy Card Game Engine) with your download, and simply include a note with it, "NB: You also need to download X and Y from the RenPy website before running the game", then are you subject to the licensing terms of the card game engine? The answer is ... well, that depends on whether dynamic linking forms a derivative work. Because now you aren't including any code in your game; you're just linking to it.

(The fun part comes in examining the grey areas. If that doesn't require a license, how about if your game installer downloads the necessary files on behalf of the user? You aren't distributing any RenPy files, your installer just downloads them if the user says they want to, that's nothing their web browser software couldn't do!)

(Note, I haven't actually looked at the source code to the card game engine, so if in fact you have to modify the original source files to make any use of them - you can't just call into the existing functions - then maybe that's different. But I'm assuming that you just place the card game engine code in the right place and call the functions without modifying them in any way.)

Certainly the combined work formed when the game and the engine are loaded into memory and executed together is a new 'work' under copyright law (albeit exempt from requiring permission under at least some countries laws). But by making the user download the engine separately, you've made that new work one created by the user, not the game author, and hence - arguably, at least - the user is the only person subject to any licenses on the engine. Not the game author. And it's ultimately pointless trying to impose license terms on an end-user, at least from a commercial point of view.

Aenakume
Regular
Posts: 182
Joined: Mon Aug 11, 2008 4:38 am
Projects: Arts... i hate arts -_-
Contact:

Re: Card Game Engine

#39 Post by Aenakume »

ficedula wrote:If you distribute somebody elses code (whether a DLL, set of Python modules, or whatever) with your game, then sure, you're subject to copyright law, and will have to obtain a license from the copyright holder and follow whatever terms they impose, but the reason there's no question in that case is because you're distributing their code.

If instead you offer your game for download but without including RenPy (or the RenPy Card Game Engine) with your download, and simply include a note with it, "NB: You also need to download X and Y from the RenPy website before running the game", then are you subject to the licensing terms of the card game engine? The answer is ... well, that depends on whether dynamic linking forms a derivative work. Because now you aren't including any code in your game; you're just linking to it.

(The fun part comes in examining the grey areas. If that doesn't require a license, how about if your game installer downloads the necessary files on behalf of the user? You aren't distributing any RenPy files, your installer just downloads them if the user says they want to, that's nothing their web browser software couldn't do!)

(Note, I haven't actually looked at the source code to the card game engine, so if in fact you have to modify the original source files to make any use of them - you can't just call into the existing functions - then maybe that's different. But I'm assuming that you just place the card game engine code in the right place and call the functions without modifying them in any way.)

Certainly the combined work formed when the game and the engine are loaded into memory and executed together is a new 'work' under copyright law (albeit exempt from requiring permission under at least some countries laws). But by making the user download the engine separately, you've made that new work one created by the user, not the game author, and hence - arguably, at least - the user is the only person subject to any licenses on the engine. Not the game author. And it's ultimately pointless trying to impose license terms on an end-user, at least from a commercial point of view.
Ha ha, that would be a neat trick. ^_^;

Seriously though, it wouldn't fly. It would be both encouraging and enabling copyright violations. After all, the code written by that guy is useless without Py'Tom's code - it has no intrinsic value unless the user gets Py'Tom's engine. And you are explicitly labelling it as requiring Py'Tom's code. You don't necessarily need to break the law yourself to be guilty if you're an accessory to it like that. Otherwise i could find out a store's door has a faulty lock and call a bunch of people and tell them that they can go rob the place using that door and not be guilty of any part of the theft myself.
“You can lead a fool to wisdom, but you cannot make him think.”

User avatar
ficedula
Regular
Posts: 177
Joined: Sat Mar 31, 2007 2:45 pm
Location: UK
Contact:

Re: Card Game Engine

#40 Post by ficedula »

The point is though - it wouldn't be illegal. No copyright violation would have occurred. The RenPy engine is freely downloadable. The user is allowed to do that. So such a tool wouldn't be encouraging copyright violations; it would be encouraging activities which might be contrary to the desires of the author of the engine, but which aren't actually illegal.

Just because the game has no intrinsic value without the engine, doesn't make it a copyright violation either. The classic example is if you write a book which is an analysis of an existing work - either a novel, or a piece of music, or a film. If you actually include that other work with your book, sure, you need copyright permission. But if you tell your reader "Go and buy X from the shop then read/watch/play it while reading these notes", you don't violate copyright in any way! Even though your analysis, with its notes like "if you examine the section from 3 mins 10 secs to 4 mins 2 secs, the audio is clearly formulated to provoke an emotional reaction from the audience..." is totally dependent on somebody elses work - that doesn't make it a derivative requiring legal permission under copyright law to make.

Aenakume
Regular
Posts: 182
Joined: Mon Aug 11, 2008 4:38 am
Projects: Arts... i hate arts -_-
Contact:

Re: Card Game Engine

#41 Post by Aenakume »

ficedula wrote:The point is though - it wouldn't be illegal. No copyright violation would have occurred. The RenPy engine is freely downloadable. The user is allowed to do that. So such a tool wouldn't be encouraging copyright violations; it would be encouraging activities which might be contrary to the desires of the author of the engine, but which aren't actually illegal.

Just because the game has no intrinsic value without the engine, doesn't make it a copyright violation either. The classic example is if you write a book which is an analysis of an existing work - either a novel, or a piece of music, or a film. If you actually include that other work with your book, sure, you need copyright permission. But if you tell your reader "Go and buy X from the shop then read/watch/play it while reading these notes", you don't violate copyright in any way! Even though your analysis, with its notes like "if you examine the section from 3 mins 10 secs to 4 mins 2 secs, the audio is clearly formulated to provoke an emotional reaction from the audience..." is totally dependent on somebody elses work - that doesn't make it a derivative requiring legal permission under copyright law to make.
From US copyright law, again with my emphasis:
Notwithstanding the provisions of sections 17 USC §106 and 17 USC §106a, the fair use of a copyrighted work, including such use by reproduction in copies or phonorecords or by any other means specified by that section, for purposes such as criticism, comment, news reporting, teaching (including multiple copies for classroom use), scholarship, or research, is not an infringement of copyright.
An analysis of a work - whether it includes the work or asks you to go get it yourself - is covered under fair use. Requiring the engine to run your game would not be. It is not a critical, scholarly or journalistic use of the engine.

The game maker would be requiring users to steal Py'Tom's game engine in order to play the game. Because the users can't satisfy the licence requirements in most cases - if the licence requires them to release the game's assets, but the assets are obfuscated, what can they do? - or if the licence requires the game to be free, or the source code to be public, again what can the user do?
“You can lead a fool to wisdom, but you cannot make him think.”

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Card Game Engine

#42 Post by Jake »

Aenakume wrote: An analysis of a work - whether it includes the work or asks you to go get it yourself - is covered under fair use.
If those authors quoted chunks of the original book, that would be what fair use is about - actually publishing parts of the original. It's nothing to do with what you might or might not need to make sense of the published work. Copyright is the right to publish a specific work, not the right to control all uses of that work.
Aenakume wrote: Requiring the engine to run your game would not be. It is not a critical, scholarly or journalistic use of the engine.
Interesting story, which I shall recite from memory, although I'm reasonably sure the important details are fairly correct: in the nineties, some guys wanted to make games for one of Sega's console systems, but without paying the licensing fees to get their game published by Sega. So they reverse engineered enough of the console's functionality to make their game run. This turned out to involve showing a Sega logo. Sega, who wanted all games to be published by them including all their fees, sued; the judge decided that the company was within their rights to do such a thing, because it was necessary to get their game to run on the Sega console, and Sega lost the case. Their game required a Sega console to run, but there was nothing Sega could do legally to stop them publishing it.

The same occurred with the Game Genie device, although if memory serves it was Nintendo doing the suing; it was ruled that despite the fact it needed a console to use it, the device wasn't a derivative work of the console.
Aenakume wrote: The game maker would be requiring users to steal Py'Tom's game engine in order to play the game.
They can't steal something which is distributed to them for free - they are perfectly at liberty to download the card game engine, it's allowed...
Aenakume wrote: Because the users can't satisfy the licence requirements in most cases - if the licence requires them to release the game's assets, but the assets are obfuscated, what can they do?
It's simple - they don't have to. Those license terms only apply to someone who is publishing the work, not to someone who just wants to use it. So long as they don't distribute the game and the card-game engine in one package to anyone (and there's no reason they would have to, since anyone else could go to the game author's site and download the game, and go to the Ren'Py site and download the card game engine) then they don't have to worry about those parts of the license.


Realistically, the thing that most stops someone from doing something like this is that it's really awkward and not a good user experience to demand that they go and download some GPLed component separately.
Server error: user 'Jake' not found

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Card Game Engine

#43 Post by PyTom »

Jake wrote:Realistically, the thing that most stops someone from doing something like this is that it's really awkward and not a good user experience to demand that they go and download some GPLed component separately.
That's what I'm counting on, along with potential users of the CGE deciding that the functionality it gives their game makes it worth the relatively small investment. (I suspect that a commercial VN-Cardgame hybrid could have half the writing/art of an equivalent VN-only.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

Gau_Veldt
Regular
Posts: 86
Joined: Tue Jun 10, 2008 8:22 pm
Location: Prince George, BC
Contact:

Re: Card Game Engine

#44 Post by Gau_Veldt »

Jake wrote:Realistically, the thing that most stops someone from doing something like this is that it's really awkward and not a good user experience to demand that they go and download some GPLed component separately.
Doesn't this actually happen like all the time in linux land in the form of the nagging list of dependencies t,u,v,w,x,y you have to build and install before you can actually use z?

Jake
Support Hero
Posts: 3826
Joined: Sat Jun 17, 2006 7:28 pm
Contact:

Re: Card Game Engine

#45 Post by Jake »

Gau_Veldt wrote: Doesn't this actually happen like all the time in linux land in the form of the nagging list of dependencies t,u,v,w,x,y you have to build and install before you can actually use z?
Yes. And it's frequently cited as one of the main reasons people don't use Linux.

Linux users are - in general - far more capable and patient in terms of going off to fetch and install dependencies, but they also make up a very small portion of the commercial-entertainment-software market. I'd guess for a combination of reasons - not so many people use Linux in the first place, and some significant proportion of those that do are using Linux because it's free and/or FSF-free, and aren't inclined to purchase [proprietary] software.

On the other hand, the majority of people who purchase commercial entertainment software don't have the patience or ability to go and download/install pre-reqs from elsewhere, which is why pretty much every commercial game that requires DirectX comes with DirectX on the disc, and why the troubleshooting sections of game manuals/support websites are full of questions which have answers like "have you tried running Windows Update some time in the last decade?" or "please make sure you have working videocard drivers installed".
Server error: user 'Jake' not found

Post Reply

Who is online

Users browsing this forum: No registered users