ページ 11

【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:10
by ookami
お世話になっております。
ookamiです。

# integ も並行してやっていますが、今回は別の話題です。

C++をホストとして、Lua言語を走らせるツールを
作っています。
( Lua言語で実際にスクリプトを書いて実行するのは、
このツールのユーザーです。)

wikipediaによれば、
http://ja.wikipedia.org/wiki/Lua
> 2009年2月の調査では、最も人気のあるゲーム内で利用されているスクリプト言語である。
とのことなので、
「まぁよく知られた言語なんだろう」くらいに考えていたのですが、
Googleなどで「Lua 講座」とか「Lua リファレンス」とか調べても、
あまりヒットしてこないんです。

Lua言語を選択した時点で、
このツールの敷居を上げてしまって
いるのではないかと、
心配になってまいりました。

そこで、Lua言語の認知度を知りたく、トピ立てました。


皆様は、Lua言語、ご存知でしょうか。
ゲーム開発の現場で使っている、
他の用途で使われている、
知っているが使ったことは無い、
または、知りません、などなど。
ご協力お願い致します。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:13
by シエル
聞いたことすらありません。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:19
by へろりくしょん
初耳です。 グーグル先生にコードをちらっと見せてもらいましたが。
なんとも微妙そうです。

ですが、LISPのコードを初めて見た時ほどのショックはありませんね。
食わず嫌いですが、あれはどうも好きになれそうになれません。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:25
by ookami
# シエルさん, へろりさん
回答ありがとうございます。

> グーグル先生にコードをちらっと見せてもらいましたが。
> なんとも微妙そうです。

どちらかというと、Basicに近い気がしてます。
変数の宣言がいらないとか。
バリアント型とか。

> ですが、LISPのコードを初めて見た時ほどのショックはありませんね。

カッコだらけになるあれですねw 私もあまり。
「xmlなんかは、カッコがでかいLISPだ」という見方もあるようですが...

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:29
by softya
知っていますが使ったことがありません。
・非常にコンパクトな実装で、コルーチンがあるので使ってみたいとは思っています。
・単体で使うものとは思っていません。ゲームエンジンやマクロなど用だと思います。
・ゲームやアプリ内にスクリプトを実装したことない人には興味がないかも知れません。
・日本語書籍は3から4冊ぐらい出ていたと思います(未確認)。
あとはwikipediaに書いてあるぐらいの事しか知りません。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:36
by たかぎ
名前だけは知っています。
その意味ではアフリカーンス語やピリピノ語と同レベルです。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:37
by バグ
知りません。
コルーチンが実装されてある言語は珍しいですね。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 15:38
by MNS
ゲームプログラミングの書籍において紹介・解説されていました。
あとは、ゲームのMODの開発言語として使われていました。
いずれもゲームプログラム関係です。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:00
by ookami
# softyaさん, たかぎさん, バグさん, MNSさん
回答ありがとうございます。

ぎゃぁー
今のところ全員が、「知らない」「聞いたことはある」ですね(´□` )
> 日本語書籍は3から4冊ぐらい
とか本格的に知名度低い線が濃厚ですねw

> アフリカーンス語やピリピノ語
吹きましたw

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:03
by ひよこ
私は名前だけ知ってますが使ったことがありません。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:12
by softya
Amazonさんに聞いてみました。
http://www.amazon.co.jp/s/ref=nb_sb_nos ... EA&x=0&y=0

Lua言語の本が4冊。
ゲーム関係が3冊。ただし最後の一冊は普通の人はまず買わない。
あと、関係なさそうなのが3冊。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:18
by softya
とってもざっくりまとまったLuaの特徴(笑)。
http://www.slideshare.net/zetamatta/pro ... uainternet

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:23
by ookami
# ひよこさん
回答ありがとうございます。

# softyaさん
わざわざありがとうございます。
本当に少ないですねw

> Lua言語の本が4冊。
「人気の軽量スクリプト」wwww 「人気」「人気」「人気」うそんw

> 最後の一冊は普通の人はまず買わない。
仰るとおり。
「Game Programming Gems」の4だか5の英語版を買った私の友人は
変態です。

> http://www.slideshare.net/zetamatta/pro ... uainternet
なぜか会社のプロキシでブロックされたので、
帰宅後に拝見いたします。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:26
by バグ
脱皮のごとく進化で吹きましたw

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:37
by dic
聞いたことはありますが Amazonさんにある本のタイトル
スクリプト言語による効率的ゲーム開発 C/C++へのLua組込み実践 (GAME DEVELO
とか、意味不明なのでまったく触ったことないです
エディタも調べたことないです
ソースも見たことないし、現在は自分用のライブラリがあるので間に合ってます

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:45
by パコネコ
聞いたことないです。
これって(片仮名だったら)「ルア言語」って読むんですか?
読み方自体わからなかったです…

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 16:50
by softya
うーん。ここまで無名とは。
自分のアプリやゲームエンジン/ライブラリにスクリプトを実装している人自体が少ないみたいですね。
ノベル/RPG/ARPG/SRPGとかにはスクリプトは必須だと思っていたのですが。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 17:38
by 御津凪
私は前々から Lua をご存じでしたが、使う気はありません。

スクリプト言語が、どのような使われ方をするかによって構成(制作・実装)するため、
ゲーム開発上ではあまり使われていないのかと思います。

同じようにゲーム開発に使われたスクリプト言語として、 Squirrel があります。

http://www.inside-games.jp/article/2009 ... 37504.html

ユーザーがスクリプトを書くという使い方ではなく、開発言語のひとつとして内部で使用しているそうで、
概要を見る限り、「Lua より使いやすい」とのこと。(詳しくは記事内にて)

※ Squirrel の公式サイトはこちら。
http://squirrel-lang.org/

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 17:50
by へろりくしょん
>自分のアプリやゲームエンジン/ライブラリにスクリプトを実装している人自体が少ないみたいですね。
>ノベル/RPG/ARPG/SRPGとかにはスクリプトは必須だと思っていたのですが。

私は、普段使っている自作のメモ帳にはマクロ言語を実装していますが、普通に自前で実装しましたね。
yaccとかいったパーサジェネレータを使えば、さほど難しいものではありませんから。

文法や言語機能等も目的に特化させて、自分の好きなように組めますし、やっぱりやる人は自前で用意するんじゃないですかね。
ゲームの世界はよく分かりませんが。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 18:04
by softya
>私は、普段使っている自作のメモ帳にはマクロ言語を実装していますが、普通に自前で実装しましたね。
>yaccとかいったパーサジェネレータを使えば、さほど難しいものではありませんから。

私もアプリには独自実装してますね。
ゲームの場合、動作が軽い言うのも重要要素ですので下手な実装より軽いかなら採用を検討するでしょうね。
※ ノベル・ADV系は使い勝手重視なので速度よりも使いやすい独自文法って感じになると思いますが。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 18:18
by h2so5
自分もスクリプト言語の組み込みをしたくていろいろと調べたことがありますが、
Luaに限らず、組み込み用のスクリプト言語の情報はかなり少ないです。

自分の知っている限りでは、
・Lua
・Squirrel
・AngelScript
・Xtal

などがありますが、まともなドキュメントは少ないです。
Luaはマシな方だと思います。

また、組み込み用のスクリプト言語はあくまでプログラマが使うためのものなので、
ユーザーが使うにはあまり向いていません。
(特にLuaは速度・信頼性重視で書きやすさは二の次なので一番向いていない)

ユーザー向けであれば、Pythonなどを使うのが普通だとおもいます
(速度や規模的にゲーム向きではないかも知れませんが、
ユーザーがスクリプトを組むタイプのアプリケーションでは結構使われているらしいです) 画像

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 19:28
by めるぽん
Lua は知っていますが、実用したことは無いですね。
組み込み系のゲーム開発やってるので Lua や Squirrel を使いたいと思うことはよくあるのですけれども、いろんな事情が重なって使えていません。
ある程度大きい開発の場合、何らかの DSL を作るのは当たり前だと思うのですが、そのバックエンドとして Lua を使うという感じを想定しています。

Lua は個人で作ったスクリプトエンジンなんかよりよっぽど信頼性がありますし、どうしても機能が足りないと思えば Lua のコードを直接弄ればいいだけですし、文法が気にくわなかったら自作の文法→Lua コードへの変換を行えばいいだけですね。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 20:10
by Poco
自アプリのL7のパケットを可視化するために、Wiresharkを拡張する際に
Luaを使用しました。

PythonやJavascriptに近い印象を持ったのを覚えています。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月01日(水) 23:12
by Mr.Vince
一応英語圏に住んでますが、こちらも聞いた事はありませんね…
丁度就職中なので色々あっちこっち検索してみましたが、Lua知識が要求される職場も(自分の探した限りは)無かったです。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月02日(木) 00:02
by softya
Luaはさほど難しい言語でな無いので募集に書くほどの事ではないと思います。
使っているゲームは大そうですけどね。

●Lua-scripted video games
http://en.wikipedia.org/wiki/Category:L ... ideo_games
●Lua-scriptable game engines
http://en.wikipedia.org/wiki/Category:L ... me_engines

●Squirrel (programming language)は、さほど多くなさそう。
http://en.wikipedia.org/wiki/Squirrel_% ... anguage%29

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月02日(木) 02:12
by
Lua知ってます。
少し前に使ってました。
LuaとCを連携しやすくするためのLuaBindを使えば案外簡単に導入できたりします。
DXライブラリをLua上で使ったりとか…

コルーチンがある言語って珍しい(他にはRubyとかschemeとか)んですけど、
このコルーチンってゲームを作る上ではかなり強力な機能だったりします。

あまり日本で知られてないのは、日本のゲームはコンシューマ機向け主体で、
常に速度と容量との戦いをしなければならないのが理由の一つだと思います。
(海外のゲームはPC向け主体なので)

って言っても、ゲーム専用言語ではないので、普通のソフトウェアに組み込んでも良いんですけどね。
あまり用途ないですけど。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月02日(木) 08:49
by バグ
なにげにC#にもコルーチンありますが、有効な使い方が思いつかなくて、未だに使った事がないんですよね(^_^;)

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月02日(木) 09:56
by ookami
# バグさん,dicさん,めるぽんさん,Mr.Vinceさん,yさん,ぽこさん
回答ありがとうございます。
情報、参考にさせていただきます。



# パコネコさん
> 「ルア言語」って読むんですか?
そのようです。ポルトガル語だそうです。



# 御津凪さん
> 同じようにゲーム開発に使われたスクリプト言語として、 Squirrel があります。

Luaと比較すると、
 ・変数の型を明確にできたり(Luaでは整数も実数も同じ「数値」)
 ・クラス定義ができたり(Luaではできない。モドキならできる)
など、Squirrelの方が細かくできるようですね。
検討してみます。



# へろりさん
> 私は、普段使っている自作のメモ帳にはマクロ言語を実装していますが、普通に自前で実装しましたね。
> yaccとかいったパーサジェネレータを使えば、さほど難しいものではありませんから。

確かにオリジナル言語なら、好きなようにできますねぇ。
ただ、今回は、その言語をユーザーが使ってスクリプトを組んでもらうように
したいので、できればよく知られた言語の方が、敷居は低いのかなぁ...と。



# h2so5さん
> また、組み込み用のスクリプト言語はあくまでプログラマが使うためのものなので、
> ユーザーが使うにはあまり向いていません。

失礼しました、作っている「ツール」というのは、ゲームエンジンなんです。
このツールを使って、Luaでスクリプトを組むのは、ゲームプログラマを想定しています。
ただ、Luaの情報が少ない、となれば、使いこなしてくれるユーザーも少ない、ということで...(がっくし
Python、検討してみます。情報ありがとうございます。



# softyaさん
リンク等、参考にさせていただきます。

> Luaはさほど難しい言語でな無いので募集に書くほどの事ではないと思います。

これはえーと、「Luaは情報は少ないけど、まぁユーザーは使いこなしてくれるだろう」というような意味ですか?

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月02日(木) 10:09
by softya
>これはえーと、「Luaは情報は少ないけど、まぁユーザーは使いこなしてくれるだろう」というような意味ですか?

あーと、プログラマなら楽々使いこなせるだろうって意味です。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月02日(木) 18:25
by ookami
# softyaさん
> プログラマなら楽々使いこなせるだろうって意味です。

なるほど。
プログラマといっても、アマチュアも対象にするんですが、
変数・テーブル・関数・ループあたりは、
Luaが初めてでもそんなに戸惑うことはない気がしています。
それだけ分かれば、ゲームでもそこそこの事ができますもんねw

---

このあたりで「解決!」としたいと思います。
(解決なのか...?まぁこのトピは知名度のアンケートなのでこのへんで。)

皆様、ありがとうございました! 画像

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月03日(金) 23:04
by Dixq (管理人)
話に乗り遅れましたorz

私の職場には私以外に同期が2人一緒に配属され、2人ともすごくプログラムに詳しいので、知っているか聞いてみました。
二人とも当然のように知っていた・・というか、むしろそのうちの一人はたまたまこちらが聞く前にLuaの話を自分から私にしてきました。

彼曰く業界(?)では、スクリプトでかける大半の部分をLuaで書いている事が多いのは事実のようです。
FF14のデータもLuaで管理されてるそうです(なんでそんな事知ってんだと思いつつ調べたら事実のようでした(汗))。
確かにモンスターの俳諧する細かなエリアや強さ調整、キャラのアビリティ調整などスクリプトとして変更可能にする必要はゲームの世界では非常によくあることでしょうね。
しかもそれを調整する人はプログラマーではない可能性が高い。
ということでLuaが使われるんでしょう。
オンラインゲームならゲームシステムが完成した後、リリース後いつまでも調整をし続けるのは当然でしょうから、スクリプトが重要なんでしょうね。

ここで知っている人が少ないのは個人でゲーム制作をしている人が多いからなのではないでしょうか?

私もよく存じませんが、Luaはシステムが完成した後、何かを調整する必要があるときに使われる物だと思います。
ですから、プロとしてやっているプログラマーであっても、作るシステムが違えば一生出会わないこともあると思います。
例えば基幹システムや医療機器や銀行のシステムなんかLuaで調整する必要があるとは思えませんし。

プログラマー以外がゲームシステムの調整を可能にする為に使われる物であるとするならば、かなり規模の大きなプロジェクトでゲーム制作に携わるか、
一人で作ったとしてもそれこそかなりの規模のゲームを作った時だけではないでしょうか。

私もゲーム制作とは関係ない職種なので、素人意見です。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月04日(土) 18:29
by softya
今さらですが、Lua関連情報。

●Playstation Homeに使われているのは気づきませんでした。
http://game.watch.impress.co.jp/docs/20 ... tm?ref=rss

● エマージェントジャパン、ゲーム用ミドルウェア「Gamebryo LIGHTSPEED」を発表
http://game.watch.impress.co.jp/docs/ne ... 25504.html
これもLuaを使っているらしいです。

こっちは、おまけ
●次代のプログラムを担うのはHaskellかLLVMか? 「プログラム言語はどうなる?」
の処でLua言語の話題が出てます。2008年と2年前ですけどね。
http://game.watch.impress.co.jp/docs/20 ... ec_dev.htm
まぁ、それよりC++で大変なことになっているの方が面白いですが。

●ミドルウェア戦国時代! 「Unity」は新興ゲーム業界を制すか?
GDC2010出展の各種ミドルウェア企業を幅広くレポート
http://game.watch.impress.co.jp/docs/ne ... 54923.html

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月04日(土) 22:06
by ookami
# Dixqさん
> 同期が2人一緒に配属され、2人ともすごくプログラムに詳しいので、知っているか聞いてみました。
> 二人とも当然のように知っていた

すごい...w 職場にプログラムに詳しい人がいるのが羨ましいですw

なるほど、
「ゲームの基幹部分を作る人」と
「細かい調整をやる人」を分けて考えた時に、
分かりやすいスクリプト言語が登場する...というわけですね。

上でも出ましたが、
アマチュアプログラマまで対象にすると、
「Luaだって分からん」という人も出てくるでしょうが、
掲示板などでフォローすればなんとかなるような気がしてきましたw



# softyaさん
> http://game.watch.impress.co.jp/docs/ne ... 25504.html
> Luaスクリプトデバッガーアプリケーションを使って、ゲーム内の挙動をゲームを実行したまま編集することができる

おぉっ。「ゲームを実行したまま」挙動を変えるって、
ちょっとエキサイティングですよねw

拙作のツールでも、スクリプトのリロードができるように
しようと思っています。

たくさんリンクを掲示いただき
ありがとうございます。参考にさせていただきます。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月05日(日) 05:14
by やっくん
キューさんの情報と少し被りますが、スクエニの人材募集でLuaスクリプトという単語を偶然見かけたので貼っておきます。

http://www.square-enix.com/jp/recruit/c ... pg_ui.html

私はスクリプトというものを知らなくてRPGを個人製作していているんですが、

・マップの移動制御、村人の動き、会話パターンなどをテキストで書き、プログラム側で読み込ませる。
・エフェクトなども使用画像へのパスや動きをテキストで管理する

こういうことをしていますが、これも簡単なスクリプトと言って言いのでしょうか?

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月05日(日) 07:17
by ookami
# やっくんさん

おぉっ。ありがとうございます。
プロの現場では意外と使われている感じなんですね。

-- 妄想 ここから
拙作のツールでLuaに出会った人が、
「Luaって何だよ...」と思いながらも頑張って習得して、
いざスクエニに就活するときに意外にもアドバンテージになり、
「あぁ[ツール]ありがとう...w」となるところを
想像してちょっと感動しました。
-- 妄想 ここまで


> ・マップの移動制御、村人の動き、会話パターンなどをテキストで書き、プログラム側で読み込ませる。
> ・エフェクトなども使用画像へのパスや動きをテキストで管理する
> こういうことをしていますが、これも簡単なスクリプトと言って言いのでしょうか?

スクリプトと言えると思います。

と思いながら不安だったのでwikipedia↓
http://ja.wikipedia.org/wiki/%E3%82%B9% ... 0%E8%AA%9E
> ソフトウェアの動作内容を、台本(script)のように記述し制御するための、簡易的なプログラミング言語である。
> 変数に型をつけないなど、動的型付け言語をスクリプト言語と呼ぶ定義もある。ただし、厳密な定義ないし区別は存在しない。

厳密な定義はないようですが、
「会話テキスト」などはまさに「スクリプト」でよい気がいたします。

ただの「設定ファイル」よりも高度に、動作を記述できるのが「スクリプト」、みたいな感じでしょうかね。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月05日(日) 07:35
by やっくん
>ookamiさん

妄想に笑いました(笑”
暇があればLua学んでみようかな・・・。

>ただの「設定ファイル」よりも高度に、動作を記述できるのが「スクリプト」、みたいな感じでしょうかね。
例えば、以下みたいな感じでしょうか?
SPEEDで1文字と1文字の描画間隔を設定
NAMEで話者の名前を表示
TALKで会話表示

SPEED:5
NAME:少年
TALK:こんにちは、
TALK:おじちゃん!!
NAME:おじさん
TALK:こんにちは
SPEED:0
NAME:少年
TALK:急いでるから、さようなら!

このように自分で、命令を作っておいて、それを読み込んだら対応する処理をさせるというような。
これならば確かに便利そうですね。
何より、後から見ても見やすいです。(上の例はちょっと微妙かもしれませんが)

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月05日(日) 08:19
by naohiro19
オープンソースのソフトにLuaを組み込むということもできます。
テトリスとかのパズルゲームでAIを制御するなんてこともできます。

Re:【雑談】Lua言語って知ってますか?アンケート

Posted: 2010年9月06日(月) 10:56
by ookami
# やっくんさん

> 例えば、以下みたいな感じでしょうか?

それなら十分「スクリプト」だと思います。
まぁ、上でもあったように、厳密な定義はないようなので^^; フィーリングですw


# naohiro19さん

回答ありがとうございます。
参考にさせていただきます。

---

予想以上にたくさんの回答・情報が集まり、
ありがたい限りです。
ツール作り、がんばります。

皆様、ありがとうございました。