往年の名作フリーゲーム「CardWirth」、失われたソースコードが復元される 72
ストーリー by hylom
おっさんほいほい 部門より
おっさんほいほい 部門より
あるAnonymous Coward 曰く、
やや旧聞となるが、かつての名作フリーゲーム「CardWirth」において、オリジナル開発者が紛失したソースコードを第三者による解析で復元することに成功したとのこと。
CardWirthと言えば2000年前後におけるPC系雑誌付録CDの常連であり、たびたび特集も組まれていたため記憶に残っている/.J読者諸氏もいるのではないかと思う。今でもVectorには専用カテゴリが存在しており、大量のシナリオが登録されている。
しかしバージョン1.28を最後に開発は停止、ソースコードを紛失したということもあり、それから6~7年たった今はかつての勢いも影を潜め、愛好者により細々と続いていたようだ。
このように開発停止したフリーソフトは数あれど、第三者の解析によりソースコードを復元して復活した例というのは非常に珍しいのではないだろうか。復元には1年を要したとのことで、復元者のツイートからもその苦労が窺える。
気が遠くなりそうな作業に頭が下がる思いだが、/.J読者諸氏はどう感じるだろうか。
ところがしかし (スコア:5, 興味深い)
バージョン1.60はデータ圧縮どうこうで揉めて開発者がブチ切れて辞めてしまったようです [bitbucket.org]
Re:ところがしかし (スコア:1)
元のゲームなんか知らんけどさ、
自分が注力した物に対して外野がどうこうしろとか指図するなら俺だって公開止めるわ。
インセンティブも無いのに文句言われるとか理解できんよ。
ffftp、夜フクロウ、MMD、そして今回のこれ。
手前で開発もできないくせに口だけ挟んでくる乞食にはうんざりするわ。
Re: (スコア:0)
互換性が無いデータが流通する位なら、公開停止の方がマシって話だから、それで丸く収まるんじゃない
Re: (スコア:0)
いや元の開発者が今の開発者に文句言ってるんだろこれ
Re: (スコア:0)
うひゃぁ……しかしなんで圧縮なんて思いついたのかね?
圧縮がしたければ単なるzip圧縮にでもしとけばいいのに。
Re: (スコア:0)
このゲームで遊んでた頃、中高生くらいだったと思うけど、ぼくのかんがえたさいきょうのあっしゅくけいしき!とか考えなかった?
そして自分で奥村氏のアルゴリズム本とかを見ながら実装したHuffmanやLZSがハイパー遅くて絶望するという。
そんな感じの延長ではなかろうか…
Re: (スコア:0)
技術屋の悪い癖ってやつじゃないですかね。
わたしなんかは仕事でも面倒だからzipでいいだろzipで押し通しますが、なんか思いついちゃったら使いたくなる人もいるのでしょう。
Re: (スコア:0)
互換エンジン排除じゃないの?
純粋に圧縮が目的であればbzip2,gzip,lzma当たりを使えばいいわけですし。
Re: (スコア:0)
なんやら外野には意味が全く分からないが、オープンソース派とクローズドソース派の仲たがいですかね。
3 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2013/11/21(木) 15:01:16.97 ID:QImsyUiS
今回のまとめ
長月「1.60でシナリオデータが圧縮されるのはどういう意図?」
Lyna「お断り!態度が気に入らない!バーカ!で迷ってる」
Lyna「でも積み上げてきた物の根本に蹴り入れるの大好きなんですよね マゾ?いや正反対の方」
マッキー「pyすごいな。長月さんお話しませんか」
マッキー「あとこの件まとめました」
simoom「私も以前から疑問がありました」
長月「今週ならいつでも」
マ
Re: (スコア:0)
わかってる人にしかわからないまとめですね。
Re: (スコア:0)
まとめの筈なんだが、二行目からもう理解できない。
Re: (スコア:0)
まとめじゃない。
本当のことさ。
Re: (スコア:0)
うは。
しかし28万行の逆アセンブルコードを
1年解析するほどの圧倒的なモチベーションをもってしても、
こういう時だけでてくる人たちに対してはかくも脆いのか。
逆に (スコア:0)
それだけ愛着を持っているからこそなんだろうなという感じも。
一からオープンで作りなおしたほうがみんな幸せになるんじゃないかなーって外の人は思ってしまうな・・・・
Re:逆に (スコア:4, 興味深い)
https://twitter.com/lynatan/status/400102458795360256 [twitter.com]
によると、再実装者にとって、オープンソース化は全く嬉しくもなんともないでしょうね。そもそも、リバースエンジニアリングとはいえ、他人の褌で相撲を取ろうとしたところに、わざわざ独自要素を付け足して囲い込もうと画策したわけですから。
つまり、「純然たるファン活動」はやっぱり動機として弱すぎるのでしょう。こういうケースの場合、「再実装したらファンを全て自分の資産にできる」という点が魅力なのはわかる気がします。でも、後からPython版が出てきてしまったから、囲い込みはできなくなって、オープンソースを非難する文脈で投げ出すしかなくなってしまった、と。
そりゃあ、私が再実装する場合でも、オリジナル版の「フォーマット」が実装依存である以上、そのフォーマットを変えられないならやる気もそがれますよ。オリジナル版の仕様上のミスを訂正できなくなってしまいますからね。
ただ、両者の論点を考えると、「フォーマットを公開する」のと「オープンソース」の区別がつかない(振りをしている)再実装者が滑稽に見える、ってだけの話で。「フォーマット」がテキストとJPEGとかの組み合わせなら、そもそもなんで逆汗する必要があったのか、とかは気になりますけれど。
Re: (スコア:0)
既にオープンソースのクローンがある。
今回シナリオデータが圧縮されたらアクセスできなくなるから問題になってる。
Re: (スコア:0)
ん?オープンソースのクローンを育てて行ったほうがいいんじゃないの?
新バージョンとは決別して
# 周辺ツールも新バージョンサポートする必要ないって
Re: (スコア:0)
だよねぇ、何の問題も無い。
結局自分じゃ何もしないで要求だけは一人前というありがちなアホが話を拗らせたようにしか見えない。
仕様に文句があるならテメーでやれってだけの話だな。
Re:逆に (スコア:1)
辞めます宣言したのはオリジナルソースの復元者で、
もう一方の当事者はクローンを作った人じゃないの?
開発者同士のポリシーのぶつかり合いに見えるけど、
データフォーマットがフォークするとフォロワーが不幸になるので
フォーマットオープンにしてもらえませんか?って話に見えるが。
結局、復元者側の圧縮(暗号化?)の理由が示されてないので、
囲い込み批判は免れないかなーと思う。
Re: (スコア:0)
それこそクローン作った人は好き勝手に実装すりゃいい話な気が…
その上でどちらが主流になるかなんてのは利用者が選択することだし。
何が問題なのか見えない。
Re: (スコア:0)
圧縮形式自体はリバエンすれば良いだけで。問題はコミュニティを無視してることじゃないかなぁ。
Re: (スコア:0)
コミュニティはほとんど歓迎ムード。
圧縮することとその理由は導入されるかなり前に復元者から説明されていて、
その時点も現時点でも反対意見というのは実はほとんど出ていない。
Re: (スコア:0)
クローンの時点で人のふんどしでプログラム作ってるんだから問題はある
Re: (スコア:0)
それと「圧縮アルゴリズムが非公開」ってのは無関係ですよね?
非公開である理由の明確な説明があれば、クローンの人も拘らないと思うんですが。
それこそ「互換エンジン排除のため」とかぶっちゃけたとしてもねw
Re: (スコア:0)
オリジナルの開発グループの方針が
「特定人に権利を与えるのではなく、ユーザー全員に平等に許可を出す」というものなんだけど、
ソース復元者は準公式と見なされてる団体に加入してこれからは俺が公式でいと後継Verを名乗ったのが最大の問題じゃないかなあ。
実際に勘違いしてるにわかユーザーも多数。
Re: (スコア:0)
逆アセンブルでソースコード復元した人も、その立ち位置はそれまで蓄積されたコンテンツに由来しているんだから、これも人の褌云々と言えなくもない
Re: (スコア:0)
何だ、じゃあ過去ログを漁れば分かるのかな?
盛んに発信しているのはTwitterのようだしその辺りを見てみるか……
今回の質問者は、bitbucketに長文エントリ作ってるし
どうも開発者のコミュニケーションプラットフォームの違いが温度差というか
齟齬を産んでいるようにも思えちゃうな。
Twitterって、まず作っちゃおうぜ!な人たちが集まってる気がするし。
ちゃんと考えてからつくろうよ!ってのとは相容れないのかも。
Re: (スコア:0)
そこはブチ切れさせた側が直接書いてる主張なので、ちょっと情報としては偏ってます。
実際は見えないところでかなり無茶苦茶な要求や脅迫まがいの因縁を付けられたそうです。
(さすがにそこに書かれている内容だけでブチ切れるのはおかしいですし)
圧縮は元々カードワースが古いゲームということもあり、素のBMPやWAVを使うユーザーが多く、
テキスト主体のゲームということで内部に文字列も多く含むため、それらをゲーム用ファイルに埋め込む際に肥大化を防ぐ目的があったようです。
その際、第三者が読み取れなくなるのを防ぐためにデータの操作用DLLが公開されることは開発者から発言がありましたし、時間ができれば仕様を公開することも考えていたそうです。
しかしオープンソースのクローンを作っていた人が排除されたと思い込んでしまい、上述の結果に至ったというのが真相のようです。
せっかくの成果も双方のすれ違いが原因で崩れるというのは悲しいですね…。
# 中の人に近いのでAC
Re: (スコア:0)
ソースは?
Re: (スコア:0)
>その際、第三者が読み取れなくなるのを防ぐためにデータの操作用DLLが公開されることは開発者から発言がありましたし、時間ができれば仕様を公開することも考えていたそうです。
このエビデンスは欲しいね。これが明確に存在すれば話は変わってくるし、
公に引用できるソースが無いレベルであれば、伝わらなくて当たり前だし。
Re: (スコア:0)
>>第三者が読み取れなくなるのを防ぐためにデータの操作用DLLが公開されることは開発者から発言がありました
>このエビデンスは欲しいね。
#2506667で引用されているURLのページ冒頭のこのツイートじゃないの
https://twitter.com/lynatan/status/392283376788316161 [twitter.com]
Re: (スコア:0)
出すかも知れません
だと弱いよなあ。(=出さないかも知れません)なわけだし。
この発言だけなのだったら、周辺開発者が不安になるのは分かるわ。
金と生活がガッツリ絡むSI案件だって、ホウレンソウの不足で分解爆散するわけで。
趣味の開発であればなおさら、くどいほどコミュニケーション取っておかないと
ぶっ壊れるのは当たり前なんだよなあ。
Re: (スコア:0)
周辺開発者と言っても、CardWirth自体は単体で機能してるシステムだからなぁ
自分も結構遊んでるけど、周辺で開発されてる別のツールなんて使ったことないし、使う必要を感じたこともない
あるソフトに依存するサードパーティー製ソフトをライセンス受けてたわけでもない開発者が作ってたら、元のソフトが仕様変更されて、サードパーティーが無理筋に騒いだ、って案件だよね、これ
Re: (スコア:0)
全然違うでしょ。本体システム開発の話だから
オリジナルの準公式継承者と互換本体開発者の齟齬
Re: (スコア:0)
で、データの操作用DLLのメンテナンスを止める事で自分だけが唯一のクローンになれる、と。
(#2506781) [srad.jp]の分析じゃないけど、フォーマット非公開のまま幾らAPI提供したってそりゃ駄目だわ。
便乗して逆汗版のオープンソース化を要求した馬鹿が居たのならそれはそれで問題だけど、
逆汗だろうがしょせん互換版に過ぎないってのに互換性捨ててコミュニティ割ろうとしたらそりゃ非難されるよ。
第一、圧縮のフォーマットが複雑ってどんな圧縮掛けるつもりなんだと。
うわ、懐かし・・・! (スコア:2)
中学生の頃にやってました。
学校でも自宅でも。OSはWin98SEでした。
ソースコードが復元されたという事は、移植される可能性があるという事かな?
でも今のゲームほど複雑じゃないから、互換ソフトはソースコード無しでも作れそう。
時間があればまたやってみたいな。
# で、これっておっさんホイホイなの?
Re: (スコア:0)
ホイホイですな
ちなみに大学生の頃に当然Win98SEで
Re: (スコア:0)
これ、BM98、MUGENあたりを当時よくやってた
もうおっさんほいほいに引っかかるようになってしまったのか…
Re:うわ、懐かし・・・! (スコア:1)
自分もWindows 95時代にBM98とともに遊んでいた世代です。高校生のときだったはず。自分でもシナリオ作ろうとして、絵をかけずに挫折したのが思い出されます……。
有名とされる割に (スコア:0)
自分はCardWirthを今まで知りませんでした。もう若くないのですが。
「東方・ひぐらしになれなかった同人ゲーム」と捉えればいいのかな?
Re: (スコア:0)
むしろ「TRPGっぽいゲームを遊ぶためのフレームワーク」だから全然違う。
どちらかっていえば「RPGツクール」とかそういうのに近いモノだと思うよ。
Re: (スコア:0)
ググってみたら、スクウェアのワンダースワンカラー用ソフト「ワイルドカード」みたいな感じらしいと理解した(っていうか元ネタ?)
Re:有名とされる割に (スコア:1)
アイホン [aiphone.co.jp]は、地道な努力で生活を支えています。
ジャンルはTRPGってことでいいんだよね? (スコア:0)
TRPGで遊んだことなかったからか、大学生の頃、PCにインストールしたはいいが、遊び方が分からなくて結局挫折した覚えがある。
ジャンル的には、TRPGってことでいいんだよね?
Re: (スコア:0)
今、マスタできて遊びながらシナリオ修正できる人工知能ってあるの?
#その場でシナリオを修正してどんどん横道に行くのがTRPGだと思ってるAC
Re:ジャンルはTRPGってことでいいんだよね? (スコア:1)
今、マスタできて遊びながらシナリオ修正できる人工知能ってあるの?
#その場でシナリオを修正してどんどん横道に行くのがTRPGだと思ってるAC
横道にそれていくパーティーを
・宥めすかして前に進めたり
・横道の先に目的地をつなげたり
・横道のように見せかけた正道を作ったり
・いっそのこと横道イベントを充実させてみたり
・強権発動させて叩き出したりする
というGM側の楽しみと、
・宥め賺されて妥協する見返りをゲットしたり
・シナリオどおりに大人しく進んでせっかくの横道準備が無駄になって凹むGMを見たり
・強権に対しダイスの神を降臨させて突破してみたり
とかのプレーヤー側の楽しみと
両側の楽しみがあるのがTRPGですよね?
# 実際プレイしてた期間は短いのでベーマガのリプレイ連載から想像力で補った理解です
相当昔の話らしいんだけど (スコア:0)
なんで今頃スラドにのるの
Re: (スコア:0)
載ってなかったからじゃない。
RPGに時間を吸い取られる人は
幸か不幸か。
#DQ3で気が付いたので止めているおっさんです。Hi
Re:そもそもソース復元する必要はあったのか? (スコア:1)
言語がPascalなのは、元ソースがPascalだからじゃないんですか?
Re:そもそもソース復元する必要はあったのか? (スコア:1)
↑これが、
↑この解釈になる感覚の方がすごいぞ。
LIVE-GON(リベゴン)