So-net無料ブログ作成
検索選択

俺のゲームのソースコードってみんな欲しい? [プログラミング]

以前、どこかのSTG系のHPで

「シューティング上手い人のリプレイデータというのは、見てておもしろいし、手に入りやすいが、参考にはならない。一方、自分と同じぐらいの技量の人のリプレイデータというのは、いろいろ参考になる物があるが、そのプレイヤーが公開を恥ずかしがって、まったく手に入らない」

という一文があったんだけど(記憶を頼りに書いてるから多少は違うかもしれないけど、話の論点は同じ)、これってプログラミングにも言えること何じゃないかなとふと思ったり。

よくプログラム上級者が初心者へのアドバイスとして、

「他の人のプログラムを吟味し、いじくることが、プログラム上達への近道だ」

と言ってる人がいるけど、俺はこれ、どうかなと思うんですが(いや、プログラム初心者の域をまだやっと片足出たかな程度の俺が、神プログラマにたいしてけんか売ってる訳じゃないですよ! 断じて!)。

解説書のサンプル程度の長さだったら、それをいじくることでいろいろなことを発見したりできるんだけど、たとえばQuakeIIIArenaのような、巨大なソースコードの場合、こんな物いじくったって上達どころか、投げ出してしまいますよ。

そうじゃなくても、いわゆる上手い人の芸術的なプログラムというのは、プログラムを短く、簡単に読め、そして汎用性・運用性のあるように作ってあるから、確かにこれを理解すれば、ものすごい力がつくだろうけど、だいたいそのリストの中で行われていることは、上級者向けのプログラム解説本に書かれているテクニックを使いまくってるわけだから、初心者にはとうてい理解できないんだよね。たとえプログラム自体が短かったとしても。

そこで「自分と同じぐらいの技量の人のプログラムリストをいじくる」ということについて考えてみましょうか。

おそらく、そのソースコードは別に美しくもなく、バグも含まれてるだろうし、無駄だらけのアルゴリズムが満載かもしれない。でも、一読して理解できないような難しいテクニックは全然使われていないわけだから、ソースコードの改造は容易に行えるし、一部分を印刷して、何も参考にすることができない電車の中などで、そのプログラムを読んでも、たぶんほとんど理解できるんじゃないかな?

そして俺ぐらいのレベルだと、知識は穴だらけだったりするわけなんだけど、自分の穴の部分が、その手にしてるソースコードに書かれていればもうしめたものじゃないですか。そこには自分の知らなかった手法が書かれている。でも、プログラム自体はそれほど難しくないから理解が容易。よっしゃ憶えたぜwwwwwみたいに。

RPGでいきなり高レベルダンジョンに潜って強い敵を倒して武者修行するよりも、手頃なダンジョンで手頃な敵を倒しまくった方が、結果として早くレベルアップするのと同じ考えですな。



で、俺ってブーンやRUSH OUTのようなゲームのソースコードは、
「プログラムがまだ初心者の書いたようなプログラムで公開するのが恥ずかしいぜ!」
という事を理由に非公開にし続けたんだけど(まあ、他にもネットランキングをやってるという点もある)、やっぱ公開していった方が、俺と同レベルで、シューティングやアクションゲームを作ろうとしている人には非常に有益なんじゃないかなーと、ふと思ったんだよねぇ。

いるでしょ、たとえばC++使ってて
「とりあえず3Dキャラを手っ取り早く表示したいんだけど」
とか
「STLってゲームでは、具体的にどう使うんだよ」
とか
「道中やボス戦、タイトルやエンディングを、どうやってメインプログラムに共存させてるのか?」
とかそういうレベルの人。こういう人たちにとっては、もしかしたら俺のプログラムがメチャクチャ参考になる人も中にはいるんじゃない?

そんでもって「○○の処理をもっと詳しく教えてヾ( ゚д゚)ノ"」とか、そういう書き込みが掲示板やblogのコメントに書かれて、結果として全体的なHPの活性化にも繋がってくれれば最高なんだけどな。

ただまあ現状だと、うちのHPにそういう物を期待してきている人がいるかと思うと、ちと疑問なので(HP公開してから6年。ベーマガ関係以外でいまだかつてその手の人間が現れたことがない。プログラム関係だと、blogのコメントなんかもほとんど書かれないしな)、公開はまだまだ検討段階かな...下手に公開してm9(^Д^)プギャーされたら嫌だし(ぉ

シューティングに関して言えば、STG板で何かかれるかわかったもんじゃないからな。

つーわけで何かご意見とかあれば、匿名でよいので(普段も匿名OKだけど)、なんでもくださいよヾ( ゚д゚)ノ"


nice!(0)  コメント(7)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 0

コメント 7

R

はじめまして。
最近 DirectX でプログラムをはじめたものです。
DirectX の変遷が複雑で書籍のコードが最新版でエラーになる場合など、他の方のソースを参考にできたらうれしいです。

確かに自分もソースを見せろといわれると恥ずかしいですが、コードレビューとかをすると勉強になりますしね。

一方で、ただのソースくれくれ君が多いのも事実で、ある程度あきらめも必要なのかなとも思っています。今のところ公開しているソースに m9(^Д^)プギャー されたことはないけど、何人か指摘していただいた方がいて本当にありがたかったです。

ブーンはまだやっていないのだけど、近いうちにやってみたいと思います。
次のゲームに期待してますw
by R (2005-10-17 10:48) 

iwasaki_p

ヅラchu氏からは、メッセンジャーでコメントもらったんだけど、やっぱり公開していった方がいいんじゃないかという結論に。実際にその後、俺のゲームのソースを渡したら、わりと初歩的だけど気がつかなかった点がいくつか発見できたんで、俺としてもこれは有益なんじゃないかなと思い始めてきているところ。


>Rさん
はじめまして!
ソースコード公開はかなり前向きに検討中なので、今しばらくお待ちを!

>DirectX の変遷が複雑で書籍のコードが最新版でエラーになる
Dx9.0b→cだけでコンパイルできなくなったりしますからねぇ。

>ただのソースくれくれ君が多いのも事実
昔とは違い、最近はROMってる人の割合が非常に増えてきてるんで、そういった意味でかなり躊躇しています。せっかく公開したのに、自分にとって全く見返りがないのならば悲しいですから(´・ω・)

>何人か指摘していただいた方がいて
昔は、BASICマガジンなどに投稿すれば、こうやって必ず悪い点は指摘してもらえたんですが、いまではなかなか不都合点を指摘してくれる人は少ないので、そういう人は貴重ですね。他の人から指摘されると、自分にとってもかなりプラスになりますよ。

>ブーンはまだやっていないのだけど
あのゲームは正直、ゲームから見てもキャラや世界観から見ても、プレイヤーを選ぶ内容なので、それほどSTGに興味がなければ、付属のリプレイデータを見るぐらいでも十分じゃないかな。
次のゲームはなんか、もしかしたらバリバリ3Dの凄いゲームになるかも|ω・)


ところで、mixiでもいいし、会員制のHPでもいいし、ともかく何かそういう、自作ゲームのソースコードをオープンにして、みんなで議論し合いながら切磋琢磨できるコミュニティがあると、なかなか良いと思うんだけどどうだろう?

まあ、このご時世、開発言語一つとっても、VC++、VB.NET、HSP、BC++Bなど、多種多様に分かれてるから、本当にある一定数の人が集まらなきゃ機能しそうにないんだけどね...ただ、それでも上手くすれば、往年のベーマガのような環境が再現できそうな気がしないでもないな。
by iwasaki_p (2005-10-17 23:54) 

R

こんにちは。レスありがとうございます。

>ソースコード公開はかなり前向きに検討中なので、今しばらくお待ちを!

はい、楽しみにしております。
必ずレスしますんで

>次のゲームはなんか、もしかしたらバリバリ3Dの凄いゲームになるかも|ω・)
こういうときの開発モチベーションのためにも、みんなからレスがあったりするとやる気がでますよね。

>ところで、mixiでもいいし、会員制のHPでもいいし、ともかく何かそういう、自>作ゲームのソースコードをオープンにして、みんなで議論し合いながら切磋琢>磨できるコミュニティがあると、なかなか良いと思うんだけどどうだろう?

いいんじゃないでしょうか。以前と違って匿名性が高いとあらしたりする輩もふえてきますから、特定のコミュニティ内でソースを公開するというのもありだと思いますよ。
by R (2005-10-18 10:25) 

JZ5

そーすふぉーじはだめなのかー
まあ公開しても切磋琢磨にってのはなかなかきびしそ

このソフトどうやってんのかソースでしりたいってのは多々あるよね
.NETなら逆コンパイル(?)でソースを見るのは可能だが
C++は厳しいな 使用してるWinAPIぐらいは分かるはずだけど
by JZ5 (2005-10-19 03:17) 

iwasaki_p

いま、rush outとブーンのソースを公開用に手直し中。ただ、基本的にネットランキング周りのみの修正で、C++初心者の頃に書いたバカみたいなアルゴリズムとかは、全く手直ししない方針です。

ところで、いろんな言語で、みんながみんなのプログラムを評価しあって、それを一冊の本にまとめれば、それだけでベーマガみたいな物が出せそうじゃね? って思ってるけど、まあ無理だな。


>Rさん
>こういうときの開発モチベーションのためにも、みんなからレスがあったりするとやる気がでますよね。
ですねー。
別に開発に限らず、普通にblogなんかも書く楽しみが出てきますねぇ。俺としても、もっといろんな人と交流を図っていきたいと思ってるんですが、いかんせんここに来る人は(まあうちに限った事じゃないけど)、遠くから眺めて終わりーって人が多すぎで残念です。

>いいんじゃないでしょうか。以前と違って匿名性が高いとあらしたりする輩もふえてきますから、特定のコミュニティ内でソースを公開するというのもありだと思いますよ。
個人的には荒らし云々よりも、具体的にどういう人が落としてくれたのか、とか、どれぐらいの需要があるのか、というのが知りたいところかな。


>JZ5氏
>そーすふぉーじはだめなのかー
詳しく。
ってか、何それ( ゜д゜)

>まあ公開しても切磋琢磨にってのはなかなかきびしそ
まーね。でもやっぱ、人に見られるとなると、アホみたいなコードは書けなくなるから、少なからず自分にとってはプラスになるんじゃないかな。そしてそんなノリで、みんなが公開していったら、結果としてプラスになるんじゃないかという夢物語でした。

>このソフトどうやってんのかソースでしりたいってのは多々あるよね
あるある。実用プログラムの方が多いかな。

>.NETなら逆コンパイル(?)でソースを見るのは可能だが
>C++は厳しいな 使用してるWinAPIぐらいは分かるはずだけど
なるほど、.NETだと逆コンパイラがついてるのか...知らなかったし。俺もそろそろ、.NETに移行する時期が近づいてきてるのかも。

って、XPのhome版で動かなかったり|ω・)
by iwasaki_p (2005-10-20 02:25) 

R

そーすふぉーじは、
http://sourceforge.jp/ または
http://sourceforge.net

で、オープンソース開発用の無料のコミュニティスペースです。
結構いろいろなソースがみれるので勉強になるかと思います。

ディスカッションとか更新が活発かどうかはランキングで表示されます。
by R (2005-10-20 10:12) 

iwasaki_p

なるほどー、こんな物があったのか( ゜д゜)

比較的大きなツールとか、そういう物の場合だと、ここを上手く活用していけばいい感じに開発が進みそうだけど、ゲームだと利用がちょいとむずそうだな。

でも、いろんな人のソースが見れるのはなかなか良いですね。
by iwasaki_p (2005-10-21 14:12) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。
メッセージを送る