[App in Entwicklung] MaterialDev - Androids erstes Spiel in dem echte Programmierkenntnisse gefragt sind.

  • Antworten:29
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 605

06.01.2016, 10:26:23 via Website

Vorweg an Pascal: Sollte das hier nicht passen, wie ich finde, bitte verschieben. Danke ;)

MaterialDev

Hallo Leute,

nachdem ich mich nun an einigen Apps ausprobiert habe, finde ich, dass es an der Zeit ist, ein Projekt wirklich kontinuierlich und mit dem nötigen Fleiß zu entwickeln. Schon seit der sechsten oder siebten Klasse, als ich angefangen habe zu Programmieren, nahm ich mir folgendes vor. Ein Spiel entwickeln, welches sich ausschließlich der Programmierung widmet. Denn so ein Spiel habe ich bis heute nicht gefunden. Natürlich gibt es Spiele wie "Game Dev Story" etc., aber aktuell ist mir keins bekannt, in dem der Nutzer selbst programmieren kann.

Da ich selbst Interesse habe, Entwicklungsfortschritte von anderen Programmierern zu verfolgen, habe ich mir überlegt, ich könnte hier ja eine Art "Blog" über die Entwicklung machen. Besteht hier Interesse eurerseits?

Nun zu dem Spiel:

image
MaterialDev

Vorgestellt habe ich es mir wie folgt:
Der Spieler kann zwischen den Spielmodi Storymode, Arcade und Freies Spiel wählen.

Im Storymode sind nach und nach Probleme zu lösen, Code-Fehler zu beheben, Snippets zu schreiben etc. Dies alles in einem fortlaufenden Context. Praktsch eine kleine Geschichte welche erzählt wird. Dadurch wie der Spieler Aufgaben bewältigt, kann der Spielverlauf aber auch geringfügig verändert werden.

Der Arcade-Mode bietet einzelne, immer anspruchsvoller werdende, Level aus den Bereichen Code vervollständigen, Fehler beheben, und Programmier-Aufgaben lösen.

Beim freien Spiel will ich dem Spieler möglichst wenige Grenzen setzen. Wie genau ich das umsetze weiß ich noch nicht.
Denkbar wären kleine Programme die der Spieler frei entwickeln kann.

Programmiersprache
Welche Programmiersprache in dem Spiel behandelt und genutzt wird steht auch noch nicht fest. Zur Auswahl stehen aber eigentlich nur Java oder eine fiktive und abgespeckte Sprache. Aber auf jeden Fall Objektorientiert bzw. an Java angelehnt.

Heute Abend ist erst einmal ein animiertes Logo als Start-Bildschirm dran. Mal sehen wie weit ich komme.

Anmerkungen
Wie findet ihr die Idee, den Entwicklungsfortschritt hier zu teilen? Denkbar ist auch ein GitHub-Seite um euch auch am Code teilhaben zu lassen. Wie findet ihr das Konzept für das Spiel?

Kritik und Vorschläge werden gerne angenommen.

Eurer Henrik

Pascal P.

Antworten
  • Forum-Beiträge: 115

06.01.2016, 10:33:10 via App

Ich finde das eine ziemlich coole Idee. Auch wenn ich selbst vom programmieren keine Ahnung habe, wollte ich mich (ohne Erfolg) damit mal auseinandersetzen. Wichtig ist, dass auf jedenfall ein ausfürliches Tutorial dabei ist, dass Begriffe der Programiersprache genau erklärt und das System verständlich macht. Wenn das so wäre freue ich mich jetzt schon auf das Spiel :D .
MfG

Henrik Martens

Antworten
  • Forum-Beiträge: 605

06.01.2016, 10:39:08 via Website

Freut mich, dass dir die Idee gefällt.

Das hatte ich auch schon überlegt. Man könnte ja, unabhängig welche Sprache ich wähle, im Story-Mode z.B. als Azubi in einer Firma starten. Und das Programmieren erst lernen. Und man bekommt dann immer Hinweise, bis zu welchem Arcade-Level man mit dem entsprechenden Wissen kommen kann.

Sollte ich Java als Sprache wählen, könnten Spieler, welche Java bereits beherrschen, natürlich direkt als ausgelernter Mitarbeiter anfangen.

Antworten
  • Forum-Beiträge: 115

06.01.2016, 10:40:53 via App

Ja das klingt natürlich mega... ^^ Dann bin ich ja mal gespannt.

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

06.01.2016, 10:41:05 via Website

Hallo Henrik,
das Konzept finde ich schonmal Super.(cool)
Obwohl ich mir das schjon relativ Komplex vorstelle, ein Spiel zu programmien mit welchem man dann selbst Programmieren kann.
Dafür brauchst du dann ja einen eigenen Compiler bzw. interpreter, welcher dann auch dafür sorgt, dass mein seinen Code auch Testen kann etc.
Ob das so wie vorgestellt funktioniert, stelle ich noch in Frage, da ich mir kaum vorstellen kann dass man so einfach einen Interpreter schreiben kann der den Code dann ausführt.
Vielleicht hast du ja auch glück und es gibt sowas schon, damit würdest du dir viel Arbeit ersparen.
Zur Programiersprache:
Ich würde wenn schon gleich Java nehmen und nichts abgewandeltes.
Ist auch einfacher dann kommt der Spieler nicht durcheinander wenn er mal wieder ein "richtiges" (nicht negativ auffassen ;) ) Programm schreibt.

Was ich jedoch als Nachteil empfinde, man müsste ja den den Code am Phone schreiben, da bin ich jetzt nicht der Fan von. Vlt. erleichtern ja "Codebausteine" das Tippen.

Was natürlich noch zu schwierigkeiten fürhren könnte, wäre das nachbilden einer IDE.
Natürliuch kann man ein einfaches Textfeld nehmen, aber da fehlen ja dann schöne Dinge wie Autovervollständigung und Sytaxmarkierung etc.

Die Idee ist schonmal Super, bevor du allerdings richtig ins Programmieren dafür einsteigst, solltest du dir erst dein Konzept noch etwas ausarbeiten, das die App nachher können muss/soll etc.
Kannst ja meine Ideen/Einwände mit einbeziehen ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 115

06.01.2016, 10:46:03 via App

haha ich versteh nur Bahnhof! 😂😂😂 Aber für leute wie mich müsste es verständlich sein. Sonst holt sich die App ja keiner. :D :D

Edit by Mod Pascal P.: Unnötiges Vollzitat entfernt

— geändert am 06.01.2016, 10:47:57 durch Moderator

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

06.01.2016, 10:48:48 via App

Ist ja auch für einen Entwickler gedacht xD.
Das musst du nicht verstehen ;)

— geändert am 06.01.2016, 10:49:05

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 115

06.01.2016, 10:51:34 via App

Jo! xD Naja ich will mal nicht vom Thema dieses Forums und der grandiosen Idee ablenken. Bleib am Ball! 👍👍

Antworten
  • Forum-Beiträge: 605

06.01.2016, 10:56:41 via Website

Hallo Pasal,

das es nicht einfach wird, weiß ich... :D Trotzdem, wer nicht wagt, der nicht gewinnt. ;)

Deine Einwände sind natürlich vollkommen berechtigt. Ich habe mir da auch schon Gedanken zu gemacht. Nen Compiler benötige ich gar nicht zwingend, da die es ja um das Programmieren geht und es sich, zumindest im Story- und Arcade-Mode, um vorgefertigte Aufgaben handelt. Bei den dann nur mit möglichen Lösungen abgeglichen werden muss. Obwohl es mit einem Compiler natürlich ansprechender wäre. Einen Interpreter müsste ich auch jeden Fall auf die Beine stellen.

Dazu habe ich folgende Pro- und Contra-Liste erstellt:

image

Zu dem "mühsamen" Schreiben von Code auf dem Mobiltelefon kann ich eigentlich nur folgendes berichten:
Ich habe mehrere IDEs getestes, welche für Android zur Verfügung stehen, natürlich ist es am PC komfortabler, aber es ist gut machbar auch am Handy zu coden. Gerade deswegen handelt es sich ja auch nur um ein Spiel, man soll ja keine 30.000 Zeilen große Programme schreiben.

Antworten
  • Forum-Beiträge: 1.098

06.01.2016, 10:58:43 via App

Moin Henrik,

deine Idee, hier die Entwicklungsfortschritte zu posten, fände ich spannend. Ich selbst stecke bei Java noch in der Theorie, daher wäre ich nur ein passiver "Zuschauer". Setze diesen Threat aber sehr gerne auf "Beobachten" und schaue mal wie es sich entwickelt.

Wünsche dir auf jeden Fall gutes gelingen!

"Ich komme eigentlich nie zu spät; die anderen haben es bloß immer so eilig." (Marilyn Monroe)

LG G2, 5.0.2
LG G3, 6.0
Sony Xperia X Compact, 7.0

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

06.01.2016, 11:04:02 via Website

Genau, kleinere snippets etc. kan ich mir gut vorstellen. Jeoch darf es nicht zu umfangreich werden ;)

Du köntest z.b. mal schauen inwie weit du das openSource Projekt verwenden darfst:
https://play.google.com/store/apps/details?id=com.spartacusrex.spartacuside&hl=de
https://code.google.com/p/terminal-ide/

uvm. mal den Entwickler anschreiben.
Vielleicht hilft das ja ;)

Zumindest mal im Code spickeln wie man sowas überhaupt angehen könnte

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 605

06.01.2016, 11:10:40 via Website

Danke Pascal :)

Das werde ich mal machen. Reinschauen in den Code und mich "inspirieren" lassen kann ich ja sowieso tun. Mein Ziel ist es ja sowieso, die App unabhängig von anderen Sources du schreiben.

Sonst bin ich ja bei jeglichen Änderungen auf das Update des "Dritten" angewiesen.

Antworten
  • Forum-Beiträge: 605

07.01.2016, 09:14:46 via Website

Update zum 06.01.2015

Nachdem ich relativ früh von der Arbeit nach Hause kam, habe ich mich gleich wieder an die Arbeit gemacht. Erst ein mal die vorhandene Motivation ausnutzen.

Leider habe ich nicht sehr viel geschafft. Warum, das werdet ihr gleich lesen.

Angefangen habe ich damit, ein kleines, in 2D animiertes, Logo zu erstellen. Leider bin ich eher der Programmierer, und nicht der Grafiker. Daher hat es eine gefühlte Ewigkeit gedauert, dass passende Tool zu installieren und herauszufinden, wie das mit dem Keyframes funktioniert. Naja halb so wild, ich hab es geschafft. Das App-Logo verzerrt sich kurz, dreht sich, es fährt ein Schriftzug rein, und verschwindet wieder. Wie gesagt: Ich bin nicht der kreativste Mensch. Ich werde die Animation heute Abend mal hier posten.

Dann musste ich meiner Freundin dabei helfen, ein VBA-Script als Makro für Excel zu schreiben. Hat auch nur ne knappe Stunde gedauert, also halb so wild.

Nun habe ich das Projekt vorbereitet. Das grundlegende Design angepasst, die Manifest ein wenig bearbeitet, usw. Außerdem habe ich eine fertige XML zum Projekt hinzugefügt, welche alle MaterialDesign-Farben enthält. Damit spare ich mir das ständige Farbcode-Gesuche.

Nun wollte ich eigentlich noch den Start-Bildschirm der App mit der Gif versehen. Leider habe ich auf die Schnelle keine Möglichkeit gefunden, die Gif in die ImageView zu laden. Das ist also der nächste Punkt auf meiner Liste. Da nach ist dann das Hauptmenü an der Reihe.

Sollte jemand noch Ideen oder Tipps bezüglich des animierten Logos haben, immer her damit. Vielleicht gibt es hier ja sehr kreative Menschen ;)

Das soll es nun auch gewesen sein, zumindest vom gestrigen Tage.

Euer Henrik

Pascal P.

Antworten
  • Forum-Beiträge: 272

08.01.2016, 11:57:01 via Website

Versuche als erstes statt irgendwelche halbherzige animierte Logos zu erstellen, ein Pflichtenheft auf die Beine zu stellen, mit den Funktionen, die in der App enthalten sein werden.

Die Programmierung ist dann nur noch reine Fleißaufgabe.

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.170

08.01.2016, 11:59:53 via App

@SvenDD.Wenn schon dann gleich richtig xD
Ich glaube als Hobbyprogrammierer aebeitet kaum jemand mit 100% igem Plfichtenheft. Da hat man die Idee und setzt sie direkt um ;)

Aber hast schon recht, müsste man eigentlich machen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
  • Forum-Beiträge: 272

08.01.2016, 13:58:25 via Website

Aber nicht bei so einem komplitzierten Spiel, wenn es FlappyBird wäre ...

Aber hier wird ja dann mehr abgefragt, als nur tippen auf den Screen.

Antworten
  • Forum-Beiträge: 605

08.01.2016, 15:32:06 via Website

Da hast du eigentlich recht Sven.

Der Rest ist dann dann "Spielerei" und ist, sofern die App steht, auch nur noch ein Katzensprung.

Antworten
  • Forum-Beiträge: 272

08.01.2016, 15:48:17 via Website

Du kannst ja dann immer noch berichten, was du alles geschafft hast, wie z.B. die und die Funktionen für die erste Version im Pflichtenheft festgelegt, etc. pp.

Vielleicht würde sich auch dann ein zweiter Thread lohnen, wo du wirklich ein Tagebuch führst und hier dann die Kommentare/Diskussionen zu diesem Tagebuch erfolgen sofern die Admins hier nicht wieder wild rumlöschen.

— geändert am 08.01.2016, 15:48:39

Antworten
  • Forum-Beiträge: 605

08.01.2016, 15:59:01 via Website

Ich habe bereits eine grobe Übersicht, die werde ich nun weiter Ausbauen...

Wäre nicht ein Forenbereich schön? Dann könnten auch andere Mitglieder solche "Tagebücher" schreiben?

Antworten

Empfohlene Artikel