Geständnis eines Design-Süchtigen. Wie wir das Spiel "IT Alchemy" in einem Monat gemacht haben

- Hallo Habr! Mein Name ist Zhenya und ich bin projektsüchtig.
- (inkonsistente Reihe von Stimmen) Hallo, Zhenya!

Nach einer solchen Einführung wird in der Regel bis spät in die Nacht an Wochentagen und am Wochenende den ganzen Tag über auf die Arbeit Bezug genommen. Dabei werden Kilogramm Junk Food gezählt, farbenfrohe Beschreibungen von schlaflosen Nächten vor Ablauf der Frist und am Ende die Leere und Abgeschiedenheit, die nach dem Ende des Projekts eintritt ... Und das alles wird weiter unten im text stehen, aber erstmal ein kleiner hintergrund.



Ich bin Entwickler bei Dodo Pizza Engineering. Viele Leute aus unserem Team nehmen an verschiedenen Nebenprojekten teil. Im vergangenen Jahr war es beispielsweise eine Telegrammanfrage nach dem CMAN- Kurier, die dem Moskauer DotNext 2018 gewidmet war . In diesem Jahr haben wir beschlossen, die Tradition fortzusetzen und bereits bis zur DotNext 2019 ein weiteres Spiel zu entwickeln. Es war also September, einige Monate vor der Konferenz, und wir brauchten dringend einen Plan.
Zu Ihrer Information: Dies ist der erste Teil eines Artikels über IT-Alchemie. Der nächste Teil wird die technischen Details der Entwicklung des Spiels sein.

Idealer Projektplan


Wir haben verstanden, dass es nicht funktionieren würde, die Geschichte des letzten Jahres zu wiederholen. Zuerst, dann war es das erste Mal, und das erste Mal per Definition ist einzigartig. Zweitens, und dies ist wahrscheinlich das Wichtigste - dieses Projekt wurde über mehrere Monate entwickelt. Und ein paar Wochen vor der Veranstaltung ließen die Entwickler es in der Regel für Vollzeit zu tun.

Nun, unser Ziel war bescheidener: Wir hatten weniger Leute, kürzere Fristen und zu viel Hauptarbeit, um das Spiel während der Arbeitszeit zu spielen. In einer gemeinsamen Brainstorming-Sitzung schlug jemand vor vielen Jahren vor, eine IT-Variante des beliebten Spiels Alchemy zu entwickeln.

Lassen Sie mich für diejenigen, die diese Zeiten nicht gefunden haben, kurz daran erinnern: Der Player verfügt über eine anfängliche Anzahl von Elementen (normalerweise 4). Durch die Kombination dieser Elemente können Sie immer mehr neue Elemente sammeln, die immer schwieriger werden. Die Aufgabe des Spielers: alle Elemente zu öffnen. In der ursprünglichen Alchemie erreichte eine endliche Anzahl von Elementen mehrere Zehntausende.


Screenshot der gleichen Alchemy 2013

Unsere Idee schien mir aus drei Gründen ein ideales Projekt für einen Monat zu sein:

  1. Technisch klare Aufgaben: Bereitstellen eines Back-End-Servers, Schreiben eines Clients für Telefone, Zeichnen einer Benutzeroberfläche und von Bildern von Elementen.
  2. Wörter aus IT-Themen sollen miteinander kombiniert werden (hehe, wenn nur).
  3. Die Aufgabe, die ich mir persönlich gestellt habe: Das Spiel nur in meiner Freizeit, am Wochenende, ohne große Anstrengung zu machen. Wir wollten die Erfahrungen des letzten Jahres definitiv nicht wiederholen.

Montageregeln: In 30 Tagen pünktlich sein


Was muss zuerst getan werden, um ein tragfähiges Projekt in einem Monat zu erstellen? Das ist richtig - schneiden Sie den Rahmen! Tatsächlich war unsere gesamte Arbeit perfekt in vier Blöcke unterteilt:

  1. Backend-Server. Misha Kumachev ( Ceridan ), der das Backend für CMAN entworfen hat, war dafür verantwortlich.
  2. Unity-Clients für Android und iOS. Dieser Teil lag bei mir, weil ich bereits ein Dutzend Prototypen und zwei veröffentlichte Spiele bei Google Play hatte.
  3. Das Design der Benutzeroberfläche und der Symbole übernahm Tanya Turmanidze.
  4. Und ... Inhalt für das Spiel. Dieser Block hat aber schon lange keinen Besitzer mehr. Und das war vielleicht unser wichtigster (und offensichtlichster) Fehler.




Unser Grundkonzept war nicht anders als das ursprüngliche 2013: Der Spieler hat 4 Grundelemente, insgesamt können Sie weitere N Elemente sammeln. Jedes Element sollte enthalten: Name, Bild und Kunstbeschreibung. Jeder neue Gegenstand wird nur von zwei anderen zuvor geöffneten Gegenständen gesammelt.


Um Betrug vorzubeugen, haben wir alle Informationen zu Elementkombinationen im Backend gespeichert. Der Client hat eine Anfrage von der ID von zwei Elementen gesendet, die der Player zu verbinden versucht hat, und der Server hat zurückgegeben, ob diese Kombination erfolgreich war oder nicht. Bei Erfolg erhielt der Client die ID des neuen Elements, seinen Namen und seine Beschreibung. Der Kunde hat beim Namen das gewünschte Bild gefunden und ein neues Element im Player angezeigt. Das heißt, alle für das Spiel erforderlichen Daten wurden vom Backend gespeichert.

Wir haben auch eine Tabelle mit Rekorden für die 20 besten Spieler geplant, die Preise erhalten haben, da für jeden gesammelten Gegenstand eine bestimmte Anzahl von Punkten vergeben wurde. Das ist in der Tat alles.

Mildern Sie Ihre Begeisterung, überwinden Sie die Versuchungen, zu viel zu tun


In zahlreichen Diskussionen fiel uns natürlich eine Vielzahl von Wishlist ein, die wir mit Bedacht ablehnten. Hier sind einige von ihnen:

  1. Es gab die Idee, ein System von Erfolgen hinzuzufügen, wenn ein Spieler einen Zweig von Elementen, ein komplexes Element oder eine Menge sammelte. Nachdem wir festgestellt hatten, dass die Dinge mit der Erfindung der Elemente alles andere als rosig waren, als wir erwartet hatten, gaben wir diese Idee auf. Erfolge wären auf einer Skala von tausend Elementen sinnvoll, aber in Wirklichkeit hatten wir viel weniger davon.
  2. Jemand schlug vor, die Elemente, die nicht mehr in Kombinationen verwendet werden können, in besonderer Weise hervorzuheben. Vorversuche haben jedoch gezeigt, dass dies nicht erforderlich ist.
  3. Der technische Moment. In der endgültigen Implementierung werden alle Bilder im Unity-Client geschützt. Das heißt, um den Inhalt zu aktualisieren oder zu ergänzen, muss die Assembly im Geschäft aktualisiert werden. Es gab die Idee, Bilder auf CDN zu übertragen, damit der Client Daten aus dem Backend und Bilder von CDN abruft. Dann wäre es fast ein "Thin Client" mit einer schönen Oberfläche. Wenn wir das geschafft hätten, wäre das Spiel unendlich erweiterbar mit der ständigen Möglichkeit, einige neue Sätze von Elementen zu laden. Aber wir haben uns darüber ernüchtert, dass das Spiel für zwei Tage entwickelt wurde ... Es gab eine Versuchung, aber wir haben sie erfolgreich gemeistert.

Nun, wir haben unsere technischen Aufgaben perfekt erledigt, waren pünktlich und auch mit einem Vorsprung. Arbeitstage wurden gespart, kein einziger Arbeitsentwurf wurde verletzt (was nicht über meine Abende und Wochenenden gesagt werden kann).


Meine Gefühle, bevor ich sah, was mit dem Inhalt passiert

Scherze niemals mit zufriedenen Bohnen


Das Vertrauen in die technische Komponente spielte bei der zweiten, kreativen Zutat des Spielinhalts eine Rolle. Hier haben wir zwei Fehler gemacht: Wir haben keine verantwortliche Person ausgewählt und zu viele Themen verwendet, um Wortpaare zu generieren, die wir nicht kauen konnten. Details:

  1. Nach dem ersten Brainstorming haben wir beschlossen, dass die Elemente unserer Alchemie drei Themen betreffen: IT, Lebensmitteltechnologie und etwas aus der Welt von Dodo. Und wir haben diese Idee nicht sofort aufgegeben. Wörter und Kombinationen wurden gleichzeitig in drei Richtungen generiert, und obwohl es Spaß machte, kam es nicht sofort zu der Erkenntnis, dass alle drei Themen nicht viele Schnittpunkte hatten. Irgendwann merkten wir trotzdem, dass etwas schief lief, ließen den Fuß fallen und ließen genau das von Dodo (natürlich Pizza). Danach begann sich etwas zu kristallisieren. Aber hier spielte der zweite Moment eine Rolle.
  2. Ich habe oben geschrieben, dass der Inhaltszusammenstellungsprozess keinen Eigentümer hatte. Die ersten Worte wurden von verschiedenen Gruppen von Menschen erfunden, die einfach alles geworfen haben, was ihnen in den Sinn kam. Auf unserer Liste standen also so seltsame Dinge wie "shkolota", "beans" oder "son of my mother’s girlfriend". (Und ja, es war möglich, "Beans" in JavaBeans zu zeichnen, aber ... nicht.) Bereits in der Mitte des Projekts, als unser Wortbaum nicht auf der Grundlage von Logik Wurzeln schlagen konnte, tauchte ein Überlauf auf - Anton Bruzhmelyov warf fast alle Wörter aus, die zuvor erfunden worden waren und neue, logischere Kombinationen gemacht.
  3. Die beiden obigen Punkte führten jedoch dazu, dass zu wenig Zeit blieb, um Inhalte zu erfinden. Als Ergebnis haben wir nur 128 Elemente. Zwar konnte von unseren freiwilligen Testern gegenüber Kollegen nur ein Mädchen in wenigen Tagen alle Elemente sammeln. Es hat uns beruhigt. Aber wir haben offensichtlich nicht berücksichtigt, wie ausdauernd und entschlossen die Menschen waren, die auf der Konferenz um Preise kämpften.



Die gleichen Bohnen, und auch eine Cyberbiene (!), Neugierde und ein Baumstamm. Was passiert, wenn Fantasie den gesunden Menschenverstand gewinnt?
Inhalt ist der wichtigste Teil des Spiels, er fängt den Spieler oder hält ihn nicht fest. Die inhaltliche Bearbeitung kann und soll schon vor der technischen Arbeit beginnen. Nun, es muss immer einen Verantwortlichen geben, der mit seiner skrupellosen Hand alles Unnötige abschneidet und nur das übrig lässt, was das ganze Bild ausmacht.

Soweit so gut oder Probleme mit Apple


Lange, kurze, aber zehn Tage vor DotNext begann sich unsere IT-Alchemie in ein funktionierendes Produkt zu verwandeln. Wir haben endlich die endgültigen Wortkombinationen. Designerin Tanya musste die Bilder nicht zehnmal neu zeichnen. Das Backend war immer gut gemacht und hat die beabsichtigte Funktionalität souverän umgesetzt. Danach habe ich unseren Unity-Client fertiggestellt.

Es ist Zeit, unsere Bewerbung in den Shops zu veröffentlichen. Ich hatte keine Probleme mit Google Play erwartet, ich hatte bereits die Erfahrung, vollwertige Anwendungen zu veröffentlichen, aber der Apple Store, den Geschichten von Kollegen nach zu urteilen, begann Besorgnis zu erregen. Und diese Ängste waren nicht umsonst.

Wir haben Test-Builds für Android und iOS veröffentlicht, zuerst selbst getestet und dann weitere Kollegen eingeladen. Ich habe fast alle Bugs gefunden, als ich es selbst getestet habe. Es stimmt, es gab ein Problem mit der Animationsgeschwindigkeit auf iOS-Geräten, das ich lange nicht mehr feststellen konnte, da auf dem Emulator alles gut funktionierte. Aber ich hoffe, dass ich im zweiten Artikel über den technischen Teil unseres Projekts darüber sprechen kann.

Die meisten Korrekturen betrafen das Layout. Entweder fällt der „Knall“ auf der Schaltfläche ein, oder das Fenster wird bei verschiedenen Seitenverhältnissen des Bildschirms nicht richtig gedehnt. Es war ein ziemlich trüber und nicht der interessanteste Teil der Arbeit, aber am Ende haben wir das Design mit allen möglichen Bildschirmen in Einklang gebracht. Leider haben wir die meiste Zeit auf dem Spielbildschirm verbracht und einen großen Pfosten durchgesehen ... Aber es stellte sich als so dumm und katastrophal heraus, dass es einen separaten Absatz verdient.

Also, buchstäblich drei Tage vor der Konferenz, hatten wir 128 Wörter, ein fertiges Backend und Kunden für Android und iOS gesammelt. Es ist Zeit, öffentliche Versionen zu veröffentlichen. Mit Google Play lief alles wie am Schnürchen. Aber mit dem Apple Store hatten wir unvorhergesehene Schwierigkeiten.


In der Zwischenzeit bei Apple: "Was würdest du dir sonst noch vorstellen, um die Jungs davon abzuhalten, etwas zu veröffentlichen?"

Ich wurde gewarnt, dass das Auslegen in der Seite etwas Schreckliches ist, aber ich verstand nicht, wie viel. Zuerst zeigten sie uns, dass wir spielen, dann wurden wir aus sehr merkwürdigen Gründen umgeleitet: "Ihre Bewerbung ist keine Bewerbung, sondern eine Webansicht." Nach dem dritten oder vierten Leitartikel haben wir einfach mit dem Schreiben begonnen: "Nein, dies ist keine Webansicht, nein, wir haben Inhalte und die Anwendung leistet etwas Nützliches."

Es gab die letzte Nacht vor DotNext und den letzten Versuch, die Anwendung zu veröffentlichen. Wunder, passier! Ich habe nicht gut geschlafen, ähnlich wie in der Kindheit vor meinem Geburtstag. Ich wollte aufwachen, das Apple Entwicklerportal besuchen und dort ein grünes Häkchen sehen. Leider geschah das Wunder nicht.

Über Fakapy und Katze


  1. Startbildschirm und Steuerung von Apple aus.

    Das ist mein persönlicher Schmerz. Weil er übersah. Die Tage der Spiele in den frühen 2000er Jahren, als der Startbildschirm ein Regal mit Brettspielen kopierte oder ein Spielzimmer simulierte, sind lange vorbei. Wir hatten jedoch genau das.

    Der Startbildschirm stellte sich als überladen heraus. Und er ist sowohl vom Stil des Spiels als auch von seinem unmittelbaren Zweck her völlig entkommen - der Person die Möglichkeit zu geben, so schnell wie möglich zu spielen. Selbst in der Logik unserer Designarbeit sah der Spieler während der Registrierung nur einmal den Startbildschirm. Nach dem Neustart wird sofort der Hauptspielbildschirm geöffnet.

    Das Bild selbst war wundervoll, es enthielt Details, es enthielt eine Katze ... und es gab auch ein zu kleines Eingabefeld, auf das nicht jeder einen Finger bekommen konnte. Nicht jeder, der spielen will, hat mit dem Startbildschirm zurechtgekommen, also haben wir am Anfang schon einige Prozent der Spieler verloren.

    Die unangenehmste Datei war jedoch der Grund, warum Apple uns zum letzten Mal registriert hat: Auf dem iPad (dessen Seitenverhältnis viel näher am Quadrat liegt als auf allen anderen Geräten, die wir in Betracht gezogen haben) wurde das Startbild so skaliert, dass die Katze auf den OK-Button kletterte und die Person konnte physisch nicht darauf klicken.


    Gesunde Mann-Katze und Raucher- Katze auf iPad

    Natürlich hatten wir nicht erwartet, dass unsere Spieler auf dem iPad spielen würden, aber die Tatsache, dass der Kopf der Katze den Start des Spiels blockierte, war unbestreitbar. Um einen Teil des Publikums nicht abzuschneiden, mussten wir etwas komplizierter vorgehen: Wir kündigten ehrlich an, dass Apple eine drakonische Richtlinie hat, und sie leiteten uns um, luden jedoch alle ein, sich für öffentliche Tests zu registrieren und auf diese Weise am Spiel teilzunehmen.

    Das nervigste ist, dass ich fast die ganze Zeit der Entwicklung den einfachsten Startbildschirm mit einem schwarzen Hintergrund, einem großen Eingabefeld und einem OK-Button verwendet habe, der nichts blockierte.
    Was ist die Moral dieser ganzen Geschichte? In unserem Fall haben wir uns mehr Mühe gegeben und alles noch schlimmer gemacht. Besser ist einfacher. Sie lenken die Energie in die richtige Richtung und erzielen das gewünschte Ergebnis. Wenn Sie anfangen, weise zu werden, dann kommt universelles Karma zu Ihnen und schlägt schmerzhaft auf Ihren Kopf.
  2. Das zweite Fakap ereignete sich mit einer begrenzten Anzahl von Elementen im Spiel. Wie ich oben schrieb, sammelte nur eine Person von all unseren Testern in wenigen Tagen alle Elemente. Aber unsere Tester spielten zwischen der Arbeit und ein bisschen abends. Aber unsere echten Spieler auf DotNext wollten unbedingt Preise gewinnen. Bis zur Mitte des ersten (!) Tages hatten wir die drei Finalisten festgelegt. Das heißt, diese Leute haben, ohne ihre Finger zu scheuen, alle 128 oder vielmehr 133 Elemente durchbohrt.

    Hoppla, wo ist 133, wenn ich die ganze Zeit zuvor über 128 gesprochen habe? Als eingefleischter Projektsüchtiger wollte ich im letzten Moment etwas ins Spiel bringen. Deshalb hat Designerin Tanya gezeichnet, und ich habe heimlich von anderen Projektteilnehmern fünf weitere Ostereier über Leute hinzugefügt, die irgendwie mit der Entwicklung des Spiels verbunden waren. Die Gesamtzahl der Elemente, die dem Player angezeigt wurden, wurde der Einfachheit halber fest codiert. Infolgedessen sammelten die Spieler nur 128 Elemente (was nicht die maximale Anzahl von Punkten ist) und dachten, das sei alles.


    Wunderschöne fünf in Form von Osterelementen.

Anstelle eines Nachwortes


DotNext bestanden. Für Android wurde das Spiel von 146 Personen heruntergeladen. Weitere 43 haben den öffentlichen Betatest für iOS bestanden. Wir haben einen Chat für die Spieler gemacht. Die meisten Spieler waren zufrieden (wir haben keine direkten negativen Bewertungen erhalten), die Preise fanden ihre Gewinner. Nun, wie immer fielen Erleichterung und Verwüstung auf mich, fast immer.

Jetzt, nach mehr als einem Monat, wurde ich entlassen und schrieb diesen Post Mortem. Nun, wir konnten den Fakaps nicht ausweichen. Aber wir haben unser Ziel erreicht - wir haben ein vollwertiges Projekt in einem Monat ohne Arbeitsunterbrechung umgesetzt und es erfolgreich auf der Konferenz gestartet. Hat mir diese Geschichte etwas beigebracht? Vielleicht ist es Zeit anzuhalten und sich an die Designarbeit zu binden? Es ist schwer zu sagen, warten Sie auf die nächste Konferenz!
In der Offline-Version unserer "IT-Alchemie" können Sie ohne Aufzeichnungen und mit einem festen Startbildschirm spielen, indem Sie sie auf Google Play herunterladen.

Source: https://habr.com/ru/post/de481038/


All Articles