トップページgamedev
173コメント50KB

★☆ ゲームプログラマのソースは読み辛い ☆★

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/04/16 18:27ID:NRtNJn8s
です。処理的に難しいことしてるから、とかではないよ念の為。
0002名前は開発中のものです。02/04/16 18:32ID:???
ソースよりもコメントの方が多い人もいるよ。
ちなみにPS2のコードはあちらこちらにハード依存コードがあって
読みにくい以前の問題。
0003名前は開発中のものです。02/04/16 19:14ID:???
ゲームプログラムは芸術作品なのです
高度な芸術は難解なのです
0004名前は開発中のものです。02/04/16 19:27ID:???
で何?>>1
000502/04/16 19:30ID:???
他人にも読みやすいソースを心がけるにはどうしたら良いのか
貴様等語れ、と言いたいのでは
0006名前は開発中のものです。02/04/16 19:43ID:???
ニーモニックですか?
0007名前は開発中のものです。02/04/16 20:31ID:???
・・・・・
0008名前は開発中のものです。02/04/16 20:49ID:???
>>1
まあね、ゲームプログラムはどうしても汚くなってしまう。
敵の動きとか条件分岐の塊だし、
本来データとして持つべきものを直接コーディングしているのが
汚くなる要因だよな。
0009名前は開発中のものです。 02/04/16 21:35ID:???
>>8
それは禁句だってさ。
>>1の考えてる事はよく分からん。
0010名前は開発中のものです。02/04/16 22:28ID:???
一種の高速化チューニングをしてる、その為の犠牲はしかたない、って意識があったりは?
実際その種の配慮が非常に必要となる部分もあるけど、実は不要な部分まで同様なノリで書いてしまっている、とか。
0011名前は開発中のものです。02/04/16 22:48ID:rMDs665g
ゲームプログラマの書いたソースは "すべて" 読み辛いのか
ゲームのソース "が" 読み辛いのか
まずは、そこんとこはっきりしてくれ。
0012名前は開発中のものです。02/04/16 22:54ID:???
>>10
ゲームに限らず、CPUやメモリが足りなかった時代のプログラマは
そういうけち臭いコードを書きたがる傾向があるね。
スピードやメモリサイズを気にしなくていい部分なのに、
下手なテクを披露してくれちゃったりすると、
却って見にくくなったり他との整合性が悪かったり・・・
0013名前は開発中のものです。02/04/16 22:56ID:???
>>1はVB
0014名前は開発中のものです。02/04/16 22:59ID:???
>>11
「ゲームプログラマの手によって書かれたソースは、一般的に読み辛いものが多い」でないの?
それがゲームプログラムという性質上、仕方がないからなのか、あるいはゲームプログラマが
「読みやすいソースを書くこと」に対する意識が低いからなのかは意見が分かれそうだけど
0015名前は開発中のものです。02/04/16 23:02ID:???
プロの書いたのを見てみたいなあ
0016名前は開発中のものです。02/04/16 23:05ID:???
アマチュアのはヒドいのが多い
コメントがまるでなしとか定数をそのままソース中に散乱させるとか
0017名前は開発中のものです。02/04/16 23:10ID:???
>>15
プロのってなかなか見られないんじゃあ・・・
0018名前は開発中のものです。02/04/16 23:20ID:???
と、ゆーか。
C(もしくはC++)で書いてるソースはあんま変わんねぇよ。
ファミコンのアセンブラソースは壮絶だけどな。
0019名前は開発中のものです。02/04/16 23:21ID:???
何と何が変わらないの?
アマチュアのなら変わらないというのなら分かるけど・・・
0020名前は開発中のものです。02/04/16 23:31ID:???
個人的には
ゲームプログラマ:読みやすいソースコードを書く
一般のプログラマ:とにかくコメントを書く
ってなイメージがあるけど。
0021名前は開発中のものです。02/04/16 23:56ID:???
漏れは
ゲームプログラマ:最適化に命を賭ける
一般のプログラマ:処理速度はあまり重視しない、読みやすいソースを心がける
というイメージだが、完全に想像だから多分実像とは違うんだろうなあ
0022名前は開発中のものです。02/04/16 23:59ID:???
モジュールを知らない人のコードは、
ゲームプログラマでなくても読みにくいです。
0023名前は開発中のものです。 02/04/17 00:24ID:???
>>21
でもそれは言えるかもしれんな。
リアルタイムで動く物が大多数だし。
0024へぼゲームぷろぐらま02/04/17 00:55ID:???
>>1
ぜひ具体的に教えてください。勉強します
0025名前は開発中のものです。02/04/17 01:29ID:Hh/Gvx6Q
>>1
例えば何よ?
意味不明さでは君も似たようなもの。
プログラマとしてのレベルも窺い知れる。
0026名前は開発中のものです。02/04/17 01:35ID:/PI8azi2
仕事かどうかで違うなあ
0027名前は開発中のものです。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:???
プログラマがDQNだというケースは置いといて、
マスター上がれば終わりのゲームプログラムと、保守も仕事に含まれる
ビジネスプログラマとでは美しさの目的が違うのではない?
見やすくてもタラタラ書いてるソースなんて、動いてもバグの内。
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:p7h3xqV6
インデント無いから駄目。
0033名前は開発中のものです。02/04/17 02:44ID:???
それって何から高速化してんの?
0034名前は開発中のものです。02/04/17 02:46ID:Hh/Gvx6Q
>>32
書き込むと取れるみたい。(タブ派だし)

>>33
float 割り算の回数を減らしてる。
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
>>35
コンパイラに依存するコードは、良くないと思う。
そうやってもメモリは削れんしw
大概のコンパイラは、foo()がインライン関数だったりしたら、
最適化されないし。
0037名前は開発中のものです。02/04/17 03:03ID:???
最適化を期待するなら>>31ので十分。
最適化を期待しないなら
const float inv = 1.0 / 2.5;
float *cur = &a[0] , *end = &a[10];
do{ *cur *= inv; } while( ++cur != end );
ぐらいかな。(register とかつけるかも)
中途半端がいちばんカッコワリィと思うぞ。
00383502/04/17 03:11ID:???
怒られっぱなし。
最適化考える前に、あんなコード書こうとする俺は逝ってヨシですか?
0039名前は開発中のものです。02/04/17 03:15ID:Hh/Gvx6Q
それって、配列のアドレス計算の掛け算を回避(プラス終端判定)て事?
流石にそれはやってくれるでしょ。

ていうか、例として書いただけで、実際は配列なんか使わんし。
(Vector使うからコード的にはそれと同じ)
0040名前は開発中のものです。02/04/17 06:38ID:NDGDglUg
ところで、そこまでしないと本当にいけないの?
0041名前は開発中のものです。02/04/17 07:43ID:???
>>40
それは己で判断すればいいだけの話であって。
0042名前は開発中のものです。02/04/17 08:11ID:???
1はプロの作品見たこと無いな
ほんとに芸術品だぞ。
0043名前は開発中のものです。02/04/17 08:33ID:???
しなびた糞古いダメコンパイラを使わざるを得ないという
ショボーンな状況下で威力を発揮するテク満載のスレはここですか?

GPL恐怖症でgccが使用禁止とか
0044名前は開発中のものです。02/04/17 08:55ID:???
 過去の歴史を振り返るに、覇権を握るハード程ろくな開発環境を
提供してくれないジンクスが。儲けてるんだからコンパイラぐらい
自作して提供しる。
0045名前は開発中のものです。02/04/17 12:21ID:???
ところで、ゲーム機向けの、キャッシュの小さなCPUなんかだと
コードのコンパクトさが実行速度に影響する事も結構あるのかな?
例えば1バイトの差で頻繁な主RAMアクセスが発生してしまっていた、とか....
セットアソシアティブ方式のキャッシュに最適化したコード配置とか、する事はあるんでしょうか。無いか。
0046名前は開発中のものです。02/04/17 12:57ID:cHjhAfCs
ゲームのコードは保守・再利用する機会が少ないから
ガリガリとハードコーディングして作り捨てしちゃっても
特に不都合なかったってだけの話。

今後はそうはいかんでしょうよ。ネットゲーとか。
今そこで汚いコード書いてるヤツ、覚悟しとけよ。
0047名前は開発中のものです。02/04/17 15:24ID:???
ライブラリ部分はきれいに書くよ。
でもゲーム部分はぐちゃぐちゃ、設計段階で想定してない処理がしょっちゅう追加されるから。
0048名前は開発中のものです。02/04/17 23:49ID:???
そだな。ゲームの特に見える部分のプログラムは
「「とりあえず」動くもん見せてよ」攻撃がいろんな人からかけられるからな…(鬱
0049sage02/04/18 01:30ID:9kHN.ahQ
>>45
>セットアソシアティブ方式のキャッシュに最適化したコード配置とか、する事はあるんでしょうか。無いか。
あるよ。
インストラクション側はクリティカルなところは「全部乗せる」が
基本だし、パイプラインも絡むのでインライン展開する事が多いけど、
データ側は局所的に扱われるデータ系列数がウェイ数を超えていた場合は
配置で調整する(出来る)。

まぁ「無い事は無い」ってだけで、極一部であることも事実。
0050名前は開発中のものです。02/04/18 01:31ID:???
あいたたた、あげちゃったよ
0051名前は開発中のものです。 02/04/18 05:02ID:???
>>48
そしてそれをそのまんま使うはめになるんだわな。
「動く」から。

鬱。
0052名前は開発中のものです。02/04/18 05:54ID:???
自分は整理整頓する脳細胞が壊れてるらしいので、
ソースが読みにくい以前に、設計段階でぐちゃぐちゃですわ。
重要な定数も、BASIC時代ライクにそのまんま書いちゃうことなんて茶飯事。
インデントのつけ方は大抵、統一されてるけど、変数や関数の命名規則なんて
グチャグチャですよ。かといって、別に高速化を目指した結果でもないんだけどね。

ソース添削の結果、使われなくなった変数なんてそこら中に散在してるし、
呼び出されることのない関数もたくさんある。まぁ後者ならリンカが気利かして
除いてくれるのかな?

ちなみに、自分の場合、家の中もめちゃ汚いです。
もう床なんて見えないね。
0053名前は開発中のものです。02/04/18 07:12ID:???
>ライブラリ部分はきれいに書くよ。
>でもゲーム部分はぐちゃぐちゃ、設計段階で想定してない処理がしょっちゅう追加されるから。
あう〜
確かにライブラリ部分だとかミドルウェア部分ならそこそこ綺麗に
まとめられるのだが、ゲーム部分はグッチャグチャ。
すっきりとモジュール分割できるものは頭使わなくて楽でいいよ。
精神的にも清潔でいられるし〜
0054名前は開発中のものです。02/04/18 12:42ID:???
>>52
趣味で一人でプログラミング、ならそれでもいいような気もするがな
俺は保守で後々苦労するのが嫌だから自分なりに気を使っているけど
仕事でそんな感じだったら、同僚に文句言われたりしないの?
0055名前は開発中のものです。02/04/19 01:53ID:???
>>53
ゲーム部分の各タスクはそうなりがちだね。
各々依存関係が複雑になってカオス状態になるからね。
0056名前は開発中のものです。02/04/19 08:02ID:???
>各々依存関係が複雑になってカオス状態になるからね。
特にゲームプログラムの場合、他のソフトウェアとは違って
依存関係が妙に多いよー

例えばさ、10年前のSFC時代のRPG一つ見ても
分業が難しそうなプログラムだったりする。
0057名前は開発中のものです。02/04/19 08:30ID:???
>52
安心しろ。
簡潔に要点をまとめる能力ゼロでも、なんとかなるぞ。
0058名前は開発中のものです。02/04/20 04:12ID:XCIk0FgM
うちはソースめっちゃ読みやすいよ。
コメント書式も統一されてるし、クラス設計思想も徹底させてるし。
他人のソース見ても簡単に理解できる。
そうでなきゃ何人ものプログラマで作業できない。
システムでタスク単位の処理時間が出るからボトルネックがどこかすぐわかる。
処理にして1μsも無いようなとこ最適化しても意味無いよ。
いつまでも10年前のゲームプログラマのイメージ持たないで欲しい。
0059名前は開発中のものです。02/04/20 05:18ID:???
プログラマのソースの書き方、10人10色だね、普通。
コメント書式も変数命名ルールもクラス設計思想も全員バラバラ。
見た目も全員バラバラ。
0060名前は開発中のものです。02/04/20 11:30ID:???
>>58
すばらしいです!是非そういう会社で働きたい!会社名を教えてください!
え、今時どこの会社もそんな感じ?本当ですか?
0061名前は開発中のものです。02/04/21 06:46ID:4j.0wvZU
大手だけ
0062名前は開発中のものです。02/04/21 07:11ID:dDCMvgNY
>>58
ワンダースワンとかGBAとかをゲームと思ってない差別発言とみなします。
0063名前は開発中のものです。02/04/21 11:40ID:???
>>62
あちらはおいておいてほすぃ。
0064名前は開発中のものです。02/04/23 03:25ID:???
if(i==1)
{
  j=1;
}
else
{
  j=2;
}
0065名前は開発中のものです。02/04/23 08:48ID:???
>>37
んな中途半端はいかんといったろう!
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:???
>65
最速目指すならこれだね、最近は。
アドバンスでも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:???
>もしかしてゲーPGって
>コ ー デ ィ ン グ が 下 手 糞

一理あり。
アセンブラ時代がついこの間まであって、
今でもアセンブラ書かないといけない部分がある。
だから、お行儀のいいCのソースって書けない。
ご多分に漏れず、あたしは縦方向に整然としたソースを書くかな。
学生ソースから発展した御仁には理解できないかもしれないけど。
お武家は作法に拘るんだよね。
0071名前は開発中のものです。02/04/24 00:54ID:???
>>70
作法にこだわらないコードはクソです。
アセンブラだとかCだとか、言語以前の問題です。
0072名前は開発中のものです。02/04/24 02:00ID:???
>>71

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:???
>>72
それは無作法とかの問題じゃないだろ・・・
0075名前は開発中のものです。02/04/25 01:00ID:???
int main() //メイン
{
for(;;) //ループ
return 1; //リターン
}

すいません、初心者なもので、ほんとごめんなさい・・・。
こんな感じでコメントすれば褒めていただけますかぁ?
朝っぱらから2ちゃんねるの見てる皆さんみたいに、
ばりばり仕事できるように頑張りますぅ。えへ。
0076名前は開発中のものです。02/04/25 02:14ID:???
つまらない。
もう少し頑張りましょう
0077名前は開発中のものです。02/04/30 02:25ID:cZ4aGl2c
>>72
最初のが一番いいかなあ。真ん中のは見にくいから嫌い、最後のはまあ許容範囲
0078 02/04/30 02:42ID:BWs4XuyY
>>72
プリントアウトしてデバグする人は2番目、3番目を使用する人も多い
他人の目や協調性を重視するなら臨機応変に
0079名前は開発中のものです。02/04/30 03:01ID:???
あ、見にくいってのはカンマの後にスペース入っていないのがね。
forの書式自体は漏れもこれかな、forとカッコの間にスペース入れないけど。

つーか、この辺まで来ると作法云々よりは完全に好みの問題なのかな。
0080名前は開発中のものです。02/04/30 08:10ID:???
for(i = 0; i < 32; i++)
  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:???
重箱の隅。
0083KD02/05/03 21:21ID:D4fiAOPg
この板の人は分かりきってるだろうが、結局は普通の開発と同じように
分かりやすくシンプルに設計すべきだね。ちゃんとオブジェクト指向の機能を使って。
0084結局02/05/03 21:30ID:???
>>1
は立て逃げ
0085名前は開発中のものです。02/05/04 01:37ID:???
>>83
処理対象、つまりは企画が分かりやすくシンプルなら、
そんな事は容易いのですが・・・ね
0086あぼーんNGNG
あぼーん
0087名前は開発中のものです。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:???
The devil is in the details. -- old proverb
0092名前は開発中のものです。02/09/19 02:59ID:1d+0jVP5
ハンショーはだめだよぅ、おじゃんになるから。
0093名前は開発中のものです。02/09/19 03:08ID:???
個人的な意見だけど、DirectXのサンプルみたいにインデントにスペース使ってたり、
さらにインデントがみみっちいスペース2つとかだったりするとすごいイライラする。
0094名前は開発中のものです。02/09/19 03:33ID:???
GNU のコーディング規約はインデントがスペース2つ。
0095名前は開発中のものです。02/09/19 04:18ID:???
>>94
マジか!?なんてこった
0096名前は開発中のものです。02/09/19 08:57ID:???
インデント調整するツールぐらいもっとけよ
0097実用APIのプログラマー02/09/19 09:03ID:???
べつにさ、使いまわす以外のソースは読みにくくても、
いいんじゃないのか?
0098名前は開発中のものです。02/09/19 09:43ID:???
>>97
保守の必要が無ければね・・・
0099名前は開発中のものです。02/09/19 10:08ID:???
いいかげん、インデントにタブとスペースまぜて使うなよ
見づらくてたまらん
ま、整形ツールでなおすけど
0100名前は開発中のものです。02/09/19 10:30ID:???
ゲーム開発ってOOPL(C++?)でされてるんですか?
0101名前は開発中のものです。02/09/19 13:04ID:???
お勧めのインデント調整ツール教えてください
0102名前は開発中のものです。02/09/20 01:01ID:???
>>101
秀丸
0103名前は開発中のものです。02/09/20 06:07ID:???
教えてくださいよ。ゲーム開発ってOOPL(C++?)でされてるんですか?
全部がそうとかじゃなくて、だいたいのメインで。
0104名前は開発中のものです。02/09/20 08:33ID:???
知るかよ。
俺は全部OOPLだ。
他は知らん。
0105名前は開発中のものです。02/09/22 11:31ID:???
>>101
Cマガの付録
0106名前は開発中のものです。02/10/01 16:53ID:???
>>101
Indent
http://www.gnu.org/software/indent/
0107名前は開発中のものです。02/10/01 16:54ID:???
Quake2のソースはそれなりに読みやすいと思ったが
0108名前は開発中のものです。02/10/17 09:45ID:TzAvDz+Q
DoomIIIからはC++使うんだっけ?
テンプレートとか使いまくってんのかなぁ?
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:x1idZjdl
0113名前は開発中のものです。03/09/20 13:22ID:xNwNVV7F
最近のネットゲームだと保守性も重視されるんだと思いますが、
実際はどうなんでしょう?
0114名前は開発中のものです。03/10/16 14:13ID:5hXXnH5t
美少女ゲームの作り方(坂本千尋著)
この本は死ぬほどわかりにくいよ
著者に分からせようという気がぜんぜんない
0115名前は開発中のものです。03/10/16 15:44ID:9fTNFVCZ
わざと読めないように書いてる奴はいるけどな
0116名前は開発中のものです。03/10/16 16:32ID:fx9L/4Hy
坂本千尋の本は買っちゃダメー。金の無駄。
0117名前は開発中のものです。03/11/21 01:12ID:zgs03A9/
俺の話だが、他にもいるかな?
完成したソースは、度重なる仕様変更でめちゃくちゃ。(趣味的な美的感覚の話)
だが、ちゃんと動く。仕様上問題無し。
これを清書すると、その時に記述ミスしてバグが出るかも知れない。
俺はこれを清書しないのだが、必ず清書する勇者はいるか?
0118名前は開発中のものです。03/11/21 23:21ID:/FIZ9/4Y
>>117
「あくまでも個人用として」ですが、清書します。勇者じゃないですね(^^;)

清書することでコーディングの無駄がわかることがありますし、
実は結果オーライだったことに気がつくこともありますから。

清書すると見通しが良くなってソースサイズが3分の1位になることが
あるので、そのときは入れ替えも考慮します。
0119名前は開発中のものです。05/01/18 18:16:46ID:zVGVF5qG
てすと
0120名前は開発中のものです。05/01/25 07:54:45ID:TuzK3jDD
test
0121名前は開発中のものです。05/01/27 16:20:04ID:w9KDXj0X
詰め込みソースって知ってる?
0122名前は開発中のものです。05/01/27 22:43:15ID:QkPonLFB
どうぞ
http://www.yamdas.org/column/technique/gamej_ind.html
0123名前は開発中のものです。05/02/07 19:02:40ID:QLi9UzFo
   int あっはーん()
   {

     int i=0;
     i+=i+1;

   return 0;  //このreturnの位置ってどう?
   }
0124名前は開発中のものです。05/02/09 13:42:09ID:kf+/5jfh
却下
0125名前は開発中のものです。2006/04/30(日) 20:18:35ID:B4RjqpA/
ゲームプログラマの書くソースの特徴
・変数のほとんどがグローバル
・変数のほとんどがフラグ(bool)
・関数の返値のほとんどがvoid型
0126名前は開発中のものです。2006/04/30(日) 22:33:48ID:kTuaUXXT
>>123
return位置は全然構わん。関数名も全く問題ないが、

 i+=i+1; 
だけは死んでも許さん
0127名前は開発中のものです。2006/07/17(月) 18:02:02ID:R5TEMe1h
きれいなソースを書くには慣れるしかないのかね。
最近始めた素人が書き込んでみる。
0128名前は開発中のものです。2006/07/19(水) 02:21:10ID:ErivUJRa
汚いソースを書くことに「慣れる」のはよくあるが逆は……

まず、きれいなソースを読まないことには、書くことはできないな。
01291272006/07/19(水) 22:19:36ID:wM54GADG
なるほど、たしかにそうかもしれん。
きれいなソースなんて読んだことないなぁ、趣味グラマだから
他人のソース読む機会もあんまりないし。

ゲームプログラム本はまだ理解不能レベルだし…
0130名前は開発中のものです。2007/03/20(火) 12:40:59ID:wo/enrOm
変数名に女の子の名前が並んでるのを見てビックリしたことがある。
ええ、そいつはプロのプログラマ
引継ぎされた俺の身になれ
0131名前は開発中のものです。2007/04/07(土) 15:03:53ID:SQKY3wGp
本当にそんなのいるんですねw
0132名前は開発中のものです。2007/04/07(土) 15:34:02ID:Aw/ntF3n
きれいなソースって何????

空白をどれだけ使うかって事でしょ???

例えば
@for(i=0;i>10;i++){
printf("%d",i);
}

Afor(i=0;i>10;i++){
printf("%d",i);}

Bfor(i=0;i>10;i++)
{
printf("%d",i);
}


これくらいしか変化無いよ??
俺はB使ってるけど・・・・
0133名前は開発中のものです。2007/04/07(土) 15:42:50ID:Aw/ntF3n

変数名を変な名前で作るより
関数を乱立して、再帰ばっかりソースの方が嫌だけどなw

俺的には、再帰使う奴は無能って位置づけしてるよw

フィボナッチ数列でも
ゴミ箱用変数作ればokなんだしww


0134名前は開発中のものです。2007/04/07(土) 15:58:27ID:C0dxmvbs
チームで開発する場合は、書式を決めて(←これが大事)、
理想としては、それぞれのソースをチーム内の誰が書いたか
わからないくらいに統一されているのが良いな。
保守としては。

個人で作る場合も、自分なりの書式は決めたほうが良い。
あとで忘れたころに自分で読めないソースってのも欝だw

・・・って、いつのスレだよw
0135名前は開発中のものです。2007/04/07(土) 17:27:12ID:Aw/ntF3n
>>134
確かにww
1を見たらビックリしたw
0136名前は開発中のものです。2007/04/07(土) 18:54:23ID:N1v1eAn4
>>130
syokisetteiとかbyougasyoriとかやられるよりは
マシだろう
0137名前は開発中のものです。2007/04/07(土) 20:02:54ID:WmFhgDKp
再帰は確かに無いな。
余程枯れたアルゴリズムでもない限り保守性が一気に悪くなる。
0138名前は開発中のものです。2007/04/07(土) 21:16:29ID:MYxno3DK
再帰は何かのアルゴで使ったかな?
それ以外は使わない。ってか使う機会がない。
0139名前は開発中のものです。2007/04/07(土) 21:58:02ID:7tS8COUW
ぷよぷよで再帰使わないと面倒じゃない?
0140名前は開発中のものです。2007/04/07(土) 23:03:43ID:RQdRimYx
ダメダメ言うだけで具体的に綺麗なコードを提示出来ない時点で、
誰も綺麗なコードなど書いていないということ。
適当なことを愚痴るだけなら馬鹿であっても出来るんだよ。
0141名前は開発中のものです。2007/04/08(日) 00:38:24ID:TZ13ZQdA
汚いソースを公開してますが
何も文句を言われた事は無いなぁ。

まぁ、そんな大層なもんでも無いしな。
0142名前は開発中のものです。2007/04/08(日) 00:42:11ID:P+rYwJ5l
>>130
乙。
オージソジ、オージソジのあのCMを思い出す内容だな…
0143名前は開発中のものです。2007/04/08(日) 10:36:52ID:atpI17bz
>>140
綺麗なコードってのはだいたいは可読性って意味だろうから、
まぁ具体的な話は出てるんじゃね?
変数名に女の名前使われても読みづれーよw
0144名前は開発中のものです。2007/04/08(日) 12:54:01ID:TWCxMGaJ
C++でテンプレート使いまくるのって可読性悪くなりますか?
0145名前は開発中のものです。2007/04/08(日) 13:46:56ID:JfLqqKs4
>>143
そんなコードは一切出ていないし、だれも納得していない。
無いものをうやむやにして、抽象的な話を具体的と思いこむのはあまりに頭が悪すぎる。
0146名前は開発中のものです。2007/04/08(日) 14:42:30ID:vwBFhrtM
痛い御方がいらっしゃいます
0147名前は開発中のものです。2007/04/15(日) 05:19:40ID:ycaQeJmS
1 初心者のうちは、へたくそなコードを書きまくる
2 自己流でだんだん綺麗なコードが書けるようになる
3 ある日突然、職人が書いた芸術的なコードに出会う。
4 開眼する

4の人同士ならコメントはほとんど不要
0148名前は開発中のものです。2007/04/16(月) 12:20:12ID:b3rp/sC1
開眼した芸術的なコードなんて開眼した人同士じゃなければ
へたくそなコードと同じように理解に時間がかかる
逆の意味で
0149名前は開発中のものです。2007/04/16(月) 16:40:35ID:nNOn7+d2
>>148
そう。そしてへたくそな方は、芸術コードの深い仕組みが理解できず、
早とちりして勝手に訳の分からん修正したりする。
0150名前は開発中のものです。2007/04/21(土) 14:57:11ID:04uqDbe8
だって人に読ませるようなもんじゃなし、加えておしゃべりみたいなもんだから


ごめんなさい、コメント入れるのがめんどくさかっただけです
0151名前は開発中のものです。2007/04/29(日) 11:26:48ID:fQOmXODL
あのさ、

if (a = 0) {
b = 0;
}
else if (a = 1) {
b = 1;
}
else {
b = 2;
}

ってあるとするじゃん。
それを自分は

if (a = 0) { b = 0; }
else if (a = 1) { b = 1; }
else { b = 2; }

とするわけよ。
邪道だなぁ、人に見せられないなぁと思いつつ、
下の書き方のほうが視覚的に見やすいからこう書いてるんだけど、どう思う?
01521512007/04/29(日) 11:30:19ID:fQOmXODL
しまった、インデントのスペースが削られるんだった・・・orz
0153名前は開発中のものです。2007/04/29(日) 14:10:17ID:tvNJg+l3
>>151
要らん変更入れて自己満足してる暇があったら仕事しろ。
0154名前は開発中のものです。2007/04/29(日) 18:39:34ID:nRp8bWOk
つーか普通に
 b = (a&~1)? 2: a;
だな。
0155名前は開発中のものです。2007/04/29(日) 20:51:11ID:XdVXJuRq
>>154
汎用性と可読性無視か。
俺なら普通にswitch文で書くよ。
ソースの行効率なんてどうでもいい。
0156名前は開発中のものです。2007/04/29(日) 21:24:35ID:nRp8bWOk
ん?
マジックナンバーやa,bって名前だから可読性無視に見えるが、
 b = ( flags & ~SOME_FLAG )? 2: flags;
ならSOME_FLAG以外のいずれかのフラグが立っていれば2、
そうでなければSOME_FLAGで示されるフラグの値を返すごく普通の式にしか見えないよ。
0157名前は開発中のものです。2007/04/29(日) 21:46:42ID:XdVXJuRq
勿論Cの文法としては正しいけど可読性・拡張性の点から、推奨されることは少ない。
条件増えたら結局書き直しでしょ?
長くコーダーやってれば分かるよ
0158名前は開発中のものです。2007/07/31(火) 22:54:53ID:tzxuJ2/M
>>155
俺も俺も。追加楽だし、読みやすいし。ってか当たり前か。


後、ついでに俺は
if()
{
}
を使ってるなぁ。

だって、もしif文をコメントにする時にほかの奴だと
下の}も探してコメントにしないといけないし。

その点、これだとif()をコメントにするだけでいいし。
0159名前は開発中のものです。2007/08/03(金) 01:05:35ID:t8wewv6w
1.最適化(機種依存)
2.仕様の変更
3.デスマ
この辺じゃない?原因
0160名前は開発中のものです。2007/09/08(土) 13:23:01ID:3y6hMKhX
俺ゲームプログラマーやってるけど、最終的にポインタとか無くなる事を祈ってるよ
0161名前は開発中のものです。2007/09/08(土) 18:47:45ID:AlZBYmf5
>>160
駄目
ちゃんと組もうとすると
デカイインスタンスがいちいちコピーされるのが邪魔でしょうがない
0162名前は開発中のものです。2007/09/08(土) 22:49:51ID:t/jDbUQX
C++ の参照や Java のクラス変数なんかがいいんだろ。
0163名前は開発中のものです。2007/09/08(土) 23:49:43ID:su1hcHH+
嫌ポインタはユーザースタックでググれ。
0164名前は開発中のものです。2007/09/10(月) 17:18:47ID:HTLcjz7i
最近プログラム始めた初心者ですが
構造体の名前に Kyaradata とつけてしまいました
完成間際に間違いに気付き Charadata に変更しました
人に見られる事はないのに何故か自分で恥ずかしかった
あと、変数名を fiar 書いてたり
これも fire に後で変更しました

これでいいんだよ、別にさぁ〜
と言える程強靭な精神力が欲しいです
プロのプログラマーってこういう恥ずかしい間違いないんだろうなw
0165名前は開発中のものです。2007/09/10(月) 19:26:18ID:ylLhVN1P
>164 関数名がf0000から通し番号とか、そんな世界がお好みですか、そうですか。
0166名前は開発中のものです。2007/09/10(月) 20:41:14ID:krnrfByd
オレはgooの辞書で単語を探したりスペルチェックしてるお
0167名前は開発中のものです。2007/09/10(月) 22:02:20ID:udgm4YXc
自分がわかればそれでいいさ。
0168名前は開発中のものです。2007/09/11(火) 21:24:09ID:JZ9trqY5
プログラムの世界では、3日前の自分は他人なのだが。
0169名前は開発中のものです。2007/09/12(水) 10:40:50ID:qUDFwcmG
自分は趣味でC++とDirectX8でゲーム開発しているのですが、
どうもスペルが間違っていたりすると気になって修正しなければ気が済まないです。
一人で開発している訳だから気にする必要もないはずなのに……。
ちなみに、関数の引数は4個まで、1つの関数の行数は50〜70程度に抑えるように心がけてます。
アクションRPGだから、この先条件分岐の修羅場が待ち受けてるんだろうな。
0170名前は開発中のものです。2007/09/22(土) 23:35:31ID:Ppr6koko
>>169
>関数の引数は4個まで
DirectXの関数呼べないじゃんw
嘘吐き
0171名前は開発中のものです。2008/08/08(金) 02:17:42ID:dfypqU1S
ひまわりこそ一番見やすい
0172名前は開発中のものです。2009/02/22(日) 00:45:33ID:s0qbjIg1
何でハンガリアン記法じゃねーんだよ。
何で1関数の処理がバッチなみになげーんだよ。

教えてや。
0173名前は開発中のものです。2009/03/07(土) 21:42:05ID:UylAEIS5
いまどきハンガリアンつかってるやついるのか
■ このスレッドは過去ログ倉庫に格納されています