*ゲーム製作技術メモ [#sc8e678c] 技術系メモというかTipsというか。~ 知ってると捗るぞ。色々と。みたいな技術をみなさんで編集していってもらえると助かります。私が。~ プログラムだけじゃなくてその他の事も歓迎。~ ~ #contents ~ ~ **このwiki内の参考になる情報まとめ [#naa96c70] とりあえず読んでおいて損はないです。捗るぞ色々と。~ ~ -[[VisualStudioのインストールについて]] まずはこれから~ -[[ハルト]] プログラム (C/C++)の項目が役に立ちます。~ -[[C2C++:http://sherbet.transjiggen.com/ccs/ccs_wiki2/index.php?%A4%E6%A4%F3%2FC2C%2B%2B]] ゆんさんのメモ書き。C++er必見。~ -[[バグを減らすために:http://sherbet.transjiggen.com/ccs/ccs_wiki2/index.php?%A4%E6%A4%F3%2F%A5%D0%A5%B0%A4%F2%B8%BA%A4%E9%A4%B9%B0%D9%A4%CB]] プログラム書く際のルールとか。統一すると分かりやすいコードが書けるかも。~ -[[実行ファイルのアイコン変更:http://sherbet.transjiggen.com/ccs/ccs_wiki2/index.php?JUN%2FTips]] JUNSANのTips。アイコンを独自のものに変更とか。~ **DXライブラリ関連 [#hebad302] [[DXライブラリ:http://homepage2.nifty.com/natupaji/DxLib/]]の小技とか。現在編集中 ***隠し関数について [#j630f4a4] DXライブラリには諸事情により使われてないとかの理由で封印されている隠し関数があります。~ -[[参考リンク1:http://studiokingyo.fc2web.com/dxlib/kaibou/k_shiyou.html]]~ ***描画可能なグラフィックを作る [#x1279d2f] 通常はSetDrawScreen(DX_SCREEN_BACK);によって指定されたバックバッファに描画してから、ScreenFlip();で表画面に反映 みたいな流れをとると思うのですが~ 実はDX_SCREEN_BACKじゃなくてここに書き込み可能なグラフィックハンドルを指定することができます。~ これを使うとブラー効果とか画面全体を揺らす効果とか画面全体に拡縮を掛けるとか減算ブレンドで疑似マスク機能とか、かなり色々なことができます。~ 作り方は単純。MakeScreen();でグラフィックを作ってSetDrawScreen();の引数にグラフィックハンドルを指定するだけ。~ もっと柔軟な事がやりたい場合はMakeScreen();ではなく、SetDrawValidGraphCreateFlag();とMakeGraph();を使いましょう。~ 具体的な使い方は下記リンク参照。~ ちなみにこの方法を用いることで、320x240の仮想画面をSetWindowSizeExtendRate(2.0)で実際画面の640x480にする時とかに~ 環境によってはドットがくっきりせず、変なアンチエイリアスがかかる現象を抑えることが可能です。~ (まずMakeScreen();で作ったバッファに描画し、その後640x480の実画面にDrawExtendGraph();で描画する)~ ~ なお、当然だがこの方法を用いると描画コストがかなり増加します。~ 特殊な効果を使わないゲームならばやる必要はないです。~ ~ -[[参考リンク1:http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1533]]~ -[[参考リンク2:http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1532]]~ -[[参考リンク3:http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1315]] 輝度を変更するサンプル。~ -[[参考リンク4:http://www.play21.jp/board/formz.cgi?action=res&resno=51035&page=30&lognum=157&id=dixq&rln=51102]] ~ ***[[OpenCV:http://opencv.jp/]]との連携 [#j20afcf9] 画像処理とかパターン認識とかができるすごいライブラリらしいです。詳しくは知りません。[[wikipediaでおk:http://ja.wikipedia.org/wiki/OpenCV]]~ 基本的な画像処理はほとんど出来るっぽいです。(画像処理はPhotoshopのフィルタみたいな効果出したりするもんです)~ Webカメラから動画を取り込むとかで色々応用が効きそう。やってないけど。~ ~ -[[参考リンク1:http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1837]]~ -[[参考リンク2:http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1261]]~ -[[参考リンク3:http://opencv.jp/sample/]]~ -[[参考リンク4:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1450479414]]~ ~ ***シェーダを使う [#q5f571ee] 勉強中。とりあえずこういうものがあるよって事だけ備忘録的に。 ***フォントを読み込む [#j72b3d11] ***音と同期させる [#hca3be65] *** [#be8ac25e] ***DXライブラリの高速化 [#k091fed0] -SetBlendMode();やSetDrawArea()を多用すると重くなる -マスク機能は超絶重い -画像サイズを2のn乗にする -DXライブラリの内部処理を書き変える -LoadGraph();よりもLoadDivGraph();DerivationGraph(); -SetUseDivGraphFlag();について -DrawBox()とかDrawCircle()は画像描画より重い