untitled - 開発ブログ

なんかブログが生産されていたから使うことにしました。 ぼんやりサークルあんたいとるの開発ブログです。

作品製作記録

【 #ティラノビルダー 】でノンフィールドRPGを作る その2

WS007456

前回はダンジョン内を歩くという処理について解説していましたが、今回はイベント編です。
実際に私のゲームを遊んでいただければ、ここはこうしてるのか~、と照らし合わせることが可能かなと思います。

あ、あと前回伝え忘れていました!
右上のアイテム使用ボタンや、スキルボタン、一時停止ボタンを押したときには、必ず[wait_cancel]タグを入れてください。
そのままですと、[wait]タグが効きっぱなしになり、指定時間が終了と共に、元の画面に戻ってしまいます。

あと、一歩歩くごとに[clearstack]タグを入れて、スタック(ゲーム内のゴミ)が溜まらないようにしています。
本来はこんな頻繁にクリアする必要もないのですが、特に入れても害はないタグ(たぶん)だし、他にタグを挟むタイミングが見つからなかったので、1歩ごとに入れています。

では続きを書いていきます。
続きを読む

【 #ティラノビルダー 】でノンフィールドRPGを作る その1

はい、去年から、「イミュ・アカナムの迷宮」というノンフィールドRPGを作っていた私ですが、Twitterで「ティラノビルダーでRPGって作れないのかな」という呟きを見たので、簡単に作り方を説明します。

Ws008122

このゲームは、ダンジョンと街を行き来し、鍛治屋で武器を強化したり、覚えたスキルを付け替えたりして、より奥に進めるように頑張る…というゲームです。
実際にゲームを軽く触っていただければわかりやすいと思いますが、ゲームは自動進行になっており、主人公は勝手に奥へ奥へと進んでいきます。
やばいかな、と思ったら手動で回復を使ったり(アイテムを自動で使う設定にもできる)、迷宮を脱出したりして、武器・防具や敵のドロップアイテムを持ち帰り、より自分を高めていきます。

また、ゲームオーバーになってタイトルに戻る…と言うのを繰り返すと、難易度が激上がりしそうなので、もしゲームオーバーになっても、お金やアイテムが減った状態で町に戻るだけ、と言う仕様になっています(この迷宮では蘇生魔法がかかっていて死んでも自動的に外に出されるという設定なのです)


実は今バグ取りのために一時公開停止中なのですが、バグ取りのために大きくいじってるので、いじった部分などを改めてこのメモにまとめているような形です。
長くなるのでくわしくは続きに。
続きを読む

ティラノビルダー&スクリプトの基本の「き」

Ws008121
Ws008120


・各ファイル名はアルファベット&アンダーバー&数字、しか使えない。
・変数名も上に同じ

言われなくとも…と言う人が大半でしょうが、私はこれ最初知らなくて、ひらがな交じりの変数やファイルを入れてゲーム作っちゃって…
後から盛大に修正キメました。

良い子のみんなは間違えんなよ!!

スチル製作中

まだ病状悪くて実家にいるので、昼間はベランダに出た親に画面を見られてもおかしくないため、夜にカーテンを閉めた状態でしか進められませんが、イベントスチル製作中です。
続きを読む

ティラノビルダー/スクリプトでキーボード対応の3DRPGを作る。その1

さて。

ティラノで3DRPGを作りたい!!! キーボード対応の!!!

と言うわけで簡単にテスト的な物を作っています。入院中の暇つぶしです。

またコイツ発売予定のゲーム放置して何やってんだ、と思うかもしれませんがすみません、入院中でエロいものにほぼ一切触れられないので(監視カメラ様が見てる)、エロゲーとかの制作が停滞しています。いやまじで数えただけで狭い病棟内に監視カメラ7つくらいあった。病室10個くらいの狭い病棟なのに! 見つけてないのもいくつかあると思う。もしかしたら10ある病室すべてについてるかも、プライバシーの面からあまり考えたくないけど。精神病棟なめんなって感じだわ。たぶん監視カメラではディスプレイの文字までは見えないとは思うけど、もしかしたらこの画面を監視カメラが録画しているかもしれないなんていう状態でエロテキスト書けるメンタルは私にはない。パネエわ精神病棟…

あとミカゲィトは、ティラノのバージョンの違いのせいで動かなくなってしまったので、どうしようか考えてます…
別に古いティラノビルダー使うままでもいいんですけど、でも最新のビルダーだと、ティラノスクリプトのバージョンも最新化されたのは魅力的かなと。
なので、メインPCとサブPCを二台並べて、最新のティラノへの移植作業を行おうと思っています…のでこっちも退院待ちだなあ。早く退院したいです…

閑話休題。

あ、ここで作る3DRPGと言うのは、古き良きウィザードリィやメガテン、魔導物語のような、疑似3DRPGのことであり、3DCGで作られた画面のRPGの事じゃないです。

というわけでティラノでキーボードを使えるようにします。
まずはキーボードを押したかどうかについてを取得するためのプログラムをJAVAscriptで記述します。
ティラノビルダーのコンポーネントから、スクリプト>jscriptを選んで、そこに

document.onkeydown = function(e) {
tf.onky_flag=true
var keyCode = false;
if (e) event = e;
if (event) {
if (event.keyCode) {
keyCode = event.keyCode;
} else if (event.which) {
keyCode = event.which;
}
}
f.osita=event.keyCode;
};

と記述しました。
ティラノスクリプトの場合は、[iscript]~[endscript]でくくってください。
最後の方の「f.osita」と言う変数にキーコードを入れる処理、が重要です。
そしてこのJAVAscriptの記述部分を、マクロ「keymati」にして、いつでも呼び出せるようにします。

次に、キーが押された、と判断する部分です。これはキー入力があってもなくても毎回通る部分になります。
内容は以下の通りです。

*hantei
[if exp="f.osita==38"] (キーコード38=↑キーが押された)
 [jump target="*前に移動"] 
[elsif exp="f.osita==40"] (キーコード40=↓キーが押された)
 [jump target="*方向転換"] (後ろを向きます)
[elsif exp="f.osita==37"]
 [jump target="*左を向く"]
[elsif exp="f.osita=="39"]
 [jump target="*右を向く"]
[endif]
[jump target="*start"]

こんな感じです。
一応ここではティラノスクリプトで記述しましたが、ジャンプ部分はビルダーのコンポーネントのジャンプからでも作れるよ。
まぁ実は他にもメニューボタンが押されたときの処理なんかもはさんだりするけど(たとえばキーコード77=Mキー、でマップを開く、とか)それはまぁアイディア次第でそれぞれいろんなキーに対応させたりすればいいと思います。

あと、ティラノビルダーのゲームセッティングから「キーボード・マウス」のキーの設定で「シフトキー→ゲームを進める」に設定しておくと、メッセージ送りもキーボードでできるようなります。


で、大まかに記述するとこんな感じ。

*start
[clearstack] (jumpとかマクロとかサブルーチン多用するためスタック(ごみ)を消している)
[eval exp="f.osita=0"] (f.ositaを初期化。しないと、前回何かボタンを押しているとその処理が連続で行われてしまう)
[keymati] (キー入力待ちマクロ呼び出し)
[wait  time="1500"  ] (キー入力を待つ時間。この間にキー入力されると移動・方向転換などを実行となる)
[jump  target="*hantei"  ]

ゲーム上では、これをひたすら繰り返すことになります。イベントが発生しても、終了次第、また*startに戻る形です。
あとは「*前に移動」「*右を向く」などのラベルを作って処理をしていくだけです。そっちの処理についてはまた別の記事にします。


ただ、これだけですと、キーボードのない環境、つまりスマホなどでは操作のできないゲームになってしまいます。
なので画面にボタンを作ります。

[macro name="button_main"]
[button  fix="true" target="*前に移動"  x="480"  y="310"  graphic="ue1.png"  width="101"  height="43"  enterimg="ue2.png"  ]
[button  fix="true"  target="*左を向く"  graphic="hidari1.png"  width="101"  height="43"  x="420"  y="358"  enterimg="hidari2.png"  ]
[button  fix="true"  target="*右を向く"  x="530"  y="358"  graphic="migi1.png"  width="101"  height="43"  enterimg="migi2.png"  ]
[button  fix="true"  target="*方向転換"  x="480"  y="410"  graphic="sita1.png"  width="101"  height="43"  enterimg="sita2.png"  ]
[endmacro]

これはのちに呼び出すことも考えて、マクロ化しています。
先ほど記述した分と合わせるとこんな感じです。

[button_main]
*start
[clearstack] (jumpとかマクロとかサブルーチン多用するためスタック(ごみ)を消している)
[keymati] (キー入力待ちマクロ呼び出し)
[wait  time="1500"  ] (キー入力を待つ時間。この間にキー入力されると移動・方向転換などを実行となる)
[jump  target="*hantei"  ]

で、*hanteiに飛んだあとは、*startに戻ります。
FIXボタンにするのは、「*start→*hantei→*start→…」を繰り返すたびに毎回ボタンを呼び出していると、画面が激しくちらつくため、常に画面に出しっぱなしにするという形にしています。
イベント発生時や、メニューを開いたときなどには一度消し、必要な時に[button_main]で呼び出します。
とりあえず、これで画面上のボタンを表示しても、キーボードの上下左右キーを押しても、ゲームが反応するようになりました。

まぁそれで、ボタン表示と同じくらいのタイミングで主人公キャラクターなどを画面に表示しつつ、あと主人公が見てる景色なんかも画面にはめ込んで作ったゲーム画面はこんな感じです。

WS001015

マップを動き回ることについてまで記事にすると長くなるので、とりあえず「キー入力のできるゲームが出来た」ということにして、一旦記事はここで区切ります。
メニューやマップボタンを押したときの挙動についても、スリープゲームタグとか使っててややこしいので、それもまた別記事にします。…気が向いたら。
…あくまでも覚書なので、記事にするかは私の気分次第でごわす。

文字にアンチエイリアスがかかってないゲームをティラノで作る解決案

「こんXXわ」って書き方して、こんにちわにもこんばんわにも対応する書き方あるけど、おはように対応してないやんけ…と毎回思うのなちゃんです、ペンギン村からおはこんばんちわ。
色々テストするためのプロジェクトとか作ってたらティラノビルダーのプロジェクト数が膨大になっていました…愛と平和…(??

さて、吉里吉里に浮気したり、解決案をいろいろ出してもらったりしたりした結果、結局ティラノでこんなことをする結果に落ち着きましたというメモです。
まだちゃんとゲーム本編を作ったわけではなく、テスト的に1シーンだけ作っただけなのですが。

まずゲーム画面の完成系はこんな感じです!

Ws002528
文字にアンチエイリアスかかってない! 素敵!!
実はこの記事の最後に描いた理由(アイコンのパレットが正確じゃない)によってこの画像は微妙に16色ではないのですが、まぁそれは今後整えていくとして…

それでですね、実はこれは、こういう文字列の何も入っていないメッセージウィンドウに、
Ws002525

こんな感じの二値で白部分に透明化をかけた画像をかさねているのです。
Ws002526
(ここではクリックすると背景が透明化されて文字が見えなくなっちゃうので、背景は白のままの画像を貼っています)

命令としてはこんな感じ。

>[image  time="1"  storage="default/moji_scene1_test.png"   x="50"  y="300"   zindex=1005 layer="message0" ]

つまり
  • レイヤー「message0(通常のメッセージレイヤー)」に、
  • 「zindex=1005(レイヤーの重なり準の指定、数が大きいほど前に来る)」を指定し、
  • 画像「moji_scene1_test.png」を重ねている
…というわけですね。

Ws002527

メッセージレイヤに画像を出しているので、メッセージレイヤーを非表示(右クリック)で、ちゃんと文字も消えます。おおー!!
…これだと、文字の表示スピード設定(1文字ずつ文字を表示していく)ができないんですが…
これはGIFアニメで1文字1文字表示していくやり方もあるんですが、それを表現しようとすると膨大な手間と時間がかかるので、今回は一括表示のみと言うことでお許しください。
まぁ時間短縮するやり方はいくらでもあるんですけど(文字を隠す白画像のgifを文字画像にかぶせて、一文字ずつ文字を隠す部分を捲っていくようなイメージのアニメーションgifを使うとか…、画面クリックでこれを消す処理を走らせれば、一括表示させるような表現も可能だけどね)

あとですね、このやり方だと、当然画像でしか文字を表示していないので、ティラノのシステムとしては文字列を扱っていないことになり、バックログに文章が記録されません。
バックログはゲームには必須ではないかもしれませんが、文末とか読み飛ばして再確認したいときもあるので、あった方がいいですよね。

そこで、ティラノには、「メッセージウィンドウに出してないメッセージでもバックログに表示させる」と言う機能があるので、それを使います。

タグはこう

>[pushlog text="などと思いつつ、エリューシュがこんななのはいつものことなので、あまり気にするのはやめるリィムであった。"]

この[pushlog]タグが、ログ画面にのみ表示させる文字列の指定になります。

すると、ほい、こんな感じになります。
Ws002529
バックログ画面には全く手を入れていないので、レトロ風も何もなってないのはお許しください。
そのうち手を入れます。
っていうか通常縦640あるウィンドウを縦400に縮めているので、画面外にメッセージ枠がハミ出してるしね…
とは言えこの画面は、文字にアンチエイリアスがかかってしまうため、16色に収めるのは無理になっちゃうんですけど…、まぁしかたないね。
メインのゲーム画面だけでも16色に出来れば満足と言うことにしておきます。


実は今回貼った画像、パレットがちゃんとしてなくて、ボタンなどの色味が微妙にずれていたことが判明したので、微調整しないといけなくなりました…見た目的には同じ色だけどRGBの数値としては1くらいずれてたのか、画面内全部を見ると16色超えていたことが判明。
何が原因だかはわかりませんが、色を置き換えるだけなら大した手間じゃないしやるけど、原因分かんないのヤダな。
ちゃんとパレット共通で作ったのになんでだろう、8bit化するときに減色ツールが悪さしたんだろうか…

アンチエイリアスのかかってないフォントでゲームが作りたい:吉里吉里Z編

PC98風の、画面デザインを16色内に収める、という試みでAVGを作っています。

ところが、私のメインの開発環境である、ティラノビルダー/スクリプトでは、Windows環境下では、強制的に文字にアンチエイリアスがかかってしまいます。
以下が理想と現実。

理想
risou


現実
genjitu

現実は厳しい。なんかぼけて青紫っぽくなってるし。
Macintosh環境下ではアンチエイリアスが切れるそうなのですが、Windowsの仕様によって切れなくなっているらしいです。

なので吉里吉里を試してみることにしました。
ティラノはkag派生のため、kagを使っている吉里吉里は、同じような命令で覚えやすいしね!!
まぁWindows(とスマホ)でしか遊べないのは欠点ですが…。

ところがですね…

こちらが、Windowsにインストール済みのフォントを指定し、なおかつユーザー側でアンチエイリアスを切った場合です(ただし、初期設定では、ユーザー側でのアンチエイリアス設定はオンになっています…)
nasi
おおっ、ボケずに表示されたぞ、これイケんじゃね?
ちなみに使用フォントは「KHドット小伝馬町16 幾何学的カナ」です。いい文字です。

ただし、この場合、ユーザー側でこのフォントがインストールされている必要があります。インストールされていない場合は、強制的にMSゴシックになります。

なので、フォントを配布時のファイルに同梱することにします。
こちらのレンダリング済みフォント作成ツール改を使用し、16x16ドットのフォントに変換、dot16.tftというファイルにして、吉里吉里のfirst.ksに[mappfont storage="dot16.tft"]と記述し、デフォルトで使うフォントを、こちらのフォントへと設定しました。
んで表示させてみる。

ari
ボ ケ た。
どうして…。私はドットフォントが使いたいだけなのに。どうしてこの世はドットフォントに厳しいの。私はただ文字からアンチエイリアスを切りたいだけなのに。

まぁ吉里吉里で作ると、マルチプラットフォーム化とかできないし、ティラノで便利だと思っている機能が吉里吉里にはなかったりしそうだし、ちょっと悩ましいのですが、一応アンチエイリアスが切れることも可能ということで、候補に入れておきます。
Readmeファイルに「KHドット小伝馬町16 幾何学的カナをPCにインストールしておくとより快適にプレイできます」と一言付け加えればいいだけだし…
最悪画面表示されるフォントがMSゴシックになるけど、ボケるよりはマシかなと。

あーもうWindowsの仕様のせいで何もかもが憎い。
ティラノ大好きなのに、Windowsの仕様のせいで、ティラノで作ると理想通りにならないのではどうしようもないです…。ティラノの運営・開発の方に直接尋ねたのですが、これはOSの仕様上の問題で、どうしようもないみたいなので…


あとは選択肢として
 ①文字のアンチエイリアスには目を瞑りティラノビルダー/スクリプトで作る(マルチ環境で動く)
 ②文字のアンチエイリアスを切れるソフトを探してジプシー(動作環境が限られる場合もあるし、スクリプトや言語の仕様を1から学びなおしになる)
 ③開発を諦める(どうしてもこだわりたいことができないならもはや仕方ない)
となってきますがはたしてどうすっかなあ…

こちらの望む条件としては
 ①文字のアンチエイリアスを切れる
 ②640×400のウィンドウサイズに設定できる
 ③できればマルチプラットフォーム対応
…という開発言語/スクリプトがベストなんですが、そんな都合のいいのそうそうないよねえ。

私は文字のアンチエイリアスが切りたいだけなのにどうして…
いやほんとにどうして…

ティラノゲームフェス、佳作受賞ありがとうございました!

とりあえず一時帰宅した際に景品を受け取りましたひゃっほい!!!

P_20190217_105358
ティラノゲームフェスの佳作受賞の景品です!!
ひゃっほい!!


こっちのブログでは書くタイミング逃した…っていうか受賞知った時にはまだあまりいろいろ使っちゃダメだったりネットなかったりで、あんまりちゃんとお礼を言える状態じゃなかったので、こっちのブログには書き忘れてましたが…
改めまして。こほん。

esfan_011_1920.1080
ティラノゲームフェス2018において、イミュ・アカナムの迷宮が佳作受賞となりました!

遊んでくださった皆様、運営の皆様、ありがとうございました!!
いやー感無量です。
そして、中途半端になっているバージョンも、ちゃんと修正重ねてきちんとしたいです…。


ではでは短いですがこれにて!!
重ね重ねありがとうございました!!!

明日から入院です+今後の制作予定

ここ数日、入院の準備でばたばたとした生活を送ってましたが、やっと用意も終わり、落ち着いたところです。
何かと小物が要りようで…シャンプーやリンスだって、家族と共用なんだから、普段使ってるやつをそのまま持っていくわけにいかないので、小さめのボトルを買ったり。
あと服も…パジャマを着ずにジャージや部屋着で寝る生活してたので、パジャマを持ってきてください、って言われて買いに行ったり。
院内はあったかいとは思いますが、ちょっと羽織って移動するのに必要なカーディガンみたいなのもいるよねーと買い足したり…
あと一応普段着も何着かいるよなとか… …そんなことしてたら荷物がすんごい量になったんですけど、まあ不要だったら後でお見舞いの時に持ち帰ってもらえばいいし。
あ、ケロリンの桶買いましたww 洗面器ってうちになかったので、新しく買うことになったんですが、どうせなら気に入ったの買っちゃえーみたいな感じで。
ケロリンの洗面器意外と高いww けど可愛いのでお気に入りです。

とりあえずノートパソコンの持ち込みは可なので、オフラインでひたすら執筆作業を進めていると思います。
一応ペンタブも持っていきますが、ノートPCの発色が悪いので、カラーでは絵は描けないため、確認用のラフとかを描く程度かなーと思います。
ただ前も言った通り、パレット固定のミカゲィトの絵は、ディスプレイの発色が悪くとも描けるため、入院が長引くようならこっちの絵も進めているかもしれません。

記事が長くなったので、続きに分けました。
続きに、今後の制作予定について。
続きを読む

ティラノビルダーでのゲーム制作に命を助けられた話。

イミュ・アカナムは、買ったけれどずっと放置していたティラノビルダーで何気なく作り始めました。
作り始めた動機は「手慰みにやっているペーパークラフトの展開図をパソコンで起動している間、後ろで起動させておくゲームが欲しかった」からです。
実際完成したら、放置すると厳しめの難易度になってしまいましたが…、これはちょっとアップデートで対応していこうと思います。

Image4

そもそもなぜペーパークラフトをやっていたか。
私にとって、頭をそこまで使わなくても熱中できることがそれだったからです。
私がペーパークラフトにハマるほんの少し前に、父がネットでDL出来るペーパークラフトをいくつか作って姪にプレゼントしていたのを見て、DLsiteさんでDL出来るペーパークラフトを買ったのが始まりでした。
つまり熱中出来て、楽しいこと。それでいて思考を組み立てねばならないわけじゃないもの。
ペーパークラフトはそういうものでした。

ペーパークラフトには、親切に展開図が付いており、それに山折りや谷折りが表記されているものもあります。
ですが線が細かく、うちのプリンターの性能では綺麗に線が出ません。
なので、PCの画面に展開図を表示したものを見ながら作っていました。
だけど、そのためだけにPCを起動しているもの勿体無く感じて、なにか、後ろで放置タイプのゲームなんかを起動させながら出来たらいいな、と思ったのがきっかけです。
いくつか教えてもらったのですが、ピンとくるゲームがなくて、じゃあ、自分で作ろう、と、ティラノビルダーを起動しました。

お話も凝ることもなくシンプルに、冒険者がダンジョンを見つけたから潜ろう、程度のものにしよう。
システムも凝ることなくシンプルに、自動でダンジョン内を進行していく。
放置して別のウィンドウを表示していたとしても、イベントが発生したらアラート音が鳴って気付ける作りにして…。
そんな感じで作り始めました。
徐々に、思考することができなかった頭が、まるで潤滑油を得たように回り始めました。
思ったよりも作業に熱中して、いつしかペーパークラフトから遠のいてしまったのは誤算でしたがw

製作中に、愛猫のがんが見つかりました。
がんと言っても、切除すればほぼ再発もあり得ないくらいのものではありましたが、検査の期間中、手術、そして手術後には大変に気を揉みました。
愛猫の治療のために私は実家と自宅を行き来し、作業時間が減ることになったため、ゲームの規模を少し減らしました。
結果的には、ちょうどいいボリュームに抑えられてよかったと思っていますが。
なんにしろ、愛猫のがん、という事態でも、ゲーム制作をすることで気を紛らわし、悲観などもすることなく過ごすことができました。


ティラノビルダーは、とにかく簡単なツールです。
もちろん、イミュ・アカナムの迷宮のように作りこもうとすれば手間はかかります。
ただ、初動が楽で、さくっと作り始めることができるのがいい。

イミュ・アカナムの制作のおかげで大きく救われました。
そして今、イミュ・アカナムの迷宮も参加していた、ティラノゲームフェスが終了しました。
ゲームフェスで、いろいろな方に遊んでもらい、1000DLも突破しました。
本当にありがたいことです。
今後もアップデートしていくつもりですが、正直、自分の状態はかなり追いつめられた状態で、だからこそ、今後もティラノビルダーで何かを作ることに救われていく予感がしています。

ありがとう、イミュ・アカナムの迷宮。
ありがとう、ティラノビルダー。

今年のティラノゲームフェスはまだいろいろと未定なようですが、今後も頑張ってやっていきたいと思っています。
いつもありがとう。そして、よろしくお願いいたします。
作品一覧
サークルプロフィール
ギャラリー
  • 病気…
  • ナンカのアレ。
  • あっ…ティラノゲームフェス2019参加してます…
  • あっ…ティラノゲームフェス2019参加してます…
  • あっ…ティラノゲームフェス2019参加してます…
  • あっ…ティラノゲームフェス2019参加してます…
記事検索
QRコード
QRコード
  • RSS
  • Dlsite blog