莞爾の草原。

RPGツクールVX Ace、MVや自作のことを主に書いていくブログです。不定期更新。

トップ

【ツクールXP/VX/VX Ace/MV/MZ】スクリプト・プラグイン制作のご依頼募集中

追記(2023/01/21): Amazonギフトカードでの決済を廃止しました。

 追記(2020-10-04): 

追記(2022/02/17): ツクールMZのご依頼に対応しました!

ご相談のかたは必ず下記をお読みください(全文読んだものとしてご依頼を承ります)。

■依頼~納品までの流れ

無料相談
(簡単な動作のイメージ図や仕様書などがあるとスムーズかつ理想に近い状態で対応できます)

料金、納期の見積もり提示

見積もり承諾

制作開始、デモ版提示

デモ納品

支払い(必ず納品後)

納品から年間無料でアフターサポート

(不具合修正のみ。納品後に追加したプラグインとの競合は含みません)

■料金設定

相談時に設定した料金で基本的に固定です。ご依頼はなんらかの都合によって途中キャンセルとなる可能性もあるのでお支払いは必ず納品後でお願いします。

基本料金は1000円で1時間程度で終わるものはこの値段になります。
目安として、メニュー画面のレイアウトを変えるだけなどの新しい機能を追加する必要のないものは30005000円ほど。
制作に10日以上かかりそうな独自システムなどは20000円以上かかる場合があります。

未成年の方は必ず保護者の同意を得てから見積もりを承認してください(申告は不要ですが同意を得たものとして対応いたします)。

■仕様変更とする場合

制作中の追加のご要望は機能の拡張に収まる程度であれば無料で行いますが、大幅にシステムを変える必要があったり込み入った追加機能を希望される場合は仕様変更となり、再度見積もりが必要になる(料金、納期が増減する)場合があります。

■納期

無料相談時にこちらから設定します。
納期は長めにとるのでそれより早く終わることが多いですが、途中で仕様変更などがあったり、連絡に時間がかかる場合納期を超過することもあります。

予めご了承ください。

■お断りするケース

無料相談の時点で制作に2、3週間以上かかると推定できる大規模なものや、相談時や製作中に技術的に困難があり制作不可能であると判断した場合はご依頼をお断りすることがあります。途中でこちらから辞退を申し上げた場合料金は一切発生せず、その時点までで完成したデータを下記のライセンスにのっとり、無料で使っていただいて構いません。

また、自分が作ったものではないスクリプトプラグイン同士の競合の問題は基本的に受け付けません。

他の方が作ったプラグインの改変や不具合の修正、他のツクール作品からの移植のご依頼などもその方の利用規約から著作権を考慮しお断りすることがあります。

■依頼をキャンセルされる場合

見積もり承諾後にご依頼人の方から依頼をキャンセルされる場合、それまでの制作にかかった時間から換算して、料金として設定した額以下の代金をお支払いいただくことがあります。

キャンセルされた時点までに作った納品物に関しては、通常の納品物と同じように下記の利用規約に従って使っていただくことも可能ですが、その時点までで完成したものが正しく動作するかということは保証せず、不具合の修正も行いません。

一度キャンセルされたものを再度ご依頼をしていただくことは可能です。

■お支払方法

料金は納品後支払いです。納品後二週間以内にお振込みいただければ幸いです(二週間以内のお支払いが厳しい場合は納品後二週間以内にお申し付けください)。

また、こちらの手違いによらない形で納品前にお支払いしてしまい、ご依頼人か当方によるキャンセルが発生した場合、返金には応じられない場合がありますのでご注意ください。

お支払方法は下記のうちから選択できます(いずれも手数料は負担しません)。

納品後、必要に応じてPDF形式の請求書と領収書を発行いたします。

押印には非対応です。

デモ版提示後こちらからキャンセルが発生していない状況で催促に応じず支払いの意思がないと判断した場合、私信のやり取りを公開することを必ずご了承ください。

利用規約

制作物はこの規約のもとに提供されています。

制作物の著作権は制作者(莞爾の草)が保有しており、事前許諾なしで制作物単体を公に二次配布することは禁止します(制作物「単体」での配布の禁止であるため、ゲームファイルを暗号化する必要などはありません)。

また、ご依頼人名義の作品間で制作したスクリプトプラグインの流用に関しては許諾などを取る必要はありません。

納品後に他の技術者に新たに依頼してプログラムを変更する目的で制作物を共有することは可能です。

制作前後・制作中に交流した私信を許可なく公開することは禁止としますが、他の技術者にご依頼する際に情報共有として必要となった場合はその限りではありません。

■連絡先

Twitter
@kanjinokusa
gmail
kanjithegrass4mail@gmail.com

・メールの場合は制作中のゲームを公開する作者名をご記入いただきますようお願いします。

・お取引の際に個人情報などを受け渡しをする必要があるため、こちらのブログのコメント欄ではご依頼に対応できません。

【回顧録】2022年を振り返る

 師走の候、いかがお過ごしでしょうか。
 2022年も残すところあとわずかとなりましたが、皆様におかれましてもくれぐれもお体ご自愛してお過ごしいただければと思います。

 今年がどんな一年だったか十人十色だとは思いますが、私の方はというと新型コロナウイルスに感染したり、元首相の演説を生で聞いた二日後に銃撃されたり、歴史の荒波の中で生きていることを痛感させられる事件が多数ありました。
 昨年はその年制作したゲームとともに一年を振り返っていたのですが、今年は短編スピンオフ一作(マインドーテ)のみだったため、そうなった経緯なども含めて書いていければと思います。

kanjinokusargss3.hatenablog.com

プライベートの事情

 去年公開したムツアナという短編探索ゲームがありがたいことにアツマールさんのニコニコ自作ゲーム文化祭で賞をいただきました。

www.freem.ne.jp


 そのときはアツマールが来年に終わることなどつゆしらず、今になって思えば最後に一つ軌跡を残せたようでよかったなとしみじみ思っています。
 言うほどのことでもないので7年間隠していましたが、実のところ学生でした。
 ゲーム『文化祭』と名にあるように学生限定のイベントで、今までもその手のイベントがあっても明言したくなかったので避けて通っていましたが、卒業年度ということもあり重い腰をあげて応募した結果なんかうまいこと行きました。ありがとうございました。

 アツマールにのみ公開していたゲーム群は折を見てふりーむさんに移動する予定です。
 ちなみに就職活動を舐め腐って卒業年度から始めたことも今年短編一作しか作れなかった原因の一つでした(無事IT系の企業から内定をいただきました)。

Steamにゲームを公開して心が折れた話【フリゲ作者からインディ開発者へ】

 去年Steamさんに長編RPGをリリースしたもののあまり伸びが振るわず、愚痴のようなものをはてなブログに投稿したところたくさんの方からレビューをいただきました。

https://b.hatena.ne.jp/entry/s/kanjinokusargss3.hatenablog.com/entry/2022/02/21/204725

 悲しいかなこんなにレビューがついたのはこれが初めてでそのほとんどが自分にとって耳が痛い事実だったことから、これが決定打となって創作意欲が完全に地の底まで落ち引退しかけました。精神的な落ち込みで何も手に着かない期間が2か月続き、生まれて初めて心療内科に通いました。

 今は多少マシになりましたがいまだに引きずっている節があり、創作を心の依り代にすることの危険性を身をもって痛感している所存です。

 


 そんなこんなで今は技術依頼でお金をためて日々を過ごしています。
 来年から社会人となって自由時間もかなり減り今年以上にゲームを作れなくなるとは思いますが、遅々として筆を進めていくことになると思います。
 私にとって散々な一年ではありましたが、皆様におかれましても来年は今年よりもいい年になることを祈りつつ鍛錬を重ねていきたいと思います。


 それではよいお年を。

【技術者向け】ツクールMZでPIXI3Dを使ってみよう!(Windows用)

ツクールMZはPIXI.jsベースで作られているので「どうせならPIXI3Dを使って3D演出を実装したい!」という思いで始めて色々できたので共有します。

マイナーなライブラリなのか英語で調べてもほとんど情報は出てきませんが一緒に頑張りましょう。

PIXI.jsのバージョンを変えるためコアスクリプトプラグインで不具合が起こる可能性があります。

※ツクールMVではPIXI.jsのバージョンが低いため対応していません。

※自己責任でお試しください。

 

Node.jsとnpmの導入(Windows

必要なライブラリの導入のためにnode.jsとnpmをインストールする必要があります。

Windowsの場合

Node.js / npmをインストールする(for Windows) - Qiita 

npmを正常にダウンロードできたらコマンドプロンプトを開き、ツクールのプロジェクトのサブフォルダなどで『npm init』と実行します。

色々と聞かれますがこの設定はあまり関係ないのでENTERで飛ばします(package nameを省略した場合フォルダ名から自動で指定されますが、隠しフォルダに生成するとnameの先頭を.にすることができないため失敗します。初めて見た)。

これでプロジェクトにnpmが導入できました。

 

PIXI.jsのアップデート・PIXI3Dのインストール

PIXI3Dが対応するPIXI.jsのバージョンがv5.3.0以上で、ツクールMZ(v1.5.0)のPIXI.jsのバージョンが5.2.4なのでアップデートする必要があります。

今回はバージョンの近い5.3.0を導入したいのでプロンプトに『npm install pixi.js@5.3.0』を実行します。

続けてPIXI3Dをインストールしたいので『npm install pixi3d@1.6.2』(2022/11/12時点の最新バージョン)を実行します。

インストールが完了するとnode_modulesフォルダにpixi.js、pixi3dフォルダが入っているので、それぞれのフォルダ内から以下のファイルをコピーしてjs/libsフォルダに貼り付けます。

pixi.js/dist/pixi.js(libs/pixi.jsのリネーム推奨)

pixi3d/dist/umd/pixi3d.js

 

移動完了後、main.jsのscriptUrls配列の"js/libs/pixi.js"の下に"js/libs/pixi3d.js"を追加すれば導入は完了です。

 

3Dオブジェクトを表示してみよう

PIXI3Dの導入が完了したので早速ドキュメントを見ながらいじっていきましょう。

api.pixi3d.org

Cube(立方体、直方体)やSphere(球体)を作るにはPIXI3D.Mesh3D.createなんちゃらの関数を呼び出せばいいのでとりあえず書いてみます。

コード

ゲーム画面

3Dオブジェクトが表示されました!
ただマテリアルとライトを設定していないため真っ黒のままになっています。

コードを追加しましょう

ゲーム画面

ちなみにオブジェクトを動かしたい場合は、以下のコードで入力キーとマウスカーソルから操作することができます。

(ここまできたらUnityでは?)

 

カメラ(視点)を動かしてみよう

オブジェクトの移動のために作った関数内の『const cam = this._kns...』の行をconst cam = PIXI3D.Camera.main;と書き換えるとカメラの座標を調整することができます。

先ほどとは違いオブジェクトそのものは動いていないのでオブジェクトの光の当たり方があまり変わらなくなりました。

カメラは複数作って切り替えることができるのでいろいろ使い道がありそうですね。

 

3Dモデルを表示してみよう

ざっくり調べた程度ですが、以下のようにすると使えるようです。

PIXI.js v5ではGraphics.app.loaderを介してgltf拡張子のモデルデータにアクセスし、loader.load関数で読み込み時に処理を行います。

既に読み込まれている場合はloader.resoursesからデータを持ってくることができます。

ImageManagerを拡張したりPIXI3D.Modelクラスのラッパーを作ったりすればもっときれいに書けそうですが、自分は今のところ使う予定はないので深く調べていません。

来たれ変態。

 

Skyboxを表示してみよう

SkyboxはUnityなどではおなじみの空などの背景を表示するものです。

6枚の画像をサイコロのように組み立てたものをうまいことすることで背景のように見せてくれます(よくわからなってない)。

そういうわけで6枚の画像を以下のように設定することで何となくうまくいきます。

とりあえず表示はできましたが、このままでは静止画でただの背景と同じなので動きを付けてみます。

こうなってたんだ

 

最後に

シーン終了時などにライトオブジェクトを外しておかないとどんどん光が強くなってしまうのでterminateなどで外してあげましょう。

おわり

 

ソースコード

drive.google.com

新型コロナ感染近況報告

新型コロナウイルスに感染して5日ほどたち、ようやく平熱に近づいたもののいまだに毎日症状が変わり病床(=自室の布団)に伏している状態です。

険しい発熱が始まる前日、36.9度の熱があり平熱36.2度の自分にとっては微熱程度ではあるものの、それ以上に外に出ることに抵抗がありその日の外出は控えそのまま床に就くことにしました。

翌日、胸を締め付けられるような痛みの症状が現れたものの、その時点では新型コロナに感染しているとは気づきませんでした。そんな中リモートで一日を過ごしていたものの、午後まで痛みが続いたうえに頭痛も始まったため、熱を測ったところ37.9度の発熱を確認しました。

もしやと思い車で無料のPCR検査センターに行き、唾液の検体を提出した帰りの車の中で、息を吸っているのに息を止めているような、気道の感覚がなくなったような正体不明の症状が現れました。

口で呼吸しても声を出しながら吸い込んでも息が入ってくる感覚がなく、軽いパニック状態に陥りました。帰宅してからもその症状が続いたため「このままでは寝ている間に死ぬかもしれない」と焦り、即日で検査と処方をしてくれる病院を探し連絡し、病院へと向かいました。

病院にて長い綿棒を鼻から突っ込まれ片眼から涙を流した状態で待っていると、病院の方から陰性だと告げられ、「そんな馬鹿な」と思い実際に口にもしていました。

肺の痛みはもちろんのこと、病院の体温計では体温は39.5度とインフルエンザのときも出なかったような高熱を出していたため、偽陰性ではないかと疑っていたものの医療従事者の方も忙しい様子だったので、その場ではとりあえず処方箋をもらい、ウィダーインゼリーなどの闘病用品を買って帰りました。

氷枕や冷えピタシートなどをセットしてよく水を飲んで床についたものの、二時間ぐらいして目を覚ましたときには激しい脱水で全身からから頭はがんがん痛み、いくら日ごろ動いてないとはいえ過剰なほどの全身の筋肉痛で20分ぐらい布団から起き上がることができませんでした。

 

ただ不幸中の幸いなのはそれが症状のピークであったところで、それ以降は徐々に病状は軽くなって37.6度以上の熱を記録したのは初日から2日間だけの話でした。

熱のピークを迎えた次の日に当初行った唾液によるPCR検査の結果が返ってきて、陽性であることが判明しました。

あくまで自分が経験した限りの新型コロナの特徴としては、日によって大きくメインの症状が変わり、一昨昨日は激しい頭痛、おとといは喋れないほどの喉の痛み、昨日はめまいとたん、今日は気持ち悪さなど、とても一つの薬で補える量の症状ではないので、ラットのようにわけのわからない常備薬を飲みあさる日々を過ごしていました。

また、新型コロナの症状だったのか単に高熱が出たからなのかは定かではありませんが、熱がある間は知的作業ができず日々の業務やプログラミングの依頼などがこなせない状態にあり、布団の上でできることも限られていたためポケットモンスターオメガルビーをひたすら攻略していました。

もともと受けようとしていた資格試験はリモートでは受けられず、棄権という後味の悪い結果となりました。

「試験結果がよかったらゲームでも買って夏休みの間に遊び倒そう」と動機付けをし、その勉強をすることで「自分もまっとうな生き方ができるんだな」とかなりポジティブに励んでいただけにショックは大きかったです。

 

隔離期間5日のあいだずっと日の当たらない生活を送っていたのも相まって精神的にかなり参っていますが、いい社会勉強になったと前向きに、心から血を吐きながらやっていきたいと思います。

特にオチやまとめなどはありませんが、皆さんに置かれましてもご自愛くださいますよう心からお祈りしています。

【ツクールMV】RGSS風トランジションプラグイン

 RGSS風のトランジションを実装します。
 RGSSではトランジション中に画面全体が停止しますがMVには同等の機能がないため、必要な場合は他のプラグインなどを用いてイベント全体を停止させてください。

(シーン間のトランジション処理には未対応です)

 

トランジション画像はimg/systemフォルダに格納してください。

 

■ダウンロードはこちら

drive.google.com

このプラグインはマテコモ青ライセンスの元で提供されます。

 

■サムネ・動画で用いたトランジション素材

規格は640×480pxで拡大処理が必要となります。

利用規約はZIP内readmeに内包されています。

pipoya.net

 

利用規約はこちら

マテリアル・コモンズ・ブルー・ライセンス

【ツクールMV/MZ】文章抽出・結合プラグイン

f:id:kanjinokusa0405:20220324025011p:plain

イベントコマンドで入力した文章やデータベースで設定した名前、説明文などを人間に読みやすい形でtxtファイルに出力し、文章編集後に.json形式に戻すことができるプラグインです。

翻訳や校正などの際に使ってみてください。

 

1. KNS_MessageExport

データベースからの抽出を行うプラグインです。

後述するKNS_MessageImportをプラグイン管理に入れていない段階でゲームを起動するとKNS_EXPORTというフォルダが作成され、中にデータベースに対応したtxtファイルが生成されていきます。

https://raw.githubusercontent.com/KanjiTheGrass/train/noMore/KNS_MessageExport.js

 

2. KNS_MessageImport

KNS_MessageExportで出力し文章を編集したのちにKNS_MessageImportを有効にすると、KNS_EXPORTフォルダの.txtファイルとdataフォルダの.jsonファイルを結合した新しい.jsonファイルがKNS_IMPORTフォルダに生成されます。

https://raw.githubusercontent.com/KanjiTheGrass/train/noMore/KNS_MessageImport.js

 

扱いが少し難しいのでどちらのプラグインも必ずヘルプの文章を読んでから使ってください。

 

このプラグインはマテコモ青ライセンスの元で提供されます。

利用規約はこちら

https://kanjinokusargss3.hatenablog.com/entry/2020/08/12/184854

マテリアル・コモンズ・ブルー・ライセンス

 

■更新履歴

ver.1.0.0(2022-03-23)

- デモ

ver.1.0.1(2023-01-03)

- MVで開発者ツールを開くのに失敗する不具合を修正しました

【ツクールMV/MZ】汎用ダメージ計算式一括管理プラグイン

f:id:kanjinokusa0405:20220317024505p:plain

ダメージ計算式を複数行に拡張かつ計算式の使いまわしを可能にするプラグインです。

「同じ計算式の魔法を16個作ったけど後から変える時コピペ地獄で面倒だろうな……」というお悩みや「読みやすく複数行で計算式を書きたいけどエディタだと一行までしか使えないからな……」というお悩みもこのプラグインで解決します。

 

■ダウンロードはこちら

https://raw.githubusercontent.com/KanjiTheGrass/train/noMore/KNS_Damage.js

このプラグインはマテコモ青ライセンスの元で提供されます。

 

利用規約はこちら

マテリアル・コモンズ・ブルー・ライセンス

Steamにゲームを公開して心が折れた話【フリゲ作者からインディ開発者へ】

リリースのお知らせ

Steamにて異世界召喚RPG『NEXT DOOR 悠遠の世界』をリリースいたしました。

store.steampowered.com

ゲームの詳細などは下記にて簡潔にまとまっているためそちらをご参照ください。

www.4gamer.net

 

Steam公開までの経緯

2013年ごろからフリーゲーム作者としてゲームを作ってきましたが、いつも心のどこかで自分のゲームを売ってみたいという野心が燃えていました。

ただ、自分のゲームは決して一般受けするものではないし、私個人がやりたいことをやりたいままに詰め込んだ素人くさいものだという自覚があり、値段を付ければ誰も遊んでくれないだろうと思っていました。

そんな中、2019年のNEXT DOOR制作当初、その前に作っていた長編RPG『デイドリームリバー』がふりーむコンテストで賞をいただいたことで自信がつき、NEXT DOORを値段をつけて公開しようと思い立ちました。

 

Steamworksへの登録

Steam上でゲームを販売するにはSteamworksという製作者用のサービスに登録する必要があり、その手続きがなかなかに面倒でした。

↓当時参考にさせていただいたブログ(2022年でもほぼ同じ手続き)

tsukinowa.hatenablog.jp

作業内容はほとんど上記ブログに書いてある通りなのですが、個人的に印象に残った点をいくつか紹介していきます。

 

・何度か住所を英語で書くよう求められたが、英語での統一された表記法がないのでどれで書けばいいのかわからなかった

 市はCityかshiか、東はEastかhigashiか。結局バラバラのまま出したが案外通った。

 

デベロッパー登録には顔写真付き証明書(Photo ID)が必要
 免許証やパスポートが必要だったがどちらも持っていなかったためわざわざマイナンバーカードを発行しに行った
 メールで写真を送る際に身分証の内容を英語で説明しないと面倒だと聞いていたのでそれで送り、2日ぐらいですんなり突破

 

・アプリ提出料の$100
 フリゲに慣れていたため「ゲームを出すのに提出料を払うのか」と最初は腑に落ちなかったものの、人による審査があることやデベロッパーに提供する機能も多いことなどから結果的に納得しました

 提出料はゲームの売り上げが$1000売れると返ってくるそうなので買ってください

 

・ゲームファイルの登録

 デポやビルドなどわかるようでわからない用語に混乱した末ようやくゲームファイルをSteamworksに登録することができました。

 正直今でもよくわかっていませんが、たぶんGithubでいうブランチがビルドでレポジトリがデポだと思います。よくわかりません。

 

・日本語ファイルは文字化けする(UTF8形式でZIP)

 そんなこんなでゲームを遊べるようになったのですが、ローカルファイルを見てみると日本語のファイル名がついていた公式サイトへのショートカットが文字化けしていました。

 一部の日本語の音楽ファイルも文字化けしており、結局7-ZIPを使いUTF-8形式で圧縮することで回避することができました。公開する前に気付けて良かった。

proengineer.internous.co.jp

 

その他上記ブログでは書かれていなかったところで重要だった点は以下の通りです

・ゲームファイルのアプデ後にセーブファイルが消されないよう、Steamクラウドでセーブデータ領域を設定する(ワイルドカードで指定できる)

・ストアページの説明文に外部リンクを貼ると審査で落とされる

・RTPなどのプレインストールを不要にするなど、Steamだけでインストールが完結するように設定する(してないと審査で落とされる)

審査は申請から2営業日後ぐらいに完了するので、無駄に待たされたくなければ上記二点は気を付けたほうが得策です

審査以外でもとかく時間がかかったので早め早めの行動が大切でした

 

感想

記念受験みたいに売れなくても何か学びになればいいだろうと思って挑戦したものの、公開後からしりすぼみしていく数字を見てじわじわと虚脱感が広がってきました。

好きなようにやってもそこそこダウンロードされるフリゲから、販売する以上ある程度の形を求められるインディ(狭義、無料のインディゲームもある)に移ったことで自分の真の需要を知りむなしくなり現実にもだえています。

そもそも自分がゲームを作り始めたのは、自分の作りたいものを作るという思いから始まっていましたが、年が経ちフリゲ作者として評価をもらっていくうちにに方向性が歪み、誰かに評価されるものを作ることに変化していました。

ただ、自分が作りたいものを作って評価されるのは天才だけで私のような凡夫にはかなわぬ願いであり、その事実を今回の販売の挑戦からまざまざと思い知らされたように思います。

その二つがかなわないのならゲームを作り続けても仕方がない、いい加減いい歳だしゲーム作りもやめて現実に向き合っていこうと思っているものの、それに反して創作の熱に脳を焼かれゲーム作りを続けている自分がいて、自分が創作依存症であることに気付きました。

そんな人間がネタもあるわけでもないのに禁断症状でゲームを作り続けてもいいものが生まれるはずがないので、しばらくインプット期間としてゲーム作りから離れることにしました。

私がゲームを作っていた時間が無駄だったかはプレイヤーが決めることです。