質問

I was playing one of my favorite games from Supercell, and I imagine it’s a rather complicated game, and it stems across the two main mobile platforms.

My question is, do the developers write the game logic twice? I’ve never developed games on iOS or Android applications, so my knowledge on this is limited.

Do companies really hire two sets of teams that not only create the application, but then make sure key aspects of the game are maintained and updated in sync?

I doubt anyone will be able to give me an answer to the specific company I mentioned above, but maybe something similar?

役に立ちましたか?

解決

Three words: cross-platform compatibility.

If you write your game in HTML and Javascript, it will run on any platform where there is a web browser on the device (which is most devices nowadays). If you write it in Java, it will run anywhere there is a Java runtime installed.

If you write your game to target specific platforms, you will have to write it again for each platform. The advantage is that you can tailor your game to take advantage of features native to the platform, and generally obtain the best possible performance.

Some toolkits, like Xamarin, allow you to write your game once while still taking advantage of some native features of each platform.

他のヒント

In ye olden times yes, you would write the game logic twice.

But in the modern era there is no need to write the game logic twice as instead you would target your game logic against a third party game engine such as Unity or Unreal Engine which has already been ported to your favorite mobile platform. In that way you hire people with your preferred game engine experience.

However you will need specialists that know how to interface with the UI of your favorite mobile platform, but that is totally separate from your game logic, and should be a minor aspect of the game itself.

Now there is no need to write code twice.

you can use language which provide cross-platform compatibility.

you can use Flutter ,Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

you can use Unity for game development.Unity is used to create both 2 and 3-dimensional games for consoles (Xbox, PlayStation, etc.), desktops (Windows, Linux, macOS), and mobile (Android and iOS). The engine primarily uses C# for coding.

you can use JavaScript Engines To Develop Mobile And Web Games.you can use Phaser,Pixi.js,Babylon.js,Cocos2d etc.

There are also various other languages like Haxe that provide cross-platform capability, with or without the use of JavaScript. Other languages are very quickly following suit, such as Apple's "Swift." Google (of course ...) has recently introduced a powerful cross-platform mobile engine.

Part of the reason for this, I think, is that all mobile devices are both becoming very powerful and are converging in their essential hardware designs. While some people will continue to buy cheap phones in supermarket checkout lines and expect your game to support them, I think that's disappearing fast. As we write more games and get better at publishing them, the tools we use are becoming cross-platform quite naturally.

ライセンス: CC-BY-SA帰属
所属していません softwareengineering.stackexchange
scroll top