Distributing your games (making a .love file)
Forum rules
Before you make a thread asking for help, read this.
Before you make a thread asking for help, read this.
Re: Distributing your games (making a .love file)
Automatically disabling file extensions is the best way to get a virus. Mostly because e-mails can attach "MyFriendlyFile.txt.EXE" and you would never be the wiser.
Good bye.
- Jasoco
- Inner party member
- Posts: 3726
- Joined: Mon Jun 22, 2009 9:35 am
- Location: Pennsylvania, USA
- Contact:
Re: Distributing your games (making a .love file)
OS X knows when a file is a virus. It also asks for permission the first time you open any application or any kind of file that can be run and displays the entire file name. OS X is much smarter than you think.
Re: Distributing your games (making a .love file)
Cool. They need to integrate some of that into GNOME/KDE/XFCE/etc. (Yes, Linux has a lot of desktop environments.)
Good bye.
- bartbes
- Sex machine
- Posts: 4946
- Joined: Fri Aug 29, 2008 10:35 am
- Location: The Netherlands
- Contact:
Re: Distributing your games (making a .love file)
Well, wine added cautious-launcher for windows executables, you might want to check that out. Other than that I must say you have a talent for derailing conversations.
- arquivista
- No longer with us
- Posts: 266
- Joined: Tue Jul 06, 2010 8:39 am
- Location: Insert Geolocation tag here
- Contact:
Re: Distributing your games (making a .love file)
Hello, just to say i'm new here, discovering Love and thrilled with it. I'm not really a coder, just a casual one having only some basic coding formation. I discovered that Love/Lua could be a good way of make in future my game projects. I hate C++ complexity and love Basic kind of easy code. For reference i'm using for now Love in Mac.
However the way that Love distribute makes a bit apprehensive . Here is my first thoughts (probably told already by someone in this thread):
1 - Distributing games for end-users it's a bit annoying for it's heavy size. In Mac should have a "lite/stripped" love.app just for distribution. Let's face it, the way it's done only for say "hello world" takes 19.4MB (6MB compressed). For sure there is a lot not needed, at least the very nice tank animation code!
2 - There isn't a real compile (at least in Mac). Well this isn't real the problem for me but that the source is viewable in App package. So for example in a RPG anyone can be spoilled seeing history/plot text, game mechanics, etc. If not compiled at least source should have some kind of encrypt when attached in APP.
Well just my noobie thoughts. Let's keep the nice work improving Love.
However the way that Love distribute makes a bit apprehensive . Here is my first thoughts (probably told already by someone in this thread):
1 - Distributing games for end-users it's a bit annoying for it's heavy size. In Mac should have a "lite/stripped" love.app just for distribution. Let's face it, the way it's done only for say "hello world" takes 19.4MB (6MB compressed). For sure there is a lot not needed, at least the very nice tank animation code!
2 - There isn't a real compile (at least in Mac). Well this isn't real the problem for me but that the source is viewable in App package. So for example in a RPG anyone can be spoilled seeing history/plot text, game mechanics, etc. If not compiled at least source should have some kind of encrypt when attached in APP.
Well just my noobie thoughts. Let's keep the nice work improving Love.
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
- bartbes
- Sex machine
- Posts: 4946
- Joined: Fri Aug 29, 2008 10:35 am
- Location: The Netherlands
- Contact:
Re: Distributing your games (making a .love file)
But where to store that encryption key?
And about players reading the plot, well, they read it, so of course it's going to be spoiled. It's like reading a gameguide and then complaining you know what to do already.
And about players reading the plot, well, they read it, so of course it's going to be spoiled. It's like reading a gameguide and then complaining you know what to do already.
- Robin
- The Omniscient
- Posts: 6506
- Joined: Fri Feb 20, 2009 4:29 pm
- Location: The Netherlands
- Contact:
Re: Distributing your games (making a .love file)
This can partially be solved by distributing games apart from the engine. That way, users only have to download LÖVE once.arquivista wrote:1 - Distributing games for end-users it's a bit annoying for it's heavy size. In Mac should have a "lite/stripped" love.app just for distribution. Let's face it, the way it's done only for say "hello world" takes 19.4MB (6MB compressed). For sure there is a lot not needed, at least the very nice tank animation code!
This could be done without much trouble for the user by having the installer of the game check if LÖVE is installed or not, and if not, download and install it. I'm not sure whether Mac programs usually have installers, but it should work for Windows and Linux users.
Help us help you: attach a .love.
- arquivista
- No longer with us
- Posts: 266
- Joined: Tue Jul 06, 2010 8:39 am
- Location: Insert Geolocation tag here
- Contact:
Re: Distributing your games (making a .love file)
For example Love app could encrypt source based in some app custom formula. Since love.app is compiled only the app itself would know how to decrypt it (or at least decryting would be hard or not avaliabel to casual users). However the attaching of source code in app resources was made for now in Mac must be different since the app must handle the attach of source code by itself in a way that could calculate a key for it and encrypt it.bartbes wrote:But where to store that encryption key?
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
To Do: Insert Signature Here
--------------------------------------------------------
Re: Distributing your games (making a .love file)
I'm going to leave the issue of source code encryption for the time being, because protecting source is something that's been talked about for a long time and no one's come up with a definitive solution... yet. I will say, though, that you don't have to put the .love in Resources if you don't want to - you can do the Linux method of fusing the binary and the .love, which at least protects your source code from the casual observer. If they're determined enough to split apart the executable and extract the .love, that's another story entirely.
As for the Mac app size, though, let's look at a breakdown of the app bundle size (note - all sizes are calculated by Snow Leopard, with a megabyte being a million bytes):
The love executable - 5 MB (keep in mind this is actually two executables - PPC and Intel)
Frameworks - 14 MB (keep in mind each of these have at least two versions of the library in them - again, PPC and Intel (and some frameworks, like SDL, have three or four))
Other - <1 MB
So we can see the Frameworks folder is where most of the app size comes from. There's not much I can do about the size of the executable - we need to include two versions of it for Universal compatibility, as we don't want to leave PowerPC users out in the cold. Same goes for the libraries inside the numerous frameworks LÖVE uses.
The one thing you can do to reduce the size of love.app for distribution purposes is removing all the Headers from the .frameworks. Ignoring whether this violates any relevant licenses (I'm not sure you can do that to some of the frameworks legally), let's see how much size this saves us. The standard love.app is 19.4MB, love.app without any framework headers is...
17.1MB.
2.3MB savings isn't terrible (though, again, whether you can (or should) actually remove the headers from some of the frameworks is dubious), but it's certainly not any sort of amazing LÖVE Lite - the fact is, given that every compiled part of love.app has at least two versions of itself in the bundle, out of necessity it's going to be fairly large.
Oh, and as for the tank animation: the images it uses are about 450KB altogether, and the code to make it run is less than 20KB. Stripping that out isn't going to help much, I'm afraid.
As for the Mac app size, though, let's look at a breakdown of the app bundle size (note - all sizes are calculated by Snow Leopard, with a megabyte being a million bytes):
The love executable - 5 MB (keep in mind this is actually two executables - PPC and Intel)
Frameworks - 14 MB (keep in mind each of these have at least two versions of the library in them - again, PPC and Intel (and some frameworks, like SDL, have three or four))
Other - <1 MB
So we can see the Frameworks folder is where most of the app size comes from. There's not much I can do about the size of the executable - we need to include two versions of it for Universal compatibility, as we don't want to leave PowerPC users out in the cold. Same goes for the libraries inside the numerous frameworks LÖVE uses.
The one thing you can do to reduce the size of love.app for distribution purposes is removing all the Headers from the .frameworks. Ignoring whether this violates any relevant licenses (I'm not sure you can do that to some of the frameworks legally), let's see how much size this saves us. The standard love.app is 19.4MB, love.app without any framework headers is...
17.1MB.
2.3MB savings isn't terrible (though, again, whether you can (or should) actually remove the headers from some of the frameworks is dubious), but it's certainly not any sort of amazing LÖVE Lite - the fact is, given that every compiled part of love.app has at least two versions of itself in the bundle, out of necessity it's going to be fairly large.
Oh, and as for the tank animation: the images it uses are about 450KB altogether, and the code to make it run is less than 20KB. Stripping that out isn't going to help much, I'm afraid.
Who is online
Users browsing this forum: No registered users and 2 guests