Forum: PC-Programmierung Android Apps/Games mit JAVA


von Emek (Gast)


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)


Lesenswert?

Was ist los hat keiner eine Empfehlung?

von Teo D. (teoderix)


Lesenswert?


von Emek (Gast)


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)


Lesenswert?

Emek schrieb:
> Was ist los hat keiner eine Empfehlung?

Naja, bei der Ungeduld dachte ich....

von --- (Gast)


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)


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)


Lesenswert?

Oder anders gefragt, was muss ich lernen um spiele auf android zu 
programmieren?

von Emek (Gast)


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)


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)


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)


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)


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)


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)


Lesenswert?

das scheint das Richtige zu sein:
https://developer.android.com/studio/

von Emek (Gast)


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)


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)


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)


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)


Lesenswert?


von Bernd K. (prof7bit)


Lesenswert?

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

Die 80er sind lange vorbei.

von Progger (Gast)


Lesenswert?

> Die 80er sind lange vorbei.

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

von Mallefitz (Gast)


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)


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)


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)


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)


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)


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)


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)


Lesenswert?

A fool with a tool is still a fool.

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.