mieki256's diary



2017/10/27(金) [n年前の日記]

#1 [love2d][windows] Windows10にlove2dをインストール

Lua言語を使って2Dゲームが作れる、love2dなるライブラリだか環境だかがあるらしい。

_LoVE - Free 2D Game Engine

「LOVE」という名前らしいけど、あまりに一般的な単語過ぎて検索時に困るので love2d と呼んでる場合が多いそうで。

SDL2 を使って描画するらしいので、昨日ビルドした SDL2 がちゃんとビルドできてるのか確認作業に使えるかもしれないなと。てなわけで少し触ってみようかと。

ただ、いきなり Raspberry Pi上で動かそうとしても勝手が分からんだろうから、まずは Windows10 x64上でインストールしてみたい。

Windows10 x64上にlove2dをインストール。 :

以下からダウンロード。

_LoVE - Free 2D Game Engine

love-0.10.2-win32.exe をDLして実行するとインストールできる。デフォルトでは、
C:\Program Files (x86)\LOVE\
もしくは、
C:\Program Files\LOVE\
にインストールされる。

環境変数 PATH に、love2d のインストール場所を追加。これで、DOS窓上で love.exe と打てば呼び出せるはず。

ちなみに、インストールフォルダには sdl2.dllも入ってた。Windows版は、Windows用のSDL2関連dllを集めてこなくても動くようになっているらしい。

動作確認。 :

以下を参考にして動作確認。

_1. Love2Dでゲーム作りを始めよう - おりんくうと学ぶ2Dゲー開発
_2. ハロー・ワールド - おりんくうと学ぶ2Dゲー開発
_Getting Started - LOVE

ちなみに、love2d の wiki は、ページの一番下の「日本語」をクリックすると日本語に翻訳されたページが表示される。ありがたや。翻訳してくれた方に感謝…。 *1

まずは love.exe をそのまま実行。カラフルなウインドウが表示された。

ウインドウ内には、たしかに「NO GAME」と表示されてる。スクリプトソースが指定されない状態で起動すると、この画面を表示するらしい。

バージョン確認は以下で…と思ったが。
love --version
Windows上では、何も表示されない。まあ、love.exe を起動すれば、ウインドウのタイトルにバージョンが表示されるから困らないけど…。

helloworld というフォルダを作成して、その中に main.lua というファイルを作成。以下を記述。
function love.draw()
  love.graphics.print('Hello World!', 400, 300)
end

以下で実行。
love.exe helloworld
ウインドウ内に「Hello World!」が表示された。

Ruby や Python 等は、ruby hoge.rb だの python hoge.py といった形でファイル名を渡して実行するけど。love2d の場合、
love "main.luaが入ったフォルダのパス"
を渡す点に注意。

*1: 件のwikiのトップページでは、翻訳してくれた方が疲れてしまったのでもう更新はしない、との記述があるけど。ここまで大量の文書を翻訳してくれただけでも、めちゃくちゃ御の字。ありがたや…。

#2 [raspberrypi][love2d] Raspberry Pi Zero Wにlove2dをインストール

Raspberry Pi Zero W + raspbian stretch 上で love2d をインストールしてみる。

一応、公式リポジトリにも love というパッケージが入っているのだけど、そちらの版は 0.9.x と古いようで。現行版の 0.10.x をインストールしたいなと。

_Building LoVE - LOVE

必要なパッケージをインストール。 :

SDL2関係(libsdl2-dev等)はビルド済み・インストール済みとして、ソレ以外でビルドに必要なパッケージをインストール。
sudo apt install build-essential autotools-dev automake libtool pkg-config
sudo apt install libdevil-dev libfreetype6-dev libluajit-5.1-dev libphysfs-dev
sudo apt install libopenal-dev libogg-dev libvorbis-dev libflac-dev libflac++-dev
sudo apt install libmodplug-dev libmpg123-dev libmng-dev libtheora-dev
sudo apt install libturbojpeg0-dev zlib1g-dev

ちなみに、SDL2(OpenGL無効版)のビルドは、 _2017/10/26の日記 を参考にして作業すればいい…はず。

もし、Pi2 / Pi3 を使っていて、GL driver を有効にしているなら、SDL2(OpenGL有効版)が使えるだろうから、ビルドなんかしなくても以下で済むのではないかなあ…。たぶん。
sudo apt install libsdl2-dev

ソースを入手してビルド。 :

love2d のLinux用ソースを入手してビルド。love-0.10.2-linux-src.tar.gz を入手する。

_rude / love / ダウンロード - Bitbucket
mkdir ~/love2d
cd ~/love2d
wget https://bitbucket.org/rude/love/downloads/love-0.10.2-linux-src.tar.gz
tar zxvf love-0.10.2-linux-src.tar.gz
cd love-0.10.2-linux-src
./configure
make

インストール。
sudo make install

loveの在り処を確認。
$ which love
/usr/bin/love
/usr/bin 以下に love がインストールされている。

共有ライブラリのキャッシュを更新。
sudo ldconfig

共有ライブラリがあるか確認。
$ ldconfig -p | grep love
        liblove.so.0 (libc6,hard-float) => /usr/lib/liblove.so.0
        liblove.so (libc6,hard-float) => /usr/lib/liblove.so
/usr/lib 以下に liblove.so がコピーされた模様。

動作確認。 :

端末から実行。
love
カラフルなウインドウが全画面で表示された。ちゃんと動いてるっぽい。

ESCキーを叩いたら終了できた。ただし、端末にちょっと妙な文字が残ってるけど…。

SDL2 を使って描画をするらしい love2d が動いたということは、SDL2関係はちゃんとビルドできたし、インストールできてるということだろうか。同じく SDL2 を使う、golang + go-sdl2 も動いたし…。

となると、やっぱり gosu がおかしい…。

余談。 :

hg clone を使ってリポジトリをクローンして、以下を打ってビルドしようとしたのだけど。
hg clone https://bitbucket.org/rude/love
cd love
/platform/unix/automagic
./configure
make

automagic とやらを動かした段階で、何か処理に失敗してるようで。
$ platform/unix/automagic -d

[automagic]  Copying files...
[automagic]  Running genmodules...
Generating src/Makefile.am ...
src/Makefile.am is updated! ^.^
Generating configure-modules.ac
configure-modules.ac is updated! ^.^
[automagic]  Running autoheader...
[automagic]  Running libtoolize...
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'platform/unix'.
libtoolize: linking file 'platform/unix/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'platform/unix/m4'.
libtoolize: linking file 'platform/unix/m4/libtool.m4'
libtoolize: linking file 'platform/unix/m4/ltoptions.m4'
libtoolize: linking file 'platform/unix/m4/ltsugar.m4'
libtoolize: linking file 'platform/unix/m4/ltversion.m4'
libtoolize: linking file 'platform/unix/m4/lt~obsolete.m4'
[automagic]  Running aclocal...
[automagic]  Running autoconf...
configure.ac:52: error: possibly undefined macro: AM_PATH_SDL2
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
[automagic]  Failed, sadface.
[automagic]  You can make this script more verbose running it in debug mode (-d)
[automagic]  This is generally a configuration error (I'm looking at you aclocal)

Raspberry Piの場合、Linux用のソースをダウンロードして、ソレを使ってビルドしたほうが良さそうだなと。

#3 [love2d][ubuntu] Ubuntu 16.04 LTS上にlove2dをインストール

VMware + Ubuntu 16.04 LTS上で love2d をインストールしてみる。Linux上での使い方が分かれば、Raspberry Pi上での使い方も、ぼんやり分かってくるだろう…。

一応公式リポジトリにもパッケージが登録されてるので、以下でインストールはできるのだけど。
sudo apt install love

ただ、この版は 0.9.x で、ちと古い。以下を登録すれば、比較的新しい版をインストールできる模様。

_love-stable : Bart van Strien

sudo add-apt-repository ppa:bartbes/love-stable
sudo apt-get update
sudo apt-get upgrade
sudo apt install love

インストール場所を確認。
$ which love
/usr/bin/love
/usr/bin 以下にインストールされてる。

端末から以下を実行。
love
カラフルなウインドウが表示された。ちゃんと動いてるっぽい。ESCキーで終了できる。

以上、1 日分です。

過去ログ表示

Prev - 2017/10 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project