- ベストアンサー
別ハードで作る場合作り直しと変換どっちが楽ですか
あるオンラインゲームの開発者の放送を見ていたら、 今Mac版も開発していて、 それは今動いているウインドウズ版を自動でMac版に変換するプログラムを走らせて、Macでも動くかどうかを検証している、という話をしていました。 そこで初めて、「なるほど!」と思ってしまったのですが、 そんな事ができるなら、Switch版、ウインドウズ版、Mac版、PS4版、Xbox版、全部出せばいいのに、と思うのですが、それはかなり大変な作業なのでしょうか? プログラムのことがまったく分からないのですが、一から作り直すのと変換プログラムを書くの、どのくらいの大変さが違うのですか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
問題は 1.コンバージョンする先のOSのコードが公開されているか 2.OS同士がコンバージョンできる互換性があるか という条件があることです。 実は最近のMacOSはUnixベースでして、WindowsもUnixとの互換性が ある程度検証されていることと、双方のOSとも「ドライバ」を他社に 作ってもらうために、ある程度内容が公開されているという面がある んで、変換プログラムが「書きやすい」んです。 でも、ゲーム機は、OSの内部が公開されておらず(特にニンテンドー は全くの極秘です)、バージョンアップが早いので、互換性の検証も 同一会社の上位機とでさえ行われてないことが少なくなく、自動で 何とかしようにも「手がかりすらない」のが普通です。 なので、他機種での動作は、ソースコードベースから書き直す方が 早くてテスト検証も楽なんですね。とりあえず、各ゲーム機とも独自 コードとは言え、大概C言語ベースで出来ていますから、ソースコード を打ち込む方が、OSの密林に踏み込むより楽なんですよ。
その他の回答 (4)
- hahaha8635
- ベストアンサー率22% (800/3610)
誇張してる放送&TV製作者が素人です DirecxtXをつかったゲームは マックには移植不可能です マックにはDirectXが存在しないから java版のことだと思います java版はjavaが動けば互換性があります https://dic.nicovideo.jp/a/java
お礼
その放送では、そのまま移植とは言ってませんでした。 Mac版も開発しているが、それはウインドウズ版をサーバーがMac版のデータとして書き換えて走らせるプログラムを組んでいる、 その書き換えのロスがどのくらいかを見ているが、製品版としても通用するレベルだろう、みたいな話でした。 私はプログラムの事はよく分からないのですが、凄い話だなぁ、と思ったと同時に、そうやってハードの違いを乗り越えているのか、と驚きました。 回答、ありがとうございました。
ちょっと回答が不完全で、質問者さんにフォローさせてしまったみたいなので補足を。 味噌汁に例えた者です。 どれくらい大変か?は、開発言語とソフトの内容にもよるというのは一緒。 料理の作るためのレシピを、翻訳するのと同じ程度大変と言うイメージです。 味噌汁を作るのに、味噌はmisoみたいに単純に変換できる部分もあるんだけど、OSや使ってる言語によって、概念のあるなしや直接変換できないことがある。 一番わかりやすいのが、Windowsにはマウスの右クリックはあるけど、マックではないケースが多いとか。 味噌汁で言えば、味の素?出汁?コク?PS4の国に住んでる我々には、それがわからないよ?となる。 なので、なんとか僕たちにわかるように言い換えてってなるんだが、これが大変で、自動化が難しい。 今でも多分完全に対応はできないはず。 味の素が、商品名だという共通理解がなければ、味の素って、何かのサプリメントなんじゃないか?出汁は、スープをテイクアウトするって意味では?とか、勘違いされる。 こういう共通の認識にない部分は、直接変換ができないので、とても大変。 その対象が複数なら、絶望的に大変。 それなら、うちの国の文化に合わせて、似た料理を作った方が簡単な事もあるってこと。 これが一から作るにあたる。 自動化の大変さは、ゲームの内容や料理の内容によってま、左右されるってこと。 少し余談だけど、どのOSでも動くソフトがあったら便利だよね?という理念で作られた言語がJAVAで、これは動作環境と言うものの上で動く。 イメージはレトルト食品と同じで、食べるときは電子レンジであっためて食べるが前提になる。 ので、電子レンジがなければ、食べられない。 つまり、JAVAの動作環境がなければ動かない。 JAVAは少し言語として遅い(その他の理由もあって)ので、ゲームで使われることは少ないけど、自動変換とかしなくても良い言語ではある。 って感じで、どうでしょかね。 ざっくりなイメージですが。笑
お礼
いやぁ、とても分かりやすくて助かりました。 正直、この手の話は、専門的になって複雑になって結局理解できないで終わるという質問が多いと思うのです。 その中でも驚きだったのが、Macには右クリックが無い、というお話。 え?! って思いました。Macユーザーには当然の事なのかもしれませんが、ウインドウズでずっとやってきた私には驚きでしかない。 JAVAっていうのは、そういう目的で開発されたのですね。 どのOSでも動くソフトというか、OSを一本化したいね、と考えられたのがLinux系のOSなんだとずっと思っていたので、あら、私の考えてたのは違うのだなぁ、と改めて気付きました。 回答、ありがとうございました。
プログラミング言語やソフトによって違います。 と言う答えになると思いますが、イメージで答えると。 例えば、お味噌汁の作り方を、他の国の人に説明しょうとします。 作り方のレシピがあるとよりわかりやすいです。 味噌を知らない国もあるので、味噌の作り方とかも。 でも、豆腐ってなんだ?味噌ってなんだ?から始めると大変です。 出汁?こく?さっぱりわからんぜ!となります。 でも、豆腐はないが豆腐に似たものがあれば、それで代用が効き、味噌汁が出来ます。 これは、開発言語によっては、味噌みたいな共通のものが提供されている言語と、そうでない言語があり、後者の場合は、一から作った方が早いケースもないとは言えません。 って感じで、ニュアンスは伝わりましたでしょうか? あくまで、ニュアンスですが、参考になれば幸いです。
お礼
例えが非常に分かりやすかったです。 味噌の作り方、 大豆を煮る、を、プログラムで大豆イコールピーナッツ、みたいな事を書いていたら、 ピーナッツを煮る、に直してくれるのですね。 回答、ありがとうございました。
- agehage
- ベストアンサー率22% (2753/12077)
ソフトウエアというのは様々な工程を得て製品になるのですが、移植の場合は設計とかはもうしなくて良いので同じ工数はかかりません なので労力としては一般的に半分以下になります しかしいくら安く出来ると言っても、売れない機種のものはお金をかけてもリターンが少ないのでやらないです また、自社に技術がなければやらないですし、あまり売れない機種の技術者を抱えるのも大変です
お礼
半分以下ですか。それはいいですね。 ドラクエ11が、PS4と3DSの二媒体で出たので・・・でも、あれは完全に別々に設計していますよね。 今度Switch版が出るらしいので、それはPS4版の移植という事で手間はあまり掛らないのかな。 回答、ありがとうございました。
お礼
コンバージョンと言うのですね。勉強になりました。 昔のMacはUnixベースじゃなかった、という事ですか? へー、なるほど、OSの中身が公開されていないとそもそも作るの無理なのですね。 回答、ありがとうございました。