untitled - 開発ブログ

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

再開しつつ。

やばい…ゲーム作るの楽しい…
あまりにも病状が悪化して、お薬いっぱい飲んで病院にお泊りとかしてきたんですが、そのあとかかりつけに連行されて気持ちが楽になるおくすりをブスっとケツに刺されたんですが…
なんか急に元気になってしまってゲーム作ってます。
イミュ・アカナムの迷宮、バージョンアップしたよ。たのしい。

あと雨の王も。

Ws000342
こんなのとか

Ws000343
こんなのとか。
あっしまった二枚目のほう差分作り忘れた…今から線画の修正しないとですね。

久々にしっかり絵を描きました。
まだ全然腕が戻った気はしないのですが、少しずつ絵の描き方を思い出せたらいいなと思います。

入院が出来ません…

入院先が見つからなくていまだ入院出来てません…
入院先を探すのに、私も家族も疲れ果ててしまったので、このまま入院の話はなくなる可能性もありますね。
病状は悪化して回復してまた悪化してってなってるんですが、ひとまず調子いいタイミングで、PC前でティラノビルダー開いたら…やっぱり楽しいですね。

Ws007337
バグ多いけど!
バグ多いけど!!
なんでウィンドウ消えてんねん!!!
あと必要な背景素材が見つからなくてうにゅ~んってしてます…。
3D背景でなら見つけたんですけど、ここまでイラスト素材で統一してきたので、ここでテイスト違うのも混ぜづらく。
そのうち新キャラなんかも追加アプデとかするかもなのでゆっくり待っててください。

今年のティラノゲームフェスには、冬頃投稿したノベル作品でしか参加できそうにないんですが、また遊ぶ方向で参加したいと思います。

また入院してきます。

電気痙攣治療とか言うのを受けてきます。
凄い、帯電体質とかになりそう。

またしばらく創作とかできそうにないですね。


赫ずきんちゃんというクソゲーをRPGアツマールにぶんなげてきたのでよかったら遊んでください。
デフォルト素材しか使えない状態で作ったんでひどいです・・・

病状悪化しています

死にかける日々が続いています。
自殺ってこうも上手く行かないものなのか、紐切れたりするし。
そもそも強度があって長さの足りる紐ってなかなかないし、宙ぶらりんになれるほどの高さも、家の中にはなかなかない。ベランダなんかでやらかしたら一発で通報されて早期発見されてしまうし。

そんな状態なのでいろいろごめんね。
とても何か創作できる状態じゃないです。
イベントも参加申し込みできない。何も作れないし、そもそも鬱がひどくて会場に行けなくなったら迷惑かけてしまうから。

「闘病」って言うけどさ、そもそも病気と同じ土俵に上がれてないから戦ってないよね、一方的にボコられてる感じある。
何も楽しいと感じない。
ゲームをやっても何も心が動かなくて、本来はこちらを楽しませてくれるはずのギミックにいらつくだけです。

不快な日記でごめん。
だけどもうだめかもしれない。
いつ死んでもおかしくないと思ってる。

それでも怪我ちゃんやイミュ・アカナムが残るなら…いいや。もう。まだ作りたいもの、いっぱいあったけど、私は彼女たちを作れただけで結構満足してるんだ。

おひさしぶりです。休養中です。

お久しぶりです。
ひっそりと、半月ちょっとほど前に退院していました。

その後、退院したものの、体調+精神状態共に悪く、寝込んでいる日々が続いていました…

えーっと、私はホルモンバランスが生まれつき悪いことがわかりまして。
それを整えるための薬を飲んでいて、その副作用でひどい吐き気があったのですね。
現在はその薬の服用は終わったのですが、別のホルモン剤を飲んでいるので、まだ吐き気が少しあります。
ただこの吐き気は、ある程度で体が慣れてくるらしいので、多分もうちょっとしたら落ち着くんじゃないかな。
あとついでなんですが、子宮に奇形も見つかりましたw 奇形のせいでホルモンバランスが悪いとかそういうわけではないみたいですけど。
なんか子宮が少し割れたような形してるみたい。動物の子宮みたいですね…

にしても吐き気ひどかったのに全く痩せなかったのが納得いかないです。


精神状態の方は、入院中に納得のいく投薬をしてもらえないままに退院させられてしまい、安定しないままの日々を送っていました。
そのおかげもあって死にかけたんですけど、けっきょく入院前の薬に戻してもらうことで、やっと状態が安定してきたところです。
…入院中の薬の調整が全く意味なかったですね…。何のために入院したんだろう。創作も出来ずに苦しい思いばかりしててさ…


とりあえず、現状の報告でした。
制作はちょっとずつ再開しているのですが、基本的には休養中ということで、作業ができそうなときに短時間制作する、程度です。
ゲーム開発などはもうちょっとお休みになっちゃうと思います、すみません。

ただ、具合悪くて横になりつつswitchのゲームとかしてたら、なんかいい刺激になりました。
普段レトロゲーばっかりやってるけど、たまにはこういうのもいいですね。

ティラノビルダー/スクリプトでキーボード対応の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のウィンドウサイズに設定できる
 ③できればマルチプラットフォーム対応
…という開発言語/スクリプトがベストなんですが、そんな都合のいいのそうそうないよねえ。

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

退院延期になりました。

あかん。
退院延期です…。
色々ごめん。
最悪、3月いっぱいまで入院だ。
まじいろいろごめん。

ばた。

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

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

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


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

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

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


ではでは短いですがこれにて!!
重ね重ねありがとうございました!!!
作品一覧
サークルプロフィール
ギャラリー
  • 再開しつつ。
  • 再開しつつ。
  • 入院が出来ません…
  • ティラノビルダー/スクリプトでキーボード対応の3DRPGを作る。その1
  • 文字にアンチエイリアスがかかってないゲームをティラノで作る解決案
  • 文字にアンチエイリアスがかかってないゲームをティラノで作る解決案
記事検索
QRコード
QRコード
  • RSS
  • Dlsite blog