Erste Schritte Games - Wo beginnen?

smile610

Mitglied
Hallo

Ich will für mein VA Projekt der Schule ein Android Game auf Java programmieren und vermarkten. Es soll ein 2D Jump&Run Game sein, hat ähnlichkeiten mit Geometry Dash. Also: ich habe mich schon ein wenig in Java&eclipse eingearbeitet, doch nun komme ich aus der spiele-Perspektive nicht mehr weiter. In diversen Einsteiger-Guides wird nun gezeigt, wie man uhren&kalendner in die app einfügt, doch was ich brauche sind bilder die sich auf touch berühren, geräteunabhängig schnell sich bewegende bilder, ein wenig musik, ein menu und dann wärs das auch schon. Ich würde es auch gerne zusätzlich mit xml gestalten. Auch Spiele Tutorials hab ich keine schlauen gefunden, z.b. panjutorials macht ohne xml und so...

ich hab noch nicht so viele englische tutorials betrachtet, da ich da nicht so gut unterscheiden kann ob sie gut sind oder nicht. verstehen würd ich sie ansonsten einigermassen.


Könnt ihr mir tipps geben, wo ich weitermachen kann? Wie gesagt, die grundlegensten Basics hab ich schon.

Habt ihr Tutorials/Guides/Nachschlagewerke, die mir geben, was ich brauche, oder komm ich nicht drumrum auch die kalender und uhrensachen der üblichen tuts zu lesen?

Herzlichen dank

smile610
 

stg

Top Contributor
Was ist denn überhaupt ein VA Projekt?
Wie viele Leute arbeiten an diesem Projekt und wie steht es um euer Vorwissen?
Ein solides Basiswissen bzgl OOP ist Grundvoraussetzung.
Desweiteren sollte man ein Jump'n'Run definitiv nicht unterschätzen, auch wenn es nur eine primitive Variante werden soll. Da kommst du z.B. auch unweigerlich mit Problemen wie Kollisionserkennung usw in Berührung, was für sich genommen vermutlich schon den Rahmen eines Schulprojektes sprengen könnte.

Ich würde eher etwas vorschlagen, wie z.B. Tic Tac Toe
Vorrausetzung ist aber, dass du schon Erfahrungen mit Java (oder einer anderen objektorientierten Programmiersprache) gesammelt hast. Ein direkter Einstieg in die Andoid-Programmierung ist mMn nicht sinnvoll. Solltest du/ihr also wirklich noch nicht die nötigen Grundlagen beherrschen, so solltest du dich an deinen Lehrer wenden, damit ihr euch auf eine neue Projektidee einigen könnt.
 

smile610

Mitglied
VA = VertiefungsArbeit- Das Abschlussprojekt meiner Lehre. wir haben 4 monate dafür zeit.

ich habe vor ca. 1 monat mit java angefangen. , in 2 wochen sterten die 4 monate.

Realisierbar?

wenn auch nicht sinnvoll..

bzw. also...wo/mit welchem tutorial weitermachen?
 

jeegeek

Mitglied
ich habe vor ca. 1 monat mit java angefangen. , in 2 wochen sterten die 4 monate.

Realisierbar?

Ganz ehrliche Meinung? Nein nicht realisierbar. Nach einem Monat Java Programmierung kannst du noch nicht mit Java Programmieren, selbst die Grundlagen wirst du noch nicht beherrschen, von komplexen Dingen wollen wir erst gar nicht reden. Die Spieleprogrammierung ist auch kein Bereich wo man mal schnell einen Erfolg erzielt. Du musst da schon etwas mehr als die minimalen Grundlagen beherrschen, besonders dann wenn es ein komplexeres Spiel ist. Dann kommen noch viele spezielle Bereiche hinzu, Grafikprogrammierung bei einem Jump&Run vermutlich auch noch Physik, Sound und so weiter. So etwas kann man nicht alleine realisieren und schon gar nicht als Anfänger ohne Praxiserfahrung.

Wenn es wirklich ein Spiel sein muss, dann versuche was leichtes wie ein Hangman zu schreiben, glaube mir nach einem Monat Java Erfahrung wird dich das ausreichend fordern ;)

Ich will natürlich jetzt nicht sagen das es unmöglich ist, aber mach dir keine großen Hoffnungen das du ein überragendes Jum&Run Spiel zusammenbasteln kannst mit deinen Voraussetzungen.
 

Gucky

Top Contributor
Wenn du nach anderen Ideen suchst: vielleicht könntet ihr ein Programm, welches Dateien mittels des Huffman Codes komprimiert, schreiben. Das hätte sogar einen praktischen Nutzen (Verschlüsselung + Komprimierung) und ist auch kompliziert genug.
 

lord239123

Bekanntes Mitglied
Generell ist es durchaus möglich, in 4 Monaten so ein Spiel zu realisieren.
Wenn du schon Erfahrung mit anderen Sprachen hast, ist es vielleicht auch nach einem Monat möglich.
Ansonsten würde ich eher davon abraten, da sowas schnell zu Frustation führen kann.
Es ist aber von den Lehrern auch etwas viel verlangt, dass ihr nach nur einem Monat schon sowas komplexes realisieren sollt.
Falls du es doch wagen solltes ist hier mal eine Auflistung der zu erledigenden Dinge:

-Gamedesign
-Programmierung(Physik, Spielelogik...)
-Grafikdesign
-Sounds
-Animationen
-evtl. Story

Je nach Spiel können noch weitere Bereiche dazu kommen.
 

kaoZ

Top Contributor
Ich beschäftige mich mittlerweile seit etwas über einem Jahr recht intensiv mit Java / und stellenweise mit Android, auch das ein oder andere Spiel war dabei , allerdings nur Rechnerversionen, ich kann dir soviel verraten, wenn du kein Basiswissen hast und auch noch nie in anderen Sprachen Programmiert hast, und du keine Engine nutzt, welche sich um Physik , kollision usw. kümmert kann ich dir nur sagen das dein vorhaben, ( je nach komplexität des Games ) kaum ( nur sehr schwer ) bis nicht realisierbar ist, da du schon die ersten 3 Monate mit den absoluten Basics in Java, geschweige denn den Grundlagen und API's von Android und der Engine verbringen wirst.

Und ohne Grundlagen in OOP und Vertrautheit mit der Syntax etc.... glaube ich nicht das sich auch nur ein einfaches Pong oder Tic Tac Toe , Hangman usw. umsetzen lassen , weder für den Rechner und erst recht nicht für Android, ausser du Programmierst irgendwas Tutorial mäßiges ausm Netz nach von dem du dann ungefähr 4% verstehen wirst, wenn die Grundlagen nicht sitzen.

just my 2cent's..... ;)
 
Zuletzt bearbeitet:

smile610

Mitglied
Herzlichen Dank erstmals für diese echt hilfreichen Antworten.

Nun, am Entschluss, ein Java Program(game) für Android für meine Vertiefungsarbeit zu entwickeln, will ich, wenn möglich, nicht abweichen(hab es mir irgendwie schon zufest in den Kopf gesetzt:autsch:) .
Jedoch habe ich (dank euch:reflect:) meine 'erwartungen' runtergeschraubt. Nun schwebt mir sowas wie schon erwähnt, ein tictactoe vor. oder ein scheren stein papier , zb mit zufallsgenerator oder multiplayer via wlan oder bluetooth vor. was denkt ihr, was wäre, und wie wäre es umzusetzten, mit meinen kentnissen?

Gamedesign sollte kein problem sein, ich habe langjährige erfahrung mit gimp und photoshop :) & sounds bastle ich schon was zusammen xD
 
Zuletzt bearbeitet:

JavaMeister

Gesperrter Benutzer
Und ich glaube das ist ein gutes Stichwort.

In so einem Projekt kommt es nur auf die Art und Weise der Durchführung und nicht um ein blödes Tic Tac Toe, was jeder binnen 2 Minuten programmiert.

Man sollte sich ein Modell ergoogeln: Wasserfall oder Agile und das eben dokumentiert durchführen.

Schauen welche Artefakte in einer Softwareentwicklung eine Rollespielen: Lastenheft, Fachkonzept, Feinkonzept - Doku...
 

smile610

Mitglied
herzlichen dank :D ich sehe, lese und lerne^^ demfall grafikdesign hehe :D

Man sollte sich ein Modell ergoogeln: Wasserfall oder Agile und das eben dokumentiert durchführen.

was ist gemeint mit wasserfall oder agile? gegoogelt doch ohne den gewünschten erfolg ;(

*edit*
achso...meintest du die vorgehensweise der programmierung? im moment wäre das bei mir eine extreme art des extreme programming :p wal ich allerdings ändern sollte...
**

was sagt ihr zu diesem tutorial?

Java:Tutorial - Tic-Tac-Toe - Java Tutorials - Codecall

hab ich einfach mal so aufgeschnappt.

ist das tutorial auch auf android umzusetzen? :)
 
Zuletzt bearbeitet:

fLooojava

Bekanntes Mitglied
Die vorhrigen User haben eh schon fast alles gesagt jedoch würde ich an deiner Stelle nicht auf Tic-Tac-Toe zurückgreifen.

Muss es denn unbedingt ein Game sein? Kann es nicht auch was für den alltäglichen Gebrauch sein? Vielleicht fällt dir was auf, was du gerne an deinem Smartphone haben möchtest. Wenn du deine Idee gut rüber bringst, alles ordentlich dokumentierst und ne vorerst halbwegs ordentliche App rausbringst hast erstens du was davon ( du hast was wo du brauchen kannst und du lernst enorm viel in solch einem kleinen Projekt ) und zweitens hast du einen Projektabnehmer der sich für dein Projekt interessiert und hier evtl. nachhakt wie du auf deine Idee gekommen bist.

Ich habe mich zunächst etwas in Java eingelesen, bin dann relativ schnell ( fast zu schnell ) in die Android-Programmierung gestoßen und hab dort eine kleine App entwickelt, mit der ich meine RGB-LED-Strip in meinem Zimmer über Bluetooth steuere. Die App ist fertig ( naja, wann ist eine APP fertig? ), ich bin immer wieder dran an Verbesserungen, lerne dauernd neues dazu && - was ich damit sagen will: Du kannst dir doch gerne ein "nicht machbares" Ziel vor die Augen setzen, wenn du dies alles genau dokumentierst, ein "must have" & ein "nice to have" definierst würde dies doch auch in Ordnung sein, oder nicht?

Klar sollte das Ziel nicht zu hoch gesteckt sein, auch ein Tic-Tac-Toe kann man richtig heftig ausprogrammieren, mit etlichen Effekten && - doch ich bin der Meinung du hast bei deinen eigenen Ideen mehr Freude als Code 1:1 rüberkopieren und das ein oder andere abändern, weil wie du sagst ja noch frisch in Java bist. Im Endeffekt ist ein 2D Jump & Run Spiel laut deinen Aussagen sicherlich viel zu hoch angesetzt, aber vllt. kann es doch was anderes sein als ein Tic-Tac-Toe oder darf es einfach eine App für deinen persönlichen Alltag sein, und kein Game?


flo
 
Zuletzt bearbeitet:

Tobse

Top Contributor
Um auchnoch meinen Senf dazuzugeben: ich stimme fLooooJava da eindeutig zu. Wenn du dich nicht auf games fixierst eröffnet sich dir ein viel größeres Feld an Aufgaben. Da sind dann automatisch auch mehr dabei, die mit deinen Vorraussetzungen gut machbar sind.

Wenn du sagst Abschlussarbeit für deine Lehre: was für eine Lehre ist das (Fachinformatiker?) und mit welchen Technologien hast du die letzten 2 - 2,5 Jahre gearbeitet?

Was die sache mit den Spielen angeht: 4 Monate Zeit um eine Tic-Tac-Toe oder Schere-Stein-Papier App zu schreiben, welche auf einem Gerät läuft und das Spiel gegen den Computer oder einen anderen Menschen ermöglicht ist meiner Meinung nach sogar etwas tief gestapelt. Denn wenn du das richtig anstellst kannst du das Spiel dann "leicht" um eine Bluetooth-Mehrspielerfunktion erweitern (Internet würde ich zunächst nicht in betracht ziehen. Das wird ohne einschlägiges Fachwissen zu Web-Technologien (Web-Server für ein REST mit Benutzerverwaltung + Matchmaking etc) und Netzwerken zu kompliziert.
Lange rede kurzer Sinn: Wenn du die Ambitionen dafür hast, halte ich ein 4-Gewinnt mit Bluetooth Multiplayer für angemessen. Aber mit der richtigen Idee lässt sich aus einer Alltags-App mit weniger Aufwand mehr rausholen. Schließlich bekommst du ja eine Note dafür weshalb du während den 4 Monaten schon mal belastet werden kannst :D
 

jeegeek

Mitglied
Ich stimme da fLooojava zu und Tobse hat auch recht. Wenn du diese Aufgabe als Abschlussarbeit bekommen hast dann solltest du in deinem Lehrgang eigentlich das notwendige Wissen erworben haben das du brauchst um dein Projekt umzusetzen. Allgemein halte ich auch nicht viel von solchen Anleitungen wie du gepostet hast. Klar hast du dann ein fertiges Spiel, aber was hast du dabei gelernt? Vermutlich wie du effizient Strg+C und Strg-V benutzt um etwas zu kopieren, aber Programmieren lernst du so nicht.

Viele machen den Fehler das sie zu viel lesen und zu wenig Programmieren. Programmierung lernst du nicht nur durch lesen sondern hauptsächlich durch das eigenständige umsetzen von Ideen. Also nimm dir ein Stück Papier schreibe Ideen auf, mache eine Struktur wie du das in Klassen, Objekte und Methoden fassen kannst, welche Variablen wären nötig und was soll wie funktionieren. Dann nimm dir deinen Editor und fange an zu schreiben. Du wirst vermutlich mehrmals neu beginnen weil du ständig Dinge findest die du schlecht gemacht hast und inzwischen besser umsetzen könntest...

Also mein persönlicher Ratschlag verschwende nicht die Zeit mit der Suche nach Anleitungen sondern schreib dir dein Programm selbst. Es gibt viele einfache Dinge die du umsetzen kannst. In meinem Java Lehrgang gab es zum Beispiel ein Memoryspiel. Auf den ersten Blick simpel auf dem zweiten doch nciht. Ein Snake ist auch eine feine Sache und relativ einfach umsetzbar, nebenbei braucht man dort keinen Grafiker ;) Tetris ähnliche Spiele sind auch eine feine Sache... Aber egal was du dir aussuchst, das Hauptproblem wird nicht die Programmierung sein wenn du Java beherrschst, sondern die Frage wie löse ich mit meiner Sprache ein Problem... Also fange jetzt endlich an deine Ideen umzusetzen ;)
 

smile610

Mitglied
Wenn du sagst Abschlussarbeit für deine Lehre: was für eine Lehre ist das (Fachinformatiker?) und mit welchen Technologien hast du die letzten 2 - 2,5 Jahre gearbeitet?

da liegt der Hund begraben. ich mache eine Lehre als Augenoptiker. Jedoch sind die Auftrags-Themen frei wählbar. Und das ist auch der grund, wesshalb ich hier solche 'Anleitungen' gepostet habe, da ich kene ahnung habe wo ich beginnen soll.. denn bis vor ca. 1 monat war ich 'nur' Java-Anwender, mit etwas vertieftem Hintergrundwissen. Aber ganz abgesehen von der Proggramierung habe ich mich schon immer intensiv mit computertechnik, netzwerktechnik, usw. auseinandergesetzt.
 
Zuletzt bearbeitet:

Gucky

Top Contributor
Und warum machst du ein Java-Arbeit als Abschluss für eine Lehre als Augenoptiker? :D das passt irgendwie nicht zusammen. ;)

Es könnte auch ein Verwaltungsprogramm für Kunden werden. Das hätte sogar noch einen praktischen Nutzen.
 

smile610

Mitglied
Und warum machst du ein Java-Arbeit als Abschluss für eine Lehre als Augenoptiker? :D das passt irgendwie nicht zusammen. ;)

Es könnte auch ein Verwaltungsprogramm für Kunden werden. Das hätte sogar noch einen praktischen Nutzen.

Herzlichen Dank, ich habe mir das auch schon überlegt, aber das Zielpublikum ist ein wenig zu klein, und wie schon gesagt, das thema ist frei wählbar. :D und soweit ich weiss sind die Bewerter noch nicht mal Optiker. Es kommt mir eifach gelegen, dass ich sowieso schon Java lernen wollte und dies nun mit der Schule verknüpfen kann, was mir zeit und stress erspart.

ich denke, ich werde beim tictactoe bleiben, da in diesen 4 monaten auch die vermarktung stattfinden soll, und dies sicher auch noch zeit în Anspruch nimmt. also, wo fang ich am besten an? :D
 
Zuletzt bearbeitet:

fLooojava

Bekanntes Mitglied
Du sagst das Zielpublikum ist zu klein bzw nicht passend, aber deine Professoren interessieren sich sicher für Tic Tac Toe - sprich mit Tic Tac Toe liegst du definitiv richtig? :noe: Ich denke bei dir gehts doch eher um die Art und Weise wie du dein Programm entwickelst, was du alles dokumentierst usw. als wie um das Gebiet dass du wählst.

Du willst dein App von vorneher schon vermarkten. Ich seh da gleich zwei große Probleme:
1) Tic Tac Toe gibt's genug, weshalb sollte deines bekannt werden, weshalb sollten wir deine Tic Tac Toe Variante ziehen?
2) Du hast, wie du selber schreibst, wenig Erfahrung in Java und absolut keine Erfahrung in der Android Programmierung - wie soll das gehen, um nun schon ein "richtig krasses" App zu schreiben um diese vermarkten zu können?

Definiere doch bitte mal das Wort "vermarkten", ich glaube wir reden hier aneinander vorbei.
 
Zuletzt bearbeitet:

smile610

Mitglied
Ich habe jetzt nochmals alles überdacht und bin doch auf den schluss, eine 'optik' app zu machen, obwohl es auch schon einige davon gibt. der plan sieht wiefolgt aus: der anwender vollführt eine testreihe, und bekommt anschliessend ein resultat zu seiner sehleistung, ähnlich dem Augentest für die autoprüfung, auf dem handy. weitere infos folgen. umsetzbar(er)?

herzlichen dank für eure hilfe

smile610
 

eMmiE

Bekanntes Mitglied
Das klingt auf jeden Fall umsetzbar, da du z.B. noch keinen deiner Tests genau definiert hast

Um jetzt anzufangen würde ich

1. Die verschiedenen Tests definieren
2. Dich mit dem Malen in Java beschäftigen, weil du das sicher intensiv brauchen wirst für ne Optik App
3. Wenn du das dann hast... Struktur auf ein Blatt malen (Klassen,Methoden,Oberfläche,Bilder,...)
4. Das Menü Stück für Stück entwickeln und mit den ganzen Verlinkungen auch auf ein Blatt malen (Das hab ich bei meinem letzten Programm versaut)
5. Dann... Nochmal drübergucken
6. Programmieren

Anmerkung: In meinen Augen ist es vollkommen egal, was andere sagen... Du kannst nach 2 Wochen genauso gut sein, wie jemand, der seit 10 Jahren mit Java arbeitet (nur nich so routiniert...)
Das einzige Problem ist es, beim Programmieren nicht den Faden zu verlieren und nie die Lust verlieren
Alles eine Frage deiner Einstellung: Fühlst DU dich bereit? (rhet. Frage:))





Gruß eMmiE

P.S.:


Eine Idee, die mir grade so kam...
Wenn du dich sehr gut mit der Bildmalerei in Java beschäftigt hast und auch Mathe für nicht ganz unnötig hältst, dann kannst du evtl. auch ein Dioptrieerkennungsprogramm schreiben
(Bild wird so verzerrt (mit Faktor x), dass nur ein "Normalsehender" mit der richtigen Brille/ Linse von der du die Dioptrien noch nicht weißt es scharf sehen kann)

(Für Profis dann...)
 

lord239123

Bekanntes Mitglied
Das klingt auf jeden Fall umsetzbar, da du z.B. noch keinen deiner Tests genau definiert hast

Um jetzt anzufangen würde ich

1. Die verschiedenen Tests definieren
2. Dich mit dem Malen in Java beschäftigen, weil du das sicher intensiv brauchen wirst für ne Optik App
3. Wenn du das dann hast... Struktur auf ein Blatt malen (Klassen,Methoden,Oberfläche,Bilder,...)
4. Das Menü Stück für Stück entwickeln und mit den ganzen Verlinkungen auch auf ein Blatt malen (Das hab ich bei meinem letzten Programm versaut)
5. Dann... Nochmal drübergucken
6. Programmieren

Anmerkung: In meinen Augen ist es vollkommen egal, was andere sagen... Du kannst nach 2 Wochen genauso gut sein, wie jemand, der seit 10 Jahren mit Java arbeitet (nur nich so routiniert...)
Das einzige Problem ist es, beim Programmieren nicht den Faden zu verlieren und nie die Lust verlieren
Alles eine Frage deiner Einstellung: Fühlst DU dich bereit? (rhet. Frage:))





Gruß eMmiE

P.S.:


Eine Idee, die mir grade so kam...
Wenn du dich sehr gut mit der Bildmalerei in Java beschäftigt hast und auch Mathe für nicht ganz unnötig hältst, dann kannst du evtl. auch ein Dioptrieerkennungsprogramm schreiben
(Bild wird so verzerrt (mit Faktor x), dass nur ein "Normalsehender" mit der richtigen Brille/ Linse von der du die Dioptrien noch nicht weißt es scharf sehen kann)

(Für Profis dann...)

Generell stimme ich dir zu, aber nach 2 Wochen kann man einfach noch nicht so gut sein, wie nach 10 Jahren.
Es fehlen den Anfängern einfach wichtige Erfahrungen, die man für einige Programme braucht.
Die Syntax kann man aber auch theoretisch in 2 Wochen lernen, was aber so lange dauert ist das kennenlernen der Bibliotheken.
 

smile610

Mitglied
Ich habe mir nun ein Appdesign überlegt was folgendes erhalten soll: (ich denke und hoffe nicht dass irgendein anderer diese idee stehlen/benutzen sollte) Ich will es euch mal vorstellen, um eure gedanken und ideen dazu zu hören, da es ja eine 'gute app' mit einer guten Note und erfolg werden soll.

Grundlegend:
Die App soll die Sehfähigkeit vom Auge des Benutzer grob messen.

Der benutzer soll eine reihe von tests ausführen, und soll danach ein resultat erhalten, dass auch gespeichert werden soll, unter 'vergangene messungen' z.b.

die meisten messungen sind bilder, die der benutzer mit ja oder nein beantworten kann und danach zur nächsten aufgabe voranschreiten kann. Im resultat erscheint dann: z.b. sie haben eine farbenschwäche, oder, sie haben keine farbenschwäche, je nach dem ob er den test bestanden hat oder nicht

die schwerste aufgabe zum programmieren ist der 'visus test' es misst die sehleistung in prozent des anwenders. starten tut die aufgabe mit der aufforderung, der benutzer soll sein handy in 30 cm abstand zu seinen augen halten.danach erscheint einen grossen text, der er lesen muss. wenn er das nich kann, drückt er auf nein und der test ist zu ende, mit der sehleistung von 10%. WENN ER es lesen kann, drückt er auf 'ja', und der text wird kleiner, er kann abermals zwischen ja und nein auswählen. so geht es immer weiter bis er es nicht mehr erkennen/lesen kann.

es würde noch eine pro variante geben von dem obrigen: aber zumächst eine frage: handys mit dem annäherungssensor, der annäherungssensor, kann man mit ihm distanzen präzise zwischen 0- ca. 60 cm. messen? wenn ja, dann könnte man auf die 30 cm. abstand verzichten und die grösse des zu lesenden textes individuell auf die entfernung des handys zum kopf berechnen lassen(die formel dazu hab ich, ich brauch nur die entfernung auge-handy)

herzlichen dank
 

Ähnliche Java Themen


Oben