どこかのだれかへ

職業ゲームプログラマ。気になったニュースのピックアップや開発日記などを書いています。

1日かけて1行書く

プログラミングにおいて、書く時間より見る時間のほうが長い、とは良く言いますが、バグ修正に関してはもはやほぼ見てるだけで1日が終わります。 今日1個バグ修正したんですが、原因&修正方法の検討にまるっと1日使ってしまいました。 そして最終的にサブミ…

Oculus Rift+Touchがセールで5万円!

本体+Touchで5万円だそうで、これは買うべきなのではと思っています。 もともとはいくらだったっけ、8万くらい?かなり安くなりましたね。 ただいきなり安くされるともしかしてRift2発表前の在庫処分じゃ……と勝手に勘ぐるったり。 自分の場合は、PCが古め…

C++でautoばっかり使うのは止めてくれないか?

C++

新人さんのコードに多いんですが、autoばっかり使ってて可読性が最悪な場合があるので、使いどころを考えて欲しい時があります。 コードを見ているときにautoが来ると右辺値で型を考えなきゃいけません。 右辺値が関数の時とか最悪で、その関数調べて戻り値…

Github pagesでWebサイト開きました

ブログ形式でやってきましたが、備忘録とか書いていると昔の記事を探すのが大変なのでGitHub Pagesを使って備忘録用のWebサイトを開きました。 Tepp's note Webサイト自体は、Pelicanという静的サイトジェネレータを使用して作成しました。 近いうちにPelica…

2の累乗かどうかの判定

2の累乗ということは、ビット演算的には1が一つだけの状態です。 2の累乗の場合、 -1すると繰り下がって下位ビットが全部1になるため、AND演算すると0になります。 2の累乗以外なら、 -1しても桁下がり発生しないため、AND演算にすれば1以上になります。 た…

バグ修正でQAコストを考える

開発がマスターアップに近づくと、重要でないバグをスルーする場合があるのですが、 これはバグ修正によって新たなバグを生み出す=エンバグのリスクを回避するためです。 スルーするかしないか、またどういう風に修正対応をするか、判断材料は色々あって、…

中途半端に引き継いでしまったので

仕事の話。 とある人のタスクがあふれちゃったので、終わりかけのタスク(でもバグがある)を1つを引き継いだんだけど、プログラムって書くより読む方が時間かかるし、理解するのに苦労する。 複雑だが大きなコードでもない、時間も無い、そもそもバグがある…

プルダウンリストの項目を検索選択するためのBookmarklet

でかいプロジェクトでRedmine使っていると人が多くてプルダウンで担当者を設定するのが探すのが大変。 IEだと日本語でも検索出来るけど、Chromeじゃそうはいかない。 そんな時に見つけたbookmarket。 htmlのセレクト要素をインクリメンタルサーチする bookma…

vimのvimfilesディレクトリをgithubで管理

Vim

会社でもVimを使いたいけど環境持っていくのが面倒でやっていなかった。 やっと重い腰を上げgithubでvimfiles(.vim)を管理するようにして会社でも同じVim環境で使えるようにしてみた。 GitHub - Tepp91/vimfiles ついでにNeoBundleからdein.vimにしたり。と…

積みゲー

ゲームをやる時間がなくて、まったく進まないのにどんどんやりたいゲームが出てくる。 FF15(プレイ中) Hollow Knight(プレイ中) 人喰いの大鷲トリコ キングダムハーツ 1.5 + 2.5 キングダムハーツ 2.8 アイドルマスター プラチナスターズ ニーア オート…

alignによるアライメントの変化で思ってたsizeofと違う結果になった

事の発端 頂点データを設定したが、うまく描画されず調べてみるとVertex構造体のサイズが思ってたのと違う! struct Vertex{ Vector4 pos; Vector2 uv; }; std::cout << sizeof(Vector4) << std::endl; // 16 std::cout << sizeof(Vector2) << std::endl; //…

WPFのListViewでダブルクリックでコマンドを実行する

サンプルを作成したのでGitHubにアップした。 GitHub - Tepp91/WPFSampleCollection にあるListViewDoubleClickがそれだ。 当初、ListViewのOnDoubleClickイベントを使おうとしたが、大まかうまくいくもののListViewのヘッダー部分でもダブルクリックに反応…

Visual Studioの外部ツールからVimを起動する際の引数

--servername $(ProjectFileName) --remote-silent +$(CurLine) $(ItemPath)

Adornerを利用して、プレースホルダを表示する

WPF

プレースホルダって検索すると「(UIデザイン的に)プレースホルダは止めておけ」という記事があるけれど、それは気にせず実装してGithubにアップしたので紹介しておく。 GitHub - Tepp91/WPFSampleCollection にPlaceholderサンプルを追加した。 プレースホ…

Boseのイヤホンが壊れたら、直営店に持って行こう

今日Boseのイヤホンが壊れたので、直営店に持って行ったら、 その場に在庫があったので、すぐに有償交換することが出来た。 普段、作業するときはBoseのノイズキャンセリングヘッドホンを使っている。 会社では、Quiet Comfort 20(イヤホン)、自宅ではQuie…

開発ネタ:Excelのシートビュー

時間があったら作りたい。 会社の仕様書はExcelなのだが、たまにシート数がかなり多い場合がある。 既存の機能ではシートのすべてが常に一覧として表示されているわけがないので、 これを一覧できるアドオンがほしい。 データ自体は共有データなので、変更し…

Doxygenで出力されるドキュメントを確認

家でC++のコードを書く時はコメントをDoxygen(JavaDocスタイル)で書いている。 ふと普段書いているスタイルでちゃんとドキュメント化されるてるのかが気になったので、確認用にプロジェクトを作ってみた。 GitHub - Tepp91/TryDoxygen P.S. なんとなく開発…

GitHubで見る注目すべきOSSなゲームエンジン

GitHubから「Discover interresting projects on GitHub」というメールが飛んできた。 内容はExploreページ(GitHub内の注目プロジェクトの紹介)へのリンクで、その中に「Game Engine」項目があったので興味がある人は見てみると良い。 Game Engines · GitHub…

気付いたら命名に1時間(CategoryかTypeか)

今日仕事でデータの命名に1時間かけてしまった。データの名前はあとで変更が出来ないので変数の命名なんかよりも数倍気を使う。 気を使うにしても1時間は使いすぎだろとは思うけれど、 この1時間の大半は「○○Category」か「○○Type」のどちらがよいか、と…

初級プログラマによくある「The XY Problem」とは

とある掲示板で「The XY Problem」という単語が目についた。 ぐぐってみるとあまり日本語ではヒットしないのだが、考えとしてはよくあるものだ。 The XY Probremは、端的に言えば、問題の本質を見失っている状態だ。 よくあるコピペがその良い例だ。 アメリ…

TreeViewのSelectedItemにデータバインディング出来ない

WPF

掲題の件、どうやらTreeView.SelectedItemPropertyはリードオンリーのようだ。 そしてリードオンリーの依存関係プロパティの場合、データバインディングは出来ないようだ。 MSDNに「読み取り専用の依存関係プロパティ」というトピックがあった。 https://msd…

自分が作っているゲームの事はTwitterにつぶやけない

意外と開発者たちは自分たちのゲームをエゴサーチしていて、たまに社内チャットとかで気になったつぶやきとかが流れてきたりする。 つまり下手につぶやくとそのツイートを見られる可能性がある。タグを付けなければ引っかかる可能性は低いだろうがゼロではな…

ボトルネックが…違う!

仕事で少しの間暇だったので、「じゃあこの軽いタスクをやってよ」と言われて別担当の人のタスクを実装したのだけど、どうにも気持ちカクつく気がする。 これは参ったなと思いつつ、今日は当初の予定よりももう少し広くコードを見たところ、問題箇所っぽいの…

今日見たクソース

// ...を確認する bool CheckHoge(); bool TestHoge(); bool CheckHoge() { // 略 } bool TestHoge() { // 略 } 同じようなやつが2つ合って違いが分かりづらかった。

PlayStation VR、9月24日に予約再開

いつもならメルマガのほうが早いのに、今回は4gamerで知った。 発売日まではこれが最後みたい。 過去2回の時は、当日なぜか忘れていたと言う教訓から、既にOutlookで予定を入れて1日前にアラームを設定しておいた。これで大丈夫なはず!

「人喰いの大鷲トリコ」発売日延期

2016年10月25日 → 2016年12月6日 FF15も11月末に延期したし、忙しくなりそう。

VirtualizingPanelを実装するにあたり

現在、2Dレイアウトツールのメインである、レイアウト機能を作成中(まだまだ先は長い)。IScrollInfoは「IScrollInfoの実装するにあたり - どこかのだれかへ」を読んで、スクロールすることは出来たので、いよいよ本丸のVirtualingPanelの実装に入る。参考…

思っていたほど悪くないコードだと気付いた。

先ほどまで「これはマジで止めて欲しいコード!」っていうのを書いてて、その理由を説明するために色々検証したんだけど、以外とそこまで悪くなかったという結果になったため、記事を破棄。どうやら完全に食わず嫌いだったようだ。 ちなみにコーディングスタ…

IScrollInfoの実装するにあたり

発端はVirtualizingPanelのための実装で、IScrollInfoの実装が必要になったため。 IScrollInfoは、ScrollViewerで論理スクロールを行うためのインターフェースで、Scrollさせたいコントロールが継承して実装する。既存のコントロールではStackPanelなどが実…

VRはコンテンツが大事な気がする

Vive、Oculus Riftと徐々にHMDが発売されているが、やはりPlayStation VRがほしい。 まず、ハードウェアのハードルの低さ。Vive、Oculus Riftはどちらも最新グラフィックスボードのハイエンドモデルなど要求スペックが高く辛い。それはそのはずで高解像度の…

Wwise入れてみようかな

jp.gamesindustry.biz 結構良い感じっぽいので今作っているゲームに入れてみようかな。 学生時代、サウンド関係の人と少し仲良くなって、ある程度ゲームが形になったら、彼に相談しようかどうか迷っている。迷っている理由は、彼とは5年前から音信不通で、一…

アイドルマスターPSがすごい。刺激的すぎる。美希可愛い。

美希が可愛い。可愛すぎる。 なんだこのクオリティは。PS3時代のセンシティブトゥーンを見たとき、たしかにすごいと感じたけどやはり自分が求めていたトゥーンではないと感じていた(PS3の少ないメモリであれだけやっていたのはすごいのだけれど)。 しかし…

主要なゲームショウまとめ

今日4Gamer見たらgamescomの記事が多かったが、そもそも主要なゲームショウはなにがあるのだろうか。軽く調べてみた。 3大ゲームショウ E3 正式名称はElectronic Entertaiment Expoで略してE3。言わずと知れた世界最大のゲームショウ。 6月頃にアメリカ・ロ…

IPA(情報処理推進機構)によるOSSライセンスまとめ(古め)

作成中のツール(C#、WPF)でProperty Gridを使いたいけれど、WPFには標準にはないので外部ライブラリの力を借りようと色々探していた。 探しながら、いいのがあればライセンス見て、そのライセンス内容を調べる。MITとかBSDとかならいいけど他はよく分からな…

土日に進められた作業がContextMenu表示するだけ

C#とWPFで2Dゲーム(とUI)のためにエディタを作っているわけだが、この土日はまったくもって進まなかった。 進まなかったのは、テクスチャリストのListViewに対してContextMenuを表示し、「UVMapを生成する」というのを選んでUVMapを生成するというところ。…

インディーズゲームドキュメンタリー「Branching Paths」は7月29日より配信

日本のインディーズゲーム業界をドキュメンタリーとして撮影した「Branching Paths」が7月29日から配信される。 Branching Paths : A journey in Japan’s independent game scene www.youtube.com PLAYSIMとSteamで配信予定。 以前、同様にBraid、Surper Mea…

Bash on Windowsがやって来る日

8月2日だそうで。 gihyo.jp すでに結構前からinsider previewではもう使えるらしい。といってももう8月2日って来週じゃないか。もう8月とか時間過ぎるのが早すぎるよ。

OpenGLやDirectXでのデバッグ表示のためのGUI

ゲームを作っていると欲しくなるのが、デバッグ表示。簡単なテキストであれば、適当に画面に表示しておけば良いのだけれど、出来ればちぇっくぼっくすやらツリー表示とかもしたい。こんなときに使う、OpenGL、DirectX向けのGUIライブラリというのが世の中に…

PlayStaion VR、7月23日より予約再開!

今日、メルマガが飛んできていてPlayStation VRが7月23日に予約が再開するとのこと。オフィシャルサイトの情報も更新されているので前回予約できなかった方は一見あれ。 www.jp.playstation.com

Photoshopのキーフレームアニメーションからスプライトシートを出力する

現在、2Dゲームを作っているのだけれど(いままでのモデル出力はなんだったんだ!)、キャラクターはUVアニメーションで動かそうと思った。そこでそのためのスプライトシート(またはテクスチャアトラス)をPhotoshopで作ろうとしたが、これがかなり苦戦した。…

PlayStation VRの予約が出来なかったからメルマガに登録する

先日、PlayStation VRの予約日があってすぐに売り切れ?になったが、自分がそれを知ったのは当日でもう遅かった。しかしこれで諦めてはいけない。SIEはこの供給力不足は認識しているようで、もしかしたら今後さらに予約が可能になるかも知れない。SIEは最近…

【C++】テンプレート引数の異なるクラスの扱い方

C++で異なるテンプレート引数を関数の引数とかに取るやり方はInlineなら知っていたけど、それをどうやってクラスの外に出せば良いかわからなかったので、メモっておく。

プログラマーと爪切り

晴れたので半袖で出社したら、社内が寒くて腹を壊した昨日。仕事をしていると、「パチッ、パチッ」という事が聞こえてくる。なにかと思い当たりを見回してみれば、一人のプログラマーが爪を切っていた。以前いた会社は自分くらいしか爪切りを持っていなかっ…

人喰いの大鷲トリコの発売日が決定!

真夏日を迎えたとき「まだ6月なのに」って思っていたけれど気付いたら6月も下旬に入っていた。E3も終わり、様々なゲームの情報が発信されたが、やはり個人的には「人喰いの大鷲トリコ」の発表がもっともインパクトが大きかった。まさか発売日まで出るなんて…

E3のプレスカンファレンス

4GamerにてE3のカンファレンスの予定がまとまっていた。 プラットフォーマーのカンファレンスは以下の通り。 Microsoft 6/14 1:30ライブストリーミングXbox @ E3 2016 | Xbox SIE: 6/14 10:00ライブストリーミングPlayStation® - E3 2016 Press Conference |…

CRYENGINEがソース公開

[SHADER.JP]CRYENGINEのソースがGithubで公開に 時間あるときにちょっとちらっと見てみようかな。

「ゲームテスト&QA」を読んでいる

最近バグを頻出させているので、なにかヒントにならないかと「ゲームテスト&QA」を読んでみたけど、あまりヒントにはならなかった。この本はゲームテスターを目指す人のための本であり、どうやってバグを見つけるかが書いてあることを期待したが、そういった…

Windows10が夏にBashをネイティブ対応

2ヶ月位前のニュースだが今日知ったこれ。今まではCygwinとか入れてたけど入れなくて済むなんてなんて素敵なんだろうか

ChromeがFlash無効化へ

japanese.engadget.com 4年くらい前、AndroidやiOSなどのモバイル端末でFlashが未対応になって、HTML5も出てきてFlashが表示できなくなる流れがあったけど、ついにここまで来たかという感じ。Flashといえば、ゲームでもUIツールとして使用される場面がある。…

NVIDIA GTX 1080/1070を発表。

昨日5月7日にNVIDIAから、次世代GPUのGTX 1080/1070が発表された模様。 ASCII.jp:NVIDIA、PascalアーキテクチャーベースのGeForce GTX 1080/1070を発表【GPU】 NVIDIA GeForce GTX1080/GTX1070のまとめ [Update] : ニッチなPCゲーマーの環境構築【速報】GTX…