Forum: PC-Programmierung Cross Platform App Projekt: Puzzle-Spiel


von Borislav B. (boris_b)


Angehängte Dateien:

Lesenswert?

Liebe Forums-Mitglieder,
neben Platinen und Mikrocontrollern habe ich ein neues Hobby entdeckt: 
App-Entwicklung. Wenn man sich schon mal mit Softwareentwicklung und 
Programmierung beschäftigt hat, ist das gar nicht mal so schwer ;-)

Mein aktuelles Projekt würde ich euch gerne an dieser Stelle vorstellen 
(ich hoffe das ist gestattet und stößt niemandem sauer auf?).
Warum gerade hier? Ich könnte mir vorstellen, dass der 
durchschnitts-Mikrocontroller.net-Besucher ein Herz für Knobeleien 
hat...

Bei dem Projekt handelt es sich um ein waschechtes Puzzle-Spiel, das in 
den Weiten des Alls angesiedelt ist. Es gibt auch eine kleine 
Hintergrundgeschichte rund um Earl das Alien. Die gestaltet das Knobeln 
hoffentlich noch etwas unterhaltsamer. In insgesamt 58 Levels gilt es, 
das Ufo in eins der Wurmlöcher zu bugsieren. Klingt leichter, als es 
ist...
Wer keine Lust mehr auf denn 100sten Flappy-Bird-Klon hat, und mal seine 
grauen Zellen anstrengen möchte, ist hier genau richtig.

Was macht das Spiel besonders?
 - Die Spielmechanik ist sehr eingängig
 - Trotzdem sind die Level teilweise bockschwer ;-)
 - Bei der Grafik habe ich mir viel Mühe gegeben (ein bisschen 3D mit 
dezenten Lichteffekten)
 - Es gibt ein handgezeichnetes Intro und Outro
 - Keine Werbung, keine In-App-Käufe, kein Facebook, kein Zugriff auf 
das Adressbuch...

Die gute Nachricht: die App habe ich für Android, iOS und Windows Phone 
umgesetzt. Sie sollte auf Smartphones und Tablets gleichermaßen 
funktionieren. Es sollte also jeder auf seine Kosten kommen :-)
Die schlechte Nachricht: sie kostet grob einen Euro. Ich hoffe das nimmt 
mir niemand übel (heutzutage muss ja immer alles gratis sein)...


Falls ich euch für das Spiel begeistern konnte, hier die Links:

Android:
https://play.google.com/store/apps/details?id=de.fun4mobile.galaxyhopper

iOS:
https://itunes.apple.com/de/app/the-galaxy-hopper/id969846833?mt=8&uo=6&at=&ct=

Windows Phone:
https://www.windowsphone.com/de-de/store/app/galaxy-hopper/c5646f20-fd3a-4f30-8cc0-0fff081f9fe8


Einige Dinge gibt es noch, die ich gerne umsetzen möchte (z.B. eine 
Hilfe-Funktion und einen Musik-Schalter, falls man was Eigenes hören 
möchte). Für weitere Verbesserungsvorschläge und Ideen bin ich natürlich 
dankbar. Wenn jemand Fragen hat, Bugs findet oder eine Lösung braucht, 
meldet euch einfach. Ich helfe gerne :-)

Boris

von Vlad T. (vlad_tepesch)


Lesenswert?

hasb mal geladen und werds bei gelegenheit im Bus mal ausprobieren.

Was ist der Unterschied zwischen Free- und Kaufversion? konnte ich auf 
den ersten Blick in der Beschreibung nicht sehen.

von Borislav B. (boris_b)


Lesenswert?

Vlad Tepesch schrieb:
> hasb mal geladen und werds bei gelegenheit im Bus mal ausprobieren.

Dann bin ich mal auf dein Urteil gespannt!

Vlad Tepesch schrieb:
> Was ist der Unterschied zwischen Free- und Kaufversion? konnte ich auf
> den ersten Blick in der Beschreibung nicht sehen.

Die Free-Version hat nur 12 Level. So kann man schauen, ob das Spiel auf 
dem eigenen Gerät läuft. Und natürlich ob's Spaß macht.
Früher nannte man sowas wohl Demo ;-)

: Bearbeitet durch User
von Vlad T. (vlad_tepesch)


Lesenswert?

Boris P. schrieb:
> Die Free-Version hat nur 12 Level. So kann man schauen, ob das Spiel auf
> dem eigenen Gerät läuft.

Das hab ich jetzt auch herausgefunden :-)
10min bus Wartezeit haben gereicht.


Boris P. schrieb:
> Dann bin ich mal auf dein Urteil gespannt!

Das Spielprinzip kommt mit jetzt nicht so neu vor ;-)
Die Umsetzung ist ganz nett. Bluescreen im UFO?  ;-)

Den Schwierigkeitsgrad fand ich jetzt nicht so herausfordernd. 
Vielleicht sollte die demo einen Querschnitt durch alle Bereiche geben. 
Die ersten 6 Einführung und dann einen aus jeder weiteren 
Schwierigkeitsstufe.


Boris P. schrieb:
> Wenn jemand [...] Bugs findet [...] meldet
> euch einfach.

Mit kommt es komisch vor, dass wenn ich ein level erreicht habe, ich 
dieses erst anwählen kann wenn ich es geschafft habe, zumindest war das 
ab der zweiten Zeile so. Ich hatte 7 absolviert, war in der 8 und hatte 
kurz ausgemacht, musste es dann aber nochma 7 lösen, damit ich wieder 
zur 8 kam. Das ließ sich bei folgenden reproduzieren

: Bearbeitet durch User
von Borislav B. (boris_b)


Lesenswert?

Vlad Tepesch schrieb:
> Den Schwierigkeitsgrad fand ich jetzt nicht so herausfordernd.
> Vielleicht sollte die demo einen Querschnitt durch alle Bereiche geben.
> Die ersten 6 Einführung und dann einen aus jeder weiteren
> Schwierigkeitsstufe.

Klar, die ersten Level sind ziemlich leicht. Aber keine Angst, der 
Schwierigkeitsgrad zieht noch an ;-)
Die Idee ist jedenfalls gut...

Vlad Tepesch schrieb:
> Mit kommt es komisch vor, dass wenn ich ein level erreicht habe, ich
> dieses erst anwählen kann wenn ich es geschafft habe...

Das ist tatsächlich ein Bug. In der Vollpreis-Version ist der auch schon 
behoben. Die Demo habe ich allerdings noch nicht auf den neusten Stand 
gebracht. Danke für's melden!

von Vlad T. (vlad_tepesch)


Lesenswert?

Boris P. schrieb:
> Aber keine Angst, der Schwierigkeitsgrad zieht noch an ;-)

Sei mit nicht böse, aber ich werde es mir nicht kaufen. Das liegt zum 
einen daran, dass ich nicht vor hab, irgend welche bezahl Optionen mit 
dem Google Konto zu verbinden (Die einzige APP, die ich bisher gekauft 
habe ist Threema, und die auch direkt über den Hersteller) und zum 
anderen, dass, wenngleich auch nett gemacht, der Spieletypus für mich 
nicht so ansprechend oder originell ist.

von Skyper (Gast)


Lesenswert?

Hi,
erzählst Du etwas über die "Hintergründe", also welches Framework nutzt 
Du? Das Thema Cross Platform App interessiert mich, auch wie "aufwendig" 
es ist, die App bei Apple in den Shop zu bekommen...

von Dominik (Gast)


Lesenswert?

Super Sache! Gefällt mir echt gut!
Mich würden die Hintergründe auch brennend interessieren!
Genauso wie Entwicklungszeit, verwendete Programme, Vorkenntnisse 
(Grafik usw)!
Echt ein tolles Projekt! Weiter so!

von Borislav B. (boris_b)


Lesenswert?

Dominik schrieb:
> Super Sache! Gefällt mir echt gut!
> Mich würden die Hintergründe auch brennend interessieren!

Klar, gerne doch!

Wie man am Splash-Screen schon sieht, ist das ganze mit der Unity Engine 
(http://unity3d.com) gemacht. Die gibt es gratis für Indie-Entwickler, 
was zum Reinschnuppern natürlich eine super Sache ist.

Zur Programmierung:
Unity verwendet C#, das dann automatisch in nativen C++ Code für jede 
Platform kompiliert wird. Das macht die Programmierung sehr "effizient" 
(C# ist wirklich angenehm), und trotzdem läuft es auf jeder Platform, 
und das auch noch fix :-)

Cross Platform:
Wie gesagt, Unity kann für alle gängigen Plattformen bauen. Der Teufel 
steckt dann im Detail: Man benötigt einen Mac und ein bisschen 
xcode-Erfahrung, um für iOS zu bauen. Für Windows Phone ist ein PC mit 
Visual Studio nötig. Android hingegen benötigt keine "Nachbearbeitung" 
mit einer anderen IDE. In allen drei Fällen muss man sich aber mit den 
Spezialitäten der App-Stores herumschlagen (Gebühren zahlen, Screenshots 
machen, 1000 Infos eingeben, Altersfreigaben einrichten usw.).

Zur Grafik:
Die Zwischensequenzen habe ich mit Papier und Bleistift gezeichnet, 
eingescannt und dann mit Photoshop (im Abo sehr günstig) nachcoloriert. 
Die Texturen sind ebenfalls in Photoshop entstanden. Die 3D-Modelle habe 
ich mit Blender erstellt, dass es kostenlos gibt.

Die Level:
Hier habe ich mir einen Generator geschrieben, der ein zufälliges Level 
generiert, und dann versucht dieses zu lösen. Wenn es lösbar ist, wird 
das Level, der Schwierigkeitsgrad und die Lösung protokolliert.
Den Generator habe ich dann auf einem 8-Kern PC drei Tage laufen lassen, 
und hatte am Ende ca. 800 Level, aus denen ich dann ausgewählt habe.

Die Musik:
Hier bin ich absolut talentfrei. Die habe ich einfach im Internet 
gekauft (ca. 10$ pro Track).

Die Sound Effekte:
Viele davon stammen von einer alten CD mit Spiele-Soundeffekten, die ich 
mal gekauft habe. Einige davon habe ich mit Audacity (Freeware) ein 
bisschen an meine Vorstellungen angepasst. Die Sprach-Samples sind 
selber gesprochen :-)


Die Entwicklungszeit lag bisher bei ca. 8 Monaten. Das aber nicht in 
Vollzeit, sondern nur ca. 5h pro Woche. Frau und Kind haben natürlich 
Vorrang bei der Freizeitgestaltung ;-)

von Vlad T. (vlad_tepesch)


Lesenswert?

Boris P. schrieb:
> Die Level:
> Hier habe ich mir einen Generator geschrieben, der ein zufälliges Level
> generiert, und dann versucht dieses zu lösen. Wenn es lösbar ist, wird
> das Level, der Schwierigkeitsgrad und die Lösung protokolliert.
> Den Generator habe ich dann auf einem 8-Kern PC drei Tage laufen lassen,
> und hatte am Ende ca. 800 Level, aus denen ich dann ausgewählt habe.

fauler Sack ;)

von Chefkoch (Gast)


Lesenswert?

Ich habe da eine ganz spießige Frage:

wie sieht das eigentlich mit der Steuer und den Einnahmen aus den App 
aus?
Geht das über den Appstore automatisch, muss man das "melden" bei der 
Steuererklärung oder hängt das irgendwie von der Höhe der Einnahmen ab?

von Borislav B. (boris_b)


Lesenswert?

Chefkoch schrieb:
> Ich habe da eine ganz spießige Frage:
>
> wie sieht das eigentlich mit der Steuer und den Einnahmen aus den App
> aus?
> Geht das über den Appstore automatisch, muss man das "melden" bei der
> Steuererklärung oder hängt das irgendwie von der Höhe der Einnahmen ab?

Die App hat sich exakt 0 mal verkauft.
Insofern gibt es keine Einnahmen :-(

(theoretisch würde ich das wohl in der Umsatz- und der 
Einkommenssteuererklärung angeben...)

von Robert L. (lrlr)


Lesenswert?

deine Homepage schaut für "ich mach das nebenher" ziemlich Professionell 
aus, Respekt ... (spiel selber hab ich mir noch nicht angeschaut)

Ein gutes Produkt hilft nix, ohne Marketing.. (hab allerdings auch keine 
Ahnung wo/wie man solche Apps bewirbt,
vermutlich müsste man in den foren der kidds (die haben mehr Zeit als 
"wir" für solche Spielchen) nach passenden Beiträgen suchen und die 
"dezent" drauf hinweisen..
wenns tatsächlich gut ist, wird es sich dann schon per facebook und co 
verbreiten..

zum Framework hätte ich auch eine Frage..
geht das nur für "aufwändige" spiele, oder auch für nicht-spiele ..
ich Frage deshalb, weil ich sowas suchen würde,
die (eher einfache) app müsste dann aber als Hauptkriterium schnell 
starten.. d.h. wenn unity3d jetzt auch bei MinniAnwendungen an riesigen 
overhead hätte, wäre es ungeeignet..

und optimal wäre: widgets sollte man auch programmieren können..

von Skyper (Gast)


Lesenswert?

Vielen Dank für die Infos...

klingt leider etwas aufwendiger als ich dachte.

Ich suche gerade für ein kleines Projekt, Steuer-/Anzeige App nach einer 
Lösung/Framework .... Hab mir PhoneGap etwas genauer angeschaut - 
verpackt die Webapp in eine Web-/Sandbox; dazu Build-Service und wohl 
"wenig" IOS Stress ... oder Qt - IOS geht nur statisch gelinkt und das 
geht wohl nicht mit der OpenSource/Community Version, nur gegen Geld in 
der Indie Mobile Version $25 pro Monat :-/ ...

von Karl (Gast)


Lesenswert?

Chefkoch schrieb:
> Ich habe da eine ganz spießige Frage:
>
> wie sieht das eigentlich mit der Steuer und den Einnahmen aus den App
> aus?
> Geht das über den Appstore automatisch, muss man das "melden" bei der
> Steuererklärung

Natürlich musst du Einnahmen in der Einkommenssteuererklärung angeben - 
ganz egal, ob diese durch App-Verkäufe oder durch gewerbsmäßiges 
Streichen von Zäunen zustande kommen.

Bei der Umsatzsteuer ist es etwas anders: Die führt der Betreiber des 
App-Stores (Apple, Google, MS, ...) an die jeweiligen Behörden ab. 
Alleine könnte man das überhaupt nicht stemmen, da meist in 100 bis 200 
Länder verkauft wird. Was du bekommst, ist der Verkaufsbetrag minus 
Anteil des Shopbetreibers und Umsatzsteuer.

Wenn eine Gewinnerzielungsabsicht besteht, "darfst" du auch ein Gewerbe 
anmelden. Im Bereich Programmierung u.ä. gibt es aber keine besonderen 
Hürden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.