Tagebuch: Feature Runner

Nein, ist nicht sarkastisch gemeint…

Nö - so überhaupt nicht. Ich arbeite privat auch nicht nach Scrum - da es eine Technik für kleine Teams ist. Deswegen rede ich ja auch z.B. von Milestones und nicht von Sprints. Ich arbeite eher nach Kanban und nutze von Scrum nur das, was ich von der arbeit her kenne, alleine machen kann und als nützlich empfinde. Wie eben das schreiben der Tasks als User-Story, da diese eine nicht-technische-Sicht auf das Problem voraussetzen.

Und spätestens beim Grooming verlasse ich dann Scrum. Ich nennes für mich „Brainstorming“, da ich alleine darüber nachdenke. Ich hab keinen, mit dem ich mich abspreche(n kann). Auch mache ich keine Schätzungen und nix. Des weiteren sind meine Milestones auch nicht begrenzt in Zeit oder Komplexität/Schätzungen - oder gar fix. So ein Milestone ändert sich auch ganz gerne mal (ja kann auch bei Scrum passieren - aber bei weitem nicht so wie es bei mir mit den Milestones passiert ^^).

Also tl,dr: Ich arbeite eher im Kanban-Modus.

So, ich hab das Prefab für die Skills fertig und so schaut es aus:

Hab hier ja schon ewig kein Update mehr gebracht. Also ich bin nach wie vor dran an der Sache. Momentan gehts um das speichern wenn man ein Skill-upgrade gekauft hat. Hatte jetzt aber die letzten Tage nicht wirklich viel Zeit daran zu arbeiten. Bzw es ist mir Stellenweise auch einfach zu warm und verbringe meine Abende dann lieber gechillt auf der Couch anstatt am Schreibtisch vorm Laptop.

Wie einfach C# doch an so mancher Stelle ist. Ich hab gerade festgestellt wie kompliziert ichs mir doch gemacht habe, eine Datei zu beschreiben:

public void Write(T model) {
    var modelAsJson = JsonUtility.ToJson(model, Application.isEditor);

    var fileStream = new FileStream(_path, FileMode.Create);
    var streamWriter = new StreamWriter(fileStream);

    streamWriter.Write(modelAsJson);

    streamWriter.Close();
    fileStream.Close();
}

Hier eine Methode die einen String wegschreibt. Und hier eine andere:

public void Persist() {
    File.WriteAllText(Path, Level.ToString());
}

Schön wenn es einem so einfach gemacht wird.

So. Hab heute ziemlich viel geschafft bekommen. Was mir jetzt noch fehlt sind UI-Verbesserungen. Entweder muss ich den Skill-Tab ausblenden oder einen Erklärungstext reinpacken oder etwas ganz anderes. Denn derzeit ist einfach nur ein leers nutzloses Panel. Was ich meine, könnt ihr am Anfang von dem Video hier sehen:

Erst wenn das entsprechende Level erreicht wurde, erscheinen die Skills. Davor: Gähnende Leere ^^.

So und jetzt geht es in die Testphase. Hier schonmal das Changelog:

  • Die Sprungkraft wurde von 7 auf 6.5 reduziert
  • Neuer Tab Skills (der alte wurde in „Player“ umbenannt)
  • Neuer Skill: Decrease Speed (verfügbar ab Level 8)
  • Neuer Skill: Jump (verfügbar ab Level 9)
  • Neues InfoPanel für Skills & Powerups (wenn noch nicht freigeschaltet)

Ich befürchte, dass die eigentliche Testphase etwas kürzer ausfallen muss. Denn auf dem Smartphone brauche ich ewig um alles frei zu schalten. Dementsprechend werde ichs nur noch ein wenig am Rechner testen, wo ich einfach die Werte manipulieren kann.

Gut soweit: meine 137 Tests sind alle nach wie vor grün :slight_smile:.

Ist wirklich so: Die letzten 20% bei der Spieleentwicklung brauchen 80% der Zeit…

Hmm. Ist gerade schwer für mich abzuschätzen. Denn ich hab ja zwischendrin des öfteren mal die komplette Architektur geändert ^^.

Wobei, wenn ich jetzt noch so auf meine Roadmap schaue … ich bin geneigt dir zuzustimmen. Weil im Prinziip entwickle ich gerade ja nur noch Gimmiks. So kommt jetzt endlich mal der Premium-Shop in den Fokus (wo es dann für Münzen nice-2-haves gibt). Also eher Langzeitmotivation.

Und (das wird jetzt vielleicht nicht jedem gefallen): Werbung befindet sich auch im nächsten milestone. Aber soviel sei gesagt: die wird nur dann gespielt - wenn der Nutzer es möchte. Der Spieler muss also einen Button o.ä. klicken. Auf keinen Fall wird das Spiel in irgendeiner Form für Zwangswerbung unterbrochen. Und ich plane es so einzubauen, dass sich die Belohnung an den durchschnittlichen Münzen der letzten 10 Spiele orientiert. Um möglichst fair zu sein, gibt es aber einen mind. Betrag (derzeit denke ich da an 10Münzen). Meinen Daten die ich hab sind vllt nicht die besten - aber es gab einige Tage, wo der durchschnittliche Wert oftmas unter 10 lag. Momentan denke ich auch drüber nach, diesen mind. Betrag mit jedem Level zusätzlich etwas zu erhöhen (ich denke, dass ist gar nicht verkehrt).
Dabei ist es mitunter eben auch meine Absicht die Leute dazu zu bringen das Spiel zu spielen und “zu trainieren”.

Alles klar. Ich habe Version 1.4 frei gegeben. Was neu ist hab ich ja oben bereits geschrieben und wie immer gilt:

Bin gerade an der Werbung dran und ich mach schon erste Erfolge:

Das SDK ist aber nur für Android & iOS verfügbar. Ergo wird es die Möglichkeit Werbung zu schauen wohl nicht für die Win-Version geben.

So. Nach etwas Aufwand ist die Werbung nun drin. Und wie versprochen so unaufdringlich wie möglich. Wer keine Werbung schauen möchte, der tut es einfach nicht. Es wird wirklich nur dann Werbung angezeigt, wenn man auf den Button darüber klickt.

Da meine Freundin & Ich morgen eine Woche in Urlaub fahren, werde ich in der Zeit nix für das Spiel machen können. Deswegen hab ich den aktuellen Milestone aufgesplittet.

Dieser Milestone würde dann folgendes Umfassen: Werbung & DSGVO
Verschoben auf den nächsten: Premium Shop

Dann wäre ich u.U. heute noch fähig ein Release zu machen.

Alles klar. Dank Unity und deren Privacy Plugin war auch die Geschichte mit der DSGVO sehr einfach und (hoffentlich) zuverlässig umsetzbar.

Android-Update ist im Store eingereicht. Ein Windows-Update wird es keines geben. Problem an der Sache ist, dass das Werbe-SDK für Windows nicht verfügbar ist und deswegen der Build stirbt. Und ich hab noch keine Ahnung, ob ich das versuchen will zu fixen oder nicht. Da ich glaube, dass die Win-Version nicht sonderlich häufig gespielt wird, bezweifle ich gerade, dass sich der Aufwand dafür lohnt.

Ich glaube ich bin nicht zufrieden mit meinem Belohnungskonzept von der Werbung. Zumindest nicht vollends. Den Punkt, dass der Spieler bessere Belohnungen bekommt wenn er spielt gefällt mir. Nur ist die Belohnung an sich möglicherweise (gerade auf höheren Levels) zu wenig. Derzeit steigt der Min-Betrag pro Level um 2 Münzen. Was einen derzeitigen Max-Min-Betrag von 28 Münzen auf Lvl 9 ergibt. Was bedeutet, dass man dafür sich nichtmal ein PowerUp kaufen kann.

Die einfachste Idee wäre, die Erhöhung anzupassen. Aber dann profitiert man doch erst relativ spät von dem ganzen. Ich hab noch nicht wirklich viel drüber nachgedacht, aber derzeit erscheint mir ein genereller Min-Betrag von 50Münzen am sinnvollsten. Oder zumindest, dass er bei 50 ist - sobald PowerUps erscheinen.

Der Gedanke gefällt mir gerade irgendwie. Mit Level-Steigerung könnte es dahingehend wachsen. Jetzt muss ich mir nur noch überlegen, wie ich und ob ich die Spielweise da noch mit reinbringen kann - so wie beim aktuellen Modell (also das mit den durchschnittlichen Münzen pro Lauf in den letzten 10 Spielen).

So. Kann meiner Sucht “am Spiel programmieren” guten Gewissens hier an der Ostsee nachgehen. Da ich ein Frühaufsteher bin (wie auch immer das passieren konnte) und meine Freundin so überhaupt nicht - hab ich morgens ein Zeitfenster von mehreren Stunden wo ich hier in der Ferienwohnung was zu tun brauch.

Dementsprechend hatte ich heute morgen schon Zeit die Belohnungen anzupassen. Ich hoffe, ich gehe jetzt nicht in das andere extrem - aber die Belohnungen werden sich nun viel stärker erhöhen. Die neue Formel:

Level x 10 + (average_coins_last_10_games x 0.5)


Ansonsten würde für das nächste Update noch eine Sache auf der Agenda (bisher) stehen: Momentan muss man auf einen Button klicken um die Belohnung zu bekommen. Es gibt aber durchaus Szenarien wo ein Spieler das verpasst und dann nicht entlohnt wird. Was kacke ist und ich würde mich als Spieler fragen: “Warum wird mir das bitte nicht direkt gutgeschrieben?”. Genau darum wird es gehen. Ich möchte niemanden um seine Münzen bringen, deswegen soll die Belohnung zukünftig direkt gut geschrieben werden.

So. Ich lade gerade die neue Version in den Store. Von nun an gibt es mehr fürs schauen der Werbung. Desweiteren muss die Belohnung auch nicht mehr extra abgeholt werden. Sobald die Werbung fertig geschaut wurde bekommt der Spieler die Belohnung gut geschrieben.


Außerdem hab ich mal wieder ein klein wenig den Store-Eintrag angepasst. Der Play-Store erkennt nicht automatisch, dass Werbung angeboten wird. Die entsprechende Checkbox ist getriggert und nun sollte es dort auch (bald) angezeigt werden.

So. Hab jetzt seit einer Woche das Update mit der Werbung drin und es hat was von der Börse. Mal ist Werbung mehr wert, mal weniger. Aber anscheinend doch „recht lukrativ“. Denn mit meinen Hand-voll-Spielern hab ich in der kurzen Zeit ~2.11€ verdient:

Sofern ich die Daten richtig deute ^^.

Es kann also durchaus realistisch sein, dass ich mir für mein nächstes Spiel Asset-Pakete kaufen welches durch Feature Runner finanziert worden sind. Und das find ich irgendwie cool :slight_smile:.


Soviel mal zum finanziellen Einblick. Hier mal ein Update an was ich bisher arbeite, nämlich am Premium-Shop der nice-2-have Sachen anbieten soll. Ich hab bisher schon die grobe Richtung ausgearbeitet. Meine Aufgaben sind alle vorbereitet. Sowohl Datenmodel als auch teile der UI stehen schon. Jetzt muss etwas logik in das UI-Element sodass es mit dem Datenmodel zusammenarbeiten kann.

Coole Sache :slight_smile: Hätte ich jetzt auch nicht erwartet. Noch ein paar Tage und dann hast du dein erstes Bier. :slight_smile:
Finde das vorallem interessant weil auch meine erste publike App in ihre Alpha Schuhe tritt (eventuell steht auch ein Konsolenrelease an).

Hast du mal überlegt deine App über den Amazon App Store anzubieten (ohne Werbung). Dort wirst du (von Amazon) pro Spielzeit bezahlt, für den Nutzer ist das komplett kostenlos - bis auf die persönlichen Daten wahrscheinlich.
Also keine Ahnung ob sich das lohnt.

Nun ja, dafür hatte ich gestern ein epcm von 0.00$ und entsprechend nichts bekommen für die angeschaute Werbung. Was mich halt überrascht hat ist vor allem der Punkt, dass ich schonmal eine App im Store hatte (mit Werbebanner) und da war die Werbung so gut wie nix wert. Nach 1 oder 2 Jahren hatte die (Notizapp, mittlerweile tot) gerade mal 20€ gebracht. Ich nehme an, der wesentliche Unterschied liegt hier halt bei der Art&Weise wie du eine App anzeigst. Dadurch das ich Videos ausliefere (welche nicht abgebrochen werden können) muss der Nutzer diese halt komplett ansehen. Denke, dass erhöht deren Wert dann doch schon sehr stark im Vergleich zu den Bannern. (Und hinzu kommt noch, dass ich einen anderen Anbieter nehme. Anstatt Google Ads nutze ich Unity Ads).

Das man beim Amazon-Store für Spielzeit bezahlt wird ist mir neu. Muss ich mir mal anschauen. Aber bisher war nur der Windows-Store im Hinterkopf. Dafür war ich aber immer zu Faul mich zu registrieren und da ich jetzt keine Win-Builds mehr anbieten kann ohne umbauten wurde der auch uninteressant. Soltle ich auch im Amazon-Store anbieten (wobei ich dem irgendwie nicht soviel Aktivität zutraue), dann würde ich aber trotzdem die ein und selbe App anbieten. Verschiedene Versionen der App bereit zu stellen macht es nur komplexer und eigentlich möchte ich Feature Runner gerne so langsam mal zum Abschluss bringen.

Es wird nun etwas ruhiger um Feature Runner werden … vorerst. Der Grund dafür ist relativ einfach, meine Freundin & ich sind gerade voll damit beschäftigt unseren anstehenden Umzug vorzubereiten. Zusätzlich müssen wir Mieter finden, an den wir unsere Wohnung vermieten können + diese bewerben. Und dazu darf man sich noch mit so einem scheiß wie “Mietvertrag aufsetzen” auseinander setzen. Wenn die Wohnung dann mal zur Vermietung ausgeschrieben ist, kommt eben noch das Mieter ausfiltern hinzu.

Ich hoffe abends doch mal Zeit für die App zu finden - rechne aber momentan damit, dass wir damit ziemlich stark ausgelastet sein werden und ich dann einfach keinen Kopf mehr fürs programmieren hab. Also nicht wundern, wenn jetzt erstmal keine Updates mehr kommen.