Javaは分からないけどマイクラMODを作りたい #3 村人スキンを変える

前回、Entity の登録と村人を継承した機能を実装しました。実行してみましたがまさかのエラー。コンパイルは成功しているのでソースコード自体に問題はないようですが...。 1. エラーログを見る こんな一文を見つけたのでエラーログを確認しに行きます。VSCo…

Javaは分からないけどマイクラMODを作りたい #2 村人もどきをつくる

アイテムやブロックなどの追加からやるべきかと思いましたが、Mob を作っているような記事をあまり見かけなかったので、Mobを作ることに挑戦します。 1. MobじゃなくてEntityらしい マイクラにはたくさんの生物がいますね。村人や狼、モンスターからネコなど…

Javaは分からないけどマイクラMODを作りたい #1 Mod名変更と基礎について

以前、「VSCodeでマイクラMOD開発をしたい」というタイトルで環境を整えたのですが、その続編みたいな感じです。今回から「Javaは分からないけどマイクラMODを作りたい」というタイトルに変更して記載していきます。 はじめに このシリーズは開発日記なので…

【C#】Minecraft自動化 #8 プレイヤー自動操作

久しぶりの自動化です。今回はコマンドを投げるわけではなく、プレイヤー自身を動かすためのプログラムを書きます。 実行環境 .NET Framework 4.6 コンソールアプリケーション Minecraft 1.12.2 Forge 1. ウィンドウのアクティブ化 まずは起動しているウィン…

【C#】マイクラのプロセス名がMinecraftではなかった話

マイクラ自動化をするにあたり、プロセスに干渉して自動操作みたいなことができないかを試したくて、プロセス名を取得してみたら意外な結果を得られました。 実行環境 .NET Core 3.1 コンソールアプリケーション Minecraft 1.12.2 1. プロセスの取得 プロセ…

【C#】画素ごとの輝度を得て、テキスト形式で保存する

機械学習や画像処理にて解析を行う際には、画像を数値化しなければなりません。今回は手書き数字の画像の輝度情報を読み取り、テキストファイルにして保存する方法をメモります。 実行環境 この環境でやってみました。特別なライブラリは使用していません。 …

【C#】深層学習入門 #8 損失関数とミニバッチ学習法

ニューラルネットワークの性能を示すのに損失関数を使用します。最近では交差エントロピー誤差(クロスエントロピー)がよく用いられているようです。また、学習するための手法にミニバッチ学習法があります。大量の訓練データの中で無作為に選んで学習を行…

【C#】深層学習入門 #7 学習データを用意する

手書き数字認識をやるためにMNISTのデータセットを用いますが、画像ファイルではなく特殊なファイル形式であるため、TensorFlowなどのライブラリが必要です。また、Python用として提供されているためC#でやるには自作する必要があります。今回はMNISTを使用…

【C#】深層学習入門 #6 出力層の設計

ニューラルネットワークでは解を得る際に確率として得たいときがあります。これはソフトマックス関数を用いることによって解決できます。ソフトマックス関数は中間層よりも出力層に対して有効であり、指数関数を用いることで数値自体をいじらずに表現をシフ…

【C#】行列の積を計算する

行列の積はいろんなところで使えるので、練習がてら実装してみます。 1. 行列と型 行列は数字や文字を羅列したもので、行と列に並べて表現します。 例えば図の例では「3行3列の行列」といいます。行列式という言葉もありますが、行列とは違うモノです。 他に…