Welche Programmiersprache wird meistens für Handyspiele verwendet?

6 Antworten

Spiele wie beispielsweise Clash of Clans, JetPack Joyride etc. (...)

Zu Clash Of Clans:

All client code is written in Objective-C and C++, and server code in Java.

Quelle

Zu JetPack Joyride:

Auch dieses Spiel wurde mit Objective-C entwickelt.

Ich wollte mal nachfragen, ob zufällig jemand weiß, welche die meist verwendete Programmiersprache für mobile Spiele ist?

Die tatsächlich meist verwendete Sprache lässt sich wohl schwer nachstellen. Es gibt viele Spiele auf dem Markt von unterschiedlichen Herstellern, die auf jeweils andere Technologien setzen. Z.T. werden auch bekannte / frei zugängliche Game Engines / Frameworks (wie Cocos2d-x, Defold, libGDX, RPGMaker, Unity, Unreal) verwendet, z.T. aber auch wieder proprietäre Technologien, die niemand, außer der Entwickler selbst, kennt.

Davon abtrennen müsste man einmal noch die Apps, die von Hobbyentwicklern veröffentlicht wurden. Diese machen verständlicherweise noch mehr Gebrauch von kostenlosen Tools, wie ich sie oben bereits aufgezählt habe.

Manche Spiele, die einen größeren Marktanteil besitzen, nutzen zudem nicht unbedingt die allerneuesten Technologien. So wird beispielsweise Objective-C nicht so schnell vom Markt vertrieben werden, wenn ein bestehendes System lediglich gewartet und ab und an noch erweitert wird, seine Nutzer jedoch schon ziemlich gut an sich gebunden hat.

Man kann nun aber einmal stichprobenartig nachschauen, welche Tools bestimmte Hersteller nutzen.

Auf Statista wird bspw. eine Statistik präsentiert, welche Spieleentwickler in den USA im letzten Quartal des Jahres 2020 den größten Marktanteil hatten. Folgend kann ich einmal zu den jeweiligen Unternehmen zuordnen, mit welchen Technologien sie (meines Wissens) für diverse Spiele gearbeitet haben.

  • Playrix (die nutzen z.B. für ihr Spiel Gardenescapes die Sprache C++)
  • King (Spiele wie die Candy Crush Saga wurden mit C++ entwickelt; das Unternehmen ist Entwickler der Defold Engine, die mit C, C++ und Clojure zusammengebaut wurde und neben der Entwicklung mit C++ als gut geeignete Engine für Lua gilt)
  • Roblox (nutzt Lua)
  • Supercell (hat für Clash Royale und Brawl Stars C++ mitsamt der eigenen Supercell Game Engine genutzt)
  • Niantic (dieses Unternehmen hat für seine Spiele wie Ingress oder Pokemon Go Java zusammen mit dem libGDX-Framework eingesetzt, wobei bei Letzterem Titel noch weitere Technologien zum Einsatz kamen, z.B. C# mit Unity)
  • Scopely (C# mit der Unity Engine)
  • Zynga (verwendet mehrere Sprachen für unterschiedliche Teilbereiche, so z.B. Java und Objective-C für die mobilen Apps, für den Webserver Java oder PHP)

Ergänzend könnte ich ein paar Spiele auflisten, die recht erfolgreich waren (auch erneut mit einem Blick auf eine Statista-Statistik bezogen auf den Januar 2021).

  • 8 Ball Pool (Java)
  • Among Us (C# mit der Unity Engine)
  • Angry Birds (C++ mit Box2D / Objective-C für iOS)
  • Flappy Bird (Java)
  • Hill Climb Racing (wurde mit Cocos2d-x entwickelt)
  • Splay The Spire (Java mit dem libGDX-Framework)
  • Subway Surfers (C# mit der Unity Engine)
  • Temple Run (C# mit der Unity Engine)

Diese Auflistungen zeigen, dass sowohl C++, als auch Java, C# und Lua eine gewisse Relevanz aufweisen.

MatRob 
Fragesteller
 27.04.2021, 10:19

Vielen dank!

0

Auf Android momentan wohl noch Java, was aber in naher Zukunft von Kotlin abgelöst werden wird, laut Google.

Allerdings sind gerade Spiele erstaunlich oft in C++ geschrieben, da Java / Kotlin hier zu viel Overhead mitbringen.

Je komplexer die Spiele, desto höher die Wahrscheinlichkeit, dass es nur einen minimalen Javawrapper gibt, der das eigentliche C++ Spiel "enthält".

Auf iOS ist Swift DIE Sprache der Wahl. Früher wurde Objective-C genutzt, aber OC war schon immer irgendwie "iiiihh bääähh" und auch wenn Swift mit jeder neuen Version die Abwärtskompatibilität bricht, so es es doch eine viiieeeel elegantere Sprache.

Fazit: Auf Android Kotlin, bzw. momentan noch Java, und für Spiele auch oft C++. Auf iOS hingegen wirst du fast nur noch Swift finden.

Woher ich das weiß:Berufserfahrung

Java .... Wenn Du selbst ein Handyspiel machen möchtest, dann gibt es auf der folgenden Website ein passendes Tutorial! Viel Spaß! :-)

http://www.basteldroid.de/

Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)

Moin,

hauptsächlich via Engines wie Unity in C#. Unity bietet direkt die Option, für Android zu kompilieren.

LG

Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting
MatRob 
Fragesteller
 26.04.2021, 13:37

Vielen dank!

1

Viele Sprachen, wie z.B. Kotlin, etc. Wie aber schon der vorherige Nutzer schrieb, meistens werden Engines verwendet, sprich dementsprechend C# oder C++.

Woher ich das weiß:Hobby – Beschäftige mich schon länger damit!