読者です 読者をやめる 読者になる 読者になる

鳥小屋.txt

ゲーム作ったり、Web的なことしたり、ぐだぐだしたりしますねヽ(・x・)ノ

読み込み失敗時リトライ表示さん for MV

ツクール RPGツクールMV RPGツクールMVプラグイン

f:id:ru_shalm:20161127222355p:plain

プラグイン概要

主にWebブラウザ用出力の際に発生しやすいファイルの読み込みエラーが起きた際、
自動的に何回かリトライするように設定します。
また、リトライしてもダメだった場合、画面上にリトライボタンを表示し、
プレイヤーがボタンを押したら(または決定キーを押したら)再度読み込みを開始します。

要はスマホで一瞬圏外になったりして読み込み失敗したときに、
死ななくて済むようにするプラグインです。

【注意】暗号化データには対応していません

具体的な仕様

以下のようなルールで動作します。

・JSON(マップデータなど)、画像の読み込み失敗時

指定回数(デフォルト3回)読み込みをリトライします。
リトライしてもダメだった場合、リトライ画面を表示します。

・音声の読み込み失敗時

指定回数(デフォルト3回)読み込みをリトライします。
リトライしてもダメだった場合、音声再生をなかったことにします。

プラグインのダウンロード

Torigoya_RetryLoadPlus.js ダウンロード

右クリック→「名前をつけて保存」したものを plugins フォルダに入れてご利用ください。

利用規約

RPGツクールMV(RPG Maker MV)内での使用の場合は自由に使用できます。
有償、改変配布など、制限項目はありません。


以前、小物プラグイン集で公開していた
「ファイル読み込み自動リトライプラグイン」のリメイク版です。

電車内で某ゲームをプレイしてたら一瞬圏外になった瞬間に通信エラーが起きて
そこまでのプレイが全部パーになる悲劇に出会い、ついカッとなってつくった><;

『魔導箱のグリモワール』をつくった話

制作 ツクール RPGツクールMV

f:id:ru_shalm:20161127013423j:plain

ぼく、2年ぶりのゲーム公開なんです……(エターすぎる日々)

というわけで、『魔導箱のグリモワール -Leyak's Cube Grimoire-』というパズルゲームを公開しました。

思ったより遊んでもらえたりコメントしてもらえてて、とてもうれしい…!

で、せっかくとても久しぶりにゲームを公開できたので、ちょっとした雑記みたいなものを書いてみようかなと思います。

RPGジャナーイな話

えっとね、企画当初はRPG要素みたいのも入れようとしてたんですよ…?
赤のブロックを1000個消費して炎の魔法を覚えてダンジョンに〜みたいな。
(なので、内部的にはどの色を何個消したか記録できるようになってたり)

でもね……そんなこと始めたら絶対エターなることに気づいちゃったからやめたんです…ゆるして><;

ちなみにパズル部分以外はフツーのプラグインの形式でつくっているので、
実績機能とかは説明書とか書いて素材として公開するつもりです。

PCでのプレイがなんか不遇な話

ブロックの移動が斜めだからね! PCだと斜め移動難しいもんね!

PCだと難しいのは割とわざとです。
スマホで遊んでもらえるとうれしいな〜という感じなんです。
スマホからじゃないと解除されない実績もあるしね()

上でめっちゃしゃべってる話

f:id:ru_shalm:20161127013609j:plain

スコアアタックしかないパズルでも世界観っぽいことしたい!

というわけで、魔導師のレヤックがめっちゃ喋ってます。
ゲームのヒントになる内容が2%くらいで、98%くらいはどうでもいいこと喋ってます。
(ちなみにセリフは70パターンくらいあるよ)

「ゲームとして面白ければ絵は記号でもいい」みたいな話もありますが、
実際そんなことないし、雰囲気とかも大事だと思うんですよね。
スコアアタック系のパズルは無機質な感じになりがちな気がするので、
セリフ吹き出しでゆるふわした雰囲気でてるといいな。

ちなみにキャラを2人置いて会話させようかとも考えたのですが、
会話だとじっくり見てないといけなくなるのと、
何より絵を2キャラ分描くのは僕が溶けるのでやめました……

ハイスコアの話

f:id:ru_shalm:20161127013917j:plain

僕の最高スコアです。
これ超えたらすごすぎるので自慢しまくってください!(?)

次回作の話

次こそはRPGツクールしたいよね……!

【オートポーション】ダメージ時自動アイテム/スキル使用さん for MV

ツクール RPGツクールMV RPGツクールMVプラグイン

f:id:ru_shalm:20160619132005j:plain

  • 2016/09/19 かばう時に動作しない問題について対応しました

プラグイン概要

戦闘中に攻撃を受けた際に自動的に使うアイテムやスキルを設定できます。
いわゆる「オートポーション」とか「オートフェニックス」とかそういうやつです。

<注意>
カウンタースキルではないため、攻撃技を設定すると明後日の方向に飛んでいきます><;
回復アイテムとか回復スキルとか設定してね!おやくそくだよ!

使用方法

f:id:ru_shalm:20160619132938p:plain

メモ欄に設定を記述することで有効になります。 アクター / 職業 / 武器 / 防具 / 敵キャラ / ステート のメモ欄で設定できます。

メモ欄での設定項目について

<AutoItemMe/hp[50%]: 1>

■ 誰が攻撃されたときに発動するか?( Me の部分 )

  • Me:自分
  • Friend:味方の誰か

■ 条件を何にするか?( hp の部分 )

  • hp:残りHP
  • mp:残りMP
  • tp:残りTP
  • state:付けられたステート

■ 条件の値( 50% の部分 )

  • 条件が hp / mp / tp のとき
    • xx%: 指定%以下になったとき
  • 条件が state のとき
    • ステートのID(例:戦闘不能の場合は 1

■ 使うアイテムのID( 1 の部分 )

ここで指定したIDのアイテムを使用します。

アイテムではなくスキルにしたい!

<AutoSkill/hp[50%]: ○○>

↑のように AutoItem の部分を AutoSkill と記述することで、スキルを使用させることができます。

設定の例

##
## 基本的な使い方
##

# 自分のHPが50%以下になったらアイテムID: 1を使用する
<AutoItemMe/hp[50%]: 1>

# 仲間の誰かのMPが30%以下になったらアイテムID: 2を使用する
<AutoItemFriend/mp[30%]: 2>

# 仲間の誰かがステートID: 1(戦闘不能)になったら、スキルID: 100を使用する
<AutoItemFriend/state[1]: 100>


##
## 秘密の機能編
##

# 自分のHPが50%以下になったらアイテムID: 1を使用する。
# アイテムID: 1が使えない場合は、アイテムID: 2を使用する。
<AutoItemMe/hp[50%]: 1, 2>

# 自分のHPが50%以下になったらアイテムID: 1を消費せずに使用する。
<AutoItemMe/hp[50%]: 1!>

注意点など

攻撃アイテム・攻撃スキルを設定すると正しく動きません

必ず効果範囲が「味方」または「自分」のアイテム・スキルを設定してください

発動する優先度

同じキャラクターに対して複数のオートアイテムが発動する場合、
以下のルールに従って、どちらを使用するかが決定されます。

【優先度:高】ステート > HP > MP > TP【優先度:低】

【優先度:高】自分スキル > 自分アイテム > 仲間スキル > 仲間アイテム【優先度:低】

あれ?発動しない?

  • 使用条件を満たしていないと発動できません
    • アイテムの場合:アイテムを持っている必要があります
    • スキルの場合:MPなどが足りている かつ そのスキルを覚えている必要があります
    • ただし <AutoItemMe/hp[50%]: 1!> のように IDの後ろに半角の ! が付いている場合は無視して発動します
  • 1人のキャラクターに対して複数人が同時にオートアイテムすることはできません
    • ハロルドが攻撃されたときに、他の3人全員がハロルドにアイテムを使ったりはしません

ちょっと条件がややこしいですね……
無限ループにならないように色々調整しています><

プラグインのダウンロード

Torigoya_AutoItems ダウンロード

右クリック→「名前をつけて保存」したものを plugins フォルダに入れてご利用ください。

利用規約

RPGツクールMV(RPG Maker MV)内での使用の場合は自由に使用できます。
有償、改変配布など、制限項目はありません。


作っているゲームで使いたくなって作りはじめたものです。
最初、他のプラグイン組み合わせてやろうとしたのですが、
すごく複雑になって「うーーーーん…」となり、
自分で必要な分だけプラグイン書くか〜すぐ終わるだろ〜と言って始めたのですが、
完全に見積もり失敗だったよね()

ゴールデンウィーク中につくったものの話

制作 雑談

ブログをブログとして使ってない問題に気づいた。
なので、僕を楽しませてくれたのに死んでしまったゴールデンウィークにつくったものについて書きます。

ru-middleman-template

Middlemanでサイトをつくるときに使う、僕専用のテンプレートセットです。
毎回同じような設定をかくのは面倒なので、ここから落としてきてすぐにページを作れるように〜〜というのが狙い。

Middlemanはv4からAssets Pipelineが廃止されて、外部のビルドツールとうまく連携するための仕組みであるExternal Pipelineが導入されました。
これホントに僕が欲しかったもので、むしろRailsにも欲しいくらいだ(どうやって)
結局JS類のビルドはnodeに任せるのが一番で、ヘルパーとか文字列処理とかはRubyで書きたい٩(๑❛ᴗ❛๑)۶

もしかしたら、これ使ってツクールのプラグインとRGSS素材は鳥小屋.txtから切り出すかもしれない。
RGSSのときはあまり数作ってなかったから良かったけど、プラグイン細かくし始めたらキリがない〜。
(公開してるけどまだ紹介記事書いてないプラグインとかあるし。。。)

mihatter gem

見張ったー。Twitterの検索APIを無限ループで叩きまくるgemです。

TwitterにはStreaming APIというツイートを垂れ流しにしてくれるものがあって、
さらにそこに検索フィルタを挟むことができるのですが、残念ながら日本語に対応していません…。
なので検索APIを叩きまくるのは仕方ないね。うん。検索はAPI規制も厳しくないし大丈夫大丈夫、みんなやってる。

require 'mihatter'

Mihatter.configuration do |config|
  config.consumer_key = '.....'
  config.consumer_secret = '.....'
  config.access_token = '.....'
  config.access_token_secret = '.....'

  config.keyword = 'がんばるぞい OR 頑張るぞい'
end

watcher = Mihatter::RestWatcher.new
watcher.run! do |tweet|
  puts tweet.text
end

なんでこんなgemを作ったのかは以下につながります。

Zoint version.2

f:id:ru_shalm:20160510003504p:plain

昔作った同名サービス( http://zoint.rutan.info )のリメイクです。
誰かが「今日も一日がんばるぞい!」などとツイートするとカウンターが1増えて、
その日何回がんばるぞいされたのかを表す「ぞい数」が集計されます。

昔つくった版のほうは実はバグっていて、ときどき数字がおかしくなります。
また、以前は「今日も一日がんばるぞい」にしか反応させていなかったのですが、
制限をゆるめて「がんばるぞい」だけで反応するように変更しました。

トップページにはその日の数値しか出ていませんが、
隠しAPIの https://zoint.arukascloud.io/zoi.json にアクセスすると一週間分の「ぞい数」が取得できるほか、
https://zoint.arukascloud.io/zoi/2016-05-09.json のような日毎の「ぞい数」を返すAPIもあります。
毎日3000回近い「ぞい」が記録されておりますので、我が国はみんな頑張っていることがわかりますね。

また、デプロイ先は今回はHerokuではなく、さくらちゃんのArukasを使用しています。

というわけで、Zointの作り直しをした際に書いたツイートの取得処理部分を切り出したのが mihatter gem になります。

Blinkman::TwitterSearch

f:id:ru_shalm:20160510002802j:plain

さらに mihatter gem を流用して作成したのがこちら。
blink(1) というUSBポートに刺してプログラムから自由にピカピカさせることのできるLEDを買ったのですが、
あまり有効活用できていないので「がんばるぞい」というツイートに合わせて光らせるものをつくりました。

↑の記事で紹介されているBlinkmanというgemのプラグインとしてつくりました。便利〜。

その他

  • RPGツクールMV用のプラグインを作っていた(未完)
    • エターなったゲーム用に書いたものを全部素材化しようと思って…
  • Potmumにリビジョン機能を入れようとしていた(未完)
    • 元々入れるつもりだったのだけど準備があまりにも足りなくてまだ終わってない
  • クラシックダンジョン 戦国 の体験版で遊んでいた
    • ドット絵書くだけで数時間飛ぶ

今年のGWは有意義でしたね!
Ruたんの次回作にご期待ください!

ワンボタンスキルさん for MV

RPGツクールMV RPGツクールMVプラグイン

f:id:ru_shalm:20160306160920p:plain

プラグイン概要

戦闘中、各キャラクターの行動選択中にShiftキーを押すと選択されるスキルを設定できます。

MPやTPなどが足りない場合は「ブブー」という音が出て使用できません。

使用方法

f:id:ru_shalm:20160306161931p:plain

スキルのメモ欄に

<OneButtonSkill>

と書くことで、そのスキルがShiftキーで選択されるようになります。

優先度について

ワンボタンスキルを複数覚えている場合、優先度が高いものが選択されます。

<OneButtonSkill>         # 何も書かないと優先度0
<OneButtonSkill: 100>    # 優先度100

優先度が同じスキルがある場合は、スキルIDが小さい方が選択されます。

プラグイン設定について

Key Name

ワンボタンスキルに使用するキー名を設定します。
デフォルトでは shift が設定されています。

他のキー大体使われているのであまりいじることはないかもしれません……
超独自のシステムを使っていてデフォとキーが全然違う!みたいな場合は設定が必要です。

Hide One Button Skill

ワンボタンスキルに設定したスキルを、スキル一覧から隠すかどうかを設定します。
デフォルトでは false 、つまり隠さない設定です。
隠したい場合は true に変更してください。

スキル一覧から隠すことによって、Shiftキーからしか発動できないスキルが作成できます。

ターン消費なしスキルとの併用について

このプラグインは「ターン消費なしスキルさん」との併用が主な使い道かなと思っています。

「ワンボタンスキルさん」と「ターン消費なしスキルさん」を両方設定した場合、
Shiftキーを押した瞬間に発動するスキルを作成することができます。

例:覚醒コマンド

f:id:ru_shalm:20160306162648p:plain

選んだ瞬間ギュイーン!とパワーアップします。
例えばTP100%消費する覚醒コマンドを使って、このターンの攻撃力を5倍!みたいな使い方ができそうですね。

  • 覚醒Lv:1:消費TP:25、ワンボタンスキル優先度1
  • 覚醒Lv:2:消費TP:50、ワンボタンスキル優先度2
  • 覚醒Lv:3:消費TP:100、ワンボタンスキル優先度3

みたいな設定をしておくのも面白そうかな。

例:イベントの呼び出し

f:id:ru_shalm:20160306161426p:plain

「コモンイベント」を呼び出す、ターン消費なし&ワンボタンスキルを設定することで、
行動選択中にShiftキーを押すと、メンバーの会話が始まる…!みたいなものが実現可能です。
(イベントの中身をつくるのは大変だけど…!)

戦闘中の相談コマンドみたいな使い方かなー。

プラグインのダウンロード

Torigoya_OneButtonSkill.js ダウンロード

右クリック→「名前をつけて保存」したものを plugins フォルダに入れてご利用ください。

利用規約

RPGツクールMV(RPG Maker MV)内での使用の場合は自由に使用できます。
有償、改変配布など、制限項目はありません。

当然だけど、Shiftキーでしか発動できないスキル作ったら、スマホでプレイできないから注意な!!!!


オマケ:紹介のコーナー

※別作者さんのモノの紹介です。迷惑かけちゃだめだよ

奏ねこまさんの拡張プラグインを導入すると、
ワンボタンスキルさんで発動するスキル名が画面に表示されるようになります。