« 「ぱそこん」でなにをしましょうか? | トップページ | NautilusからPicasaWebアルバムにアップロード »

ネタがないんですよね。

ブログネタもないんですが。(笑)

pythonを習得しようと思って、ちまちまとやってる最中なんですが、さて何を作ったもんか、ってところでネタがないんです。
ワタクシのプログラム言語の習得のやり方として、「使う物を作る」ってのがありまして。
単なるサンプルプログラムなんて作って勉強したつもりになっても、実際に本番プログラムを書こうと思ったときに、どんな点に注意すればいいのか、そもそもエラートラップはどうすればいいのか、とか、現実に役に立たない中途半端な習得しか出来ないので。

なので、自分が、でも、他人が、でもいいので、本当に使う物を、習得するための習作として作ることにしています。
使う人がいれば、間違いなく、使い勝手が悪かったり、手抜きをしたところには指摘がくるので、この辺注意が必要だな、とか、指摘されたことに対応するためには、この言語ではどうすればいいのか、とか、目的をもって調査とかできるので、身に付きやすいというか。
逆に、使う人がいないプログラムを作っても虚しいだけなので、身が入らないし、完成形まで持っていくのも難しいんですよね。
自分が使うなら、やりたいことがあるので、早く完成させないとならないし、他人が使うなら、待ってる人がいるので待たせたくないし、ってことで、作成する作業にも身が入りやすいし。

まあ、今回は人から依頼されて作るのはやめとこうと思ってますが、自分で使うツールを作るにしても、困ってることが少ないので、ネタがないんですよね。
微妙に困ってた辞書ツールとScreenletsの環境保存は作ってしまったので。(笑)
さて、何を作るかなぁ。
今習得したいのは、ツリービューを使ったものなんですけどね。
写真の整理とか、そういうのを作ってみるかなぁ。
Picasaへのアップロードツールでもいいかもね。
そうすれば、Wineで動いてるPicasaから縁が切れるかも知れないし。
ツールというには、ちと規模が大きいかも知れないけど。
んでも、もしかしたらpythonのライブラリがあるのかな。
調べてみましょうかね。

|

« 「ぱそこん」でなにをしましょうか? | トップページ | NautilusからPicasaWebアルバムにアップロード »

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

だから、ゲームしか無いんですよ(笑)。基本的には(笑)。

どーしよーもねえ「Linux専用エロゲー」が一本あれば、って思ってる人は結構いますよ(笑)。僕もそうですし(笑)。
あとは、「自分が面白かった」ゲームのクローンとか。
僕もWizクローン作りたい、って狙ってはいるんですけれども。これがなかなか難しい(笑)。

投稿: cametan | 2009年8月 9日 (日) 02時46分

Wizクローンは難しいでしょ。(笑)
なんか、移動はともかく、戦闘システムのロジックが。
ああ、もしかしてD&Dでサイコロなのかな。
んでも、あの絶妙感って、なかなか実装できませんよ。(笑)

ゲームかぁ。簡単なAVGの母体くらいなら行けそうですけどね。
ただ、エロゲ作るんなら、絵描きとシナリオライターがいないと。

投稿: かおりん | 2009年8月 9日 (日) 06時06分

>Wizクローンは難しいでしょ。(笑)
>なんか、移動はともかく、戦闘システムのロジックが。

そうなんですよね。だから、

Webzardry:
http://www.vector.co.jp/soft/win95/game/se261865.html

とか手に入れて、ソース眺めたりしてるんですが、これがなかなか(笑)。

>ああ、もしかしてD&Dでサイコロなのかな。

噂では、そのようです。
話によるとD&Dのサイコロシステムを忠実に再現してるとか。
逆にドラクエ以降のシステムの方が、そう言う意味では分かり辛いかもしれませんね。

>ゲームかぁ。簡単なAVGの母体くらいなら行けそうですけどね。
>ただ、エロゲ作るんなら、絵描きとシナリオライターがいないと。

まあ、だからこそ、一つは、例えばRPGだとRogue系のゲームの方が多いんですよね、Linux界隈だと。
もう一つは、

The Linux Game Tome:
http://www.happypenguin.org/

見てて、何故に「フレームワークが多い」のか、その理由にもなってるんですよね。
恐らく、最初は単純に「RPGを作りたい」ってのがあったんでしょうけど、やっぱシナリオ書いたりするのはメンド臭いですし、別の才能なんですよ。
そこで、サンプルゲームとして「小さい」ゲームだけ作って、フレームワークとして提供してしまう、って流れなんでしょうね。恐らく。
ツクールみたいな大掛かりな(例えば商売的なものに近い)「動機」じゃないんじゃないか、って思っています。

投稿: cametan | 2009年8月 9日 (日) 07時23分

ゲームって、プログラマがひとりでコツコツじゃないんですよ。(^^;
プログラムは必要ですが、それが全てじゃない、っていうか、むしろ脇役で。
RPGなら、シナリオ、エロゲなら、絵が主役なんですよねえ。
#もちろんRPGでも絵、エロゲでもシナリオは重要ですが。
チーム組まないとゲーム開発は難しいんじゃないかなぁ。
開発するんですか?
絵は描けませんが、なんかしましょうか?(笑)
#ま、アテにはなりませんが。(爆)

投稿: かおりん | 2009年8月 9日 (日) 08時13分

>チーム組まないとゲーム開発は難しいんじゃないかなぁ。

だから、80年代初頭のUltima(リチャードギャリオット一人)とか、Wizardry(ロバートウッドヘッドとアンドリューグリーンバーグの二人)とか、あの時代少人数で作れた、ってのは驚異的なんですよね。
もちろん、色々と諸条件違うわけですが、結局ゲームでゲーム以外の要素が大きくなって、またユーザーの見る目も変わってきたんでしょうねえ。
Apple ][版Wizとか、端末の薫りがしますもの(笑)。

>開発するんですか?

分かりません(笑)。何かやりたいな、と。
つまり、かおりんさんみたいに「不満を探してる」んですよね。

例えば、ロン2って知ってます?日本プロ麻雀連盟がやってる麻雀サイトなんですけど。
んで、やってみたいな、と思って要件見てたら

・Javaで書かれていて
・IE対応のみ

ってんで「またか!!!」とか頭に来て(笑)。
こう言う不満募らせてこう、とか(笑)。

あと、netjanとかやってても、アルゴリズム的には麻雀ゲームって「コンピュータ側は配牌から即テンパイ」ってアルゴリズムでしょ?何順目で上がるのか、ってのでリアルさ出してるわけで。
そして、それが「パラメータ」として強さ設定になってんですよね。
で、こう言うのってゲーセンお馴染みの2人打ちならいいんですが、4人対戦スタイルだと結局プレイヤーの配牌って「屑パイ」ばっか来るんですよね(笑)。3人聴牌で始まってるから当然、と言うか(笑)。
んで、麻雀をマトモに「打つ」アルゴリズムってどうなんのかな、とか最近考えています。インチキ無しの。

僕は情報工学マトモにやってないんで、結構大変ですよね。今、プロダクションシステムとか見てるんですが。前向き推論とか言うんですか?
最初

「何じゃこりゃ?何の役に立つの?」

とか思ってたんですが、麻雀に使えるかも、ってんでLisp走らせながら勉強しているところです。

投稿: cametan | 2009年8月 9日 (日) 08時40分

> 今回は人から依頼されて作るのはやめとこう

ということなんで今回はネタ振りはやめとこうと思うのですが(また機会改めてお願いすることもあるとは思いますが)。

ゲームですか。私、ゲームはまったくやらないし、過去にもほとんどやったことないんですが。
なんか、RPGのシナリオ書きって、昔からかなり興味があるんですよ。自分では見たこともないのに。

なんかおもしろそうな企画があったら手伝いますよ。

投稿: 松本 | 2009年8月 9日 (日) 08時59分

>cametanさん
麻雀作るんですか?
まあ、牌のデータは上海の物を使うとしても、思考アルゴリズムは、なんとかなるとしても、アガリのチェックが大変ですよ?
ああ、そこはNetJanから持ってくる?
ってことならアリかも。
ずいぶん昔に作りましたけどね。>麻雀
インチキなしの4人うち。
その時は、上がりのチェックにエラい手間がかかりました。
役満なら簡単なんですが、平和とか。タンヤオとか。

NetJanもインチキなしだと思ってました。
コード見てないけど。
配牌時にテンパイの割には弱いですよね。(笑)

投稿: かおりん | 2009年8月 9日 (日) 10時59分

>松本さん
ネタ持ってるなら、振っといてもらってもいいですよ。
ただ、お約束出来ないってことでよければ。

RPGかぁ。
あれもね、どんなの作るの、から始まって作るとなると大変ですけどね。
規模を大きくしない前提だとウィザードリィ形式のものですか。
今時だとイベントシーンなしってわけには行かないだろうから、シナリオは松本さんが書くとして(笑)、絵描きが必要だなぁ。(爆)

んでも、ウィザードリィ形式だと一連の流れでシナリオ見せるのが演出的に難しいんですよねぇ。
わさびーさんあたりが知人友人も多そうで、可能性あるんじゃないんですかね。>RPG作成

わさびーさんには、そのうち、ブログエディタでも依頼しようかと思ってたんですけどね。(笑)
自分でやるには規模が大きすぎて。(爆)

投稿: かおりん | 2009年8月 9日 (日) 11時03分

>アガリのチェックが大変ですよ?

ああ、そうなんですか?
僕が考えていたのは「直球勝負」で、アガリの形全部データベースか何かに登録しておこうか、とか思ってました(笑)。億レベルの(笑)。
単純にこれって「ネットワーク」なのかな、とか思ってたんですよね。
つまり、配牌されてツモった時に「可能性」のノード数えて

1.ノードが多い方向へ進む
2.「聴牌」最終形への最短距離のノードを選ぶ
3.想定された期待値が高い方向へ進む

とかやれば何とかなんのかな、と。
ひょっとしたらProlog使ったら上手く行くのかな、とか思ってたんですよね。

逆に、僕が難しいだろうな、って思ってたのが「おり方」なのかな、とか。いつが勝負時でいつが降りるべきなのか、と言うのがソフトがどう判断すれば良いのか。
そっちが難しいのかな、とか思ってました。

>ずいぶん昔に作りましたけどね。>麻雀
>インチキなしの4人うち。

おお、凄い。
それ公開すればいいじゃないですか(笑)。
(あ、会社で作ったのかな?)

>NetJanもインチキなしだと思ってました。
>コード見てないけど。

多分インチキあるんじゃないのかな。
だって、平気で七向聴配牌、とかありますからね(笑)。配牌がおかしい(笑)。
確率的には三向聴くらいが普通なんだそうです。つまり、三向聴以下だと「ツイている」、そうじゃないと「ツイてない」そうなんですが、確率的にみた「おかしな配牌」なんです。
だからインチキあるだろうな、と。

投稿: cametan | 2009年8月 9日 (日) 22時32分

上がりの形をDBに登録しておく案はワタクシも考えましたが。
メタデータ的な形で登録しておいて、検索時も、その形式に変換してからクエリーすれば、比較的小さなデータでも行けるんじゃないかな、と考えて、平和で挫折しました。(笑)
役満はいいんですけどねぇ。

思考ロジックはcametanさんの考えた通りだと思います。
それに、ツモの流れというか傾向によって、メンタンピン三色系に行くのか、トイトイ系に行くのか判断してました。
さらには、キャラクターに依る嗜好ですね、パラメータとして、ツモの流れに対して、手の方向性を決める重み付けを与えて、切る牌を決めます。
降りる判断は…、してませんでしたね。(笑)
もう、タコツッパリ麻雀のみです。
ただ、これもキャラクターによる重み付けを行い、リーチがかかったらベタ降り、程度のことはしてましたけどね。

Prologは使ったことありませんが、確か行けそうな言語だったんでは?
Lispも、方向性はそっちが向いてたような気がしましたが。
ちょっとPCの業務に使われる言語以外は、あまり知識がないので、判断できません。(^^;

>多分インチキあるんじゃないのかな。
>だって、平気で七向聴配牌、とかありますからね(笑)。配牌がおかしい(笑)。
あることはありますが、平均すると多くないんじゃないですか?
いわゆる「ついてない局」なんじゃないのかなぁ。
手を加えているにしては、弱いと思いませんか?

投稿: かおりん | 2009年8月 9日 (日) 22時48分

>思考ロジックはcametanさんの考えた通りだと思います。

ああ、こう言う形で良いんですか。
俺って勘がいいなあ(笑)。

>さらには、キャラクターに依る嗜好ですね、パラメータとして、ツモの流れに対して、手の方向性を決める重み付けを与えて、切る牌を決めます。

なるほど。
僕は汎用作っておいて、あとで「インチキキャラクタ」で何種か改造しようかな、とか思ってたんですよ(笑)。
やたら嶺上開花で上がるキャラとか海底ツモるキャラとか(笑)。某マンガのように(笑)。

>降りる判断は…、してませんでしたね。(笑)

ああ、やっぱ難しいのかな。
結局「ゴールに向かって進む」のは簡単ですけど「状況読んでオリる」ってのは難しそうですしねえ。
小島武夫とか定石本とか書いてますけど、まあ、将棋もそうですが、果たして統計的に見て、「効率的なやり方がセオリー」に本当になってるかどうか分からないんですよねえ。
その辺の定式化の方が難しそうだよなあ。
いっそ、スパムフィルタ応用してベイズ推定でもさせるか(笑)。

>Prologは使ったことありませんが、確か行けそうな言語だったんでは?
>Lispも、方向性はそっちが向いてたような気がしましたが。
>ちょっとPCの業務に使われる言語以外は、あまり知識がないので、判断できません。(^^;

プロダクションシステムの場合

ルールベース→推論エンジン←→ワーキングメモリー

ってなってる模様ですが、これってPrologの構造そのものなんですよ、多分。
元々、Prolog自体がSQLとはまた別種の「ネットワークデータベース」のクエリ言語だそうです。
Prologでの「プログラミング」ってのは、言い方変えると、「データベース作り」っぽいんですよね。触った感触だと。
要するに「ルールベース」にあたるトコを記述しまくる、って感じで。結構直球勝負で「おバカな」印象です(笑)。

Lispは題材としては「Prolog作るのに良く使われる」って印象でしょうか。
推論エンジン作りのトピックが良く取り上げられるのも「Prolog作り」と関係あるからでしょうね。
その点ではPrologよりはもうちょっと汎用的な位置にいる、と言うか。

Common LispだったらコードをコンパイルすればC++くらいのスピードは出るようなんで、至高ルーチンのスピード面ではそれほど心配いらないのでは、と期待しています。

>いわゆる「ついてない局」なんじゃないのかなぁ。

いや、僕の配牌が悪すぎるだけ(笑)?
実際打ってる時、知人に

「配牌/ツモ共に手が酷すぎるね」

とか良く言われてましたから(笑)。
実際の牌だけじゃなくって、コンピュータ麻雀でもそうなのかよ(苦笑)。
七向聴とかザラだからなあ。

>手を加えているにしては、弱いと思いませんか?

どーでしょ(笑)?
あ、あと、僕は実際の麻雀とかじゃ「完全先付け」のルールとかが好きな人なんですよ。
だから「喰いタン」とか嫌いなんでやんないんです(笑)。
その辺、敷居を自ら上げていたりして(笑)。

投稿: cametan | 2009年8月10日 (月) 09時23分

思考ロジックに関しては、真面目に議論できるほどの知識はないんで、アレなんですが。(笑)
さきほどの思考ロジックで実装する場合、最初に、現在の手配は、どの最終形に近いかを判断する必要があり、これを総当たりでやると大変な速度になってしまいます。(笑)
なので、手牌をメタデータ化して、順子が多いのか、刻子が多いのか、はたまた、どちらの方向に向いているのか、を数で判断していました。
それと、今後、順子にするために必要な牌が、場に出てしまっている場合、可能性を減らす、くらいの演算はやって。

まあ、考えるのも作るのも面白いとは思うんですが、使い物にするには、時間かかりますよ。>麻雀ロジック
単純に思考ロジックのテストだけなら、立派なGUIじゃなくても、CUI(ROGUEみたいに)でも作れるので、もしかしたら、プログラマ向けのゲームかも知れませんね。

投稿: | 2009年8月10日 (月) 11時09分

名前入れ忘れてました。上記コメントワタクシです。

投稿: かおりん | 2009年8月10日 (月) 17時50分

>思考ロジックに関しては、真面目に議論できるほどの知識はないんで、アレなんですが。(笑)

いや、僕も無いです(笑)。何分勉強中ですしねえ。

>さきほどの思考ロジックで実装する場合、最初に、現在の手配は、どの最終形に近いかを判断する必要があり、これを総当たりでやると大変な速度になってしまいます。(笑)

それはそうでしょうねえ。
ハッシュテーブル使っても速度に限界ありそうですし。
連想リスト使って「展開しながら探す」ってのも一つのテなのかな、とか思ってるんですが。
麻雀の場合はツモる回数に上限ありますから、最終形に到達しなかったら折り返し探索を始める深さ優先探索で何とかなるのかな、とかも思うんですが。
どうなんでしょうねえ~~~。

昔こう言う本があって。

麻雀の常識を破る本—大型コンピューターがはじきだした! :
http://www.amazon.co.jp/%E9%BA%BB%E9%9B%80%E3%81%AE%E5%B8%B8%E8%AD%98%E3%82%92%E7%A0%B4%E3%82%8B%E6%9C%AC%E2%80%95%E5%A4%A7%E5%9E%8B%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%8C%E3%81%AF%E3%81%98%E3%81%8D%E3%81%A0%E3%81%97%E3%81%9F-1982%E5%B9%B4-%E3%82%B5%E3%83%A9%E3%83%BB%E3%83%96%E3%83%83%E3%82%AF%E3%82%B9/dp/B000J7I902/ref=sr_1_6?ie=UTF8&s=books&qid=1249914015&sr=1-6

これ、麻雀の確率的な打ち方書いてて。何か朝日新聞社保有のメインフレーム使って計算してるんですよ(笑)。
82年のスペックだと酷い事なってたわけですが、現代のPCだとどうなのかな、と。ちょっと期待してんですよね。同じ確率計算するにしてももっと速く出きるのか、とか。

>単純に思考ロジックのテストだけなら、立派なGUIじゃなくても、CUI(ROGUEみたいに)でも作れるので、もしかしたら、プログラマ向けのゲームかも知れませんね。

うん。僕もGUIとかは、麻雀に限って言うと後回しでもイイんじゃないか、とか思っています。
最初はエンジン部分がどのくらい作れるか、ですよね。

投稿: cametan | 2009年8月10日 (月) 23時27分

まあ、今時のPCなら秒で終わっちゃうかも知れませんけれども。
ネタとしてはおもしろいと思うので、麻雀好きなら挑戦してみてもよいかとは思います。
ワタクシはちょっと。(爆)
#もう一度作れといわれると困るような代物だしな。

仕事として作らんか、って話はしばらく前に来たんですけどね。
断りました。(^^;
#さすがに、アレ作ってる暇はないなぁ。

投稿: かおりん | 2009年8月10日 (月) 23時40分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/500703/45873948

この記事へのトラックバック一覧です: ネタがないんですよね。:

« 「ぱそこん」でなにをしましょうか? | トップページ | NautilusからPicasaWebアルバムにアップロード »