メイン

吉里吉里 アーカイブ

2007年07月24日

きりきり

吉里吉里っていうスクリプト言語があります。

ちょっとまともに説明するのがめんどいので簡単に言うと
TJSっていう言語があって、それを使って組まれたKAGという
フレームワークが存在します。

折角なので試しにプログラムを組んでみようかなと思い
KAGに手を出したのですが、目が痛くなってしまったので
素直にTJSを直接いじってみることにしました。

昔VC++で作ったリバーシがあるので、それを移植しました。
僕自身にわかTJS使いなのでレイヤーとかさっぱりなわけで
JS自体まともに書いたことないし、これが限界だったりします。

前景の処理とか、KAG使えばもう少し楽なんだろうなと
書いていて思いました(今は無理やりオーナードロー)。

続きを読む "きりきり" »

2007年10月09日

KAGを使ってみる その1

以前に作成したTJSのリバーシをKAGを使って
体裁を整えようと決意しました。

……が、予想以上に難しいことに気づきました。

何より、マウスのイベントを拾う必要があるのですけど、
スクリプトは逐次実行型で書いていくため、
イベントドリブンな記述をするのには厳しすぎます。

# クリックだけでなく、座標や左・右クリックの区別もする必要があるため。

というわけで、悩んだ結果KAGPluginで実装させることに。

続きを読む "KAGを使ってみる その1" »

2007年10月10日

KAGを使ってみる その2

前回からの続きです。

続きを読む "KAGを使ってみる その2" »

2007年10月12日

KAGを使ってみる その3

前回の続き。

続きを読む "KAGを使ってみる その3" »

2007年10月13日

KAGを使ってみる その4

前回からの続き。

続きを読む "KAGを使ってみる その4" »

2007年11月20日

吉里吉里関連の近況

実は最近こっそりADVゲームを作っています。
同人ゲームというやつで雇われでスクリプタしてます。

# 雇われといっても僕的にはノウハウが欲しかっただけなので
# 無償でお手伝いですが。

とりあえずメインスクリプトはざっくりと終わったので
後はシナリオスクリプトの補佐とか演出まわりをちょこちょこと。

いわゆるノベル形式のゲームとADVを比べたら、ADVのほうが
三割増くらいでめんどくさいです。

ADVでもコマンド選択式とかになったら更にめんどくさいかも。

自分で色々マクロを定義しはじめると、他のゲームがどうやって
マクロを組んだり、シナリオを書かせたりするか非常に気になります。

あと、おそらく誰もが苦労していると思うのですが、セーブ周りを
どうやって制御させているのかとか。

吉里吉里で作った同人ゲームは多々あり、スクリプトという性質上
結構な割合でアーカイブを展開できちゃったりするので他の人の
スクリプトを読んでみたりとかもしてます。

上手に作っているのもあれば、「???」なものもあるし
結構参考になります。

2008年03月13日

KAGを使ってみる その5

ゲーセンのメダルゲームでCool 104って言うのがあり、
たまにメダルがあるときにやるのだけど、
練習用のゲームが欲しいなと思ったので吉里吉里で移植。

とりあえず簡易バージョンで52枚上限です。

クレジットは最初は10しかないので、もし無くなったら
savedataフォルダを削除してください。
(ただし、ハイスコアも消えちゃいます)

ゲームバランス的にジョーカーを上手に使えば
クレジットは増えていくと思います。

不具合あったら教えてください。

ちなみに僕のハイスコアは250です。
運がものすごくよければ8000くらいは出る可能性あります。

http://poso.jp/poso/cool52.lzh

# いつ消すかわからないけど Not Foundだったら
# 消したと思ってください。

2008年06月17日

KAGプラグイン

どこに需要があるかはわからないけど、
せっかく作ったのでここで公開しておくことにしました。

KAGの雪プラグインの拡張版です。

雪プラグインは雪を降らせることができるんだけど、
雪が降った状態を作るということができないので
それができるように簡単にいじったプラグインです。

使い方は圧縮ファイル内のドキュメント参照。

http://poso.jp/poso/kirikiri/snowex.lzh

2008年09月03日

KAGプラグイン2

どこに需要があるかはわからないけれど以下略。

デバッグ用のプラグインです。
主にユーザ向け最終デバッグのときに使用するのを想定しています。

吉里吉里にはデバッガがついてますが、見たい変数情報等を
簡単に確認できるように、また監査式ウインドウの使い方を
よく知らないような人でもチェックできるように作ったものです。

使い方はファイル内コメント参照。
基本的に僕が使えればよいものなので、使えなかったら
使えるようにするかあきらめてください。

http://poso.jp/poso/kirikiri/debugplugin.lzh

10/20追記
結構ダウンロードする人が多いので若干説明を加えました。
[backlay]をせずに[trans]を呼ぶような処理をすると表示が消えるので
呼び出し方についてファイル内コメントを加筆しました。

2008年09月19日

吉里吉里でカードゲーム

某所からのリンク&吉里吉里2.30リリース記念。

昔作ったカードゲームの制限版を修正して再公開します。
(2008年03月13日のエントリで公開してました)
ちなみにタイトルは「まるちぷらいごじゅうに」です。

見た目はそれなりに動いてるけど、中身はかなりぐちゃぐちゃとした
ソースになっていて、久々に見直したら意味が不明で困りました。
説明文とタイトル以外はほぼTJSで書かれています。
でも、このゲームで一番大変だったのはカード素材の自作です。

で、これがなぜにクレジット制になってるかというと、
元々は僕が担当していたADVゲームのおまけとしてつける予定で
エンディングを見るたびにクレジットを+10、全エンディングを
見たらクレジット+3000くらいしようと考えていたからです。

# 残念ながらそのゲーム自体は公開することなく消えてしまいました。

というわけで、初期クレジットは10、最大クレジットは50となってます。
クレジットがなくなったらsavedata削除でリセットしてください。
気が向いたら制限解除のパッチをリリースするかもしれないです。
というか、ろくにデバッグしてないのでそっちのほうが心配です。

http://poso.jp/poso/kirikiri/x52_080919.lzh

* * *

余談ですが、このブログは別に吉里吉里に特化してないので、
吉里吉里関連の話だけ見たい人はカテゴリで絞ってください。

# 昔作ったしょうもないゲームも今となっては書き直したくて
# しょうがないのですが、書き直したいのは成長の証だと思うので
# とりあえずそのまま公開しておきます。

2008年10月14日

KAGプラグイン3

暇というわけでもないですが、なんとなく気が向いたので
雪プラグインを更にいじってみました。

風を吹かせることができます。
吹いてる風を止めることもできます。
使い方によっては吹雪として使えるかもしれません。

ちょこっとx軸に方向に移動させるようにしただけなのですが、
いざ作って風をOn/Offすると、暴風からいきなり凪になるのに
違和感があったので、その辺若干考慮しています。

でもぶっちゃけ微妙って言ったら微妙。
実用をあまり意識してないので適当に手を加えてください。
http://poso.jp/poso/kirikiri/snowex1_1.lzh

10/20追記
うはあ、古い状態のソースをアップしてました。
ファイル名同じで差し替えておきました。

2008年10月20日

KAGプラグイン4

下のエントリに追記しましたが、どうやら作ってる途中の
古い雪プラグインをアップしていた模様。

だが謝らない。

差し替えたので動かなかった人はダウンロードしなおしてください。

あと、動いているところがわかるようなサンプル作りました。
どういうものか見たい人はダウンロードしてみてください。
http://poso.jp/poso/kirikiri/snow_demo.lzh

2008年12月09日

シナリオ

Twitterを始めてからすっかり更新が滞るようになりました。
が、前から波があるので気にしません。

というわけで、最近ノベルゲームを作ってみたいと思い
吉里吉里で組むべく着手をしました。

たぶん吉里吉里の正しい使い方だと思います。
ライフゲームとか作って一人でボツにしていたのは内緒です。

続きを読む "シナリオ" »

2008年12月10日

セーブラベル

セーブラベルをどうしよう。

続きを読む "セーブラベル" »

2008年12月15日

機能呼び出し

ゲーム内で各種機能を呼び出させる場合、手段としては
大きく分けて下記の4種類かなと思ってます。

・システムメニューから
 →常に画面内に表示されてるアレ
・右クリックメニューから
 →右クリックして表示されるアレ
・ウインドウメニューから
 →ウインドウプログラムなら大抵持ってるアレ
・ショートカットキー
 →キーボードに割り当てられてるアレ

どこにどの機能を割り当てるかは設計次第です。

続きを読む "機能呼び出し" »

2009年01月29日

右クリックメニュー

http://kgs.tenkyu.com/s1/27.htm
らんかさんところの右クリックメニュー(rclick_tjs21.ks)を
触っていてふと気になった部分のメモ。

RClickConfigLayer.stateなのだけど、backCopyConfig()で
backConfig.state = foreConfig.stateしているところ。
(foreCopyConfig()も同様)

stateはmakeLoadMenu()やmakeSaveMenu()で更新をかけてるから
ここでstateを0から1にしたとしても、その後にある
if(backConfig.state == 1) backConfig.makeLoadMenu();
でmakeLoadMenu()を呼んだところでstateが1なら
その先のif(state != 1)の条件に引っかかってしまいダメな気が。

# なんか日本語がおかしい。

だから本当は表がstate=1の状態でbackCopyConfig()したら
裏もstate=1で、かつロードメニューにしたいのだろうけど
実際はロードメニューが表示されない。

これ、stateが同じ状態でもう1回トランジションかけるとおかしなことになる。

stateの更新をmake系にまかせるのであればbackCopyConfig()は
backConfig.state = foreConfig.state;をコメントアウトして
if(foreConfig.state == 1) backConfig.makeLoadMenu();にして
あくまでmake系の関数内で代入/更新処理させたほうがよいのではと。

もしくはchangeState()みたいな関数用意してそれ経由で変えたほうが。

というのをアルバム画面をTJSで作ってて思いました。
このプラグインベースでいじってたらどうもおかしいと思い、
よくよく調べてみたらこういうオチでした。

2009年01月31日

見た見ない

既に読んでいれば既読で、未だ読んでいなければ未読。
これはまあ普通に文字叩くと変換できるし一般的だと思います。

でも既に視ているという意味で"きし"を変換してみても既視はでません。
僕のWinXPのIMEがうんこなのか、それともこれは一般的な単語じゃないのか。
既視感(デジャブ)ってあるけど、未だ視てなければ未視でよいのだろうか。

ということをイベントスチルの見た・見ないを管理する処理を
考えているときにふと思いました。

* * *

sf.event_seen = %[];
と定義。

イベントスチルを表示するマクロを作ってその中で、
[eval exp="sf.event_seen[@'&mp.storage;'] = true"]
と、なんか値を代入。

見た見ないの判断は
sf.event_seen["ファイル名"] !== void
でやる。

2009年03月27日

KAGでカードゲームその後

昔作ったカードゲーム、今参加しているサークルの
次回作でおまけとして追加することに決めました。

折角なので色々と追加要素を入れるつもり。
なお、ここで公開してるやつは消すつもりはないです。

が、色々と問題がたくさん。

1.画面サイズ

640x480から800x600に変更しないといけないことに。

2.素材

カード素材は僕の自作なんですけど、TLGに変換していて
元の画像(PNG)がなくなってしまっています。
もちろん大元の素材もなくなってます。

ImageMagickのconvertで一気に……と思っていたら
まずTLG→[PNG|JPG]変換する必要が(ここで心が折れてる)

3.作り

かなり手抜きTJSで作ってるので表・裏画面を作ってないし
結構無茶しているところもあるので作り直す必要が。

メインロジックはTJSで組み込んで表示・演出は
KAGで作り直そうかと思ってます。

メインスクリプトが1だとしたらこっちは5くらい手間が。
まあ、所詮はおまけなのでバグを含みそうなら止めます。
(こっちのバグが原因でパッチとかイヤなので)

4.トラックボール

右クリックの効きが悪くて困ってます。

2009年04月14日

吉里吉里でカードゲーム 最後

あれからここで公開してるやつに追加したもの。

・実績および確認画面
・プレイデータ確認画面
・役演出

実績はXbox360にある実績システムと同じで、特定の条件クリア時に
解除されるゲーム目標みたいなやつ。
これは考えるのが結構楽しかったです。

プレイデータはハイスコアだけじゃなくて、獲得したクレジットや
成立させた役の回数とかを記録するようにして表示。

役演出はなんとなく追加しただけ。
本編に組み込んでみたら動いたので、これで一段落。

というわけで、次は何作ろうか考えています。

個人的に思うのは、トランプにしても何にしても対戦形式にすると
コンピュータの思考ルーチン考えるのが面倒くさくて大変ということ。

で、苦労した割には弱くてすぐ飽きてしまったりします。

だらだらと長く遊ぶのだったら、独りで遊べるパズル形式の
ゲームのほうがいいなあと思ってます。

かといって数独(ナンプレ)みたいなやつだと問題を考えるのが
厳しいので、できれば乱数でそのまま自動生成できるのがよいのです。

他にも考えないといけないのが画面の大きさ。
スパイダーソリティアみたいにたくさんのカードを表示させるような
ゲームだと640x480は論外で800x600でも厳しいです。

そんな感じでいいものないかと考え中。
完成したらおまけとしてつけさせてくれるサークル探します。

2009年05月17日

吉里吉里でスライドパズル

スライドパズルで『箱入り娘』というのがあります。
それを吉里吉里で作ってみました。

以前15パズルは作ったことがあったのですが、
同じスライドパズルといっても箱入り娘はめんどくさかったです。

何がめんどくさいかというと、駒をドラッグして
移動可能にするための実装をするようにしたことです。

やり方はたくさんあるだろうけど、下記の方針で作りました。

・盤全体の空き状況を管理する配列を作る
・空き状況から当たり判定を見て、移動可能な方向をチェック
・動き始めたら垂直・水平に方向を固定
・升目ちょうどにきたら空き状況を更新
・再度当たり判定のチェック
・位置が中途半端だったら升目ちょうどに吸い付かせる

というわけで、プロトタイプを下記に置いておきます。
http://poso.jp/poso/kirikiri/hakoiri.lzh

クリアしても何もありません。
スタートボタンでやり直しができます。
もどるボタンでプログラムを終了します。

後は手抜き状態のプログラムを調整して、他のパターンでも
開始できるようにしようかと思ってます。

# 公開はしないかも。

About 吉里吉里

ブログ「ぽログ」のカテゴリ「吉里吉里」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

メールフォーム

ぽそにメール