万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    workonコマンド実行して指定した環境のディレクトリを"カレントディレクトリ"にする

    @d_akiさんに教えてもらった「virtualenvwrapper v3.2 documentation」のTips とトリック
    を参考にしました。感謝!
    「$WORKON_HOME/postactivate」の中に
    ※$WORKON_HOMEは現在workonしているホームなのでworkon後に行って下さい!
    ↓こいつを編集して

    vi $WORKON_HOME/postactivate

    ↓僕はこう書いた。

    #!/bin/bash
    # This hook is run after every virtualenv is activated.
    proj_name=$(echo $VIRTUAL_ENV|awk -F'/' '{print $NF}')
    cd ~/.virtualenvs/$proj_name

    ※「.virtualenvs」って書いたとこはBP本に合わせてるので、各自自分の設定に変えてね。



    海外ゲーム技術勉強会

    URL:http://atnd.org/events/26621

    @dada246:Doom3コード解説(イベントシステムとカスタムRTTI) 60分
    ・John Carmack先生
    一人で書くスタイル
    ほぼ一人で
    6年くらいの開発期間

    ・DOOM3のgithub
    https://github.com/TTimo/doom3.gpl

    影はステンシルシャドウ
    いくつかのカットシーン
    スクリプトドリブンのレベルデザイン
    コンソールウィンドウによるパラメータ調整
    →idの伝統

    ATLを外す必要がある。
    Active Template Library
    Visual Studio Expressに入ってない
    普通はライブラリを使ってないのにめずらしい

    テクスチャなどのリソースが入っていない。
    →Doom3を買う必要がある。

    Visual Studioで開く
    neo/doom.sln

    C++で書いてある
    stl、boostは不使用
    例外、標準RTTIは不使用
    シンプルなテンプレート

    →2004年のコンパイラ事情や、John Carmackが書いたコードということで、
    移植性と処理速度を重視していると思われる

    ・コーディングスタイル
    C++の基本を抑えた書き方
    constのっってい
    最低限のvirtual
    プリコンパイル済のみヘッダ
    ネームスペース使ってない

    ◯全体構成
    ・Game

    機種共通コード。
    別VerとしてGame-d3xpがある。

    ・DoomDll
    →機種依存コード。
    exeが出力されるのはコレ

    ・idLib
    ゲームライブラリに依存しない処理を集めたライブラリ
    エンディアンスワップ
    コンテナ(2分探索、btree、ハッシュテーブル、リスト、リンクリスト、キュー、スタック、文字列リスト、Vector Set…)
    STLの代わり

    数学
    ・ベクトル、行列、角度、クォータニオン
    複素数
    乱数(線形合同法
    Lcp(Box Constrained Miex Linear Complementarity Problem solver)
    Polynormal(Polynormial of arbitrary degree with 〜〜)

    ・ジオメトリ
    DrawVert 頂点ドロー
    JoinedTransform
    Surface
    Surface_Patch(Bezier patch surface
    〜〜〜


    ・ODE

    masafumi:次の世代のインタラクティブレンダリング5つの挑戦と10の滅ぶべき技術 30分
    Frostbite+2.0
    ILLUMINATION
    Global Illumination
    シーンの破壊・動きなど飛ばされたりする
    Enlighten
    シャドウマップ

    Reflections
    Compute
    DXT5 Normal Maps
    →BC5を使え

    No GI
    →GIを使わないこと

    物理ベースのレンズフレア
    →映画とか?

    @minahito:オープンソースの描画エンジン Ogre 3D の解説 20分
    OGRE3D
    速度遅い
    ゲームエンジンではない
    リアルタイムレンダリングエンジンとしても。。
    ExampleApplication
    →テンプレートメソッド

    MovableObject
    UnityではTransformコンポーネント
    すべてMovableObjectを継承する。

    Obsarverパターンのリスナを。
    http://www.ogre3d.org/

    パーティクルエフェクトすら無い
    オブジェクトの差し替えで

    Deferred + Forward

    遅延レンダリングは組めない
    posteffectはかわらない

    @exafield:BrowserQuestで遊んでみた。(仮)15分

    セーブデータはlocalstrageで保存する
    githubにソースが

    Firefoxは3DdeHTMLの構造を可視化出来る