ゲーム作りは楽しい

なんか書く

呼ばれるたびにGet Wildが流れ出すゲッター

こんなゲッターは嫌だ // 男 class Man { public: Man(float height, float weight, int32 wild) : m_height(height) , m_weight(weight) , m_wild(wild) {} // 身長取得 [[nodiscard]] float getHeight() const { return m_height; } // 体重取得 [[nodisca…

ジョンネイピアに感謝しながら相乗平均を計算した

ちょっと相乗平均(幾何平均)を求める必要があったのだが 最初は脳死で定義通りのプログラムを書いた ※例のコードでは空配列の考慮は省略 template<class R> double GeometricMean(const R& ar) { double product = 1; for (const auto& v : ar) { product *= v; } ret</class>…

どっかでみたようなローディングのサークル

# include <Siv3D.hpp> void Main() { Window::Resize({ 300, 300 }); const Vec2 center = Scene::CenterF(); while (System::Update()) { constexpr Duration periodSec = 2s; const double rotateRate = s3d::Periodic::Sawtooth0_1(periodSec * 0.75); const double</siv3d.hpp>…

個人ホームページにRSSを取得して表示するようにした

ホームページは Vue.js で作ってるけど だいたいこんな感じ <template> <div class="feed"> <table> <tbody> <tr v-for="item in sortedFeedItems" :key="item.guid"> <td> <p class="date">{{ item.pubDate }}</p> <p class="title"><a :href="item.link" target="_blank">{{ item.title }}</a></p> </td> <td> </td></tr></tbody></table></div></template>

田舎のヤマダ電機で買ったノートPC

タダの備忘録 ワタシが今個人で使ってるノートPCのスペックをいつも忘れるのでメモしておく https://jp.store.asus.com/store/asusjp/ja_JP/pd/ThemeID.4850018000/productID.5361152000 昔、田舎のヤマダ電機で一番スペックのいいWindowsノートPCをください…

【備忘録】Dドライブの空き容量をCドライブに移動した

Cドライブがきつきつで、ぴえんになってきたので Dドライブの余ってる容量をCドライブに移動させた。 普通にディスクの管理からやると、一度Dドライブをバックアップしてから削除して、未割当て状態にするのが面倒くさかったので 無料でパーティションのリサ…

Haskellの実行環境をVSCode DevContainerで作成

まえがき 関数型パラダイムの言語をあまり触れてこなかったので、最近Haskellを勉強中 書籍として すごいH本 を読んで勉強してます。 勉強用に実行環境を作りたかったのですが、だいたいいつも自分はちょっとした環境作成はDockerでやりたくなるので 今回もD…

0=1の証明

本日のギャグです。 こちらのコードを見てください。 #include <cctype> #include <iostream> int main() { using namespace std; int32_t x = 0; if (x = x + 1) std::cout << "true"; } C++で以下のコードを実行したら「true」と出力されたので、 「x = x + 1」はtrueになり</iostream></cctype>…

プリパラを見すぎた人がやりがちなプログラミングミス

本日のギャグです。 よくわからないコンパイルエラーが発生 #include <iostream> #include <algorithm> int main() { int a, b; std::cin >> a >> b; int max = std::max(a, b); int relax = std::relax(a, b); std::cout << max << ' ' << relax << std::endl; } 上記プログラム</algorithm></iostream>…

VisualStudio複数プロジェクトで共通コードを使う

VisualStudioのソリューションに複数のプロジェクトを追加する際に 共通のコードを使用する方法のメモです。 新しいプロジェクトを追加 > 共有アイテムプロジェクト プロジェクトへ参照の追加 以上

VisualStudio2022を最新にしたらモジュールがビルドできんくなった

先日VisualStudio2022を更新した(17.7.266.26423) そしたらモジュールがビルドできなくなったので、なんでだろうってなった 以下みたいなエラー MSB3191 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\modules" を作…

無職からゲームエンジニアになりました。

夢がかないました。 私は、最近無職です。今もニートライフを楽しんでいます。 そんな私ですが、ありがたいことにモバイル系のゲーム会社から内定をいただいて無事に将来の夢であった”ゲームエンジニア”になることができました。 来年度から仕事が始まります…

niko and … に対して思う事

ショッピングモールとかを歩いていると「niko and …」をよく見る もしあなたがC++erなら、すぐに気が付いたかもしれない。 あ、これC++のコードだって int main() { auto f = [](auto... niko) constexpr { return (niko and ...); }; static_assert(f(true,…

毎日ゲームチャレンジをしています。

ゲームは1日1時間 ゲームは1日1時間ってことば聞いたことありますか? 僕は何度かあります。 これ一般的には最大1時間って意味で使われてると思ってるんですけど アウトプットばっかしててインプットの時間がちゃんと確保できてないという事を少し気になって…

2Dゲーム 上から視点の反射表現 を作って遊んでた

↑こういうのをやってみてた 方針的には以下のようなことをしていた ちなみに小難しいことはしておらずシンプルな実装でやってみてた。①反転した状態のテクスチャをあらかじめ作っておく②投影するマスクテクスチャのようなものを用意する③シェーダーでがっち…

Siv3Dで仮想ウィンドウクラスを作った

VirtualWindow Windowsのエクスプローラーを参考に作った だいたいそれっぽい動きをしている ツールのレイアウトとかをサクッと作れるといいなぁと思っていて 第一歩という感じ ソースコード 結構ごり押し。一つ一つの挙動を書いていくしかない ちゃんとファ…

レイヤー合成、計算式メモ

随時更新するかも スクリーン float screen(float dest, float src) { return 1 - (1 - dest) * (1 - src); } float4 screen(float4 dest, float4 src) { float4 color; color.r = screen(dest.r, src.r); color.g = screen(dest.g, src.g); color.b = scree…

C++でコードベースのファイル名を使用したマイグレーションみたいなものを作った

コードベースのマイグレーションみたいなものを作りました。 wandbox.org 例 以下に 1_Test.cpp 2_Hoge.cpp がありますが、これのprefixの数字をidとして、カレントバージョンから最新バージョンまで全部実行する仕組みです 1_Test.cpp #include"Migration.h…

メタクラスについて勉強してみました。

メタクラスについて勉強してみた。 class とか structっていうキーワードを使う箇所をユーザー定義したものに変えて my_class Hoge{}; みたいに使います。 んで、 何ができるかというと 例えばC++ではstructはデフォルトpublic, classはprivateっていう話が…

C++でDIするヘッダーオンリーライブラリを作りました。

C++でDIするヘッダーオンリーのライブラリを作りました。 github.com Zenject(Extenject)などから影響を受けてます。

C++でC#のasみたいな書き方する遊び(糞)

template<class T> struct as_op {}; template<class T> constexpr as_op<T> as_obj{}; template<class T, class U> auto operator | (T* ptr, const as_op<U>& op) { return dynamic_cast<U*>(ptr); } #define as | as_obj struct Super{virtual ~Super()=default;}; struct A : Super{ }; int main() { Su</u*></u></class></t></class></class>…

fixed_dynamic_castとかいうのを作った

C++

仮想継承のdynamic_castは重いっぽいので ある程度固定化するとまだ速度面でマシになるっぽい wandbox.org

2020年 7月~9月 ゲーム/アニメ感想

このシーズンはめっちゃインプットした。主にアニメ。 進捗ダメですになりました。 今期遊んだゲーム 聖剣伝説3 TRIALS of MANA すいません。まだクリアしてないです。 開けてなかったのをようやく開けてプレイした。 もともとドット絵だったものをここまで…

ロゴを作りました。

タイトル通りですが、ロゴを作りました。 また、変えるかもしれないですが一旦これで! ゲームのsplashシーンとかで使うようです。 あと個人サークルロゴとかに使えそう

2020年 4月~6月 ゲーム感想

このシーズンはインプットが少ない気がする ずーっとアクションゲームの開発をしていた GitHubの草が明らかに増えた 今期遊んだゲーム ロックマンXDive 今はまっているソシャゲです。 ロックマンのソシャゲといえばロックマンXOverという黒歴史がありました…

Dockerの環境構築した

ただの備忘録 Windows UpdateがうまくいかずにWSLでの方法がうまくいかなかったので Docker Toolboxでやることに ホストディレクトリのマウントの件は以下を参考に解決した。。 Docker Toolboxでマウントするディレクトリを追加する - Qiita Docker Machine…

2020年 1月~3月 ゲーム/アニメ感想

今期見たアニメ 少女☆歌劇 レヴュー・スタァライト 友人のススメでDアニメで一気見しました。 (※以下ネタバレ注意) 歌劇もののラブライブとかみたいな普通のアニメだと思って視聴したら、なんかバトルもの?のようななにかでした。 ペアみたいなものができて…

セガ本 進捗6

Chapter6 を読みました 文字の表示について書いてあった。 この手のやり方は楽ではあるが、現実問題漢字を表示したかったりもするだろうし ちゃんとした文字表示の仕組みを使用するのが良さそう 私も以前頑張ってDirectWriteを使ったりしたものだ (最近はフ…

セガ本 進捗4, 5

Chapter4 を読みました。 リアルタイムゲーム関連の話でした 固定FPSと可変FPSについての実装方針の話があったりしました。 今作ってるゲーム、可変対応できるようにdtをupdateに渡してはいるが、なんやかんや固定FPSのほうが楽だからそっちに逃げガチ 本に…

セガ本 進捗3

Chapter3 を読みました ddsの画像ファイルを読み込むような形に進化した。 アルファブレンドまわりのことが書かれてた。 改めてこのへんの式を見て、そうえば知らなかったかもと思った。 aX+(1-a)Y Xは前景 Yは背景 前方宣言とかの話もあった。 ちなみに私は…