Game App Programmieren lassen - welche Sprache

Secretofwar

Cadet 3rd Year
Registriert
Aug. 2009
Beiträge
51
Hallo,

ich habe vor 15 Jahren ein Sport Manager Browsergame gespielt, leider liegt dieses nun seit 10 Jahren brach.
Daher möchte ich ein paar Tausender in die Hand nehmen und etwas ähnliches als App programmieren lassen.
(Keine Sorge, kein Urheberverletzung etc. wird eine etwas andere Version).

Nun hatte ich schon eine Ausschreibung gemacht für die Engine Unity. Bekomme da aber gesagt, dass meine Idee die Engine nicht braucht, da es keine Animationen/3D veranschaulichungen gibt. (Gabe es vor 15 Jahren einfach nicht für Browsergames).

Welche native Programmiersprache sollte man nun nehmen, damit das Spiel auf Android und iOS gespielt werden kann (Spieler die selben Inhalte sehen und miteinander agieren können).
Es sind sehr viele Berechnungen im Hintergrund nötig zur Gewinnerkalkulierung etc.

Lg
 
Wenn du nicht selbst programmierst, würde ich dem Entwickler nicht vorschreiben, mit was er zu arbeiten hat. Die haben da mehr Ahnung als du selbst.

Ein ausgewachsenes Spiel wird dich aber weit mehr kosten als ein paar Tausender. Für einen Freelance Entwickler darfst du gerne von einem Tagessatz von 1000 Euro ausgehen.

Willst du selbst entwickeln: Schau dir React Native oder Xamarin.Forms an. Damit kannst du eine einheitliche Codebase sowohl nativ auf iOS, als auch Android bringen
 
  • Gefällt mir
Reaktionen: r!c0
Danke!
Xamarin wäre C#, so hätte ich dann schon die Programmiersprache. Bei den Job Beschreibungen auf den Plattformen ist es wichtig das mit zu vermitteln, damit sich nur qualifizierte (beherrschen die Programmiersprache) melden.

Würde das nicht in Deutschland entwickeln lassen. In der Ukraine sind es mal eben nur 100-200€ Tagessatz bei einer professionelln Firma.
 
Rumänen sind auch gut dabei und beherrschen teils sehr gut Deutsch. Woran willst du die Qualifikation erkennen wenn du selbst nicht in der Materie steckst.
 
Ja, Rumänien wäre auch eine Option. Ich brauche nicht mal deutsch, ich habe das Gamedesign Document und alle Anweisungen komplett in Englisch verfasst.

Auf den Plattformen sieht man die bisherigen Joby, Referenzen und Bewertungen. Kann man schon ganz gut daran festmachen. Bei der Unity Ausschreibung haben sich zum beispiel viele Developer gemeldet die umfangreiche Aufträge über die Plattform zu dem Thema hatten mit entsprechenden Bewertungen.

Beides meine geringste Sorge, momentan suche ich ja eher nach der geeigneten Programmiersprache um die Plattformübergreifende App Entwicklung zu gewährleisten.

Edit: Die Developer waren immerhin so ehrlich zu sagen, dass Unity nicht das richtige für die App ist. Ich solle eher richtung Native Development gehen.
 
Das ist ein zweischneidiges Schwert: frage einen Xamarin-Profi was er von Unity hält oder was "er empfehlen" würde - und du kannst dir die Antwort sicher denken. Ganz allgemein führen aber natürlich viele Wege zum Ziel.

Ich selbst arbeite seit vielem Jahren beruflich mit Unity als Developer und kann glaube ich ganz gut einschätzen für was die Engine taugt und für was nicht. Du willst ein (vermutlich) 2D Game für Android und iOS mit hübschen Grafiken und Animationen? Dann ist Unity die Engine der Wahl. Auch wenn Unity3D historisch bedingt ein "3D" im Namen hat kann es sehr viel mehr als nur 3D Spiele. Du brauchst keine Grafiken und das Game soll den Charme einer Excel-Tabelle oder eines 15-Jahre alten Browsergames haben? Dann ist an Xamarin nix auszusetzen. Beide Tools arbeiten übrigens mit der Programmiersprache C#. Aber das kann dir eigentlich auch egal sein...für dich zählt sicher nur das Endergebnis.

Native Development ist übrigens noch mal eine andere Baustelle als Xamarin oder Unity. Das bedeutet im Endeffekt du entwickelst (und bezahlst) das Spiel doppelt - mit den Bordmitteln der Plattformen Android und iOS. Programmiersprachen und Tools beider Plattformen unterscheiden sich grundlegend. Vorteil des native Development ist maximale Performance. Was für dich vermute ich aber eher eine untergeordnete Rolle spielt.
Xamarin und Unity bieten beide eine Plattform-unabhängige Basis.
 
Zuletzt bearbeitet:
Warum nicht wieder ein Browsergame?
Das würde dann auf Android und iOS als App, auf Windows auch als App oder im Browser und unter Linux nur im Browser laufen. Alle greifen auf die gleichen Daten zu und können Plattformübergreifend miteinander spielen.
 
  • Gefällt mir
Reaktionen: GroMag, nazdun und Escapado
Ich würde gern einmal anmerken, dass deine Vorstellung von "sehr viele Berechnungen" möglicherweise gar nicht "so viel" Berechnungen sind. Jede popelige Mobile popelige mobile CPU hat eine Rohleistung von mehreren hundert milliarden Fließkommaoperationen pro Sekunde. Da ist ganz egal welche Sprache man benutzt für Kostenberechnungen irgendwelcher Vereine oder so. Das was Leistung frisst sind 2D / 3D Animationen und da macht es schon einen Unterschied, ob man die native Grafikschnitstelle oder native Widgets benutzt oder nicht.
 
@Flynn74
Genau, den Charme einer Excel-Tabelle oder eines 15-Jahre alten Browsergames :)
Nur etwas aufpolierter, heutzutage kann man das ja deutlicher moderner gestalten.
Aber eben keine aufwändigen Animationen etc.

Nur als Beispiel:
Old school: http://info.monocross.net
Modern: https://dotnet.microsoft.com/apps/xamarin

Danke dir für das Aufklären wegen Native Development. Genau, auf der Spieler Seite wird es nicht viel Rechenleistung benötigen. Nur die Backgroundkalkulationen auf dem Server etwas mehr.

@Sparta8
Ein Browsergame ist nicht gleich eine App. D.h. man könnte es zwar im Browser auf dem Handy öffnen, aber das ist recht unbequem in der heutigen Zeit für ein Spiel, wo man sich mehrmals am Tag nur kurz einloggt. Daher gleich als richtige App.

EDIT: @Escapado Da hast du wahrscheinlich recht.
 
Ja, auch wenn ich Unity-Evangelist bin dürfte Xamarin hier in der Tat die beste Lösung sein. Unity wäre hier wie mit Kanonen auf Spatzen zu schießen.
 
Als einer der wenigen User die Linux als Desktop-OS nutzen widerspreche ich natürlich entschieden :-)
Problem: Xamarin muss zwingend die Plattform unterstützen. Xamarin unterstützt kein Linux, kein BSD, kein Solaris, kein ...

Wenn einem das egal ist kann man Xamarin in Erwägung ziehen. Ich hab damit eine Zeitlang spasseshalber entwickelt (ein klassisches Spiel mit 2on2 Modus über Netzwerk, aber ohne Server) und würde mich nicht dagegen sträuben. Aber Xamarin ist auch ein Politikum (Mikrosoft liebt man oder hasst man als Entwickler) und die Doku ist "A pain in the ass".

Von Xamarin bin ich übrigens auf Angular gewechselt. Mit Typescript als Programmiersprache (merke: Javascript ist keine Programmiersprache) und nahezu vollständig plattformunabhängig. Mein derzeitiges Spassprojekt, eine Client-Server App, läuft auf jedem Gerät dass einen einigermaßen aktuellen Browser und genügend Speicher hat.

PS: um mich nicht mit fremden Federn zu schmücken: Ich mache meine Hobbyprojekte als Teil eines dynamischen Duos. Mein Wingman würde ohne mich auskommen, ich aber nicht ohne ihn.
 
Secretofwar schrieb:
@Sparta8
Ein Browsergame ist nicht gleich eine App. D.h. man könnte es zwar im Browser auf dem Handy öffnen, aber das ist recht unbequem in der heutigen Zeit für ein Spiel, wo man sich mehrmals am Tag nur kurz einloggt. Daher gleich als richtige App.

Doch doch ich meine schon als App.
Du erstellst das Spiel als Browsergame und das läuft erstmal auf allen Geräten die einen Browser haben.

Dann kannst du zusätzlich für dein mobiles Publikum das Browsergame in eine App packen. Also der User sieht keinen Unterschied. Er geht in den App Store und ladet sich dein Game als App runter.
Das gleiche kannst du dann auch für den Windows App Store anbieten. Somit läuft es auch unter Windows als eigene App.

Man muss ein paar kleine Änderungen je nach Plattform (Android/iOS/Windows/Browser) machen, aber 95% des Codes ist genau gleich. Somit deckst du eine größtmögliche Zielgruppe ab bei geringen Kosten / Entwicklungsaufwand.
 
  • Gefällt mir
Reaktionen: DubZ
Secretofwar schrieb:
@Sparta8
Ein Browsergame ist nicht gleich eine App. D.h. man könnte es zwar im Browser auf dem Handy öffnen, aber das ist recht unbequem in der heutigen Zeit für ein Spiel, wo man sich mehrmals am Tag nur kurz einloggt. Daher gleich als richtige App.

Wenn man das von Anfang an vorsieht gibts Möglichkeiten eine Website als native App auszuliefern, das ist kein großes Problem. Und da ist sogar Hardwarezugriff möglich (im Rahmen), also Kamera, GPS usw kriegste abgefragt. Angular Seiten kriegste zB relativ unkompliziert nach APK konvertiert für Android. Hat halt den Charme dass es a) einen Haufen Entwickler dafür gibt und b) kannste mit der selben Codebasis iOs, Android UND Browser bedienen, heisst das ist wirklich crossplatform. Nachteile sind in deinem Fall eigentlich gar nicht existent, die würden erst zum Tragen kommen wenn du wirklich großartige Animationen usw einbauen wölltest, sehe ich bei einem Fußballmanager aber nicht.

Also ICH würde HTML5 + JS da gar nicht aus dem Rennen nehmen wollen, da kriegste wahrscheinlich den meisten Gegenwert fürs Geld. Und evtl sieh gleich Übersetzung a la angular-translate mit vor, dann kannst du das später ganz einfach übersetzen lassen und entsprechende Language Packs zusammenstellen, für den Entwickler ist das vom Start aus bumms ob er dir da Platzhalter für den Text reinsetzt oder den Text selber, das frisst keine Zeit :D

Achso: wir reden die ganze Zeit nur vom Client, du wirst aber noch nen Server brauchen und entsprechend da auch ein Backend! In welcher Sprache das dann geschrieben ist ist natürlich die andere Sache, im Endeffekt ist das ja völlig egal wenn die App das per API abholen kann...
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: DubZ und GroMag
Ich werf einfach mal libGDX (Java) und Phaser (JavaScript) in den Raum. Mit beiden Frameworks kann fuer alle gaengigen Plattformen entwickelt werden.
 
  • Gefällt mir
Reaktionen: Hayda Ministral
mambokurt schrieb:
Wenn man das von Anfang an vorsieht gibts Möglichkeiten eine Website als native App auszuliefern, das ist kein großes Problem.

Oh, das wäre natürlich eine positive Wendung. Erst für den Browser entwickeln mit Serveranbindung hinten dran und dann in Apps ausliefern.

Es wäre also komplett mit nur HTML5 möglich? Das würde bestimmt deutlich günstiger ausfallen als die Angebote mit iOS und Android Apps die ich zurzeit bekomme. Zwischen 3 und 20k alles dabei.
JS sollte nicht nötig sein, braucht wirklich gar nicht animiertes. CSS fällt mir noch ein für Webdesign.
Wären die Kalkulationen dann in einer Datenbank?
 
@Secretofwar

Du machst ein Sprachwirrwarr. Ja sogennante App-Webseiten sind möglich - und ziemlich nützlich weil man mit einer Codebasis alle Plattformen abdecken kann. Das Zauberwort ist aber nicht HTML5. Mit HTML 5 machst du nur Layout (Achtung Layout bedeutet nicht Design) also du sagst i HTMl quasi hier ist eine Tabelle, hier eine Liste, ein Button, etc.

Mit CSS kommt dann das Design. Also wo definiert, welches Farbe der Button haben soll, welche Schriftart und so weiter.

Für eine Progressive Web App (PWA - das wäre der Fachbegriff für so eine "App-Webseite") benötigst du aber zwingend JavaScript ohne geht es nicht. Da geht es nicht um Animationen sondern um Funktionalität - die Zeit wo man Web Animationen mit JavaScript gemacht hat sind so seit 2009 eigentlich vorbei.

Animationen im Web macht man eigentlich nur noch mit CSS - hat auch den Vorteil, dass sie über die GPU und nicht über die CPU beschleunigt werden, was wiederum der Akku des Gerätes schon auf dem die APP läuft und in der Regel auch flüssiger läuft ;-)

Daher die PWA würde so aussehen:
Frontend (das was der Spieler sehen kann):

_HTML für das Grundgerüst
_CSS für das Layout
_JavaScript für Funktionalität und Kommunikation mit dem Backend

Backend (das was hintenrum läuft)
In der Regel hat man ein Backend hinter em Frontend. Das Frontend kommuniziert z.b. über eine REST Schnitttelle mit dem Backend. Über diese Schnittstelle können Informationen vom Frontend abgerufen - bzw ins Backend geliefert werden.

Das Backend läuft (im Gegensatz zum Frontend) nicht im Client. Also Berechnungen im Spiel sollten im Backend passieren - alles was im Frontend (Browser) passiert kann von einem User manipuliert werden. Das Backend kann z.B. in PHP, NodeJS, ASPX, Python, Java oder sonst was geschrieben sein. Empfehlung wäre wohl PHP - weil das so gut wie auf jedem Server den man sich mieten kann läuft ^^.

Daten der Spieler, Interaktionen, etc werden Serverseitig in einer Datenbank gespeichert. Auch hier gibt es diverse Möglichkeite (einfache Textfiles - würde ich nicht empfehlen) oder eben klassiche Datenbanken wie MySQL, MariaDB, MS-SQL, etc

Aber das ist so grob der Aufbau einer PWA - egal was die PWA nachher für eine Aufgabe hat.
 
  • Gefällt mir
Reaktionen: mambokurt, Secretofwar und GroMag
Vielen lieben Dank für die Erklärung! Das hat mir sehr weitergeholfen :)
 
Ich würde es derzeit noch nicht als PWA umsetzen. Ich glaub zwar, dass PWAs die Zukunft sind bzw. eine wichtige Rolle spielen werden, aber derzeit blockiert Apple/iOS diese Entwicklung noch zu stark. Eine PWA kann man direkt aus einer Webseite heraus "installieren" ganz ohne den App Store. Apple schneidet bei den Store Provisionen nicht mit und steht deshalb noch auf der Bremse.

Was du brauchst ist eine Hybrid App. Deine App wird ganz normal im App Store / Google Play Store verfügbar sein. Die Technologie bleibt die selbe: HTML/CSS/JavaScript + PHP oder Node.js oder C# oder Phyton oder Java für den Server.

Ich glaube die Freelancer Plattform über die du aktuell suchst, ist nicht wirklich die richtige für dich. Du musst eine Programmiersprache eingeben, damit du Freelancer filtern kannst, bzw. sie sich bei dir melden können. Das ist eher eine Plattform für Projektmanager die genau wissen was sie suchen. Du hast aber selbst keine Erfahrungen und schließt mit der Vorauswahl der Programmiersprache, eventuell besser zu dir passende Entwickler im Vorhinein aus.
Such dir lieber eine Plattform wo du das Projekt nur allgemein beschreibst und die Entwickler selbst mit der von Ihnen bevorzugten Technologieauswahl auf dich zukommen.
 
Zuletzt bearbeitet:
Zurück
Oben