Gaming Life

一日24時間、ゲームは10時間

VS 16.7以前では一時オブジェクトのアドレスを&演算子で取得してもエラーが出なかったらしい

C++

Visual Studio 2019のバージョンを16.8に上げてから、DirectX12のコードをビルドしてみたら、これまでコンパイルできていたものができなくなっていた。そのコードがこれ。 hr = m_device->CreateCommittedResource( &CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYP…

UE4でNVIDIA NSight Graphicsを使ったGPUプロファイリングをしてみる

UE4

本記事は、「Online Game-Tech LT 2020」のLT発表の補足資料として用意しました。登壇一日前で時間がない中で本記事を執筆しているため、必要最低限の説明だけにとどまっていることをご容赦ください。時間があればそのうち修正します。 connpass.com NVIDIA …

【C++20】constメンバ関数の実装を要求するconcept

C++

C++20から導入されるコンセプトは、requires節を使用して、型に対してあるメンバ関数の実装を要求することが出来る。 そのメンバ関数に対して、const関数であることを要求できないかと考え、実装してみた。 #include <type_traits> template <typename T> concept Drawable = requires</typename></type_traits>…

Visual Studioのコードスニペットのshortcut名にはハイフンは使えない

Visual Studioのコードスニペットを自作していたら、表題の件にハマったのでメモがてら共有。 qiita.com 上記の記事で紹介されている Visual Studio Snippet Generatorで、スニペットを作ったのだが、Shortcutにハイフン(-)を入れると、コードスニペットが…

WPF勉強中(1)最初に参考にした資料とか疑問点とか

前回の記事以来、時間を見つけてはWPFの学習を進めている。しかし、ただ黙々と一人学習していてもモチベが続かないので、定期的にブログで進捗や参考にしている資料、疑問点を文章化していこうと思う。 参考にしている資料 WPF 入門 » WPF 学習用ドキュメン…

DirectX12の魔導書を読んだ

『DirectX12の魔導書』を大体読み終わったので感想。 DirectX 12の魔導書 3Dレンダリングの基礎からMMDモデルを踊らせるまで作者:川野 竜一発売日: 2020/02/13メディア: Kindle版 自分はDirectXやOpenGLなどのグラフィックスAPIをほぼ触ったことがなかったの…

GUIフレームワーク探しの旅の果てにWPFにチャレンジしている

GUIフレームワークを探して三千里 数年前から使い勝手の良いGUIツール作成用のフレームワークを探している。 今自分は、ゲームを作るならUE4かOpenSiv3D(それとUnity)を使い、CLIツールや少し込み入ったスクリプトの実装にはPythonを使っている。たまにPro…

Visual Studio 2019でプロジェクトを複製して別名をつける方法

DirectXの入門本を進めている際、Visual Studio 2019において、いま作っているプロジェクトをコピーして、それに別名をつけた上でソリューションに追加したくなったのでそのメモ。 ようはこういう事↓。 手順 エクスプローラーを開き、コピーしたいプロジェク…

C++のRange-based for文(範囲for文)で逆順に走査するイテレータを自作した

C++

モチベーション Pythonのfor文は、C++でいうところのRange-based for文、C#で言うところのforeachと同等の動作をする。つまり、 for (int i = 0; i < 10; i++) {} のようなforが存在しない。 Pythonのfor文において、iterable objectをenumerate メソッドに…

Visual Studio 2019でCatchを使ったC++単体テストを実現する

C++

Cppmap で紹介されていたC++用単体テストフレームワークであるCatchをVisual Studio 2019で使ってみたので、その導入に関するメモ。 github.com はじめに 説明のために、Visual Studio 2019 (以下VS2019) で、空のプロジェクトを作成。整数を受け取り2倍の値…

あなたの話はなぜ「通じない」のかを読んだ

ある記事で「あなたの話はなぜ通じないか」(ちくま文庫)が絶賛されてた。ここしばらく、卒論の執筆等で「伝わる日本語」を書く・話すことの難しさに悩んでいたこともあり記事を読み終わった後即購入(kindle版がおよそ500円と破格の安さで買えたというのも…

最近読んだ本・漫画を振り返る 2020/1・2月編

3回目となった読書振り返りシリーズ。年明け以降、海外に出張したり、学会発表したり、引っ越しの準備をしたり、卒論を書いたり……と忙しい日々が続いていたため、ここ2ヶ月はあまり読書できていない。そのため、もう一ヶ月読み溜めてから本記事を投稿しよう…

私は大学院に進まないけど理系は基本大学院進んだほうがいいよって話

最近は大学卒業間近で引っ越し準備を進めなければならない&来週学会発表が控えていることもあり、非常に忙しい日々が続いている。ただ、大学の仕事に追われ続け苦しい日々が続いているというわけではない。Prime Videoで鬼滅の刃を見たり、本を読んだり……。…

最近読んだ本・漫画を振り返る 2019/11・12月編

月1更新のノルマをすっかり忘れてたのでFGO特番が始まるまでのこの時間で急いで更新。 IT系 ゲーム制作者になるための3Dグラフィックス技術 ビジネス書 FACT FULLNESS 具体と抽象 理科系の作文技術 その他一般書 桜井政博のゲームについて思うこと 漫画 オレ…

Notionをメモツールとして1ヶ月使い倒したので学生・PG目線でレビューしてみる

弊ブログで何度か紹介しているAsciidoc。markdownより高い表現力に、充実したドキュメント、VSCodeのAsciidoc用拡張機能の使いやすさから、一年近くメモから趣味開発プログラムの仕様書、大学のレポートの執筆に積極的に利用していた。 ai-gaminglife.hatena…

ところでイース9が期待通りに面白かったのでレビューを書く

半年ぶりくらいに発売日にゲームを買ったのですが、案の定めっちゃ面白かったので大学の課題の締め切りが近いにも関わらず1週間ほどでクリアしてしまった。クリアタイムはだいたい40時間くらい。トロコンはしてないです。 イースIX -Monstrum NOX - PS4出版…

最近読んだ本・漫画を振り返る 2019年10月編

読書メモとして、最近読んだ技術書、一般書、漫画で面白かった本をブログに残していこうと思う。一応2~3ヶ月に一度は書くつもりでいる。 技術書 通信・ネットワーク周り マスタリングTCP/IP 入門編 第5版 改訂三版 802.11高速無線LAN教科書 Linuxネットワー…

(Linux) UDPを使って一定時間おきに文字列を送信するプログラム

研究室でUDPを使った無線通信の受信側が受信待ち状態にない時のパケットキャプチャをする必要があったので書いた. 劣化iperfにすぎないとか言ってはいけない. #include <arpa/inet.h> #include <netinet/in.h> #include <stdlib.h> #include <sys/socket.h> #include <sys/types.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h></time.h></string.h></stdlib.h></stdio.h></sys/types.h></sys/socket.h></stdlib.h></netinet/in.h></arpa/inet.h>…

std::bindではデフォルト引数を省略できない

C++

std::bindを使っていたらある問題に遭遇した。 void func(int a){ std::cout << a * 10 << std::endl; } int main(){ using namespace std::placeholders; auto fuction = std::bind(func, _1); function(2); } std::bindを使ってライブラリで用意されている…

VSCodeでAsciidocを書く時相対パス入力補完を働かせる

当ブログで何度か紹介しているAsciidocだが,仕様書を書いたり,レポートを書いたりするのに非常に重宝している. ただ,画像挿入時などで,相対パスの記述をする時に,Path InteliSenceによる入力補完が効かないことがとにかく不便だった. import {} from …

プログラミングに関する調べ物や最新技術のキャッチアップ方法

※注 ポエム要素が高い記事です 最近は研究室で忙しく、ブログに公開できるようなネタになるようなことをやれないでいる。 しかし、月イチ更新は守りたい → じゃあプログラミングを始めた頃の自分が知りたかった情報を書こう → プログラマーってどうやって最…

Dungeon Template LibraryをUE4で利用してLandscapeを自在に操る

@wanotaitei さんが開発しているDungeon Template Library(以後DTL) がUE4で使えそうだったので使ってみた。 DTL(ランダム地形生成ライブラリ)とUE4で遊んでみる会 #UE4 #UE4Study pic.twitter.com/un9FMRTf1e— ai (@ai_9684_dct) May 17, 2019 github.com…

WSLのUbuntu18.04でmatplotlibを使えるようにするまで

WSLのUBuntu18.04はGUI表示が存在しないので、matplotlibを使ったグラフ描画ができない。だが、調べてみると、何とか描画できるようにできたので、メモしておく。 前準備 > sudo apt update && sudo apt upgrade > sudo apt install python3-pip matplotlib…

ほぼ週刊UE4日記02 Editor Utility Widgetを試してみる

UE4.22から、Editor Utility Widgetなる、エディタ拡張をUMGとBlueprintで簡単に実装できる機能が出来たらしいので試してみた。 といっても正直公式の人のQiita記事が十分過ぎる程丁寧に説明してくれている。 qiita.com qiita.com ここでは、1つ目の記事で…

ほぼ週刊UE4日記01 マテリアルで色んな図形を描く1

最近、諸事情でUE4に触る機会が少ない。しかしドンドン進化するUE4をもっと使えるようになりたい。 というわけで始まった、UE4を触って得た何かを、毎週記事にして、UE4に慣れ親しんでおこうという突発企画。 いつまで続くかはわからないが。 今回の元ネタ・…

大学生がゲーム会社にプログラマーとして内定が出るまでやってたことを晒す

表題通り、ゲーム会社に内定が出て内定承諾まで終わりました。何もなければ、来春からゲームプログラマーです。結局コンシューマとスマホ両方合わせて3社内定で、コンシューマの方に進むことにしました。 三年前、大学入学した頃は、ゲームプログラマーにな…

Windows10×VSCodeで快適なPython3.7開発環境を立てる

WindowsでPython開発する機会があったので、その手順を紹介。今回はAnacondaを使って環境構築する。 動作確認 2019/02/13 既に入っているPythonを削除する 人によって既にPythonが入っていると思う。大概Pythonのバージョン更新はうまくいかないので、事情が…

レオパレス民族大移動に巻き込まれた①

レオパレス民族大移動に巻き込まれた。 [緊急報告] レオパレス不備物件に付き緊急引っ越し確定— ai (@ai_9684_dct) February 9, 2019 https://twitter.com/ai_9684_dct/status/1094171497399169026 pic.twitter.com/E76aw9wLrc— ai (@ai_9684_dct) February …

※現在募集停止【告知】2D経営シミュレーション系ゲームのドッター募集

※今回の記事は個人的な告知です。 現在、私を含む開発メンバー二人で、2Dの経営シミュレーション系ゲームを開発しています。 今年末のデジゲー博、もしくは冬コミで頒布を目標として開発を進めていますが、ドット絵の素材の用意に非常に苦労しています。 そ…

UE4 マテリアルとRenderTargetを使ってライフゲームを作ってみる

一体どこに需要があるのかわからないが、マテリアルをとRenderTargetを使ってライフゲームを作ってみた。 ブログ用 pic.twitter.com/MbuzXXsIf1— ai (@ai_9684_dct) February 2, 2019 wikipediaだったり検索すればすぐに分かりやすい説明が見つけられるので…