web-dev-qa-db-ja.com

AndroidおよびiOSで動作するモバイルゲームでは、ゲームロジックは2回記述されていますか?

私はSupercellのお気に入りのゲームの1つをプレイしていましたが、かなり複雑なゲームで、2つの主要なモバイルプラットフォームにまたがっていると想像しています。

私の質問は、開発者はゲームロジックを2回記述するのですか? iOSまたはAndroidアプリケーションでゲームを開発したことがないので、これに関する私の知識は限られています。

企業は、アプリケーションを作成するだけでなく、ゲームの主要な側面が同期して維持および更新されることを確認する2セットのチームを本当に採用していますか?

私が上記の特定の会社に誰かが私に答えを与えることができるとは思えませんが、おそらく同じようなことはありますか?

2
MZawg

3つの単語:クロスプラットフォーム互換性

ゲームをHTMLとJavascriptで記述した場合、デバイス(最近のほとんどのデバイス)にWebブラウザーが搭載されているすべてのプラットフォームで実行できます。 Javaで記述した場合、Javaランタイムがインストールされていればどこでも実行できます。

特定のプラットフォームをターゲットにしてゲームを作成する場合は、プラットフォームごとに再度作成する必要があります。利点は、プラットフォームにネイティブな機能を利用するようにゲームを調整し、一般的に可能な限り最高のパフォーマンスを得ることができることです。

Xamarinのような一部のツールキットでは、各プラットフォームのいくつかのネイティブ機能を利用しながら、一度ゲームを書くことができます。

6
Robert Harvey

これで、コードを2回記述する必要がなくなりました。

クロスプラットフォームの互換性を提供する言語を使用できます。

flutterを使用できます。Flutterは、モバイル、ウェブ、デスクトップ用のネイティブにコンパイルされた美しいアプリケーションを単一のコードベースから構築するためのGoogleのUIツールキットです。

ゲーム開発にはUnityを使用できます。Unityは、コンソール(Xbox、PlayStationなど)、デスクトップ(Windows、Linux、macOS)、およびモバイル(AndroidおよびiOS)用の2次元および3次元の両方のゲームを作成するために使用されます。エンジンは主にコーディングにC#を使用します。

javaScriptエンジンを使用してモバイルおよびWebゲームを開発できます。Phaser、Pixi.js、Babylon.js、Cocos2dなどを使用できます。

3
AjayGohil

昔はそうでしたが、ゲームのロジックを2回書くことになります。

しかし、現代では、ゲームロジックを nity または nreal Engine のようなサードパーティのゲームエンジンに対してターゲットにするので、ゲームロジックを2回記述する必要はありません。お気に入りのモバイルプラットフォームにすでに移植されています。そのようにして、好みのゲームエンジンの経験を持つ人々を雇います。

ただし、お気に入りのモバイルプラットフォームのUIとのインターフェース方法を知っているスペシャリストが必要ですが、それはゲームロジックから完全に分離されており、ゲーム自体の小さな側面である必要があります。

2
Peter M

JavaScriptの使用の有無にかかわらず、クロスプラットフォーム機能を提供する Haxe のような他のさまざまな言語もあります。 Appleの「Swift」など、他の言語も非常に速くそれに追随しています。 Google(もちろん...)は最近、強力なクロスプラットフォームモバイルエンジンを導入しました。

その理由の一部は、allモバイルデバイスの両方が非常に強力になり、重要なハードウェア設計に収束しているためだと思います。一部の人々はスーパーマーケットのチェックアウトラインで安い電話を購入し続け、あなたのゲームがそれらをサポートすることを期待しますが、私はそれが急速に消えていると思います。私たちがより多くのゲームを書き、それらを公開することでより良くなるにつれて、私たちが使用するツールはクロスプラットフォームに自然になっています。

1
Mike Robinson