Forum: PC-Programmierung Android Apps/Games mit JAVA


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Emek (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi! Ich will Games für Android entwickeln und suche einen Start mittels 
guten Tutorials oder eines Buches, es sollte aktuelles Java sein. Habe 
kein Problem damit mich erstmal 1 Jahr durch Tutorials und Bücher zu 
kämpfen.

Könnt Ihr mir was empfehlen? Buch und Tutorial bitte!

Euer Emek

von Emek (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
Was ist los hat keiner eine Empfehlung?

von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert

von Emek (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Auf diese Idee bin ich nicht gekommen toll danke! Hey das ist doch 
logisch mit google Suche, was ich wollte sind Empfehlungen von euch, man 
muss ja nicht alle Tutorials durchmachen nur um zu merken, dass sie 
nicht gut oder unpassend sind.

von Teo D. (teoderix)


Bewertung
0 lesenswert
nicht lesenswert
Emek schrieb:
> Was ist los hat keiner eine Empfehlung?

Naja, bei der Ungeduld dachte ich....

von --- (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Mit Java kann man gerade mal ein "Vier Gewinnt" programmieren.

Richtige Games laufen nativ aus einer Lib!

Da ist mit Java nix zu reissen.

von Emel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
--- schrieb:
> Mit Java kann man gerade mal ein "Vier Gewinnt" programmieren

In was werden dann spiele auf android programmiert? Ich dachte alles 
geht über java.

von Emek (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Oder anders gefragt, was muss ich lernen um spiele auf android zu 
programmieren?

von Emek (Gast)


Bewertung
0 lesenswert
nicht lesenswert
--- schrieb:
> Da ist mit Java nix zu reissen.

Ok verstanden, aber um eine Lib zu nutzen, brauche ich eine 
Programmiersprache und auf Android ist das nunmal Java wie ich gelesen 
habe.

von Mr. Big (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Emel schrieb:
> --- schrieb:
>> Mit Java kann man gerade mal ein "Vier Gewinnt" programmieren
>
> In was werden dann spiele auf android programmiert? Ich dachte alles
> geht über java.


Das ist natürlich Unsinn. Gerade bei Spielen wird zumindest ein grosser 
Teil in C programmiert.
Dafür gibt es das NDK:
https://developer.android.com/ndk/

von Jim M. (turboj)


Bewertung
1 lesenswert
nicht lesenswert
Emek schrieb:
> Oder anders gefragt, was muss ich lernen um spiele auf android zu
> programmieren?

Emek schrieb:
> Habe
> kein Problem damit mich erstmal 1 Jahr durch Tutorials und Bücher zu
> kämpfen.

Dann solltest Du aber obige Frage auch in Ruhe selbst beantworten 
können.

Moderne Spiele Entwicklung ist komplex - daher verwendet man fertige 
Engines und Frameworks.  Ich würde mir an Deiner Stelle z.B. mal Unity 
anschauen - da geht zwar kein Java aber JavaScript und C#.

von Emek (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dann werde ich nach Tutorials für ndk suchen müssen. Falls ihr etwas 
empfehlen könnt wäre das ne Hilfe für mich (gerne auch Bücher). Wenn ich 
das richtig verstanden habe ist ndk für performante Apps gedacht und 
setzt c oder c++ voraus, das sdk dagegen nutzt java.

von Emek (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich bin zufällig über OpenGL ES gestolpert, vielleicht macht es Sinn 
sich eher damit zu beschäftigen? Ich weis, da bin ich ganz weit von Java 
abgekommen, aber für Games scheint Opengl es wesentlich geeigneter zu 
sein.

von ohne Account (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Ich bin zufällig über OpenGL ES gestolpert, vielleicht macht es Sinn
> sich eher damit zu beschäftigen? Ich weis, da bin ich ganz weit von Java
> abgekommen, aber für Games scheint Opengl es wesentlich geeigneter zu
> sein.
da liegst Du ungefähr richtig - das ndk Tool kannst Du voll vergessen, 
gleich im ersten Beispiel dann auch noch eine Verzweigung nach Java - 
das ist ja schon mal schön.
Außerdem ist das irgendein Exotentool - ich glaube nur Android SDK bzw. 
Google SDK ist der Standard .... alles was nicht über Google Playstore 
in Android läuft, ist doch sowieso für die Tonne!

von ohne Account (Gast)


Bewertung
0 lesenswert
nicht lesenswert
das scheint das Richtige zu sein:
https://developer.android.com/studio/

von Emek (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Habe ein sehr interessantes Buch gefunden:

[[OpenGL ES 3.0]] - 
https://www.amazon.de/OpenGL-3-0-Programming-Guide-2nd/dp/0321933885/ref=sr_1_1?ie=UTF8&qid=1534881883&sr=8-1&keywords=opengl+es

Kennt jemand dieses Buch? Es wird in C programmiert, aber wenn man zb 
das Buch von Kernighan und Ritchie durchliest müsste das schon passen. C 
scheint ja einen wirklich überschaubaren Sprachumfang zu haben.

Meine Güte jetzt habe ich mich von Java ganz verabschiedet. Hoffentlich 
ist das kein Fehler sich mit C zu beschäftigen. Ich wollte eigentlich 
einfach einsteigen, das scheint aber mit OpenGL gar nicht zu gehen.

von Wühlhase (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Du solltest vielleicht lieber erst die Sprache lernen und erst danach 
wie man Spiele programmiert.

Nicht daß C nicht nützlich wäre, aber es ist nicht unbedingt 
einfach-auch wenn es erstmal so aussieht. Außerdem hast du dich mit C 
nicht nur von Java, sondern meines Wissens von Android-Programmierung 
ganz allgemein verabschiedet bzw. den mühsamsten Weg gewählt, nach 
Assembler.

Ich kann dir da leider auch keine genauere Auskunft geben weil ich weder 
von Android noch OpenGL Ahnung habe, soweit ich weiß ist OpenGL aber 
auch nur ein Werkzeug das für dich 3D-Darstellung macht und das du aber 
trotzdem aus irgendeiner Sprache heraus bedienen mußt.

Bei deinen Kenntnissen, die du hier bisher zur Schau gestellt hast, 
solltest du überhaupt erstmal programmieren lernen. Buchempfehlung siehe 
Nachbarthread.

von Sanders (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Lieber Emek !

Schau Dir das einmal an:
https://doc.lagout.org/programmation/Java/Killer%20Game%20Programming%20in%20Java_%20Java%20Gaming%20%26%20Graphics%20Programming%20%5BDavison%202005-05-30%5D.pdf

und eventuell auch dies hier:
https://www.hanser-elibrary.com/isbn/9783446411975

Damit solltest Du Antworten auf Deine Fragen erhalten.

Liebe Grüße
Sanders

von ohne Account (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
> Kennt jemand dieses Buch? Es wird in C programmiert, aber wenn man zb
> das Buch von Kernighan und Ritchie durchliest müsste das schon passen. C
> scheint ja einen wirklich überschaubaren Sprachumfang zu haben.
Nur weil der Sprachumfang etwas geringer ist, heißt das nicht, daß auch 
die Sprache einfach zu beherrschen ist.
Mach doch erst mal nur ein Textkonsolen-Spiel.
Wenn es dann um Grafik geht, kommt SDL oder Gtk+ ins Spiel.

> Außerdem hast du dich mit C nicht nur von Java, sondern meines Wissens von > 
Android-Programmierung ganz allgemein verabschiedet bzw. den mühsamsten
> Weg gewählt, nach Assembler.
für den Anfang aber der Sinnvollste, weil C noch überall vorkommt, auch 
bei Spielen:
https://www.parallelrealities.co.uk/games/
Andere Variante wäre noch Blitzbasic, weil das auf Spiele ausgelegt ist 
und man schnell zu Ergebnissen kommt.
Rein traditionell würde man mit Basic anfangen :-)

von Progger (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Bernd K. (prof7bit)


Bewertung
0 lesenswert
nicht lesenswert
ohne Account schrieb:
> Rein traditionell würde man mit Basic anfangen :-)

Die 80er sind lange vorbei.

von Progger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Die 80er sind lange vorbei.

aber kommen wieder, so in ca 60 Jahren!!!

von Mallefitz (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Wirklich komische Antworten hier...

Spiele entwickelt man heute normalerweise auf Basis einer Engine. 
Ratschläge wie NDK, SDL oder OpenGL gehen also völlig am Thema vorbei. 
Heutzutage entwickelt man keine Spiele mehr auf dem nackten Toolkit.

Das Standardwerkzeuge für Spieleentwicklung im mobilen Bereich ist 
heute Unity (wurde bei 20 Antworten gerade ein Mal erwähnt!). Dürfte 
einen Marktanteil von über 50% haben. D.h. man muss wirklich einen guten 
Grund haben, das nicht zu nutzen. Und wenn, dann wird man sich für eine 
andere Engine entscheiden. Eine freie Alternative wäre Godot.

Mit OpenGL usw. muss man sich eigentlich nur noch tiefer beschäftigen, 
wenn man selbst eine Spieleengine entwickeln will. Oder aus reinem 
akademischen Interesse - ein gewisses Grundverständnis schadet natürlich 
nie. Aber für den Einstieg ist das erst einmal ziemlich irrelevant.

von ohne Account (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
> Wirklich komische Antworten hier...
>
> Spiele entwickelt man heute normalerweise auf Basis einer Engine.
das sieht man dann auch an gerenderten Grafiken, etc., daß die Spiele 
von einer Engine kommen - die Mehrheit mag das, aber nicht jeder.
Bei einer Engine hast Du ein vorgegebenes Repertoire wie beim Legokasten 
und es geht deshalb schneller und für die meisten Konzepte reicht der 
Funktionsumfang; letztendlich Geschmackssache, sofern Du kein 
professioneller Auftragsentwickler bist.

> Ratschläge wie NDK, SDL oder OpenGL gehen also völlig am Thema vorbei.
> Heutzutage entwickelt man keine Spiele mehr auf dem nackten Toolkit.
das mag für die professionelle Spieleentwicklung stimmen, aber es gibt 
parallel dazu (man glaubt es kaum) eine nicht unwesentliche Retrowelle - 
wie erklärst Du denn das?
Die Spielidee kann Dir die Engine nämlich nur bedingt abnehmen.

von Mallefitz (Gast)


Bewertung
1 lesenswert
nicht lesenswert
ohne Account schrieb:
> das sieht man dann auch an gerenderten Grafiken, etc., daß die Spiele
> von einer Engine kommen - die Mehrheit mag das, aber nicht jeder.

Bis du mit einer selbst entwickelten Engine auch nur annähernd an die 
Qualität heran kommst, bist du alt und grau. Als Einzelperson quasi 
nicht machbar.

>Bei einer Engine hast Du ein vorgegebenes Repertoire wie beim Legokasten
und es geht deshalb schneller und für die meisten Konzepte reicht der
Funktionsumfang;

Engines wie Unity sind da wesentlich flexibler als du es dir vorstellst. 
Wir reden hier nicht über eine Quake-Engine, bei der jedes Spiel im 
Prinzip nur ein Mod des Originalspiels war. Mit den heutigen Engines 
kannst du vom Rennspiel über 3D-Shooter bis zu RTS alles realisieren.

>letztendlich Geschmackssache, sofern Du kein
professioneller Auftragsentwickler bist.

Gerade dann sollte man den Industriestandard beherrschen und nicht 
irgendwelchen eigenen Kram frickeln.

>das mag für die professionelle Spieleentwicklung stimmen, aber es gibt
parallel dazu (man glaubt es kaum) eine nicht unwesentliche Retrowelle -

Gerade für Retrospiele bieten sich Engines an. Vielleicht nicht gerade 
Unity (zu mächtig), aber mit etwas wie pyGame oder Löve kann man recht 
schnell gute Ergebnisse erzielen.

Natürlich sofern es das Ziel ist, tatsächlich ein Spiel zu entwickeln 
und man nicht einfach nur aus Interesse an der Technik bastelt und dabei 
kein Ergebnis erwartet. Dann ist OpenGL natürlich schon eine spannende 
Sache.

>Die Spielidee kann Dir die Engine nämlich nur bedingt abnehmen.

Genau das ist ja der riesiger Vorteil einer Engine. Es nimmt dir nämlich 
alles andere ab, so dass du dich voll auf deine Spielidee 
konzentrieren kannst, anstatt erst einmal Jahre lang das Rad neu 
erfinden zu müssen.

von ohne Account (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Bis du mit einer selbst entwickelten Engine auch nur annähernd an die
> Qualität heran kommst, bist du alt und grau. Als Einzelperson quasi
> nicht machbar.
das stimmt natürlich; auf jeden Fall sehr viel schneller - ansonsten 
wird es zum Studium.

> Wir reden hier nicht über eine Quake-Engine, bei der jedes Spiel im
> Prinzip nur ein Mod des Originalspiels war. Mit den heutigen Engines
> kannst du vom Rennspiel über 3D-Shooter bis zu RTS alles realisieren.
ich gebe es zu; ich bin in Bezug auf Engines nicht mehr auf den 
Laufenden .... da hat sich wohl doch einiges getan nach Quake.

> Engines wie Unity sind da wesentlich flexibler als du es dir vorstellst.
> Wir reden hier nicht über eine Quake-Engine, bei der jedes Spiel im
> Prinzip nur ein Mod des Originalspiels war. Mit den heutigen Engines
> kannst du vom Rennspiel über 3D-Shooter bis zu RTS alles realisieren.
Unity habe ich mir gerade mal angeschaut - ist für Win7,8,10 sowie MacOS 
ausgelegt.
Gibt's für Android ebenfalls eine Engine bzw. welche unter den knapp 20 
Engines nimmt man denn dafür am besten?

von Mallefitz (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Mit Unity entwickelte Spiele laufen auf zig Plattformen, natürlich auch 
Android, iOS, diverse Spielekonsolen und per WebGL auch im Browser. Die 
Entwicklungsumgebung läuft auf Windows, Mac und Linux.

von ohne Account (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mallefitz schrieb:
> Mit Unity entwickelte Spiele laufen auf zig Plattformen, natürlich auch
> Android, iOS, diverse Spielekonsolen und per WebGL auch im Browser. Die
> Entwicklungsumgebung läuft auf Windows, Mac und Linux.

leider ist die Entwicklungsumgebun nur für Windows & Mac verfügbar, 
jedenfalls in der free version:
https://store.unity.com/download?ref=personal

ich werde es mal hiermit probieren:
http://stencyl.com/download/
für 2D reicht das vollkommen.

von Heiko L. (zer0)


Bewertung
0 lesenswert
nicht lesenswert
Mallefitz schrieb:
> Gerade dann sollte man den Industriestandard beherrschen und nicht
> irgendwelchen eigenen Kram frickeln.

Wobei der Standard auf Steam nicht sonderlich hoch ist.
https://www.statista.com/statistics/552623/number-games-released-steam/

Hauptsache die Quantität stimmt...

von Mallefitz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
A fool with a tool is still a fool.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.