「動画・ブログ制作」カテゴリーアーカイブ

【UE5】初めて個人開発したゲームを無料配布!開発秘話やゲームがどのように作られているかなど公開します

2024年の集大成として、1本のゲームを作成しました。開発期間は約1ヶ月。
ゲームの紹介と開発秘話などを話していきたいと思います。

ゲームは無料で公開しますので、プレイして気になるところをコメントください。
コメントいただいた内容を元に、どのように作っているか、記事か動画で解説したいと思います。

ゲーム紹介

タイトル:Human Shuffle(Twitterにユーザがいますが、関係ありません
プレイ人数:1人~無限(ネット回線が許す限り)
ジャンル:脱出ゲーム、立体迷路、伝言ゲーム(マルチプレイ時)

ゲーム内容

箱を回転して、箱から脱出せよ!

その他情報

価格:無料
確認済動作環境:Ryzen9/RTX2080Super、i9/RTX4090、RTX2060 SUPER
確認済動作OS:Windows10/11
必要容量:3.35GB
開発元/著作権者:ジャンボ(Janbo Games)
二次配布:禁止(当ページを共有してください)
配信規約:制限なし(Twitter[@janbocloud]まで連絡してくれましたら、可能な限り[18時~2時]見に行きます)

ダウンロード

以下の質問に回答して「送信」すると、ダウンロードページに飛びます。

ゲームの起動方法

  1. ダウンロードページからダウンロードしたzipファイルを解凍してください。
  2. 解答したフォルダの中にある「HumanShuffle.exe」というファイルを実行してください。

※初回起動時は、Microsoft Defender SmartScreenにより起動がブロックされます。以下の手順に沿って実行してください。

  1. 「詳細情報」を選択する
  2. 「実行」を選択する

遊び方

ゲームの開始方法

  1. タイトル画面で「Select Stage」から遊びたいステージを選択してください。
  2. シングルプレイまたはマルチプレイでホストをする場合、「Host」ボタンを押します。
  3. マルチプレイで参加する場合は、ホストから教えてもらった「IPアドレス:ポート番号」を入力し、「Client」ボタンで参加します。

マルチプレイについて

ホストはポート開放する必要があります。(Port:7777)
知識がないとポート開放は面倒なので、無料のリレーサービスを使用しても良いかもしれません。(例:Playit.gg)

マルチプレイ時、特殊ルールの提案

マルチプレイ時の特殊ルールとして、遊び方を提案します。

まず、ステージに全員が入ったあと、1人ステージを「回す人」を決める

  • 「回す人」は中に戻れない
  • 「回さない人」は、どっちに回してほしいか伝える

というルールでプレイするのはどうでしょうか。

※ゲーム側から指定する進め方はありませんので、他に遊び方を見つけたらぜひ教えて下さい。

FAQ

Q. マルチプレイ時、他のプレイヤーは次のステージに進んだのに、自分だけ置いていかれた

A. ホストと一緒にいるプレイヤーはそのまま待機し、置いていかれた人は[Escキー]でタイトル画面に戻ります。そしてもう一度参加して下さい。

Q. リスポーンしたが、ステージ内に戻れない

A. [Rキー]を押して、ステージの回転をリセットしてください。

Q. リスポーンしたが、動けない

A. キー操作がステージ回転モードになっているかもしれません。[Tabキー]を押して動けるか確認してください。

Q. リスポーンしたが、カメラがおかしい

A. 壁の中にリスポーンしている可能性があるため、[Escキー]でステージから出て入場し直してください。

Q. ゲームを強制的に終了させたい

A. [Alt + F4]を押すか、タスクマネージャーから終了させてください。


開発秘話

なぜこのゲームを開発したのか、設計~開発~完成~公開までの経験を雑話をしていきたいと思います。

きっかけ

毎週水曜日に定期配信している「水曜ゲーム部(略称:水曜部)」というのがあるのですが、配信後に話していたときのこと、X(Twitter)で投稿した内容を見て、

メンバー

これぐらいのステージサイズなら水曜部でサクッとやれるゲームできそう。パズルゲームとか?

ただこの時の心境としては、

ジャンボ

(パズルゲーム。普段やらないジャンルだなぁ。。。)

これを話してたのが深夜1時。普段寝るのが深夜2時なので、ぼーっと「パズルゲームねぇ。。。」と考えてたら、急にアイディアが溢れたんです。

次の日も仕事でしたが、どんどんアイディアが出てくるので寝れませんでした。
完成予想図も頭の中に映像が出てひたすらメモをしました。

次の日の仕事中も考えて、どんなゲームを作るか設計したのは実質1日ですね。

設計

この時点で設計したメモがありますので、公開したいと思います。
※流石にそのままは読みづらいので整理はしますね。

何をやるゲーム?

ステージをクルクル回してゴール(外)を目指す

値段

500円(Epic Store)

当初は販売するつもりでしたので、500円ぐらいの規模感で作ろうと考えていました。Steamで販売する場合は1万円の登録料がいるので、インセンティブが100%支払われる「Epic Storeの独占」で思っていました。

しかし、現在は販売する予定がありません。
ちゃんとした製品版にする気がなくなったからです。

私もSteamで700本以上ゲームを持ってるぐらいゲーマーなので、中途半端な状態でゲームを販売したくないので製品版として出すからにはちゃんとしたいんです。

そのためには、バグとり/ボリュームアップ(ステージの追加)/ビジュアルの変更(キャラはアセットでOKとして、UIの作成)/設定とか色々、、、
っとまぁ、やらないといけないことがたくさんあり、そのためにもうしばらく時間を割けられないというのが本音です。

私が本当に作りたいゲームはこれじゃないのです。

余談

私が本当にやりたいことは、数年前に投稿した『10周年記念動画』で語っています。やっぱりシミュレーションゲームが好きなんですよねー

マルチでプレイするとより楽しくなる

ステージを回す人、中で回される人は別々
※現在未実装(ボツ)の内容は打ち消し線

中で回される人
  • 言葉でどうして欲しいか回す人に伝える
  • 自分で回すのは禁止
  • 移動だけ可能(ジャンプ不可)
ステージを回す人
  • 中の様子は分からない
  • 無尽蔵に回せると良いか。90度ずつじゃなくて。
  • ゴールの位置が分かる
  • スキル:一時的に輪切りにできる
一言

ステージを回す人にスキルを持たせようとしてたのは、「中の様子がわからず、ただ回る箱を見ていてヒマじゃないだろうか」「難しすぎないか」と考えたからですね。

一言

もう少しステージは難しくなる予定でしたが、立体的な迷路を3Dソフトで作るというのに私の頭が追いつきませんでしたorz

開発

この開発ではChatGPTをよく使いました。
無料枠では足りず、Plusに課金するぐらいには使っていて、今では欠かせない左手となっています。ただし、間違えたことも平気で言いうので、AI相手にキレながらも、トライアンドエラーを繰り返して、ときにはネットで検索しつつも制作を進めました。

プロトタイプの完成

このゲームの基礎的なシステム『カメラを切り替えて、ステージを回転する』というのができて、チュートリアルステージができたのは1週間でした。
この1週間は、ゲームを1分もせずひたすらゲームを作り続けていました。

そのタイミングで水曜部のみんなには遊んでもらいました。

ブラッシュアップ

このあとやったことは

  • ステージの追加
  • UIの作成(タイトル画面、キー設定、クロスヘア)
  • 青い箱を持ち上げて、スイッチで起動するギミック

マルチプレイ対応

マルチプレイに対応するに当たり、めちゃくちゃ躓きました。そして今も躓いたままのところもあります。特に物理演算部分。サーバーとクライントで同期ズレが起こるんですよね。

ChatGPTに聞くと、物理演算はサーバーで処理してクライアントに配信する形にすればいいとは言うんですが、どうも分からない。

ということもありつつ、プレイした方は気付いたかもしれませんが、「持ち上げられる青い箱」、物理演算が働かないようにしているんですよ。他の色の箱は最悪同期ズレが起きてどこか行ってしまっても問題ないんですが、青い箱はスイッチ押すのに必要なので、どこかにいかないようにしています。
でもその副作用により、箱はワールドに残ろうとするので、ステージを回すと壁を抜けてしまい、見失うこともあり得るんです。

ということもあるので、あの青い箱を使ったギミックのステージは他になかったりします。

(とりあえず)完成

このゲームは完成することはないので、(とりあえず)を付けておきますね。

ブラッシュアップなどをして、まだバグが残りつつ完成したのがだいたい1ヶ月でしょうか。まぁ流石に大好きなゲームを1ヶ月もしないのはあり得ないので、少しずつダレつつ及第点を見つけて完成としました。

公開

公開するにあたり、このページを作成したり、YouTubeやニコ動に動画を投稿するのは決めていましたので、それを作るのにだいぶ時間がかかってしまいました。

多分このページも2週間ぐらいかけて作ってるんじゃないでしょうかね。。。
やっと動画を作って、投稿予約をしたのでスイッチが入りました。

最後に

もしここまで読んでくれた方がいましたら、ありがとうございました。
ゲームをプレイして気になる処理などありましたら、解説しますので是非コメントください。

今回1本のゲームを作ってみて色々と学びがありました。
ゲームを消費するプレイヤーでいたときは、「マルチプレイに対応していれば良いのに!」って思うことがよくあったのですが、マルチプレイに対応しようとすると、考えないといけないことが倍増するんだなぁと体感できました。

タイトルバーを非表示にできる画像ビューアー【PictureViewerJ】

今回作成したのは、『タイトルバーを非表示にできる』画像ビューアーソフトです。

Windows標準画像ビューアー「フォト」

Windows標準の画像ビューアーソフト「フォト」を使って画像を表示すると、上にあるタイトルバーと下にあるコントロール分、画像が小さく表示されてしまいます。

これを消したい時、「全画面表示」を使用しないといけません。しかし、「全画面表示」はモニターの真ん中に表示され、他は黒くなるためそのモニターは他用途に使えなくなってしまいます。

Windows標準画像ビューアー「フォト」で全画面表示

ということで作成したのが、今回のソフトウェアになります。
ただ画像を表示するだけのソフトですが、タイトルバーを非表示にすることができるので、モニターサイズいっぱいに画像を表示させることができ、より大きく画像を表示させられます。

機能

タイトルバーを非表示にできる画像ビューアー

操作説明

操作説明
ダブルクリック画像選択画面を開く
ドラッグ&ドロップ画像を表示する
F11タイトルバーの表示切り替え(表示/非表示)
F12設定画面を開く

画面説明

フォト画面

画像を表示する画面

設定画面

タイトルバーを非表示にすると、ウィンドウサイズが変わることがあるので、調整してください。

画面説明
メイン画面の横幅を調整する
高さメイン画面の縦幅を調整する
リアルタイム反映チェックすると、サイズの調整をすぐに反映する
保存ボタン変更した値を保存して、設定画面を閉じる
保存せずに閉じるボタン変更した値を保存せずに、設定画面を閉じる
ウィンドウサイズが変わる例
「Aero Snap」で右端にスナップ
タイトルバーを非表示時、微妙にハミ出る

ダウンロード

以下に回答して「送信」すると、ダウンロードページに移動します。

起動方法

  1. ダウンロードしたzipファイルを適当なフォルダへ解凍する。
  2. 「PictureViewerJ.exe」をダブルクリックすると起動できます。
    ※インストールは不要です。

初回起動時

Microsoft Defender SmartScreenによる警告が出る場合がありますので、「詳細情報」を選択後、「実行」ボタンを押してください。

更新履歴

  • 2025/01/05 – 1.0.0.0:リリース

フィードバック(要望/バグ報告)

ここにコメントいただくか、以下より送信してください

その他情報

プログラム名:PictureViewerJ
製作者:Janbo
二次配布:禁止(当ページのリンクを共有してください)
動作環境:Windows10/11

最後に

このソフトを作成した経緯として、チートシートを表示して置いておく用に作ったものです。他のウィンドウの下にならないように「最前表示機能」もはじめは搭載しておりましたが、私が愛用しているソフト「PowerToys」で機能が搭載されておりましたので、このソフトウェアからは削除しました。

【UE5】C++で関数を作成して、ブループリントでノードとして使用するまで

C++で書くと1行で完結する処理も、ブループリントで作ると多くのノードを組み合わせないといけないことがあります。C++で処理も作れるようになっておくと便利かつ効率的です。

動作確認環境

Unreal Engine: 5.3.2

1. 必要なソフトのインストール

Unreal Engine

すでにインストール済みとして、ここでは説明しません。

Visual Studio

1.「Community」版をインストールしてください。

個人開発者の場合、無料で使用できます。(詳しいライセンスは各々で確認してください。)

2.コンポーネントのインストール

Visual Studioのインストール時に、以下のコンポーネントを必ず選択してください

ワークロード
  • C++によるゲーム開発
個別のコンポーネント
  • Windows SDK (最新バージョン)
  • C++のプロファイル ツール
言語パック

必要に応じて選択してください。

2. ゲームプロジェクト作成/起動

作業中のプロジェクトがあるかもしれませんが、手順をミスってプロジェクト自体が開けなくなるのを回避するため、一旦「新規プロジェクト」で試すことをおすすめします。

※Gitなどでバージョン管理がされており、万が一戻すことができる環境を作っている場合はそのままやってもいいです。

※プロジェクトの作成時、『プロジェクト デフォルト』で「ブループリント」を選択してください。

3. C++クラスの作成

メニュー:
 ツール > 新規C++クラス…

以下の設定を行い、「クラスを作成」ボタンを押下するとVisual Studioが起動します。

3-1. 親クラスの選択

親クラスは必ず選択してください。
※「なし」を選択するとブループリント内で使えません。

特に指定がない場合、「全てのクラス:Object」を選択するといいです。

3-2. クラスファイル設定

クラスタイプ

初めてやるときは、とりあえず「public」を選択するといいです。
ブループリントから呼べないのがクラスタイプのせいなのか切り分けるためです。

public

他のC++クラスやブループリントからも使いたいクラスや関数を定義する

private

他のモジュールからは直接アクセスできないため、外部に公開したくないクラスや内部でしか使わないものを定義する

選び方の基準

public
  • そのクラスや関数が他のC++コードやブループリントから呼び出されることを意図している場合
  • プロジェクト内の他のモジュールやサブシステムからも使いたいクラスを作成する場合
  • インターフェースクラスや共通的に使われるユーティリティクラスなど
private
  • そのクラスや関数が特定のモジュール内でしか使われない場合
  • 他のモジュールに対して隠蔽したい機能を実装する場合
  • 内部ロジックやサポートクラスとして、外部に公開する必要がない場合

ファイル名

ファイル名を設定します。

パス

ファイルパスを設定します。

4. Visual Studioのセットアップ

言語設定

言語パックをインストールしている場合、設定画面で変更ができます。
※言語が原因でエラーになる場合があるため、可能であれば英語のまま使用することをおすすめします。(ここでも英語で説明します。)

メニュー:
 Tools > Options > International Settings

設定の確認

以下の設定になっているはずですが、確認しておいてください。

  • ソリューション構成:Development Editor
  • ソリューションプラットフォーム:Win64

処理を書く

ブループリントから呼び出せるようにするには、以下のエクスポート設定をヘッダーファイルに書く必要があります。

  • UCLASS()
  • GENERATED_BODY()
  • UFUNCTION()

エクスポート設定マクロ

マクロを適切に使い分けることで、コードを効率的に管理し、ブループリントやエディターと連携しやすくなります。一部を紹介します。

UCLASS()

クラス定義の前に付けると、Unreal Engineで認識できるようにします。

修飾子
  • Blueprintable: ブループリントからクラスを基に派生クラスを作成できる(デフォルト)。
  • NotBlueprintable: ブループリントから派生クラスを作成できない。
  • BlueprintType: ブループリントで変数として利用可能にする。
  • Abstract: クラスが抽象クラスであることを示し、インスタンスを作成できない。

GENERATED_BODY()

クラス、構造体の中でUnreal Engineが自動的に必要なコードを生成するために必要

UFUNCTION()

メソッド定義の前に付けると、ブループリントから呼び出し可能にします。

修飾子
  • BlueprintCallable: ブループリントから関数を呼び出せるようにする。
  • Category: ブループリント検索時のカテゴリを設定する。
  • BlueprintImplementableEvent: ブループリントで関数をオーバーライドして実装する(C++側では実装しない)。
  • BlueprintNativeEvent: ブループリントでもオーバーライド可能だが、C++でもデフォルト実装を提供する。
  • Exec: コマンドラインから呼び出すことができる関数として登録する。
  • NetMulticast / Server / Client: ネットワーク対応の関数を定義する。

UPROPERTY()

クラスのメンバ変数をUnreal Engineのリフレクションシステムに登録し、ブループリントから読み書き可能にしたり、エディターで編集可能にすることができます。

修飾子
  • EditAnywhere: エディターのプロパティウィンドウから編集可能にする
  • EditDefaultsOnly: デフォルト値のみ編集可能にする。
  • EditInstanceOnly: インスタンスに対してのみ編集可能にする。
  • BlueprintReadOnly: ブループリントから読み取り専用にする。
  • BlueprintReadWrite: ブループリントから読み書き可能にする。
  • Transient: セーブ時に値を保存しない。
  • VisibleAnywhere / VisibleDefaultsOnly / VisibleInstanceOnly: エディターでの可視性を制御。
  • Replicated: ネットワークで変数を同期する。

メタデータ

修飾子と共に記述することで様々な効果がある。

  • DeprecatedFunction: 関数を非推奨にし、エディターでの使用時に警告を表示する。
  • WorldContext: 関数がどのワールドで実行されるかを指定する際に使う。
  • DisplayName: 関数のブループリントノードの名前をカスタマイズする。
  • AutoCreateRefTerm: 関数の入力パラメータに自動的に参照用のテンポラリを生成する。
  • ToolTip: プロパティの説明をツールチップとして表示する。

ビルド

C++クラスを追加した後は、Visual Studioでプロジェクトをビルドする必要があります。

メニュー:
 Build > Build Solution

ビルドが完了すると、Unreal Engineが再びアクティブになり、C++クラスがプロジェクトに反映されます。

ビルドエラー

ソースコードに不備があるわけでないのに、ビルドに失敗する場合は以下を試してみてください。

Unreal Engineを終了してビルドする

Unreal Engineで開いているプロジェクトを終了し、再度ビルドをしてください。

Visual Studioを「管理者として実行」

権限不足により、ビルドが失敗することがあります。

Visual Studioを起動するときに、「管理者として実行」を選択してください。

「Generate Visual Studio project files」の実行

プロジェクトファイルが古くなっていたり、不整合があるとビルドに失敗することがあります。これを実行すると、必要なプロジェクトファイルが再生成されます。

  1. Unreal Engine および Visual Studio でプロジェクトを開いている場合は終了する。
  2. プロジェクトファイル「.uproject」を右クリックして、「Generate Visual Studio project files」を選択する。
  3. Visual Studioで再度ビルドする。

プロジェクトディレクトリで「Intermediateフォルダ」と「Binariesフォルダ」を削除

古いビルドのキャッシュや一時ファイルがビルドエラーを引き起こすことがあります。

  1. プロジェクトディレクトリをエクスプローラーで開く。
  2. 「Intermediateフォルダ」と「Binariesフォルダ」を削除する。
  3. Visual Studioで再度ビルドする。

ブループリントで呼び出す

呼び出すことができたら成功です。

マクロ作成ソフト:Pulover’s Macro Creatorの基本的な使い方

version: 5.4.1

インストールはコチラをご確認ください。


起動時設定

画面レイアウト、言語、アップデートチェックの有無を選択します。

このページでは、レイアウト「コンパクト」で説明します。


寄付とヒントの表示ウィンドウ

再度表示したい場合、[メニュー] > [ヘルプ] > [ヒント]


ツールバー

ここでは、よく使うものを厳選して説明します。
その他確認したい場合、公式ドキュメントを確認してください。

マクロの記録を開始/停止:Record Macro

マクロの記録モードに変更します。
モード変更後、[F9]でマクロの記録を開始/停止します。

モードを変更すると、専用のツールバーが表示されます。
ショートカットキーを使用せず、コチラでも操作可能です。

※専用ツールバーを消したい場合は、ツールバー上で右クリックすると「閉じる」が選択可能です。

  • 記録開始 [F9]
  • マクロ新規追加 [F10]
  • 記録オプション

[▼]で記録オプションを表示します。

マクロの再生:Activate Macro

マクロの再生モードに変更します。
モード変更後、[F3]で再生、[F8]で停止できます。

モードを変更すると、専用のツールバーが表示されます。
ショートカットキーを使用せず、コチラでも操作可能です。

  • ループ回数
  • 再生 [F3]
  • 停止 [F8]
  • 再生オプション
  • 速度を落とす
  • 速度を上げる

[▼]で再生オプションを表示します。

マウス:Mouse

このアイコンをクリックすることで、マウス操作設定をする画面が表示されます。

[アクション] や [ボタン] によって、入力できる項目が変わるため、『[アクション] > [ボタン] > [コントロール] > [座標] > [その他]』の順で選択していくと、いい感じに設定できます。設定不可の項目はグレーアウトします。

アクション

マウスの動作についての設定です。

  • クリック:座標が指定不可
  • 移動:座標が設定可能。ボタンが使用不可
  • 移動してクリック:座標が設定可能
  • ホイールアップ:[ボタン]の「クリック数」はホイールアップする回数
  • ホイールダウン:[ボタン]の「クリック数」はホイールダウンする回数
  • ドラッグアンドドロップ:座標を2点指定して、どこからどこを設定可能

ボタン

使用するボタンの設定です。

私が使用しているマウスは5ボタンのため、X1とX2が増えています。

  • 左:左ボタン
  • 右:右ボタン
  • 中央:中央ボタン
  • X1:戻るボタン
  • X2:進むボタン
  • ノーマル:KeyDown + KeyUp
  • ホールド:KeyDown
  • ホールド:KeyUp

クリック数:「ノーマル」のときのみクリック回数を設定できます。

座標

マウスの位置を設定します。

  • X/Y:移動する位置。ドラッグアンドドロップ時、ドラッグ開始位置
  • X/Y:ドラッグアンドドロップ時、ドロップ位置
  • Click:クリックイベント
  • Send:送信イベント。クリックイベントで反応しないとき使用。
  • 相対:チェック時、現在の位置から見て X/Y方向で指定する
  • ランダム座標:チェック時、X/Y座標から [オフセット] で指定した範囲のランダムな値になる
  • オフセット:ランダム座標のオフセットをピクセル単位で指定
コントロール

特定のウィンドウに対して操作を行う

入力欄横の[…]をクリックして、設定したいウィンドウを左クリック後、右クリックすると必要な情報を取得して自動で入力してくれる。

上の欄:コントロールID
下の欄:ウィンドウタイトルなど

その他
  • 繰り返し:設定した内容を繰り返す回数
  • 遅らせる:実行したあとの操作を遅延させる時間 (ミリ秒/秒)

実はここで指定しなくても、メイン画面で別途設定も可能

多少見た目が変わる。マウスの設定で行った場合は1行で表せるのに対し、メイン画面で指定すると4行も使う。
右側のコードを見ると、同じ内容であることが分かる。

マクロ:「左クリックを1回した後、10秒待機する」を10回繰り返す

テキスト:Text

文字列を入力できます。

使い方は見たまんまで、マウスのところで説明したので簡単に。

  • 上部の欄にテキストを入力
  • 送信モードを選択(説明の通り)
  • 繰り返し、遅らせる、コントロール(マウスのところで説明済)

キーストローク:Insert Keystroke

キー単体の入力を設定します。

テキストの入力より、キーのDown/Up を個別に設定する方法のほうが使うんじゃないでしょうか。

この画面を起動するには、ツールバーの…ではなく。
左側のマクロ一覧で [右クリック] または [メニュー] > [編集] のメニューで一番下にあります。(なんでそこ!)
もしくは、画面下バーの中のボタンを押して、その中にある。(わからんて)

設定

設定は見たまんまで簡単です。
マウスのところでも説明してます。

  • 挿入するキー:左側の一覧(大文字、小文字があるが違いがあるかは不明。通常小文字でOK)
  • ノーマル:KeyDown + KeyUp
  • ダウン:KeyDown
  • アップ:KeyUp
  • 繰り返し:設定した内容を繰り返す回数
  • 遅らせる:入力後の遅延時間
変更(編集)について

追加したマクロを変更したいとき、[マクロを選択] > [右クリック]> [編集] としますが、このキーストロークについては 別の画面が出てきて編集できないので追加し直す必要があるかもしれません。(方法を知っていたらコメント下さい。)

まとめ

高機能なマクロ作成ソフトなのでまだまだできることがありますが、今回はここまで。より詳しく知りたい方は、公式のドキュメントやYoutubeのチュートリアルなどで勉強してください。

基本的に「マクロの記録」で操作した内容を記録させて、キーのDown/Upを個別に設定したい場合などは「キーストロークの挿入」で設定してやる感じが良いのではないでしょうか。

おまけ

マクロを作成した例を紹介している記事です。(記事が公開されたら以下に表示されます。)
どのように作るかの参考にしてみてください。

マクロ作成ソフト:Pulover’s Macro Creatorのインストールと注意点

「AutoHotKey」のスクリプトを扱いやすいGUIで作成ができる「Pulover’s Macro Creator」のインストールと注意点、日本語訳が間違っているところの修正など行います。

version: 5.4.1

2021/9/24 以降アップデートが停止しており、色々と問題があるので注意してインストールしよう。

インストーラーのダウンロード

Download

インストール

ダウンロードしたインストーラーを実行してインスウトールを進めていきます。

「次へ」を連打でインストールしないでください。

他のソフトが一緒にインストールされてしまいます。

言語設定

インストーラーの言語を設定します。

セットアップ開始

次へ

使用許諾契約書の同意

内容を確認し、同意できる場合は「同意する」を選択して次へ

インストール先を指定

スタートメニューフォルダの指定

公式サイトへのリンクが作成されるだけなので、不要。
「スタートメニューフォルダを作成しない」にチェックする。

追加タスクの選択

  • バージョンの選択 (64bit or 32bit)
    特殊なこだわりがなければ、64bitを選択
  • アイコンを追加する:
    チェック時、デスクトップ上にアイコンを作成する
  • File extensions:
    チェック時、拡張子「.pmc」を関連付ける
  • Portable Install:
    隠しフォルダ「AppData」配下に設定を保存せず、インストールフォルダに保存するので、インストールフォルダごと移動すれば別PCでも同一設定で使用可能となる。
エラー発生中:言語ファイルのダウンロードに失敗する

「Portable Install」にチェックせずにインストールした場合、起動時に「Missing language files. Would you like to download them now?」と聞かれて[OK]を選択してダウンロード使用するが、これにも失敗して再度確認されて起動できない。

よって、「Portable Install」をチェックをしてインストールする必要がある。

おまけソフト

マルウェアの疑い

一部セキュリティソフトでは「マルウェア」として報告されているソフトです。

必要でなければ「Decline」を選択してインストールしない。

インストール準備完了

インストール設定を確認したら「インストール」を選択
※おまけソフトは表示されません

セットアップ完了

これにてインストール完了です。

アンインストール

「Portable Install」を選択していない場合:
「インストール先を指定」で選択したフォルダにある「unins000.exe」を実行する。

「Portable Install」を選択した場合:いくつか削除方法はある。

1. 「インストール先を指定」で選択したフォルダを削除
※拡張子「.pmc」の関連付けまで解除されないので注意。残してても別に問題はないと思うが、消したい場合はレジストリを変更する必要があるので適当にggる「拡張子の関連付け 解除

2. インストーラーを起動し、「Portable Install」を選択せずにインストールするとアンインストーラー「unins000.exe」が出現するので実行する。

言語ファイルの変更

日本語訳が間違っているとこを修正します。

変更方法

  1. インストールしたディレクトリを開き、「lang」フォルダ内の「ja.lang」ファイルをテキストエディタ(メモ帳、サクラエディタ、vscodeなんでもいい)で開きます。
  2. 次項を参考に変更
  3. 変更を保存する。ただし、「Program FIles」配下にインストールしている場合は管理者権限がないと上書き保存ができない(vscode除く)ので、他のディレクトリ(デスクトップやドキュメントなど)へ保存した後、ファイルを移動して上書きします。(実行には管理者権限が必要です。)

※vscodeで言語ファイルを開いて保存する場合、右下に通知が出て「管理者権限で再試行」を選択すると、コマンド実行の確認が出るのでOKを押下すると上書きできます。

そもそも管理者権限がない場合は無理なので諦めてください。(インストールを管理者権限の必要なディレクトリ以外にしてください。)

対象

文字列検索「Ctrl + F」で検索文字を検索して、[ = ]以降を書き換えてください。

検索文字変更前変更後コメント
c_Lang259ホールドリリースマウスのマクロを追加する画面でKeyDownとKeyUpが両方「ホールドになっている」
c_Lang017遅らせる遅延マクロを追加する画面
w_Lang030インデックスindexそこまで重要でない&幅を取る&ダサい
c_Lang032ドラッグアンドドロップDrag And Drop幅を取る&ダサい
※主観が含まれます。必要なもののみ書き換えてください。

不具合

設定が保存されない

起動時の[レイアウト選択]や[ヒント]のウィンドウ表示設定、フォントサイズ設定、終了時の[閉じる]or[トレイに最小化]のウィンドウが毎回表示されてウザい状況になっている。

5.3.9にダウングレードしたが解決せず。いつからこの不具合が起きているのかわからないが、アップデートは見込めないため諦め。

【Core Keeper】効率よく放置でスキルのレベル上げ

2024/08/27 早期アクセスから製品版になり、ジャンボサーバーも公開中です。

ジャンボサーバーのメンバーのうち、最速でレベルがカンストさせました。
レベルを上げる施設を整備し、効率よくスキルポイントを稼げるよう、検証した結果とその方法を紹介します。

また、放置でスキルを上げる方法も紹介しますが、どこまでOKとするかは自分の中のポリシー、マルチサーバに参加する際はサーバ主の指示に従ってください。

確認済み動作環境

game version:1.0.0.10
windows steam版

コンシューマー版の方へ

PC版での検証のみ行っておりますが、効率よくレベル上げの方法は使えるはずですので、参考にしてみてください。
※もしできないということでしたら、コメントいただけると幸いです。

放置するための環境構築 [クリックで開く]

特定の同じ行動を繰り返せるようにマクロやプログラムを作成します。
 ・マクロ作成ソフト「Pulover’s Macro Creator」
 ・マクロ実行ソフト「AutoHotkey」
 ・プログラミング言語「Python」でプログラムを作成

※「Pulover’s Macro Creator」でもマクロを実行できますが不具合がいくつかあったため、AHKエクスポートして「AutoHotkey」で実行するという形を取ります。

コンシューマー版の方へ

放置するためにマクロを組んだりはできないので、物理的にコントローラーを固定してできることのみとなります。

ただし、効率よくレベル上げする方法は使えるはずですので、参考にしてみてください。

↓「Pulover’s Macro Creator」のインストール、基本的な使い方はこちら↓


採掘スキル

スキルポイント取得行動

壊せる壁を攻撃したとき

※「銅のツルハシ」で石の壁を破壊できるが、スキルポイントを入手できない
ということもあるみたいなので、ここで紹介している素材以外でやるときはご注意ください。

【レベ上げ①】素手で壁を殴る

1. 横方向へ土の壁を作成する
  • 左右の端は掘りすぎないように、硬いブロック(序盤は石でOK)を配置しておきます。
  • 手前側は、敵の侵入防止と硬いブロックを殴ったときのノックバック防止でブロックを置いておきます。
    (普通のブロックだと見づらいので「かまど」で代用してます。柵だと1ブロック以上の幅があり、ノックバックすると壁が殴れなくなります。)

2. 土の壁を素手で殴りながら左右へ移動します

3. ブロックは殴ってから5秒経つと元に戻ります

端まで行ったら、5秒待つ必要があるので、頻繁に往復すればするほどその分ロスがでてしまいます。できるだけ横方向へ長い通路を作った方が5秒待機しなくていいのでいいですね。

※放置する方法 [クリックで開く]
ショートカットキーを覚えよう

マクロ実行時、PCのキー操作などをほぼ完全に奪われるので、途中で止められるよう、必ずショートカットキーを設定して覚えておきましょう。※ループが終わるまで止められなくなります。(無限ループの場合、最悪PCを強制終了しないといけなくなることも考えられます。)

スクリプトに「Esc::ExitApp」と書きましょう。
[Escキー]を押すと、スクリプトを終了します。

実行するスクリプトは「F3::」に続けて記述しましょう。
[F3キー]を押すと以降のスクリプトを実行します。

セットアップ

左右へ往復した後、食事をします。
ツールバーのカーソルを食べ物欄に合わせておきます。
ここでは横幅100マスの通路を作成しています。片道28秒で移動します。

マクロ:AutoHotkey

スクリプト

Click, 1100, 220 Left, Down
Send, {d Down}
Sleep, 28000
Send, {d Up}
Click, 1100, 220 Left, Up
Sleep, 5000
Click, 1100, 220 Left, Down
Send, {a Down}
Sleep, 28000
Send, {a Up}
Click, 1100, 220 Left, Up
Sleep, 5000
SendEvent, {Click, Right, 1, }

マクロの説明
  1. 左クリックDown
  2. DキーDown
  3. 28秒待機
  4. DキーUp
  5. 左クリックUp
  6. 5秒待機
  7. 左クリックDown
  8. AキーDown
  9. 28秒待機
  10. AキーUp
  11. 左クリックUp
  12. 5秒待機
  13. 右クリック (食事する)
完成形:Pulover’s Macro Creator
マクロ実行

「Pulover’s Macro Creator」で実行時、画面右上のループを「0」(無限ループ)にして「再生 [F3]」する。

「AutoHotkey」でスクリプトを実行時、以下の要領で書くと無限ループになる。回数を指定する場合は「Loop, 55」にすると55回ループして処理を終了する。マクロは起動したままなので、もう一度実行する場合は「F3」。終了する場合は「Esc」

F3::
Loop
{
;ここに上記のスクリプトを書く
}

【レベ上げ②】草ブロックをハンドドリルで掘る

「ハンドドリル」を使用すると掘るスピードが上がるので、その分スキルポイントを早く入手できます。

ただし、通常で採掘ダメージが85あるため、「土ブロック」ではすぐ壊れてしまうので、「草ブロック」に変更して左右に移動するといいです。ただ、スキルレベルが0だと弾かれるので、[強化+1] しないといけません。

端の破壊できない硬いブロックは「カビ」「結晶」などにしましょう。

また、素手とは違って耐久値のことを考えないといけません。耐久値がなくなったら自動で持ち帰られるように、何個もインベントリに入れておければいいんですが、入手確率が低いのでそれは難しいですね。
すぐに修理できるように、左右どちらかに「分解/修理台」を置いておくのが無難でいいです。

※ネタバレ注意:ハンドドリルの入手方法 [クリックで開く]

以下から確率で出現する

  • 鍵のかかった銅の宝箱
    土を掘っていると確率で出現し、銅の鍵で開ける
  • ボス「ゴーム」の討伐報酬
    これが一番ラクに入手できるかも。ゴームを討伐するとボスを召喚できるアイテムを販売してくれるNPCが出現するので何度も挑戦しやすい(お金があれば)
  • ハイヴチェスト
    ハイヴバイオームで見つかることがある
※放置する方法 [クリックで開く]

修理が必要なため、ほぼマクロが必須となっています。(複数ある場合は除く)

素手のスクリプトを基に、以下の2点を改造します。

スロットの切り替え

食料とドリルのスロットを切り替える必要があるので、スロットを切り替えるために、数字キーを押すようにします。

キーを押す場合は次のように記述します。

Send, {2}

強化 & 修理

左まで移動したら、5秒待機している間に修理を行います。
※UIが開く時間や強化する時間を考慮して、適宜0.5秒(500ミリ秒)待機「Sleep, 500」するようにしています。

Click, 1100, 640, 0
Sleep, 500
Send, {e}
Sleep, 500
Click, 930, 470 Left, 1
Click, 670, 640 Left, 1
Sleep, 500
Send, {Tab}
Sleep, 500

  1. マウスを下へ移動
    (下を向く)
  2. Eキーで修理台を開く
    (UIが開く)
  3. 強化マークを左クリック
  4. ドリルを左クリック
    (強化する)
  5. 修理台を閉じる
    (UIが閉じる)

ダッシュスキル

スキルポイント取得行動

1マス移動したとき

採掘スキルを上げてれば一緒にある程度は上がりますが、ひたすら真っすぐの道を作って、走り続けます。
移動したマスに応じてスキルポイントを獲得するので、「移動スピード」をできるだけ上げたほうがいいです。

移動速度アップ装備

防具

アクセサリー
装備欄アイテム名効果入手方法
リングスピードリング+6.9%~13.3%宝飾品作業台で作成
リング上質なスピードリング+7.1%~9.1%宝飾品作業台で作成
ネックレス上質なオクタリンネックレス+5.5%~7.1%熟練の宝飾品作業台
ネックレスオモロスのネックレス+3.5%~4.5%オモロス(ボス)討伐報酬
ネックレスエオストレのネックレス+4.9%~7.3%覚醒アゼオス(ボス)討伐報酬
ランタン真珠のランタン+7%~9.5%オクタリンの作業台、沈んだ海で釣り
バッグ洞窟ポーチ+2%~5.5%忘却の遺跡レベルで狩り|探索
バッグ探検家のリュック+4.3%~8.9%スズの作業台
バッグモルファのブクブクかばん+4.7%~6.3%水棲生命体モルファ(ボス)討伐報酬
左手装備アゼオスの俊足羽+4.6%~6.9%アゼオス(ボス討伐報酬)
移動スピードアップの効果のみ表示しています。
※放置する方法 [クリックで開く]

片道1分の道のりを左右へひたすら走り続けます。

Send, {a Down}
Sleep, 60000
Send, {a Up}
Send, {d Down}
Sleep, 60000
Send, {d Up}

  1. 左へ
  2. 1分走る
  3. 右へ
  4. 1分走る

製作スキル

スキルポイント取得行動

アイテムをクラフトするとき

消費した資材数に応じて入手できるポイントが変わるため、1回のクラフトで多くのスキルポイントが入手できるのは、資材を550個消費する「ポータル」が一番です。

1個作るだけで、Lv.0~14.2まで上がります

ただ資材の入手難易度的に面倒ということで、『資材の入手しやすさ』、大量生産しても邪魔なにならないように『スタックできるアイテム』ということを考えると、放置で実質無限の木材を使用すると良いですね。

また、作成したものを捨てるのは無駄なので、よく使う「松明」か販売価格が良い「」あたりが良いのではないでしょうか。

※ネタバレ注意:放置で木材を集める方法 [クリックで開く]

スズで『粗雑なドリル』が製作可能なので、早い段階で自動化が可能です。

ガーデニングスキル

スキルポイント取得行動

作物を収穫するとき

ただひたすら、たくさんの種を撒いて、収穫しましょう。
クワを使うとまとめて収穫できます。

「真紅石のくわ」の範囲 (5×5)

※ハンマーでも広範囲を収穫できますが、スキルポイントが入手できないので注意してください。
※木材の収穫はスキルポイントを入手できません。

水はスプリンクラーさえ使えるようになればやらなくていいですが、種を撒くのが最後まで面倒ですよね。ということでマクロ化しましょう。

※放置する方法 [クリックで開く]

マクロ作成中

MODの導入

「PlacementPlus」というMODを導入すると、2×2~7×7の範囲に一度に配置できるので、種を蒔くのが楽になります。

釣りスキル

スキルポイント取得行動

釣り上げるとき

魚が食いついたら釣り上げるというものなので、放置するのは難しいですが、以下の方法でできることはできますが、、、という感じ。

1. MODの導入

最も簡単な方法として、「AutoFish」というMODを導入すると、自動で釣り上げた後、再度投げるので、プレイヤーが止めるまでひたすら釣りをし続けます。

バージョン1.0.0.10 で動作確認済みです

※サーバーに導入されていなくてもクライアント側だけで動作します。

2. プログラムする

バージョンが合わずMODを使えない状況などの場合は、一気に難易度が上がりますが、自分で作るしかありませんね。

必要であればソースを公開しますが、簡単に説明すると、

  1. OpenCVで画像解析を行う。
  2. ヒットしたときの「!」が出たか判定する。
  3. マウス操作行う

調理スキル

スキルポイント取得行動

調理した料理を鍋から入手するとき

鍋に材料さえ入れれば勝手に料理してくれるので実質放置です。
一晩釣り放置していると数百匹魚を釣れるし、ガーデニングのスキル上げでも大量に生産するのでそのうち上がるでしょう。


活力スキル

スキルポイント取得行動

生命あるものを討伐するとき

攻撃系スキルのレベルを上げをしていると一緒に上がるので、特段これに限ったレベ揚げをする必要はありません。

攻撃系スキル

スキルポイント取得行動

生命あるものを『攻撃』するとき
※討伐しなくていい

少しでもラクに攻撃できるように、モンスタートラップを建設すると良いです。

ハイヴマザートラップ [クリックで開く]

「ハイヴマザー」を使う方法は有名ですね。
適当に他サイトで紹介されているものをご使用ください。

キノコ人間ブルートトラップ [クリックで開く]

「コンベア」さえ作れるようになれば、序盤からできるのでオススメ!

  1. 左のコンベアのところへ「キノコ人間ブルート」を流す。
  2. 自動で流れて右のループへ送られます

超強力な攻撃でない限り、1ダメージしか入らない。

右側で攻撃し、左側を回ってる間に回復するという構造。

ただ討伐しないので活力スキルは上がらないというデメリットが。

攻撃した回数を稼ぎたいので、攻撃力の低い武器で攻撃しまくります。
耐久値がなくなったら自動で持ち替えるようにたくさんインベントリに持っておいてください。

放置は、攻撃キーを押したままにしてやればいいので、
物理的にテープで攻撃キーを固定してもいいですし、
マクロを使う場合は以下の1行だけ実行すればでOKです。

Click, 1020, 340 Left, Down

解除するときは一度クリックをすればOKです。

近接攻撃スキル

スキルポイント取得行動

近接武器で生命あるものを攻撃するとき

遠距離攻撃スキル

スキルポイント取得行動

物理遠距離武器で攻撃するとき

魔法スキル

スキルポイント取得行動

魔法武器で生命あるものを攻撃するとき

召喚スキル

スキルポイント取得行動

召喚されたミニオンで攻撃するとき

キノコ人間プルートトラップ + 深淵の学術書 のコンボが最速です。
できるだけ多く召喚できるように装備を整えましょう。

※放置する方法 [クリックで開く]

ミニオンがまだいるのに追加で召喚すると耐久値がもったいないので、右クリックし続けるのではなく、特定時間が経つと召喚するというようなマクロを組むと良いですね。

待機時間はミリ秒なので、60秒 x 1000 = 60000
60000 * (寿命の追加%)/100 = [計算結果を設定]

SendEvent {Click, Right, 1, }
600000

Minecraft MOD開発環境構築

MinecraftのMODを開発するのに必要な環境の構築を行います。
このページを見ながら作業を進めることで、MOD開発をすぐ始めることができます。

また、他では紹介されない、導入しておくと便利な『ソースコードのバージョン管理環境』も合わせて構築していきます。

※Windowsをベースに説明しています。Mac、Linuxの方は適宜読み替えて下さい。
※Minecraft Java版を購入し、起動できることを確認している前提で説明しています。

1. JDKとJVMのインストール

インストーラーのダウンロード

JDK (Java Development Kit:Java開発キット)とJVM(Java Virtual Machine:Java仮想環境)が一つになった「Eclipse Temurin」のインストーラーをダウンロードします。

例:Minecraft 1.20.1 で開発をしたいとき

開発するMinecraftのバージョンによって必要なJDKのバージョンが異なります。
以下を参考にバージョンを選択しましょう。

MinecraftJDKJVM
1.20.5~2164bit
~1.20.41764bit
1.171632bit
~1.16832bit

インストール

  1. インストーラーを起動する。
  2. 使用許諾契約書をよく読み、同意する。
  3. Installation Scope:
    インストールするユーザ範囲を選択する。
    ・現在のユーザのみ:Install just for you
    ・すべてのユーザ:Install for all users of this machine
  4. カスタム セットアップ:
    「Set JAVA_HOME variable」を選択
  5. インストールを選択

2. Forge MDK のダウンロード

※次項でインストールするIDE「IntelliJ IDEA」を使用して開発する場合、この手順は不要になりました。「IntelliJ IDEA」でプロジェクトを開始するとき、同時に作成されます。


前提MODはForgeやFabricが有名ですが、今回はForgeで開発をしていくとして、MDK(Mod Development Kit:MOD開発キット)をインストールしましょう。

開発を行うバージョンのものをダウンロードして、開発を行うディレクトリにzipを解凍しましょう。

3. 統合開発環境(IDE)のインストール

統合開発環境(IDE)はいくつかありますが、当サイトでは「IntelliJ IDEA」を使用している前提で説明します。
また、Forgeは「Eclipse」と「IntelliJ IDEA」をサポートしています。

インストーラーのダウンロード

2種類ありますが、無料版のインストーラーをダウンロードして下さい。

・IntelliJ IDEA Ultimate(有料)
・IntelliJ IDEA Community Edition(無料)

インストーラーを起動し、こだわりがなければ変更せずにNextでOK。

4. 動作確認

それでは正しくインストールできているか確認するために、IDEで新規プロジェクトを作成して開発モードでMinecraftを起動してみましょう。

プロジェクトの作成

※手順2でmdkをダウンロードして解凍している場合は、[Open]から解凍したフォルダを選択します。この項の手順は飛ばしてください。

  1. [New Project]を選択します。
  2. 左のGenerators から 「Minecraft(Old Wizard)」を選択します。
    ※現在のバージョン(2024.1.2)で「Minecraft」でプロジェクトを作成すると、必要なファイルが不足しているというエラーが発生します。
  3. 以下の説明を参考に必要な部分を入力して、「Create」ボタンを押下します。

設定内容の説明と入力例

基本設定
タイトル説明備考欄
Nameプロジェクト名使用可能文字:[半角英数字][_(アンダースコア)][-(ハイフン)]
Locationプロジェクトを保存するディレクトリパス
Platform TypeModかPlugin
Platform前提MOD
Minecraft VersionMinecraftのバージョン
Forge VersionForgeのバージョン
Mod IdMODのID使用可能文字:[半角小文字の英数字][_(アンダースコア)]のみ(※[英字]始まり)
Mod NameMOD名
Main ClassMainクラスのパッケージとクラス名[Group ID].[Artifact ID].[Mod Name]で構成されるので変更不要
Use MixinsMixin機能バニラのコードを変更または拡張するためのツール
Licenseライセンス
オプション設定
タイトル説明備考欄
DescriptionsMODの説明
AuthorsMODの作者名
Website作者のWebsiteTwitter(X)など記入しとけばいいんじゃないかな?
Update URL新しいバージョンがある確認するURL空欄でOK
ビルドシステムプロパティ
タイトル説明備考欄
Group IDMain Classを構成する1つ目
Artifact IDMain Classを構成する2つ目
VersionMODのバージョン開発が進むごとにファイルを変更するので、とりあえずでOK
JDKJava開発キット必要なバージョンが自動で選択される

ビルド

プロジェクトを作成すると、MODの開発に実行に必要な設定などを行います。

「Background Tasks」というウィンドウが消えるか

「Run」パネルに「BUILD SUCCESSFUL」と表示されるまで待機します。

もし赤い文字でエラーが発生した場合、エラーの内容を確認して必要な対応を行って下さい。
対応後、右にある「象マーク」を選択して表示されるパネル(Gradle)の「Run Configurations」の中の「~ build」をダブルクリックしてビルドを完了させて下さい。※[~]には、前項で指定した[Artifact ID]が設定されます。

自動設定の適用

  1. 「象マーク」を選択して、「Gradleパネル」を開く。
  2. 「Tasks」>「forgegradle runs」>「genIntellijRuns」をダブルクリックして実行する。
  3. 「BUILD SUCCESSFUL」が表示されるまで待機する。

※「genIntellijRuns」を実行すると、デバッグやテストを行うのに必要な設定、ライブラリの依存関係の設定、プロジェクト構成の調整などを自動で行います。

Minecraftをデバッグモードで起動

  1. 「象マーク」を選択して、「Gradleパネル」を開く。
  2. 「Tasks」>「forgegradle runs」>「runClient」をダブルクリックする。
  3. Minecraftが起動します。

確認事項
  • Mod一覧(タイトル画面 > Mods)に「自分のMOD名」、選択した「Forgeバージョン」があるか。
    プロジェクトで設定した内容が表示されているかと思います。

プロジェクトを作成時に設定した内容と一致する部分がありますね。

  • 新規ワールドをクリエイティブモードで作成し、「example_block」を取り出し、配置できるか。
    ※テクスチャは存在しないため、エラーを示す「黒と紫のチェック柄」で表示されます。

5.IntelliJ IDEAの日本語化

たまにエラーメッセージが文字化けすることがありますが、開発環境を日本語化する方法です。必須ではありませんが、お好みで設定して下さい。

  1. Settingsウィンドウを開きます。(ショートカットキー:Ctrl + Alt + S)
  2. Pluginsを選択して、検索欄に「Japanese」と入力する。
  3. 「Japanese Language Pack / 日本語言語パック」を[Install]する。
  4. [OK]を選択すると、再起動を促されるので、[Restart]を選択する。

これでIDEが再起動して日本語化されているはずです。
もし日本語化しているのが原因で文字化けしていたりしたら、同じ手順で解除すればOKです。

6.ソースコード管理

ソースコードの管理を適切に行っていると、ソースコード変更によって取り返しのつかないバグ、不具合が発生してしまった場合でも、最悪、正常に動いてたときのソースコードに戻すことができます。

また、保存(専門用語:「コミット」)したときから、どのようなソース変更を行って今のソースコードとなったのか、簡単に違い(専門用語:「差分」や「Diff」)を確認することができます。

※チームで開発を行うときにも使いますが、ここでは解説しません。

Gitのインストール

インストーラーを起動して、セットアップを進めて下さい。
「Next」連打でOKです。

Sourcetree のインストール

Gitを分かりやすいGUIで操作できるソフトです。

Registration

「スキップ」を選択

Tool Install

「Mercurial」のチェックを外す

Preferences

・ユーザ名
・メールアドレス

どこかに登録されるわけではないので、適当でもOK。

ソース管理フォルダの指定

ソース管理するフォルダのことを「リポジトリ」と言います。

  1. 「Create」を選択
  2. 「リポジトリ」のパスを設定
  3. リポジトリの名前を設定
  4. 「作成」ボタンを押下

「出力先ディレクトリのエラー」が表示された場合は「はい」を選択

これで設定は完了です。

どのように使うかは、実際に手を動かしながらの方がいいので、MOD開発ページで一緒に説明していきます。

現在記事を執筆中です。もうしばらくお待ち下さい。


おまけ:目に優しいダークモード

「メニューバー」>「ツール」>「オプション」>「全般」>「Theme: Dark」

【ChatGPT】余白が邪魔なので消す方法

ChatGPTにソースコードの生成をお願いしたところ、横に長いソースが生成され、横スクロールバーを移動させないと見えないことがある。

ということで左右の余白を消して、横長に表示できるようにしていく。

ちなみにこの方法をChatGPT4oに聞いたが、正しい回答は得られなかったので、ソースコードの解析を行った結果である。

1. 開発ツールを開く

「F12」で開くことができる。
最近はChroniumがベースのブラウザ(Google Chrome、Edge、Braveなど)が多いので、同様の手順でできると思うが表示されない場合は各々調べてくれ。

(通常であれば「Ctrl+Shift+I」でも開くが、ChatGPTの画面では、ChatGPTをカスタマイズする画面が表示されてしまう。)

2. 設定箇所を特定する

開発ツールにあるこのマーク
「Select an element in the page to inspect it.」
ページ内の要素を選択して、どこのコードか特定するツールで以下の画像の部分をクリックする。

ChatGPTのマークと回答の間にカーソルを持っていくと、画像のようなオレンジと水色、紫色の表示になる。この状態でクリックして下さい。

3. CSSを解除する

横幅を指定しているCSS(Cascading Style Sheets)の設定を消します。

フィルターで「max-width」を検索して、チェック外すことで

4. 開発ツールを閉じる

もう一度「F12」を押すことで閉じることができます。

留意点

これは一時的なものなので、ページを更新したりブラウザを閉じると設定が戻ってしまいます。
その場合は今回の手順でもう一度設定して下さい。

Illustratorで波線、ギザギザ線の作り方

執筆時Illustrator ver.25.2.3

1. 直線やシェイプ(図形)を作成する

塗りや線のありなし問わず、好きな形に適用できます。

2. 変形したいシェイプを選択し、効果を適用する

<メニューバー>
 [効果] → [パスの変形] → [ジグザグ]

3. 効果の設定

一辺をベースラインとして効果が適用される。

【オプション】

<大きさ>ベースラインの中心線から頂点へ垂直に測った高さ
入力値:入力したpx値
パーセント:ベースラインを100%とした場合の高さ

<繰り返し>山の数

【ポイント】

滑らかに:波線
直線的に:ギザギザ線

プレビューにチェックを入れることで

破線:中心線/水色:ジグザグ効果の適用前/橙色:ジグザグ効果の適用後/赤丸:繰り返し値

円の場合は、円周の4分の1を一辺として効果が適用されます。

完成!

ギザギザ線
波線

効果の編集

アピアランスのジグザグ効果の『ジグザグ』をクリックすると、オプションが表示され変更できるようになります。


効果を消す

アピアランスのジグザグ効果の『ゴミ箱』をクリックすることで、効果を取り消すことができます。