Wie wir Star Stable geholfen haben, die Leistung seiner Desktop-App um 50% zu verbessern

Project overview
Dies ist die Geschichte, wie Star Stable Entertainment — ein schwedischer Spieleverlag — die Leistung seiner Desktop-App um 50% verbesserte und ein In-Launcher-Zahlungssystem für seine 26 Millionen registrierten Nutzer einführte.
Inside this article
Über den Kunden
Star Stable Entertainment ist ein schwedischer Herausgeber des Spiels Star Stable Online. In diesem MMORPG reisen die Spieler auf einem Pferderücken durch eine märchenhafte 3D-Landschaft, erleben Abenteuer und lösen Quests. Der erste Server wurde 2011 gestartet. Heute ist das Spiel in 180 Ländern verfügbar und hat 26 Millionen registrierte Benutzer. Die Star Stable App ist in Desktop- und Mobilversionen verfügbar.
.png)
Was unser Kunde brauchte
Star Stable wollte einen Desktop-Game-Launcher für Windows und MacOS entwickeln. Das Unternehmen musste die App auf eine neuere Lösung umstellen, um sie weiter skalieren zu können. Die neue App-Version musste außerdem eine schnelle und reibungslose Anmeldung, Spielinstallation und Updates ermöglichen. Unser Kunde wollte auch Käufe innerhalb der Desktop-Anwendung ermöglichen, einschließlich Abonnements und virtueller Währung.
Um diese Ziele zu erreichen, benötigte Star Stable erfahrene Desktop-Techniker mit Fachkenntnissen in ElectronJS und ExpressJS, die jedoch nicht über diese Kompetenzen verfügten. Nachdem sie nach Softwareagenturen gesucht hatten, die mit diesen Technologien arbeiten, gingen sie eine Partnerschaft mit Brainhub ein.
Ziele des Projekts
- Zahlungen über den Desktop-Launcher aktivieren.
- Refaktorieren Sie die Anwendung auf eine neuere Lösung und ermöglichen Sie deren Weiterentwicklung.
- Verbesserung der Benutzererfahrung.
Team des Projekts
Beim Star Stable-Projekt haben wir auf Team-Augmentations-Basis gearbeitet. Diese Zusammenarbeit ist mehr als Outsourcing, da die Kunden- und Lieferantenexperten als Team sehr eng zusammenarbeiten. Zwei leitende Fullstack-Ingenieure und ein Projektmanager von Brainhub arbeiteten zusammen mit dem internen Team von Frontend- und Backend-Entwicklern sowie UX/UI-Designern von Star Stable an diesem Projekt.
Projektherausforderungen: Anwendungsstabilität in verschiedenen Konfigurationen
Beim Entwerfen einer Desktop-Anwendung, wir mussten die Stabilität der Software in der Hardware-System-Beziehung sicherstellen. Unser Produkt muss auf einer Vielzahl von Hardwarekonfigurationen reibungslos funktionieren, einschließlich verschiedener Firewalls und verschiedener Windows- und macOS-Versionen. Wir mussten auch berücksichtigen, dass einige Spieler ältere Hardware verwenden, und spezielle Benachrichtigungen für sie vorbereiten.
Eine weitere Herausforderung bestand darin, dass wir uns bei der Entwicklung eines Game Launchers dieser Größenordnung keine Fehler leisten konnten. Ein Desktop-Launcher ist eine Anwendung, mit der Benutzer ein Spiel starten können. Wenn irgendetwas hier nicht so funktionierte, wie es sollte, riskierten wir ein schlechtes Spielerlebnis, was dazu führte, dass der Ruf von Star Stable geschädigt wurde. Und das konnten wir nicht zulassen.
Arbeitsumfang: Was wir für den Kunden getan haben
- Automatisches Update — Wenn das Programm eingeschaltet ist, erkennt es, ob eine neuere Spielversion verfügbar ist, und fährt in diesem Fall sofort mit dem Update fort.
- Das Spiel installieren und aktualisieren — Wir haben diese Logik vom Launcher (in JavaScript geschrieben) getrennt und native Module eingeführt (geschrieben in C/C++/Rust). Dadurch konnte die Anwendung erheblich beschleunigt werden. Beispielsweise wurde die Geschwindigkeit beim Aktualisieren von Spieledateien im Vergleich zur vorherigen Lösung um 50% erhöht.
- Datengestützte Entscheidungen — Wir haben Überwachungstools — Telemetrie, Analytik und A/B-Tests — implementiert, damit der Kunde auf der Grundlage definierter Metriken die besten Entscheidungen treffen kann.
- Authentifizierung — Benutzer werden in der internen API verifiziert.
- Spielautomaten mit Inhalten — Wir haben Spielautomaten für Marketingnachrichten und Produktangebote implementiert, die direkt bei Launcher gekauft werden können.
- Verwaltung von Benutzerkonten — Wir haben E-Mail-Überprüfung, Passwortänderung, Serveränderung, Abonnementverwaltung, Kaufhistorie usw. im Launcher aktiviert.
- Warteschlangensystem — Wenn die API eine Nachricht sendet, dass der Server überlastet ist, zeigen wir den Spielern in der Anwendung ihren Platz in der Warteschlange an, um dem Spiel beizutreten.
- WebSockets — das Spiel wird wöchentlich aktualisiert. Um die Benutzererfahrung zu verbessern, erhält die App eine Echtzeitbenachrichtigung, wenn der Server aktualisiert wird. Mit dieser Lösung müssen Spieler den Launcher nicht neu starten, um die aktuellste Version zu erhalten.
- Hardwareerkennung — Die Anwendung erkennt automatisch, über welches System und welche Hardware die Spieler verfügen (einschließlich beispielsweise der OpenGL-Version) und sendet eine Benachrichtigung, wenn ihr Setup nicht unterstützt wird und das Spiel möglicherweise nicht optimal läuft.
Technischer Stack
ElectronJS, ExpressJS, React, React Redux, C/C++, Rust

Vertrauen ist das wichtigste Kapital in der Produktentwicklung
Während des Star Stable-Projekts waren wir nicht nur Ingenieure, sondern auch Technologieberater. Wir standen dem Kunden beratend zur Seite, indem wir diese Geschäftssituation analysierten und die besten technischen Lösungen empfahlen. Unser Kunde hat immer gesagt, dass „Freundlichkeit eine Superkraft ist“, und während des gesamten Projekts hatten wir wirklich das Gefühl, dass dies der Wert war, der den richtigen Ton für unsere Zusammenarbeit angab.
Von Anfang an vertraute das Team von Star Stable uns und unserer Expertise, sodass wir viele Ideen umsetzen, Probleme lösen und unsere Gedanken offen austauschen konnten. Wir bei Brainhub glauben, dass es keine guten oder schlechten Informationen gibt — es gibt nur Informationen und die transparente Kommunikation und Beziehung, die wir aufgebaut haben, ermöglichen es uns, die besten Ergebnisse zu erzielen.
Wahrscheinlich würde jedes Unternehmen von der Zusammenarbeit mit Brainhub profitieren, aber wenn Sie komplexere Probleme wie den Umgang mit technischen Schulden haben oder große Herausforderungen haben, die Sie angehen möchten, aber nicht wirklich wissen, wie, würde ich dafür definitiv an Brainhub denken.
— Juliana Alonso, Webproduzentin, Star Stable
Neuer Desktop-Launcher für das beste Spielerlebnis
Star Stable war auf der Suche nach einem erfahrenen Team von Softwareentwicklern, um ihre Kompetenzlücke in der Desktop-Entwicklung zu schließen. Wir arbeiteten als erweitertes Team zusammen, überarbeiteten die bestehende Lösung, entwickelten die Anwendung und bereiteten sie für die weitere Skalierung vor. Unsere Partnerschaft führte zu einem schnellen, effizienten, UX-freundlichen Desktop-Launcher mit hoher Leistung und der Möglichkeit, Einkäufe innerhalb der App zu tätigen.
Das Star Stable-Projekt war für uns wegen der großartigen Geschäftsbeziehung wertvoll, aber es war auch sehr vorteilhaft, da wir wirklich viel gelernt haben. Und das ist die Art der Zusammenarbeit, die uns am besten gefällt!
.png)
Gelernte Lektionen
- Bei der Entwicklung von Desktop-Anwendungen ist zu beachten, dass die Anzahl der Hardware- und Systemkonfigurationen nahezu unbegrenzt ist und es immer Fälle geben wird, die wir nicht reproduzieren können. Aus diesem Grund erstellen wir Anwendungen, die so kompatibel wie möglich sind, um die wahrscheinlichsten Konfigurationen abzudecken. Überwachungstools wie Telemetrie, Analytik und A/B-Tests ermöglichten es uns, auf der Grundlage definierter Metriken die besten Entscheidungen zu treffen.
- Bei der Softwareentwicklung müssen wir uns IMMER, IMMER daran erinnern, wer der Endbenutzer ist, was er braucht, was ihn interessiert und mit welchen Problemen er konfrontiert ist. Es ist sehr leicht, sich in unserer eigenen Perspektive zu verlieren — das ist für uns selbstverständlich und automatisch. Aber am Ende kommt es nur auf den Zielbenutzer und seine Erfahrung an, insbesondere wenn diese Gruppe so klar definiert ist wie im Fall von Star Stable.