Gaming Life

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

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だったり検索すればすぐに分かりやすい説明が見つけられるので…

それでも小学生にプログラミングの授業はあってほしい

某バズった刺身タンポポ記事、大学生時分の私には身に覚えがある事が多すぎて余りに頭の痛い話だった。 note.mu 運良く地方の国立理系に通わせて貰っているが、プログラミングの講義の質は本当に先生次第。基本に忠実に、かつ最新の規格に沿って教えてくれる…

2018振り返りと来年の話

今年振り返り1月 記憶にない2月 ぷちコン初参加3月 UE4Fest行った4月 Niagaraやった5月 ハッカソン参加した6月 某逆求人いった7月 インターンの面接した8月 インターン行った9月 ぷちコン参加した10月 某ゲームの企画練ってた11月 死んでた12月 Pythonばっか…

Python 連番テキストファイルを結合する

test_0.txt, test_1.txt, test_2.txt, test_3.txt...と連番で用意したテキストファイルを順番通りに結合して、test.txtという一つのファイルとして書き出すプログラム。 import glob import os.path # ファイルの結合 def join_file(filePath): fileList = c…

Ubuntu + VSCodeでAsciiDocを書く環境を整える

以前の記事ではWindows上でAsciidocを書く環境を整えたが、Ubuntuでも同じことがしたくなったので導入してみた。今回はその作業メモ。 検証環境 日時: 2018/12/06 Ubuntu 18.04 LTS VSCode version 1.29 Rubyの導入 このサイトを参考にRubyを導入 qiita.com …

AsciiDoc + VSCodeでかっこいい文書作る

某方に布教されてAsciiDocにめっちゃハマった。 AsciiDocって markdownのような軽量マークアップ言語の一種。 markdownより優れている点 markdownより高機能。 困ったらHTMLタグ直書きとかしなくていい。 表セルを結合出来る。 ソースコード、PlantUMLなどを…

OpenSiv3D C++ 反射ベクトルを計算して玉の反射を実現する1

OpenSiv3Dのリファレンスにはブロック崩しのサンプルがある。 https://scrapbox.io/Siv3D/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%8F%E3%81%9A%E3%81%97 このサンプルでは玉が壁 or ブロックに衝突した時、玉の速度ベクトルのX成分もしくはY成分を反転…

C++で浮動小数点の誤差を考慮して等価比較する

C++

<cfloat>ヘッダ中にあるDBL_EPSILONを使えば誤差も考慮して2つのdouble値の等価比較ができる。 float型ならFLT_EPSILONを使えばよい。 #include <cmath> #include <cfloat> //double型のaとbを誤差考慮して比較する bool NearlyEqual(double a, double b) { return abs(a - b) < DB</cfloat></cmath></cfloat>…

Unity2018でTestRunnerを使うための参考リンク

現在Unityでゲームを作ってる。 PlantUMLで設計書から作り始めてるんだし、折角ならテストコードも書いてみたいよなー、とTest Runnerを試してみたのだが、Unity2018でTestRunnerの導入方法が大幅に変わっていて、困ったので参考になったサイトをメモ。 (pla…

ほんの少しだけラクに、C++でAtCoderに参加するバッチファイル作った

先々週のABCからAtCoderを始めた。 前回参加時はたまたまTwitterを見ていた時にコンテスト開催中だということに気づき、折角だしやるか、と衝動的に参加したため、VS2017で書いて、動くかどうかは実際提出してみて試す、なんて非効率な事をしていた。 折角や…

C# if文なしにプロパティで数値に上限/下限を設定する

C#

月とか時間とか、数値に上限下限を設定したいとき、素直に実装するならif文使ってこんな感じにやる。 int month; void setMonth(int value) { if(value <= 1){ month = 1; }else if(value >= 12){ month = 12; }else{ month = value; } } これじゃあやってる…

VSCode+PlantUMLでクラス設計図が簡単に作れる

ブログ執筆を始め、ずっとエディタはAtomを使っていたのだが、Gitの設定をいじっていたらパッケージインストールで認証エラーが出るようになった。解決の仕方も分からなかったので、この機会だしVSCodeに移行してみた。 こんな感じで記事を書いてる。 動作も…

台風で停電した。

台風25号で約一日停電した。 電気落ちました— ai (@ai_9684_dct) September 30, 2018 人生ではじめて経験した命の危険を感じた台風。幸いなことに近所で窓が割れるなどの大きな被害は起きなかったが、電気が止まったことで断水も発生し、シャワーもしばらく…

UE4 ぷちコン制作で役にたった資料リンク集

UE4

お久しぶり更新。ここ一ヶ月はUE4ぷちコン用の作品作りで忙しくブログが更新できていなかった。 今回のぷちコンで作った作品はこちら。 www.youtube.com 大学の先輩後輩3人と協力して作った、サードパーソンベースのアクションゲーム。背景アセット、敵のゾ…

UE C++ UActorComponent継承クラスの子Blueprintクラスを作成できるようにする

UE4エディタ上でUActorComponent継承クラスを作ると子Blueprintクラスが作れない問題。 自動生成されたコードはこんな感じ UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) class UTestActorComponent : public UActorComponent { GENER…

UE4 W155007: ... is not a working copyエラーの解決

ai-gaminglife.hatenablog.com 上記の記事の方法でソースコントロールしている最中、こんなエラーが表示された。 svn :warning: W155007: "...\Engine\Content" is not a working copy svn: E195013: "...\BP_test.uasset" is not locked in this working co…

UE4 マテリアルで円グラフを作る

pafuhana1213.hatenablog.com shop-0761.hatenablog.com こちらのブログを参考に円グラフを作ってみた。 円グラフ #UE4 #UE4Study pic.twitter.com/zHzk9S04vw— ai (@ai_9684_dct) August 17, 2018 マテリアル全体図 見づらいところを拡大。 MF_CircleTopSta…

UE4 Cascadeでパーティクル放出を1回だけにする

毎回忘れてググるので自分のブログにメモがてら書いておく。 パーティクルを1度だけ放出させたいときはEmitterのRequiredモジュールで、 Emitter Loopを「1.0」に設定する。 もし、無限回ループさせたい(無限に放出させたい)ときは「0.0」に設定する。 Caca…

Qt5 QListViewのダブルクリック編集を無効にする

最近Qt5を触ってるのでそのメモ。 QListViewにQStringListModelを突っ込み、リストビューを作るのはそんなに難しくない。 #include "mainwindow.h" #include <QLayout> #include <QString> #include <QStringListModel> MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { QListView *</qstringlistmodel></qstring></qlayout>…