シューティングゲーム配布について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
situmon

シューティングゲーム配布について

#1

投稿記事 by situmon » 16年前

この掲示板でゲームを公開させていただいたのですが、
自作のコードとシューティングゲームの館のコードを混ぜてつくったものです。

ですが、あれは果たして自作というものなのか・・・
ということについて、判断が難しいものだったのでききたいです。

たとえば四聖龍神録のコピーをつくってそれを素材もコードもまったく変えず
に配布したら、それは自作とはいえないと思います。
それにそれを公開しても自分で作ってないので、トラブルもでてくるかもしれません。

ではシューティングゲームの館のコードを使用したあのゲームは、
自作といえて掲示板のみならずいろいろなところで自分の手でつくったといって公開できるのでしょうか。

だからといって、最初からすべて自分で、つくろうとしても、
シューティングゲームの館の原理と一緒で、
それに多少はシューティングゲームのコードを使わなくては
自分でつくれません。それでももし最初から自分で作ったら自作のコードだけのゲームと
いえるならばそろそろ、自分で土台をつくったほうがいいと思います。

ですが、なるべくあのゲームのコードでこれからもゲームを作って
自作として公開したいです。ですが、やはりあれも、
アレンジではないそのままあのコードを使って素材を変えただけのゲーム
となるならばいってくれると助かります。

Dixq (管理人)

Re:Dixqさんへ

#2

投稿記事 by Dixq (管理人) » 16年前

素材もプログラムも完全コピーで自作として配布されるのはちょっと問題があると思いますが、
そうではなく参考にして頂いたのであれば、
こちらのサイトの紹介さえして頂ければ問題ありません。

もし自分でアレンジしたいということであれば、配列を使わず線形リストやベクターで作ってみるというのはどうでしょう?
龍神録の館で紹介しているプログラムは線形リストやベクターなどを使わず、予め使うかどうかわからない領域までガッポリ配列で用意しているので無駄ですよね。
そういうところを自分なりに効率化して改善してみてはどうでしょう?
それだけでも色々とプログラムは異なってくると思いますし、独自のアレンジが出来ると思います。

そうではなくて、コードはこのままで自分なりにチョコチョコアレンジして公開したいということなら、
上でも書いたとおり、説明書きさえしていただければ配布して頂いて問題ありません。



また、このトピの題名だと個人的な話のようで「メールでいいじゃないか」という意見が出そうなので、
何か「シューティングゲーム配布について」「館の利用規約について」のような名前がいいかもしれません。

situmon

Re:Dixqさんへ

#3

投稿記事 by situmon » 16年前

>>線形リストやベクターなどを使わず、予め使うかどうかわからない領域までガッポリ配列で用意しているので>>無駄ですよね。
すいません。どういうことでしょう。
また線形リストやベクターについて教えてほしいです。
またそれは中学生でもできる内容ですか?

あとサイトの紹介をすればあのゲームは自作といえるのですか?

Dixq (管理人)

Re:Dixqさんへ

#4

投稿記事 by Dixq (管理人) » 16年前

どのようにサイトで宣伝されるかはお任せしますよ。

後、まずわからないことがあったら先にググってみましょう。

http://www.google.co.jp/search?hl=ja&q= ... ng_ja&rlz=

http://www.google.co.jp/search?hl=ja&q= ... lr=lang_ja

また、これらには数学的な話は絡まないので、やる気さえあれば特に年齢は関係ないと思います。

MNS

Re:Dixqさんへ

#5

投稿記事 by MNS » 16年前

リストについては
http://www.geocities.jp/ky_webid/cpp/library/003.html
ベクターについては
http://www.geocities.jp/ky_webid/cpp/library/002.html
を参考になされると良いと思います。

これらはC++で追加された新たな配列で、
使用する領域をいちいちを決めなくて良い利点があります。

つまりは、
int hairetu[4000];
という配列があったとき、この配列の100個の要素を使ったとしても、
残りの3900個の要素分の領域が使用されません。これは無駄です。

それに対し、リストやベクターは使用する領域を予め決める必要がありません。
常に使用している要素分の領域が確保されます(例外もありますが)

中学生でも十分理解できる内容なので、是非使ってみてください。


私が回答すべきではないのかも知れませんが、

P.S
(やはり回答すべきでないと思いましたので、削除しました)
>>管理人さん
被ってしまい、申し訳ないです。

situmon

Re:Dixqさんへ

#6

投稿記事 by situmon » 16年前

すいません。
ベクターは 決めなくても、自動的に要素数を増やしてくれるもので、

線形リストがどうしてもよいサイトが見つからずわかりません。

でも ガッポリ配列で用意しているので は
たぶんつかわないフォントハンドルの数(たとえば8種類しか使わないのに20個宣言しとくとか・・・)
のことなどですね。

Dixq (管理人)

Re:Dixqさんへ

#7

投稿記事 by Dixq (管理人) » 16年前

>>MNSさん

そこまでお気遣いなさらずとも^^;
ご配慮ありがとうございます。
何でも気軽に書き込みして頂いて結構ですので御気になさらず☆

situmon

Re:Dixqさんへ

#8

投稿記事 by situmon » 16年前

MNSさんの回答がアップされているときにコメントしてたので、
さっきのような回答になり、不快な思いをさせたかもしれません・・・
すいません。お二方ともどうもありがとうございます!

MNS

Re:Dixqさんへ

#9

投稿記事 by MNS » 16年前

>>線形リストがどうしてもよいサイトが見つからずわかりません。

std::list で話を進めます。
ヴェクターと基本は変わらず自動的に要素分だけ領域を確保してくれます。
ただ、ベクターは配列なので、要素を連続したアドレスに確保しています。
そのため、4000個の要素があったとして、200個目のデータを消したときに、後ろの3800個のデータを全て一つ分づつずらさなくてはいけません。
なので、ベクターで途中の要素を削除するのはかなり重い処理となります。

それに対し、
線形リスト(std::list)は、まず要素が違います。
ベクターの要素はただのデータで、メモリに連続的に並んでいますが、
リストの要素はデータと次の要素へのポインタを持ったノードというもので構成されています。
なので、リストの要素はベクターと違い、メモリに連続的に並んでいるわけではありません。
そのため、要素を削除しても、その前後の要素のポインタをつなぎかえるだけなので、
要素の削除がベクターに比べて優れています。

つまり、要素の増減が激しいもの(敵、弾)などは線形リストで管理すべきです。

P.S
詳しくは次のサイトをごらんになってください
http://www.cc.kyoto-su.ac.jp/~yamada/ap/list.html

situmon

Re:Dixqさんへ

#10

投稿記事 by situmon » 16年前

ありがとうございます。
意味が少しわかった気がします。
最近、明快入門C++ シニア編 を買ってもらったのでそれで
ポインタをがんばりたいと思います。

あと別に説明書きがいやというわけではないのですが、
説明書きがいらない完全な自作、とはどういうものでしょうか?

たとえばシューティングゲームの館と原理はいっしょでいいけど、コードはすべて自作で・・・
とか、シューティングゲームの館のように、angleを使ってはいけない!
とか、構造体をつかっての敵の管理を他の管理のしかたに変えましょう!
という原理もちがった、完全に自作(考え方も)でないといけない!
とかです。

それともし自作のコードを使ったゲームをつくったとき、
素材はいままでDixqさんのシューティングの館のコードで作ってた
ゲームの素材を使ってもいいのですか?(つまり前公開してたゲームの自作の素材)

situmon

Re:Dixqさんへ

#11

投稿記事 by situmon » 16年前

あと少し、ポインタについて今日勉強したのですが、
ポインタはどんどんゲーム製作に取り入れるべきでしょうか?

閉鎖

“C言語何でも質問掲示板” へ戻る