Difference between revisions of "Game Distribution (日本語)"

m (translation fix)
(New translation)
Line 1: Line 1:
== .loveファイルの作り方 ==
+
いったんゲームを完成させたならば、きっとほかの人にも遊んで欲しいと思うでしょう。一般に .love ファイルを作成して直接配布するか(利用者は LÖVE の導入が必要です)、特定プラットフォーム用のパッケージを利用します。
  
.loveファイルはzip圧縮ファイルの拡張子を変更したものです。加えて二点、注意事項があります。
+
これらはターゲット別にゲームを配布するには好ましい方法です (作成には全て .love ファイルを使用します):
  
* main.luaファイルがファイルアーカイブのトップ階層に含まれていなければいけません。
+
* Windows → [[Game_Distribution#Creating_a_Windows_Executable|Windows 実行可能形式]]
* .loveファイルに含まれるファイルおよびフォルダ名は大文字・小文字を区別します。WindowsやMac OS XでLÖVEを使う人達を困惑させるかもしれません。これらのOSのファイルシステムは大文字・小文字を区別しないことがあり、圧縮前のゲームフォルダをからは正常に動作します。しかし、圧縮すると動かなくなってしまうので注意が必要です。
+
* Mac OS X → [[Game_Distribution#Creating_a_Mac_OS_X_Application|OS X アプリケーション]]
 +
* Linux → 平文の .love ファイル、または [[Game_Distribution#Distribution_for_Linux|Appimages]]
  
ここでは.loveファイルの作り方を解説します。この情報は [http://love2d.org/forum/viewtopic.php?f=4&t=451 こちらのスレッド(英語)]より強奪したものです。
+
__TOC__
  
=== Windows ===
+
== .love ファイルの作成 ==
  
# まず、zipファイルを作ります。<br /><small>(XP、Vista、Windows7では標準機能でzipに圧縮できます)</small>
+
一部のオペレーティング・システムではパスに対して大文字・小文字を区別して使用することに注意してください。不要な苦闘を避けるために列挙されたフォルダおよびファイルパスがコードにて一致して使用されていることを確認してください。
# main.luaと関連するファイルとフォルダ全てをzipファイル内にコピーします。<br /><small>(フォルダごとzipに入れちゃうと動きませんのでご注意ください)</small>
 
# 拡張子を.zipから.loveに修正してください<br /><small>おっと、Windowsは標準では拡張子が表示されないため変更できませんね。(以下訳者追補含む)Windows7を例にとって、拡張子を表示する手順を説明します。エクスプローラを開いてAltキーでメニューを開き、「ツール」→「フォルダーオプション」を選び、「表示」タブを選択して下さい。詳細設定の中にある「登録されている拡張子は表示しない」チェックボックスを外すと、晴れてzip拡張子を変更できます。</small>
 
# (訳者注:以下の項目は、原文が????になっててよく分からないので保留してます。ここまでの手順で.loveファイルは作れると思います)
 
  
=== Linux / OS X ===
+
.love ファイルを作成するにはゲーム・ディレクトリ全体の zip 書庫ファイルを作成してください。書庫のルートに main.lua があることを確認してください。例えば、
  
コマンドラインでやっちゃいましょう。
+
    <somedir>\SuperGame\gfx\character.png
# あなたのプロジェクトフォルダに移動します。一例:''<tt style="font-size:1.3em"> cd ~/Projects/EpicGame</tt>''
+
    <somedir>\SuperGame\main.lua
# zipコマンドでまるごと.loveファイルとしてzip圧縮をかけます:''<tt style="font-size:1.3em"> zip -r ../${PWD##*/}.love *</tt>''
+
    <somedir>\SuperGame\conf.lua
# これで完全な.loveファイルができてます。
 
# 以上!
 
  
== 実行可能ファイルの作り方 ==
+
がある場合はディレクトリは <tt style="font-size:1.3em">SuperGame\</tt> '''ではなく'''、
  
エンドユーザーがLÖVEゲームを実行できるか心配でしょう。単独の.loveファイルを受け取ったユーザーは、当然ながらLÖVEをインストールしなきゃいけません。でもLÖVE 0.5.0からは実行ファイルが作れるようになりました。
+
    gfx\character.png
通常は.loveファイルで配布することをお勧めします。追加でプラットホームごとの実行可能な「merged」バージョンを提供すると判りやすいでしょう。
+
    main.lua
 +
    conf.lua
  
二つほどご注意。
+
を zip ファイルに確実に含まれるようにする必要があります。
  
# 単独で実行可能なファイルにはなりません。(LÖVEの実行に必要な)いくつかのDLLファイルと一緒にzipファイルとして配布することになるでしょう。
+
いったん zip ファイルを作成してファイル末尾(拡張子)を .zip から .love へ名称変更すれば完成です!
# 実行可能ファイルはアーカイブソフトで読める場合があります。WinZipとか。(訳者注:隠蔽にはならないよ、っていう注意だと思います)
 
  
 +
=== プラットフォーム特有の注釈 ===
  
=== Windows ===
+
==== Windows ====
  
Windowsでは、コンソールからcopy /bコマンドを利用して実行可能ファイルを作れます。下記はgame.loveというファイルとlove.exeが同じパスにある場合の例です。
+
標準で右クリックメニューによる zip ファイルの作成に対応しています。詳細な手順は [https://support.microsoft.com/ja-jp/help/14200/windows-compress-uncompress-zip-files ファイルの圧縮と圧縮解除を行う (zip ファイル)] を参照してください。
''<tt style="font-size:1.3em"> copy /b love.exe+game.love game.exe</tt>''
 
  
これでgame.exeが生成されます。配布するには、必要なDLLとセットでさらにzip圧縮する必要があります。(以下翻訳自信なし)LÖVEのプライベートコピーを作ることになりますが、問題ありません。ひとつのパッケージで複数のプラットホームで利用して欲しいという場合は.loveを単体で配布してください。
+
==== Mac OS X ====
  
=== Linux ===
+
ゲーム内のフォルダで、ゲームのファイルとフォルダを選択してから、右クリック/Ctrl+クリックおよび '''n 個のアイテムを圧縮''' を選択します。そして作成された <code>.zip</code> ファイルの拡張子を <code>.love</code> へ名称変更します。
  
Linuxでは、love実行ファイルとgame.loveのあるフォルダで下記のようにcatコマンドを実行してください。
+
あるいは、ターミナルを使用できます。ゲームフォルダ内へ移動してから実行します:
''<tt style="font-size:1.3em"> cat love game.love > game</tt>''
 
  
(訳注:以下、Linux環境に疎いためよく分かりませんでした。原文そのまま載せます)
+
    zip -9 -r SuperGame.love .
Then, you'll have to make a package for various packaging systems with dependencies as the love package. Were you to make a .deb package this way, for instance, the user would not have to install the love package separately.  
 
  
Eventually, we will provide scripts which do this automatically for various package systems. You'll have to figure it out yourself until then.
+
==== Linux ====
 +
 
 +
現在のディレクトリが <tt style="font-size:1.3em">SuperGame/</tt> であると仮定したときコマンドラインを使用することで .love ファイルを直接作成できます
 +
 
 +
    zip -9 -r SuperGame.love .
 +
 
 +
== Windows 実行可能形式の作成 ==
 +
 
 +
いったんゲームを .love ファイルへ書庫化するとゲームを実行可能形式として作成できるためゲームを直接実行できるようになります。
 +
 
 +
これについては公式な LÖVE の .zip ファイルにある love.exe ファイルへ .love ファイルを追加する必要があります。この結果としてファイルは実行可能形式のゲームとなります。
 +
 
 +
いったんゲームを実行可能形式にしておくと、 公式な LÖVE の .zip にある他の全 DLL ファイルと一緒に新規の .zip ファイルへ圧縮することで、世界中にゲームを共有できるようになります。
 +
 
 +
'''注釈:''' 一部の人々は 64 bit 版の Windows を所有していませんので、ゲームの 32/64 bit 版の両方を配布するか、 32 bit 版のみを配布するのは良い考えです。
 +
 
 +
=== プラットフォーム特有の手順 ===
 +
 
 +
==== Windows ====
 +
 
 +
Windows で実行可能形式のゲームを作成するにはコマンドラインにて下記を実行してください
 +
 
 +
    copy /b love.exe+SuperGame.love SuperGame.exe
 +
 
 +
'''注意''': 計算機上でコマンドを管理者権限で実行する必要がある場合があります。これは '''Windows\System32''' へ移動して '''cmd.exe''' を右クリックして選択肢から'''管理者として実行'''を選択することで行うことができます。その後に、'''cd "C:\Program Files\LOVE\"''' (または標準の LOVE ディレクトリ) を必ず打鍵して下さい。そして通常の作業を継続します。
 +
 
 +
代わりに下記の内容の .bat (例えば create_game_exe.bat) ファイルを作成することもできます
 +
 
 +
    copy /b love.exe+%1 "%~n1.exe"
 +
 
 +
そして単に SuperGame.love ファイルを .bat ファイルへドラッグすることで配布用に使用できる SuperGame.love.exe ファイルを作成することができます。
 +
 
 +
この方法は '''fused (ヒューズ)''' 形式のゲームを作成します。
 +
 
 +
===== Windows アイコン =====
 +
 
 +
あなたは例えばフリーウェアリソースハッカーのようなツールを使ってあなた自身のアイコンイメージを使うことができます。
 +
 
 +
[https://youtu.be/WTk_HJdXVNQ?t=2m22s 動画チュートリアル]および[http://gamedev.stackexchange.com/a/121947/9093 順序による手順書]を利用できます。
 +
 
 +
==== Linux / OS X ====
 +
 
 +
Linux および OS X からでもコマンドラインまたはターミナルを使用することで Windows 実行可能形式を作成できます。
 +
 
 +
最初に https://www.love2d.org/ から公式で提供されている Windows 用 32 bit または 64 bit 版実行可能形式がある .zip ファイル(インストーラーでは'''ありません''') をダウンロードします。 32 bit 版のゲームは 64 bit 版 Windows で実行できますが逆はできないため、小型のゲームでは時間を節約するために、 32 bit 版のみ提供することもできます。
 +
 
 +
さてコマンドラインまたはターミナル(端末)からコマンドを実行します
 +
 
 +
    cat love.exe SuperGame.love > SuperGame.exe
 +
 
 +
するとゲームの実行可能形式として <tt style="font-size:1.3em">SuperGame.exe</tt> が作成されます。
 +
 
 +
 
 +
Windows 実行可能形式の配布時に使用した love.exe のフォルダにある DLL ファイルも一緒に同梱する必要があります(従って 32 bit DLL と 64 bit DLL は併用できません)。これらのファイルが導入されていない Windows 計算機で SuperGame.exe を実行しようとするとエラー・メッセージが発生します。
 +
 
 +
最終的に配布用フォルダの内容はこのようになるはずです:
 +
* SDL2.dll
 +
* OpenAL32.dll (注釈: このファイルは 'OpenAL32.dll' という名称であるにもかかわらず 64 bit 版のダウンロードでは同一ファイルではありません)
 +
* SuperGame.exe
 +
* license.txt (注釈: いかなる配布物であろうとライセンスを同梱することが'''義務'''づけられています)
 +
* love.dll
 +
* lua51.dll
 +
* mpg123.dll
 +
* msvcp120.dll
 +
* msvcr120.dll
 +
 
 +
== Mac OS X アプリケーションの作成 ==
 +
いったん .love ファイルとして自作ゲームを用意すれば Mac OS X の利用者は次の手順に従うことで自作ゲームを遊ぶことができるようになります ([https://youtu.be/SU2RpGdezP4動画による手順書]を利用できます):
 +
 
 +
# [https://www.love2d.org LÖVE ホームページ] から Mac 版をダウンロードして展開します。
 +
# <tt>love.app</tt> を <tt>SuperGame.app</tt> へ名称変更します。
 +
# <tt>SuperGame.love</tt> を <tt>SuperGame.app/Contents/Resources/</tt> へ複写します (右クリック/Ctrl+クリックおよび OS X で "パッケージの内容表示" を選択)。
 +
# <tt>SuperGame.app/Contents/Info.plist</tt>  を変更します (詳細は下記参照)。
 +
#
 +
<tt>SuperGame.app</tt> フォルダを書庫化 (例えば SuperGame_osx.zip) して配布します。 ''-y'' フラグを有効にすると書庫ファイルのシンボリックリンクを保持します。
 +
 
 +
<tt>SuperGame.app/Contents/Info.plist</tt> ファイルを修正する場合は下記の XML タグの値を変更するために確認を行ってください:
 +
 
 +
* <tt>CFBundleIdentifier</tt>
 +
* <tt>CFBundleName</tt>
 +
 
 +
さらに <tt>UTExportedTypeDeclarations</tt> セクションを削除すると Mac OS があなたのアプリケーションに対して全ての .love ファイルを関連付けないことを保証するようになります。全体的に変更はこのようになるはずです:
 +
 
 +
{| border="1" cellpadding="1" cellspacing="0"
 +
!width="300"|変更前の Info.plist
 +
!width="300"|変更後の Info.plist
 +
|- style="vertical-align: top;"
 +
|
 +
    ...
 +
    <key>CFBundleIdentifier</key>
 +
    <string>'''org.love2d.love'''</string>
 +
    ...
 +
    <key>CFBundleName</key>
 +
    <string>'''LÖVE'''</string>
 +
    ...
 +
    <key>NSPrincipalClass</key>
 +
    <string>NSApplication</string>
 +
    '''<key>UTExportedTypeDeclarations</key>'''
 +
    '''<array>'''
 +
    '''...'''
 +
    '''</array>'''
 +
    </dict>
 +
    </plist>
 +
|
 +
    ...
 +
    <key>CFBundleIdentifier</key>
 +
    <string>'''com.SuperCompany.SuperGame'''</string>
 +
    ...
 +
    <key>CFBundleName</key>
 +
    <string>'''SuperGame'''</string>
 +
    ...
 +
    <key>NSPrincipalClass</key>
 +
    <string>NSApplication</string>
 +
    </dict>
 +
    </plist>
 +
|}
 +
 
 +
== Linux 版の配布 ==
 +
 
 +
Linux に関してはゲームを簡単に配布する方法は未だありません。ここで一般的な方法は https://www.love2d.org/ にある公式の LÖVE パッケージを指示することです。いったんパッケージがインストールされると、通常において .love パッケージは インストールされた LÖVE パッケージを使用して自動的に実行するかコマンドラインを使用して実行します:
 +
 
 +
<source lang="bash">love SuperGame.love</source>
 +
 
 +
最低でも [[Config Files (日本語)|<code>conf.lua</code> ファイル]]に使用されている LÖVE のバージョンが記載されていることを確認してください。
 +
<source lang="lua">
 +
function love.conf(t)
 +
    t.version = "0.10.1"
 +
end
 +
</source>
 +
 
 +
よくある間違いとして LÖVE 版 Linux バイナリに .love ファイルを結合してヒューズ化しようとしてしまうことです:
 +
 
 +
<source lang="bash">
 +
cat /usr/bin/love SuperGame.love > SuperGame
 +
chmod a+x ./SuperGame
 +
</source>
 +
 
 +
留意していただきたいのは、あなたの計算機上で `SuperGame' のバイナリは実行できるでしょうが、 同じアーキテクチャおよび同じバージョンのライブラリがあるその他の Linux ディストロ、および'''その他の多数の Linux ディストロにおいて実行できない'''酷い可能性があります。
 +
 
 +
==== AppImages ====
 +
AppImage 形式は追加変更なしで様々な異なる対象システム (オペレーティング・システム、オペレーティング・システムに基づき) での実行を可能にする方法でありアプリケーションのパッケージを行うための形式です。[https://github.com/probonopd/AppImageKit/ こちら]からキット全体をダウンロードできます。
 +
 
 +
AppImage を使用してゲームをパッケージ化するには、 LÖVE により要求されるライブラリおよび依存性を集める必要があり、それは [https://github.com/proot-me/PRoot/blob/master/doc/care/manual.txt CARE] (Ubuntu レポジトリからパッケージを利用できます) を実行することにより容易に行えます:
 
   
 
   
=== Mac OS X ===
+
<source lang='text'>care -o love.tar.gz love</source>.
 +
 
 +
このプログラムはシステムによる方法で保存された LOVE 実行可能形式と依存性、そして関連ファイルの書庫を作成します。次に、ゲームの .love ファイルは上述の項目で示されている手段でヒューズ化を行う必要があります。さて、次のようにファイルは新しいディレクトリへ配置される必要があります:
 +
<source lang='text'>
 +
  アプリケーションのディレクトリ/
 +
  |
 +
  |--usr/
 +
  |  |
 +
  |  |-bin/ --> ここにヒューズ化したバイナリを配置する必要があります。
 +
  |  |-lib/ --> ここにライブラリを配置する必要があります。
 +
  |  |-share/ --> もしあれば、ここに自作 (または LOVE) のデータファイル (および他のもの)を配置する必要があります。
 +
  |  |-...
 +
  |  -
 +
  |--<ゲームの名称>.desktop --> このファイルにはプログラムのアイコンファイル、プログラムの名称および実行するコマンドのパスが記載されています。
 +
  |--<ゲームの名称>.png --> 自作ゲームのアイコン。
 +
  -
 +
</source>
 +
最後に、キットで利用できる AppImageAssistant を使用してディレクトリを AppImage へ変換する必要があります。
 +
より詳細な情報は [https://github.com/probonopd/AppImageKit/wiki AppImage Wiki] にあります。
 +
 
 +
== Android ==
 +
 
 +
[https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Home Android wiki] を参照してください。
 +
 
 +
== iOS ==
  
LÖVEの0.6.1から、配布してそのまま単体で動作するLoveゲームが簡単に作れるようになりました。
+
iOS (ヒューズ化を行わない) に対する基本的な手順は [[Getting_Started (日本語)#iOS]] に掲載されています。
  
 +
LÖVE エンジンに対して自作ゲームを "ヒューズ化 (組み込み、合体)"  するには:
 +
# [http://love2d.org/ love2d.org] から iOS 版のソースコードを入手します。
 +
# Xcode で platform/xcode/love.xcodeproj を開きます。
 +
# love-ios (love-macosx でありません) ターゲットを選択します。
 +
# 'love-ios' ターゲットの '''ビルドフェーズ''' を選択してから ''組み込みリソースのコピー'' で自作の  'game.love' ファイルを追加します。
 +
# プロジェクトをビルドします。
 +
# 自作ゲームはアプリとして iOS デバイスに表示されます。
  
# love.appを複製してください。
+
Xcode のユーザインタフェースに関連する要素を見つけらない場合は [https://youtu.be/MsYanwcU42E YouTube にある動画チュートリアル] を参照することができます。
# 複製したlove.appを右クリックかControl+Clickしてコンテキストメニューを開き、「パッケージの内容を表示」を選んでください。
 
# Contentsフォルダの中のResourcesフォルダに移動します。二つの「.icns」ファイルがあると思います。このフォルダに、あなたの作成した.loveファイルを放り込んでください。
 
  
これだけで、いま複製したlove.appがそのままOS Xで実行可能なLÖVEゲームになります。必要に応じていくつか作業しなければいけない点があります。起動するとアプリケーションタイトルが「love」になっています。これを修正するためにはパッケージの中のContentsフォルダにある「info.plist」ファイルを修正する必要があります。テキストエディットでも編集できますが(訳注:XML書式なので若干判りにくいです)、もしあなたのMacにDevelopers toolsがセットアップされているならそれに含まれている「Property List Editor.app」を利用したほうが簡単に理解できるでしょう。ダブルクリックで各々のValue値を修正できます(Keyは修正しないでください)。
+
== ウェブ上での配布 ==
* Bundle identifier - 「com.yourcompany.whatever」のように修正しましょう。
+
[https://github.com/TannerRogalsky/love.js TannerRogalsky/love.js] のお陰で HTML5 または JavaScript 形式のゲームとして公開することは可能です。しかし、一部機能 (例えばスレッド)が実装されていません。もちろん、再生に関しては使用するウェブ・ブラウザに依存します。
* Bundle name - Dockに表示される名前です。
 
* Bundle OS Type code
 
* Bundle creator OS Type code - これらをユニークな値にしておくと、.loveファイルがあなたの作ったゲームアプリケーションで開かれる事がなくなります。
 
* Icon file - あなたが作ったアイコンに差し替えたい場合は、Resourcesに.icnsを追加した後、ここでそのアイコンファイルのファイル名を入力します(もちろん、ここを編集せずResourcesの中のLove.icnsを置き換えても構いません)。
 
  
 +
== コミュニュティ・ツール ==
 +
 +
ゲームの配布を支援するためにコミュニュティにより開発されたツールがいくつかあります。
 +
* [https://github.com/MisterDA/love-release love-release] ([https://love2d.org/forums/viewtopic.php?t=75387 フォーラム]) は、ゲームの配布を自動化するための Lua スクリプトです。 Windows, Mac OS X, Debian, Linux および Android に対応しており、さらに多数の機能があります。
 +
* [https://love2d.org/forums/viewtopic.php?f=3&t=81409 LÖVE Executor] は、 .exe を作成するためのオンラインツールです。
 +
* [https://love2d.org/forums/viewtopic.php?f=3&t=80565 Love Distrubution Pack][sic] は、 .love ファイルおよび .exe を作成できる Windows 専用ツールです。
 +
* [https://www.love2d.org/forums/viewtopic.php?f=5&t=30259 love-dist] は、 ファイルに対して [[LuaC (日本語)|LuaC]] の処理を行い .exe を作成できる Windows 専用ツールです。
  
 
[[Category:LÖVE]]
 
[[Category:LÖVE]]
== その他の言語 ==
+
 
 +
== そのほかの言語 ==
 
{{i18n|Game Distribution}}
 
{{i18n|Game Distribution}}

Revision as of 10:02, 5 September 2016

いったんゲームを完成させたならば、きっとほかの人にも遊んで欲しいと思うでしょう。一般に .love ファイルを作成して直接配布するか(利用者は LÖVE の導入が必要です)、特定プラットフォーム用のパッケージを利用します。

これらはターゲット別にゲームを配布するには好ましい方法です (作成には全て .love ファイルを使用します):

.love ファイルの作成

一部のオペレーティング・システムではパスに対して大文字・小文字を区別して使用することに注意してください。不要な苦闘を避けるために列挙されたフォルダおよびファイルパスがコードにて一致して使用されていることを確認してください。

.love ファイルを作成するにはゲーム・ディレクトリ全体の zip 書庫ファイルを作成してください。書庫のルートに main.lua があることを確認してください。例えば、

   <somedir>\SuperGame\gfx\character.png
   <somedir>\SuperGame\main.lua
   <somedir>\SuperGame\conf.lua

がある場合はディレクトリは SuperGame\ ではなく

   gfx\character.png
   main.lua
   conf.lua

を zip ファイルに確実に含まれるようにする必要があります。

いったん zip ファイルを作成してファイル末尾(拡張子)を .zip から .love へ名称変更すれば完成です!

プラットフォーム特有の注釈

Windows

標準で右クリックメニューによる zip ファイルの作成に対応しています。詳細な手順は ファイルの圧縮と圧縮解除を行う (zip ファイル) を参照してください。

Mac OS X

ゲーム内のフォルダで、ゲームのファイルとフォルダを選択してから、右クリック/Ctrl+クリックおよび n 個のアイテムを圧縮 を選択します。そして作成された .zip ファイルの拡張子を .love へ名称変更します。

あるいは、ターミナルを使用できます。ゲームフォルダ内へ移動してから実行します:

   zip -9 -r SuperGame.love .

Linux

現在のディレクトリが SuperGame/ であると仮定したときコマンドラインを使用することで .love ファイルを直接作成できます

   zip -9 -r SuperGame.love .

Windows 実行可能形式の作成

いったんゲームを .love ファイルへ書庫化するとゲームを実行可能形式として作成できるためゲームを直接実行できるようになります。

これについては公式な LÖVE の .zip ファイルにある love.exe ファイルへ .love ファイルを追加する必要があります。この結果としてファイルは実行可能形式のゲームとなります。

いったんゲームを実行可能形式にしておくと、 公式な LÖVE の .zip にある他の全 DLL ファイルと一緒に新規の .zip ファイルへ圧縮することで、世界中にゲームを共有できるようになります。

注釈: 一部の人々は 64 bit 版の Windows を所有していませんので、ゲームの 32/64 bit 版の両方を配布するか、 32 bit 版のみを配布するのは良い考えです。

プラットフォーム特有の手順

Windows

Windows で実行可能形式のゲームを作成するにはコマンドラインにて下記を実行してください

   copy /b love.exe+SuperGame.love SuperGame.exe

注意: 計算機上でコマンドを管理者権限で実行する必要がある場合があります。これは Windows\System32 へ移動して cmd.exe を右クリックして選択肢から管理者として実行を選択することで行うことができます。その後に、cd "C:\Program Files\LOVE\" (または標準の LOVE ディレクトリ) を必ず打鍵して下さい。そして通常の作業を継続します。

代わりに下記の内容の .bat (例えば create_game_exe.bat) ファイルを作成することもできます

   copy /b love.exe+%1 "%~n1.exe"

そして単に SuperGame.love ファイルを .bat ファイルへドラッグすることで配布用に使用できる SuperGame.love.exe ファイルを作成することができます。

この方法は fused (ヒューズ) 形式のゲームを作成します。

Windows アイコン

あなたは例えばフリーウェアリソースハッカーのようなツールを使ってあなた自身のアイコンイメージを使うことができます。

動画チュートリアルおよび順序による手順書を利用できます。

Linux / OS X

Linux および OS X からでもコマンドラインまたはターミナルを使用することで Windows 実行可能形式を作成できます。

最初に https://www.love2d.org/ から公式で提供されている Windows 用 32 bit または 64 bit 版実行可能形式がある .zip ファイル(インストーラーではありません) をダウンロードします。 32 bit 版のゲームは 64 bit 版 Windows で実行できますが逆はできないため、小型のゲームでは時間を節約するために、 32 bit 版のみ提供することもできます。

さてコマンドラインまたはターミナル(端末)からコマンドを実行します

   cat love.exe SuperGame.love > SuperGame.exe

するとゲームの実行可能形式として SuperGame.exe が作成されます。


Windows 実行可能形式の配布時に使用した love.exe のフォルダにある DLL ファイルも一緒に同梱する必要があります(従って 32 bit DLL と 64 bit DLL は併用できません)。これらのファイルが導入されていない Windows 計算機で SuperGame.exe を実行しようとするとエラー・メッセージが発生します。

最終的に配布用フォルダの内容はこのようになるはずです:

  • SDL2.dll
  • OpenAL32.dll (注釈: このファイルは 'OpenAL32.dll' という名称であるにもかかわらず 64 bit 版のダウンロードでは同一ファイルではありません)
  • SuperGame.exe
  • license.txt (注釈: いかなる配布物であろうとライセンスを同梱することが義務づけられています)
  • love.dll
  • lua51.dll
  • mpg123.dll
  • msvcp120.dll
  • msvcr120.dll

Mac OS X アプリケーションの作成

いったん .love ファイルとして自作ゲームを用意すれば Mac OS X の利用者は次の手順に従うことで自作ゲームを遊ぶことができるようになります ([1]を利用できます):

  1. LÖVE ホームページ から Mac 版をダウンロードして展開します。
  2. love.appSuperGame.app へ名称変更します。
  3. SuperGame.loveSuperGame.app/Contents/Resources/ へ複写します (右クリック/Ctrl+クリックおよび OS X で "パッケージの内容表示" を選択)。
  4. SuperGame.app/Contents/Info.plist を変更します (詳細は下記参照)。

SuperGame.app フォルダを書庫化 (例えば SuperGame_osx.zip) して配布します。 -y フラグを有効にすると書庫ファイルのシンボリックリンクを保持します。

SuperGame.app/Contents/Info.plist ファイルを修正する場合は下記の XML タグの値を変更するために確認を行ってください:

  • CFBundleIdentifier
  • CFBundleName

さらに UTExportedTypeDeclarations セクションを削除すると Mac OS があなたのアプリケーションに対して全ての .love ファイルを関連付けないことを保証するようになります。全体的に変更はこのようになるはずです:

変更前の Info.plist 変更後の Info.plist
   ...
   <key>CFBundleIdentifier</key>
   <string>org.love2d.love</string>
   ...
   <key>CFBundleName</key>
   <string>LÖVE</string>
   ...
   <key>NSPrincipalClass</key>
   <string>NSApplication</string>
   <key>UTExportedTypeDeclarations</key>
   <array>
   ...
   </array>
   </dict>
   </plist>
   ...
   <key>CFBundleIdentifier</key>
   <string>com.SuperCompany.SuperGame</string>
   ...
   <key>CFBundleName</key>
   <string>SuperGame</string>
   ...
   <key>NSPrincipalClass</key>
   <string>NSApplication</string>
   </dict>
   </plist>

Linux 版の配布

Linux に関してはゲームを簡単に配布する方法は未だありません。ここで一般的な方法は https://www.love2d.org/ にある公式の LÖVE パッケージを指示することです。いったんパッケージがインストールされると、通常において .love パッケージは インストールされた LÖVE パッケージを使用して自動的に実行するかコマンドラインを使用して実行します:

love SuperGame.love

最低でも conf.lua ファイルに使用されている LÖVE のバージョンが記載されていることを確認してください。

function love.conf(t)
    t.version = "0.10.1"
end

よくある間違いとして LÖVE 版 Linux バイナリに .love ファイルを結合してヒューズ化しようとしてしまうことです:

cat /usr/bin/love SuperGame.love > SuperGame
chmod a+x ./SuperGame

留意していただきたいのは、あなたの計算機上で `SuperGame' のバイナリは実行できるでしょうが、 同じアーキテクチャおよび同じバージョンのライブラリがあるその他の Linux ディストロ、およびその他の多数の Linux ディストロにおいて実行できない酷い可能性があります。

AppImages

AppImage 形式は追加変更なしで様々な異なる対象システム (オペレーティング・システム、オペレーティング・システムに基づき) での実行を可能にする方法でありアプリケーションのパッケージを行うための形式です。こちらからキット全体をダウンロードできます。

AppImage を使用してゲームをパッケージ化するには、 LÖVE により要求されるライブラリおよび依存性を集める必要があり、それは CARE (Ubuntu レポジトリからパッケージを利用できます) を実行することにより容易に行えます:

care -o love.tar.gz love

.

このプログラムはシステムによる方法で保存された LOVE 実行可能形式と依存性、そして関連ファイルの書庫を作成します。次に、ゲームの .love ファイルは上述の項目で示されている手段でヒューズ化を行う必要があります。さて、次のようにファイルは新しいディレクトリへ配置される必要があります:

  アプリケーションのディレクトリ/
  |
  |--usr/
  |   |
  |   |-bin/ --> ここにヒューズ化したバイナリを配置する必要があります。
  |   |-lib/ --> ここにライブラリを配置する必要があります。
  |   |-share/ --> もしあれば、ここに自作 (または LOVE) のデータファイル (および他のもの)を配置する必要があります。
  |   |-...
  |   -
  |--<ゲームの名称>.desktop --> このファイルにはプログラムのアイコンファイル、プログラムの名称および実行するコマンドのパスが記載されています。
  |--<ゲームの名称>.png --> 自作ゲームのアイコン。
  -

最後に、キットで利用できる AppImageAssistant を使用してディレクトリを AppImage へ変換する必要があります。 より詳細な情報は AppImage Wiki にあります。

Android

Android wiki を参照してください。

iOS

iOS (ヒューズ化を行わない) に対する基本的な手順は Getting_Started (日本語)#iOS に掲載されています。

LÖVE エンジンに対して自作ゲームを "ヒューズ化 (組み込み、合体)" するには:

  1. love2d.org から iOS 版のソースコードを入手します。
  2. Xcode で platform/xcode/love.xcodeproj を開きます。
  3. love-ios (love-macosx でありません) ターゲットを選択します。
  4. 'love-ios' ターゲットの ビルドフェーズ を選択してから 組み込みリソースのコピー で自作の 'game.love' ファイルを追加します。
  5. プロジェクトをビルドします。
  6. 自作ゲームはアプリとして iOS デバイスに表示されます。

Xcode のユーザインタフェースに関連する要素を見つけらない場合は YouTube にある動画チュートリアル を参照することができます。

ウェブ上での配布

TannerRogalsky/love.js のお陰で HTML5 または JavaScript 形式のゲームとして公開することは可能です。しかし、一部機能 (例えばスレッド)が実装されていません。もちろん、再生に関しては使用するウェブ・ブラウザに依存します。

コミュニュティ・ツール

ゲームの配布を支援するためにコミュニュティにより開発されたツールがいくつかあります。

  • love-release (フォーラム) は、ゲームの配布を自動化するための Lua スクリプトです。 Windows, Mac OS X, Debian, Linux および Android に対応しており、さらに多数の機能があります。
  • LÖVE Executor は、 .exe を作成するためのオンラインツールです。
  • Love Distrubution Pack[sic] は、 .love ファイルおよび .exe を作成できる Windows 専用ツールです。
  • love-dist は、 ファイルに対して LuaC の処理を行い .exe を作成できる Windows 専用ツールです。

そのほかの言語