合計 昨日 今日

アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)
日記
- 10月 2017
#プログラマ狩り (15)
   2017年10月12日(木) 21:25

+ 9月 2017
+ 8月 2017
+ 7月 2017
+ 6月 2017
+ 5月 2017
+ 4月 2017
+ 3月 2017
+ 2月 2017
+ 1月 2017
+ 12月 2016
+ 11月 2016
+ 10月 2016
+ 9月 2016
+ 8月 2016
+ 7月 2016
+ 6月 2016
+ 5月 2016
+ 4月 2016
+ 3月 2016
+ 2月 2016
+ 1月 2016
+ 12月 2015
+ 11月 2015
+ 10月 2015
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 6月 2015
+ 5月 2015
+ 4月 2015
+ 3月 2015
+ 2月 2015
+ 1月 2015
+ 12月 2014
+ 11月 2014
+ 10月 2014
+ 9月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 5月 2014
+ 4月 2014
+ 3月 2014
+ 2月 2014
+ 1月 2014
+ 12月 2013
+ 11月 2013
+ 10月 2013
+ 9月 2013
+ 8月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 4月 2013
+ 3月 2013
+ 2月 2013
+ 1月 2013
+ 12月 2012
+ 11月 2012
+ 10月 2012
+ 9月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 4月 2012
+ 3月 2012
+ 2月 2012
+ 1月 2012
+ 12月 2011
+ 11月 2011
+ 10月 2011
+ 9月 2011
+ 8月 2011
+ 7月 2011
+ 6月 2011
+ 5月 2011
+ 4月 2011
+ 3月 2011
+ 2月 2011
+ 1月 2011
+ 12月 2010
+ 11月 2010
+ 10月 2010
フォロー
カテゴリー
日常
1 記事

オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月28日(木) 19:49

そういえばある程度規模の大きなゲームのオープンソースってあんまり聞かないですね。

龍神録2をオープンソース化しようと思っていたんですが、
そうするとネタばれはおろか、課金システム作ろうとしているのに
お金の部分いくらでもいじれてしまいます。
改ざん防止策を取っているコードを読まれて改ざんされるかも・・・

ってかソースコードがあるのだからそもそもデータの改ざんすら必要ない。
player->money = 1000000;
とか書けばいいわけだし・・。
自分で変更したデータでビルドしたり変な海賊版が出回る可能性も。

龍神録のようなゲームを作りたいと思ってくれる人の参考になることをしたいと
思う反面こういう対策どうしたらいいのか悩んでいます。
何か良い策はないでしょうか?

コメント数: 13 閲覧数: 12566
コメント

Re: オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月28日(木) 19:52

龍神録プログラミングの館の時はグローバル変数を用いた構造に全部作り変えてHPに掲載する専用のコードを一から作ったわけですが
(あぁ早く館閉鎖したい・・・)
新しく全く別の公開用プログラム作らないといけないんですかね。
私は一刻も早く「新・龍神録プログラミングの館」を作って
現行の館を閉鎖したいのです。。。
アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)

Re: オープンソースってどうやるの?

パーマリンクby YuO on 2016年1月29日(金) 01:45

オープンソースと秘匿情報 (ここでは課金系) は相性が悪いですね……。
というか,ソースが公開されている以上秘匿でもなんでもなくなるので……。

「ベースシステム」と「派生システム」という形に分離して,ベースシステムをオープンソース化,派生システム (龍神録2バイナリ) に秘匿情報を入れておくくらいでしょうか。
ライセンスは他人のコードを利用する場合のものなので,自分の書いたソースコードに対して自分が設定したライセンスは無視できますし,複数の矛盾するライセンスを設定する(e.g. MySQL : GPLv2<Community Server>とプロプライエタリ<Enterprise>)こともできます。
が,ベースシステムに対するパッチが第三者からGPLで提供された場合,そのパッチを龍神録2バイナリに取り込むことが出来ない,という問題は発生します。
このあたりは割り切りだと思いますが,パッチに関してはそれを見た人はバイナリ用のライセンス安全なパッチを書けない可能性もあるので難しいところです。
ref) Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末 - 西尾泰和のはてなダイアリー
YuO
 
記事: 888
登録日時: 2010年12月01日(水) 01:25
お住まい: 東京都世田谷区
日記: 日記を見る (33)

Re: オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月29日(金) 08:31

YuOさん

なるほど、そうですよね。
コメント頂いた情報を元に考えてみます。
メニューの作り方的なことは掲示板でもしょっちゅう聞かれるのでその部分だけ公開したりモジュール単位で公開したりしましょうかね。
ありがとうございます!
アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)

Re: オープンソースってどうやるの?

パーマリンクby Hiragi(GKUTH) on 2016年1月29日(金) 18:35

>龍神録プログラミングの館の時はグローバル変数を用いた構造に全部作り変えてHPに掲載する専用のコードを一から作ったわけですが
(あぁ早く館閉鎖したい・・・)
新しく全く別の公開用プログラム作らないといけないんですかね。
私は一刻も早く「新・龍神録プログラミングの館」を作って
現行の館を閉鎖したいのです。。。

こ、困る...! 何時か新しい館が開かれたとしても現在のゲームプログラミングの館のように残しといて欲しいです...
受験終わったら再開するつもりですし。 その館の設計方法がどうであれ一応途中だし...(自己中

なんていう人は私以外でも居るんじゃないでしょうか?
アバター
Hiragi(GKUTH)
 
記事: 166
登録日時: 2010年10月16日(土) 20:10
お住まい: 大阪府
日記: 日記を見る (100)

Re: オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月29日(金) 18:54

グクス君

あぁここにも被害者が・・。
アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)

Re: オープンソースってどうやるの?

パーマリンクby どぶろく on 2016年1月29日(金) 20:21

わっ私も困ります。
グクスさんとまったく同意見です。残しておいてー。
(グローバル変数の方が分かり易いですよ、グローバル変数にまったく抵抗感無し)。
どぶろく
 
記事: 35
登録日時: 2012年9月09日(日) 14:56
日記: 日記を見る (25)

Re: オープンソースってどうやるの?

パーマリンクby Hiragi(GKUTH) on 2016年1月30日(土) 21:52

>どぶろくさん

グローバル変数の設計は超マズイらしいんですよねー、
まぁ新しい館がオブジェクト指向もしっかりと理解できる凄い館なら乗り換え(?)ももちろんアリですけど、
難しいんだろうなぁ...(願望)
アバター
Hiragi(GKUTH)
 
記事: 166
登録日時: 2010年10月16日(土) 20:10
お住まい: 大阪府
日記: 日記を見る (100)

Re: オープンソースってどうやるの?

パーマリンクby どぶろく on 2016年1月31日(日) 06:46

>グクスさん
「オブジェクト指向もしっかりと理解できる凄い館なら」ってところが良いですね。
「JAVAでRPG制作」の動画を観て、なるほどって思ったこともありました。
今はインターネッとがあるので、説明のうまい人がいるので、難しいものでも理解できてしまいます。
オブジェクト指向かぁ・・・若いっていいなぁ。
どぶろく
 
記事: 35
登録日時: 2012年9月09日(日) 14:56
日記: 日記を見る (25)

Re: オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月31日(日) 16:23

グローバル変数使うと他人が見たとき、または、1年後の自分が見たとき、変数がどのタイミングでどこで変わっているのか全く把握できなくなってしまうんですよね。
後はモジュールを多重化しようとしたときグローバル変数を使っていたら多重化できなかったり、
後バグがあった時それを取り除く際、見ないといけない個所が1クラス→全体になるので飛躍的に困難になります。
更に、他のゲームにあるモジュール、例えばキーコンフィグやパッド関連などのモジュールを移植する際、クラスになっていれば
ポンと移動できますが、グローバル変数と密着していると引きはがすのに一苦労です。
他にも挙げたらきりがない位グローバル変数の悪しき部分はあります。
もし新しい館を作るなら完全にC++になってしまいますが、それだとハードルが上がっちゃいますかね・・。
なるべくゲームプログラミングの館もピュアCで通してきたんですが。
アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)

Re: オープンソースってどうやるの?

パーマリンクby どぶろく on 2016年1月31日(日) 20:44

こっこれって、いきなり難しい問題になってきたような・・・。
陶芸家が気に入らない作品を自分で割るような感覚なのでしょうか。
一番いいのは管理人さんの思った通りにやることです。
ハードルの高さは学習意欲?の問題なので、ピュアCでも分からない人はいつまで経っても分かりません。
完全なC++いいじゃないですか。管理人さんが思い描く新しい館を作るべきです。
偶然にもDXライブラリの全キー入力を学習しようと龍神録プログラミングの館を見ようと思っていました。
動きのあるゲームじゃなくクロスワードパズルを作ろうと思っていたんです。ただそれだけー。
どぶろく
 
記事: 35
登録日時: 2012年9月09日(日) 14:56
日記: 日記を見る (25)

Re: オープンソースってどうやるの?

パーマリンクby へにっくす on 2016年1月31日(日) 21:07

> 現行の館を閉鎖したいのです。。。

グローバル変数を使う場合とクラス設計をうまくやる場合とで比較ができるので、残すのもアリかなと思ったり。だってせっかくの資産ですし、いい悪いにしろ参考にした人が多くいると思うのでバッサリ切るのもどうかなと。
スキルあがった自分が、過去のソースをみて我慢ができん!という心理はよく分かるのですが、ゲームを作りたい!という視点から見ると、いろんなやり方があっていいものだと思うのですよ。
選択肢はいっぱいあった方がいい。その中でどれが効率的かは自分で体験して学ぶべきですしね。
というわけで、私は現行の館は残してほしいと思います。
(今後のバージョンアップは新しい方にのみ対応します、みたいな感じで)
最後に編集したユーザー へにっくす [ 2016年1月31日(日) 21:22 ], 累計 2 回
written by へにっくす
アバター
へにっくす
 
記事: 604
登録日時: 2012年7月01日(日) 17:32
お住まい: 埼玉県
日記: 日記を見る (161)

Re: オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月31日(日) 22:58

どぶろくさん

私がDXライブラリにとりつかれたのはピュアCでかけること、
独自の構造体がほぼなく、全てプリミティブ型だけで通ったことで少ない知識で理解できることでした。
ピュアCで作れるってのは現行のゲームプログラミングの館でも通したいことなので、
やっぱ館はおいておきましょう。
ただし、サポートはしませんので質問にはお答えできません的な・・。
アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)

Re: オープンソースってどうやるの?

パーマリンクby Dixq (管理人) on 2016年1月31日(日) 23:00

へにっくすさん

そうですね、なんだか恥さらしみたいですが、需要があるのならおいておきましょう・・・。
ただ掲示板でこの館の質問されると心が痛むのです・・。
あぁここにも被害者が・・・的な。
新しい館作ったらサポートはそっちオンリーにしますかねぇ(^_^;)
しかし何歳になっても過去の自分が書いたソースコードは見たくないものですね・・(苦笑)
アバター
Dixq (管理人)
管理人
 
記事: 1513
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (566)

オンラインデータ

登録ユーザー: なし