★☆ ゲームプログラマのソースは読み辛い ☆★
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/04/16 18:27ID:NRtNJn8s0022名前は開発中のものです。
02/04/16 23:59ID:???ゲームプログラマでなくても読みにくいです。
0023名前は開発中のものです。
02/04/17 00:24ID:???でもそれは言えるかもしれんな。
リアルタイムで動く物が大多数だし。
0024へぼゲームぷろぐらま
02/04/17 00:55ID:???ぜひ具体的に教えてください。勉強します
0025名前は開発中のものです。
02/04/17 01:29ID:Hh/Gvx6Q例えば何よ?
意味不明さでは君も似たようなもの。
プログラマとしてのレベルも窺い知れる。
0026名前は開発中のものです。
02/04/17 01:35ID:/PI8azi20027名前は開発中のものです。
02/04/17 01:37ID:p7h3xqV6嵐で結局DQNソースになります。
0028名前は開発中のものです。
02/04/17 01:51ID:???プロアマ関係なくまたプログラミング技術とも別問題。
本人がコーディング作法に興味があるかどうかが重要だろー?
0029名前は開発中のものです。
02/04/17 01:58ID:???0030名前は開発中のものです。
02/04/17 02:07ID:???マスター上がれば終わりのゲームプログラムと、保守も仕事に含まれる
ビジネスプログラマとでは美しさの目的が違うのではない?
見やすくてもタラタラ書いてるソースなんて、動いてもバグの内。
0031名前は開発中のものです。
02/04/17 02:16ID:Hh/Gvx6Q{
float inv = 1.0f / 2.5f;
for (int i= 0; i< 10; i++) {
foo( a[i] * inv );
}
}
こういう書き方が駄目?常識だと思うけど
0032名前は開発中のものです。
02/04/17 02:21ID:p7h3xqV60033名前は開発中のものです。
02/04/17 02:44ID:???0035名前は開発中のものです。
02/04/17 02:50ID:???for(int i=0; i<10; i++) foo(a[i]*(1.0f/2.5f));
の方がイークナイ?float1個分メモリ削れるヨ。
割り算は最適化の時にあらかじめ割ってくれてるので問題ナシ
0036名前は開発中のものです。
02/04/17 02:59ID:Hh/Gvx6Qコンパイラに依存するコードは、良くないと思う。
そうやってもメモリは削れんしw
大概のコンパイラは、foo()がインライン関数だったりしたら、
最適化されないし。
0037名前は開発中のものです。
02/04/17 03:03ID:???最適化を期待しないなら
const float inv = 1.0 / 2.5;
float *cur = &a[0] , *end = &a[10];
do{ *cur *= inv; } while( ++cur != end );
ぐらいかな。(register とかつけるかも)
中途半端がいちばんカッコワリィと思うぞ。
003835
02/04/17 03:11ID:???最適化考える前に、あんなコード書こうとする俺は逝ってヨシですか?
0039名前は開発中のものです。
02/04/17 03:15ID:Hh/Gvx6Q流石にそれはやってくれるでしょ。
ていうか、例として書いただけで、実際は配列なんか使わんし。
(Vector使うからコード的にはそれと同じ)
0040名前は開発中のものです。
02/04/17 06:38ID:NDGDglUg0041名前は開発中のものです。
02/04/17 07:43ID:???それは己で判断すればいいだけの話であって。
0042名前は開発中のものです。
02/04/17 08:11ID:???ほんとに芸術品だぞ。
0043名前は開発中のものです。
02/04/17 08:33ID:???ショボーンな状況下で威力を発揮するテク満載のスレはここですか?
GPL恐怖症でgccが使用禁止とか
0044名前は開発中のものです。
02/04/17 08:55ID:???提供してくれないジンクスが。儲けてるんだからコンパイラぐらい
自作して提供しる。
0045名前は開発中のものです。
02/04/17 12:21ID:???コードのコンパクトさが実行速度に影響する事も結構あるのかな?
例えば1バイトの差で頻繁な主RAMアクセスが発生してしまっていた、とか....
セットアソシアティブ方式のキャッシュに最適化したコード配置とか、する事はあるんでしょうか。無いか。
0046名前は開発中のものです。
02/04/17 12:57ID:cHjhAfCsガリガリとハードコーディングして作り捨てしちゃっても
特に不都合なかったってだけの話。
今後はそうはいかんでしょうよ。ネットゲーとか。
今そこで汚いコード書いてるヤツ、覚悟しとけよ。
0047名前は開発中のものです。
02/04/17 15:24ID:???でもゲーム部分はぐちゃぐちゃ、設計段階で想定してない処理がしょっちゅう追加されるから。
0048名前は開発中のものです。
02/04/17 23:49ID:???「「とりあえず」動くもん見せてよ」攻撃がいろんな人からかけられるからな…(鬱
0049sage
02/04/18 01:30ID:9kHN.ahQ>セットアソシアティブ方式のキャッシュに最適化したコード配置とか、する事はあるんでしょうか。無いか。
あるよ。
インストラクション側はクリティカルなところは「全部乗せる」が
基本だし、パイプラインも絡むのでインライン展開する事が多いけど、
データ側は局所的に扱われるデータ系列数がウェイ数を超えていた場合は
配置で調整する(出来る)。
まぁ「無い事は無い」ってだけで、極一部であることも事実。
0050名前は開発中のものです。
02/04/18 01:31ID:???0051名前は開発中のものです。
02/04/18 05:02ID:???そしてそれをそのまんま使うはめになるんだわな。
「動く」から。
鬱。
0052名前は開発中のものです。
02/04/18 05:54ID:???ソースが読みにくい以前に、設計段階でぐちゃぐちゃですわ。
重要な定数も、BASIC時代ライクにそのまんま書いちゃうことなんて茶飯事。
インデントのつけ方は大抵、統一されてるけど、変数や関数の命名規則なんて
グチャグチャですよ。かといって、別に高速化を目指した結果でもないんだけどね。
ソース添削の結果、使われなくなった変数なんてそこら中に散在してるし、
呼び出されることのない関数もたくさんある。まぁ後者ならリンカが気利かして
除いてくれるのかな?
ちなみに、自分の場合、家の中もめちゃ汚いです。
もう床なんて見えないね。
0053名前は開発中のものです。
02/04/18 07:12ID:???>でもゲーム部分はぐちゃぐちゃ、設計段階で想定してない処理がしょっちゅう追加されるから。
あう〜
確かにライブラリ部分だとかミドルウェア部分ならそこそこ綺麗に
まとめられるのだが、ゲーム部分はグッチャグチャ。
すっきりとモジュール分割できるものは頭使わなくて楽でいいよ。
精神的にも清潔でいられるし〜
0054名前は開発中のものです。
02/04/18 12:42ID:???趣味で一人でプログラミング、ならそれでもいいような気もするがな
俺は保守で後々苦労するのが嫌だから自分なりに気を使っているけど
仕事でそんな感じだったら、同僚に文句言われたりしないの?
0055名前は開発中のものです。
02/04/19 01:53ID:???ゲーム部分の各タスクはそうなりがちだね。
各々依存関係が複雑になってカオス状態になるからね。
0056名前は開発中のものです。
02/04/19 08:02ID:???特にゲームプログラムの場合、他のソフトウェアとは違って
依存関係が妙に多いよー
例えばさ、10年前のSFC時代のRPG一つ見ても
分業が難しそうなプログラムだったりする。
0057名前は開発中のものです。
02/04/19 08:30ID:???安心しろ。
簡潔に要点をまとめる能力ゼロでも、なんとかなるぞ。
0058名前は開発中のものです。
02/04/20 04:12ID:XCIk0FgMコメント書式も統一されてるし、クラス設計思想も徹底させてるし。
他人のソース見ても簡単に理解できる。
そうでなきゃ何人ものプログラマで作業できない。
システムでタスク単位の処理時間が出るからボトルネックがどこかすぐわかる。
処理にして1μsも無いようなとこ最適化しても意味無いよ。
いつまでも10年前のゲームプログラマのイメージ持たないで欲しい。
0059名前は開発中のものです。
02/04/20 05:18ID:???コメント書式も変数命名ルールもクラス設計思想も全員バラバラ。
見た目も全員バラバラ。
0060名前は開発中のものです。
02/04/20 11:30ID:???すばらしいです!是非そういう会社で働きたい!会社名を教えてください!
え、今時どこの会社もそんな感じ?本当ですか?
0061名前は開発中のものです。
02/04/21 06:46ID:4j.0wvZU0062名前は開発中のものです。
02/04/21 07:11ID:dDCMvgNYワンダースワンとかGBAとかをゲームと思ってない差別発言とみなします。
0063名前は開発中のものです。
02/04/21 11:40ID:???あちらはおいておいてほすぃ。
0064名前は開発中のものです。
02/04/23 03:25ID:???{
j=1;
}
else
{
j=2;
}
0065名前は開発中のものです。
02/04/23 08:48ID:???んな中途半端はいかんといったろう!
const float fInv = 1.0f/2.5f;
a[0] *= fInv;
a[1] *= fInv;
a[2] *= fInv;
a[3] *= fInv;
a[4] *= fInv;
a[5] *= fInv;
a[6] *= fInv;
a[7] *= fInv;
a[8] *= fInv;
a[9] *= fInv;
ブランチはキャッシュミスのもと。
0066名前は開発中のものです。
02/04/23 08:56ID:???最速目指すならこれだね、最近は。
アドバンスでも3〜4回の簡易なループ処理なら展開しとく。
0067名前は開発中のものです。
02/04/23 15:38ID:8zPBRBi2〈 j |'´ / , -へ丶亅/,.‐'`、 、
`、 ,.'´' ' / / `i、レ `丶亅|
| .'´/ /, ' , ' , ' `i、ノ
|,'〜丶,/ , ' , ' , ' ,' \
, ' ⌒ヽ / / / / / l l 、、、、 `、
,.' / l 1 ,' ,' ' ' ' ' ' ' ' '`.、
|1/ !{ l i | | | | | | | | | | `、
|/\ l1 | | i1 | .| | | | | | | | i、
i、 _ノノ | _,.-一'''~ ̄|`i l l i ii ii ii iii |1|
|`''ーイ -''´`i !|`、| i ノ一、 ','', ',''j l !l
,| , ´ | ,|-';;0ヽ`i| { /jノ ノ|ン、/ /j ,j l|
|! | イイ{:;;iiiiii::;} `| },ノ ,ノ;0`jノ / /,' , } l
j l 1 リ、`'ー+' {:iiii} iノイ lノ ノノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
, l 1 |`、 ,  ̄ ,‐'´ l < だきまくらにされるの、嫌なんですけど。
| l 1 1 ` 、\ - ノ 1 i \____________
/ノ l 1 '、 ` 、 _, .- ' | 人
/~ノ/// ノ\ ` ' ー 'i、_ __| ハ
, -'~ _...,,,.‐'´ \\  ̄'´ ̄ l`j丶、
,.‐'´ \\ ,.‐'´ // i
イ `i`、 〃
0068名前は開発中のものです。
02/04/23 22:46ID:???もしかしてゲーPGって
コ ー デ ィ ン グ が 下 手 糞
なんじゃない? あ、ゴメソ。
0069名前は開発中のものです。
02/04/23 23:28ID:???0070名前は開発中のものです。
02/04/24 00:36ID:???>コ ー デ ィ ン グ が 下 手 糞
一理あり。
アセンブラ時代がついこの間まであって、
今でもアセンブラ書かないといけない部分がある。
だから、お行儀のいいCのソースって書けない。
ご多分に漏れず、あたしは縦方向に整然としたソースを書くかな。
学生ソースから発展した御仁には理解できないかもしれないけど。
お武家は作法に拘るんだよね。
0071名前は開発中のものです。
02/04/24 00:54ID:???作法にこだわらないコードはクソです。
アセンブラだとかCだとか、言語以前の問題です。
0072名前は開発中のものです。
02/04/24 02:00ID:???for(i = 0 ; i < 32 ; i++)
{
printf("%d\n", i);
}
と
for ( i=0;i<32;i++ ) {
printf("%d\n",i);
}
と
for(i = 0 ; i < 32 ; i++) printf("%d\n", i);
どれが一番無作法?
0073名前は開発中のものです。
02/04/24 02:03ID:???上(72)の、インデントつかなかったのは、ご愛嬌ね。
インデントつけたとしての話で。
0074名前は開発中のものです。
02/04/24 08:52ID:???それは無作法とかの問題じゃないだろ・・・
0075名前は開発中のものです。
02/04/25 01:00ID:???{
for(;;) //ループ
return 1; //リターン
}
すいません、初心者なもので、ほんとごめんなさい・・・。
こんな感じでコメントすれば褒めていただけますかぁ?
朝っぱらから2ちゃんねるの見てる皆さんみたいに、
ばりばり仕事できるように頑張りますぅ。えへ。
0076名前は開発中のものです。
02/04/25 02:14ID:???もう少し頑張りましょう
0077名前は開発中のものです。
02/04/30 02:25ID:cZ4aGl2c最初のが一番いいかなあ。真ん中のは見にくいから嫌い、最後のはまあ許容範囲
0078
02/04/30 02:42ID:BWs4XuyYプリントアウトしてデバグする人は2番目、3番目を使用する人も多い
他人の目や協調性を重視するなら臨機応変に
0079名前は開発中のものです。
02/04/30 03:01ID:???forの書式自体は漏れもこれかな、forとカッコの間にスペース入れないけど。
つーか、この辺まで来ると作法云々よりは完全に好みの問題なのかな。
0080名前は開発中のものです。
02/04/30 08:10ID:???printf("%d\n", i);
ってのもあるにょ。
0081名前は開発中のものです。
02/05/01 01:25ID:???for (i= 0; i< 32; i++) {
printf( "%d \n", i );
}
こんな感じ。(ほぼ2番目タイプ)
{ごときで改行してたら、カナリ高解像度でもソース見渡せないし、
改行なしだと、ステップ実行し難い。
0082名前は開発中のものです。
02/05/01 01:35ID:???0083KD
02/05/03 21:21ID:D4fiAOPg分かりやすくシンプルに設計すべきだね。ちゃんとオブジェクト指向の機能を使って。
0085名前は開発中のものです。
02/05/04 01:37ID:???処理対象、つまりは企画が分かりやすくシンプルなら、
そんな事は容易いのですが・・・ね
0086あぼーん
NGNG0087名前は開発中のものです。
02/05/05 09:10ID:???企画通す段階とか、営業さんとか
メチャクチャ苦労しそうですね。
誰でも理解できる
-> 誰でも考えつく
-> 既に誰かがやってる可能性高し
-> シンプルさだけでは売れないよな
とかいう思考で。
0088名前は開発中のものです。
02/05/08 11:15ID:???0089名前は開発中のものです。
02/09/08 22:43ID:PDC/9AEUゲームプログラマーの技術レベルは高い。
http://game.2ch.net/test/read.cgi/gamedev/1018670878/l50
0090名前は開発中のものです。
02/09/08 22:50ID:???0091名前は開発中のものです。
02/09/16 03:20ID:???0092名前は開発中のものです。
02/09/19 02:59ID:1d+0jVP50093名前は開発中のものです。
02/09/19 03:08ID:???さらにインデントがみみっちいスペース2つとかだったりするとすごいイライラする。
0094名前は開発中のものです。
02/09/19 03:33ID:???0095名前は開発中のものです。
02/09/19 04:18ID:???マジか!?なんてこった
0096名前は開発中のものです。
02/09/19 08:57ID:???0097実用APIのプログラマー
02/09/19 09:03ID:???いいんじゃないのか?
0098名前は開発中のものです。
02/09/19 09:43ID:???保守の必要が無ければね・・・
0099名前は開発中のものです。
02/09/19 10:08ID:???見づらくてたまらん
ま、整形ツールでなおすけど
0100名前は開発中のものです。
02/09/19 10:30ID:???0101名前は開発中のものです。
02/09/19 13:04ID:???0102名前は開発中のものです。
02/09/20 01:01ID:???秀丸
0103名前は開発中のものです。
02/09/20 06:07ID:???全部がそうとかじゃなくて、だいたいのメインで。
0104名前は開発中のものです。
02/09/20 08:33ID:???俺は全部OOPLだ。
他は知らん。
0105名前は開発中のものです。
02/09/22 11:31ID:???Cマガの付録
0106名前は開発中のものです。
02/10/01 16:53ID:???Indent
http://www.gnu.org/software/indent/
0107名前は開発中のものです。
02/10/01 16:54ID:???0108名前は開発中のものです。
02/10/17 09:45ID:TzAvDz+Qテンプレートとか使いまくってんのかなぁ?
0109名前は開発中のものです。
02/10/17 15:57ID:???( ・∀・ )ニヤニヤ < おしまい
_/ ∩ ヽ_
/| / ヽヽ| .| |
| (ぃ9 ) \.J. |_
| | ̄| ( _/⌒)._ | ̄|
| | | \__/ ./ )_| |
| | | ̄ ̄__ノ / / | |
| | | ̄ ̄ (_ / / ̄| |
| | | (. ( | |
| | | \ _つ | | 【完】
0110名前は開発中のものです。
02/10/18 03:39ID:???∧_∧
( ・∀・ )エヘエヘ < はじまるよ
_/ ∩ ヽ_
/| / ヽヽ| .| |
| (ぃ9 ) \.J. |_
| | ̄| ( _/⌒)._ | ̄|
| | | \__/ ./ )_| |
| | | ̄ ̄__ノ / / | |
| | | ̄ ̄ (_ / / ̄| |
| | | (. ( | |
| | | \ _つ | | 【再開】
0111名前は開発中のものです。
03/08/09 21:06ID:VL+VyZoN┗0=============0┛
\===========[_|_|_|_|_|_|_|_|_|_|_|_|_|_]===========/
/三三三三三三三三三三三三三三三三三三三三\
0 │ |∞∞∞ |::|∞∞田田田田田田∞∞|::|∞∞∞ | ::| 0
...[二] | ::| |::|┏━━━━━━━━┓|::| | ::l [二]
........|□|.│ |┌┬┐ |::|┃ / \ ┃|::| ┌┬┐| ::|. |□|
)三(...| ::|├┼┤ |::|┃/ \┃|::| ├┼┤| ::|`)三(´
| ::| | ::|└┴┘ |::|┃ / ̄ ̄ ̄ ̄ ̄\ ┃|::| └┴┘| ::| | ::|
| ::| | ::|┌┬┐ |::|┃彳 人______ ノ.┃|::| ┌┬┐| ::| | ::|
| ::| | ::|├┼┤ |::|┃入丿ー◎-◎ーヽミ.┃|::| ├┼┤| ::| | ::|
|: :| | ::|└┴┘ |::|┃ r . (_ _) )┃|::| └┴┘| ::| | ::|
| ::| | ::|┌┬┐ |::|┃ ( ∴.ノ▽(∴ ノ ┃|::| ┌┬┐| ::| | ::|
| ::| | ::|├┼┤ |::|┃⌒\_____ノ⌒┃|::| ├┼┤| ::| | ::|
| ::| | ::|└┴┘ |::|┃ ┗━┛ .┃|::| └┴┘| ::| | ::|
| ::| | ::| ... |::|┃ . .>>1 . ┃|::| | ::| | ::|
.....┏━━━━━┓| .|┃ ......┃|::|┏━━━━━┓
.....┣┳┳┳┳┳┫|: |┗━━━━━━━━┛|::|┣┳┳┳┳┳┫
○ ● ∫∬∫∬ ● ○
○○ ●● iiiii iii ii iiii ●● ○○
[ ̄ ̄] [ ̄ ̄] ( ̄ ̄ ̄ ̄ ̄) [ ̄ ̄] [ ̄ ̄]
|_○_| .|_○_| |_____| |_○_| .|_○_|
∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
( )( )(, )(,, ) ,,)( )( )(, )( ゚Д゚ )
やっと氏んでくれたね・・・引篭りで匿名掲示板でしか粋がれないデブオタこと>>1君
0112名前は開発中のものです。
03/09/11 17:45ID:x1idZjdl0113名前は開発中のものです。
03/09/20 13:22ID:xNwNVV7F実際はどうなんでしょう?
0114名前は開発中のものです。
03/10/16 14:13ID:5hXXnH5tこの本は死ぬほどわかりにくいよ
著者に分からせようという気がぜんぜんない
0115名前は開発中のものです。
03/10/16 15:44ID:9fTNFVCZ0116名前は開発中のものです。
03/10/16 16:32ID:fx9L/4Hy0117名前は開発中のものです。
03/11/21 01:12ID:zgs03A9/完成したソースは、度重なる仕様変更でめちゃくちゃ。(趣味的な美的感覚の話)
だが、ちゃんと動く。仕様上問題無し。
これを清書すると、その時に記述ミスしてバグが出るかも知れない。
俺はこれを清書しないのだが、必ず清書する勇者はいるか?
0118名前は開発中のものです。
03/11/21 23:21ID:/FIZ9/4Y「あくまでも個人用として」ですが、清書します。勇者じゃないですね(^^;)
清書することでコーディングの無駄がわかることがありますし、
実は結果オーライだったことに気がつくこともありますから。
清書すると見通しが良くなってソースサイズが3分の1位になることが
あるので、そのときは入れ替えも考慮します。
0119名前は開発中のものです。
05/01/18 18:16:46ID:zVGVF5qG0120名前は開発中のものです。
05/01/25 07:54:45ID:TuzK3jDD0121名前は開発中のものです。
05/01/27 16:20:04ID:w9KDXj0X■ このスレッドは過去ログ倉庫に格納されています