Event for Diverse Game Engineers に参加してきました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

2015/09/20 (日) に SQUARE ENIX 本社で開催された Event for Diverse Game Engineers に参加してきました。

思い描いてるものを形にするための事前準備 (挨拶と会場説明込み)

登壇者:ろっさむ ( @4_mio_11 ) さん

  • 東京旅行のついで勉強会を開催してみた。
  • 行動あるのみ。

shared_ptrとゲームプログラミングでのメモリ管理

登壇者:DADA ( @DADA246 ) さん

  • 扱うデータはどんどん増えている。
  • RAII を守ればメモリリークは原則起きない。
  • malloc を使うことで free を忘れる。(例 : バイナリデータ読み込みなど)
  • Blackhat 2010 - Understanding the Low Fragmentation Heap で詳しく触れられている。

  • Double ended stack allocator (ヒープの拡張方向を上下複数持つアロケータ) で断片化を防ぐ

UE4とUnreal C++でのプログラミング環境について

登壇者:alwei ( @aizen76 ) さん

  • コーディングルールが UE で規定されている。
    • 中の開発者が 100 人くらいいるが、その差異がわからないくらい。
  • STL や Boost は使わない方が良い。
    • 専用のライブラリが提供されている。
    • コンテナだけでも 50 種類くらいある。
  • プロファイラはスマフォでも起動が可能。
  • Q. コーディングルールを守らせるツールはあるのか?
    • A. ない。社内ではコードレビューで徹底しているみたい。
  • Q. ビルド速度を上げられないか?
    • A. 既にやられているため我々ができることはない。バージョンアップ毎に向上している。
  • Q. 他のコンパイラは使用できるのか?
    • A. 既に clang 対応がある。早ければ年内に正式に統合されるかもしれない。

元コンシューマ系PGがアケゲ開発やってみた~アケゲ開発でのC++~

登壇者:shw ( @shw95349 ) さん

  • (数年前) コンシューマゲーム開発
    • C99 や MSVC 依存、およびハード依存なコードが書けない。
    • STL/Boost の使用制限
  • 最近のアーケード開発
    • Windows PC と変わらない。
    • コンパイラも自由に選べる。
    • OSS の外部ライブラリやミドルウェアが使える。
    • HW も自由に設計できる。
  • C++11 で足りないところは Boost でカバー
  • コード設計は典型的な MVC
  • 使用してみた機能
    • ラムダ式
    • STL との相性が良い。
    • boost::bind だらけがマシになった。
    • 型推論
    • コンパイラに任せられるので記述がすっきりした。
    • range-based for
    • std::tuple
    • std::array
    • scoped enumeration
    • std::atomic
    • std::future & std::promise
    • static_assert
    • final & override
    • Boost.Property_tree
    • Boost.Preprocessor
  • バグ
    • クラッシュ
    • 高速化
    • std::list → std::vector → std:array への置き換え
    • そもそものアルゴリズムの見直し
    • メモリリーク
    • VS2012 のバグだったのでしかたなし → boost の同機能で対応
  • 思ったよりもバグが少ない → CI や静的解析がけっこう効いた。
  • 差異をかんじたところ
    • テストモードの実装
    • 筐体が物理的につらい
    • 風営法に抵触しないかを自己管理
  • まとめ
    • ソフトウェア面ではそれほど差異はない。
    • 現場の体験がある。

JUCEで作るオーディオアプリケーション

登壇者:ほっと ( @hotwatermorning ) さん

プログラマの生存戦略 ~生き残る為に出世しろ~

登壇者:金剛型5番艦娘さん

  • 専門学校生 : とにかく量をやる
  • 大学生 : 自分の専門武器を持つ
  • 自分の担当箇所を商品の売りにする
  • ○◯と言えば✕✕さん (by name)