Forum: PC-Programmierung anfangen Spiele programmieren


von SpieleJupp (Gast)


Lesenswert?

Hallo Leute,

ich habe eine kleine Frage und hoffe ihr könnt mir helfen.

Ich bin eigentlich C-Programmierer. Wärend meines Studiums habe ich zwei 
kleine Java-Projekte gemacht. Taschenrechner und die "komischen Türme 
von H.", keine Ahnung wie die richtig heißen.

Nun würde ich da gerne nochmal einsteigen und mich weiterentwickeln.
Jetzt bin ich unsicher in welcher Sprache ich das angehen soll. C will 
ich auf keinen Fall, das mache ich eh den ganzen Tag.
Ist Java für sowas noch aktuell?
Habt ihr coole Projektideen? Mein Favorit im Moment ist 2D-Frogger. Aut 
Tetris oder 4 Gewinnt  habe ich im Moment nicht so die Lust.

Kann man zu einem späteren Zeitpunkt mit Java auch coolere Sachen 
machen? Wie werden aktuelle "GrafikHighEndSpiele" geschrieben?

Gruß

SpieleJupp

von Borislav B. (boris_b)


Lesenswert?

SpieleJupp schrieb:
> Wie werden aktuelle "GrafikHighEndSpiele" geschrieben?

Garnicht, eher gescripted (C#, Lua, Python, JavaScript usw.) ;-)
Die Engines werden fast ausschließlich in C++ geschrieben (aber wer 
macht das heutzutage noch selber? Lohnt sich nicht...).

von SpieleJupp (Gast)


Lesenswert?

Es geht mir nicht darum ein qualitativ hochwertiges Spiel zu 
produzieren. Ich will nur meinen Programmier-Horizont erweitern.

von Robert L. (lrlr)


Lesenswert?

>Ist Java für sowas noch aktuell?

nachdem viele(die meisten?) Apps (Iphone/Android) in Java geschrieben 
sind..

von Dennis S. (eltio)


Lesenswert?

iPhone-Apps in Java? Ich dachte die nutzen Objective C? Davon abgesehen 
fällt da die Forderung nach "GrafikHighEndSpiele" eher raus oder? Nichts 
gegen die Leistungsfähigkeit von Java, aber für Spiele hat das bei mir 
immer einen bitteren Beigeschmack.

Gruß Dennis

von adaxxx (Gast)


Lesenswert?

google löve (lua)

von TS (Gast)


Lesenswert?

Ist zwar etwas spät, aber vielleicht wäre Actionscript 3 ganz gut für 
dich. Es ist bestens für Games geeignet, seitdem Flash die Stage3D Apis 
hat. Es ist hier im Forum allerdings total unbeliebt oder wird gehasst 
und verabscheut. Am besten steigt man mit dem Flex-Framework ein, da 
kann man auch super Debuggen und Profiling machen etc. Actionscript3 hat 
einen Java-ähnlichen Syntax und ist voll OOP. Man kann auch prima solche 
Schnicke-Schnacke Projekte und Rechenaufgaben / Benchmarks etc. 
erstellen, wie das einige hier mit Java machen. Wenn dich die Flex-IDE 
von Flash-Builder [Eclipse] anspricht, dann google z.B. nach:
- Away3D
- Alternativa3D
- Papervision3D
- Sandy3D

Das sind paar (freie) Classen / Engines die alle auf die neue 
Hardwarebeschleunigte Stage3D-API des Flash-Players zurückgreifen. (für 
DirectX, OpenGL oder Software-Rendering) Man bekommt recht schnell 
sichtbare Ergebnisse, wenn man sich schon etwas mit Flash und 3D 
Programmierung auskennt oder sich eingearbeitet hat. Man kann einige 
Modell-Dateiformate aus den gängigsten 3D Programmen zur Laufzeit 
importieren und nutzen. Man braucht allerdings viel Zwischenspeicher im 
Kopf, denn es ist auch

Boris B. schrieb:
> eher gescripted

Es gibt unzählige Tutorials und offene Beispielprojekte für AS3/Flex und 
den Molehill/Stage3D APIs. Man braucht nur ein einziges mal zu 
Compilieren und dann läuft es auf nahezu jedem OS. Es läuft im Browser. 
Es läuft auf Smartphones und Tablets. Es ist komplett Opensource. 
Vielleicht wäre das was für dich.

Man kann klein anfangen mit Tastatur und Maus-Events, und sich dann 
"weiterentwickeln" (wie du geschrieben hattest) z.B. mit 
Kollisions-Abfragen, oder Animation und Bewegung von Objekten, etc. Ein 
2D-Frogger wäre prima zum Einstieg in Flash/AS3 geeignet, man könnte es 
auch hinterher auf 3D mit den oben genannten Classen umsetzen...

Gruß, TS

von Jonas B. (jibi)


Lesenswert?

Unity3d kann ich nur empfehlen (geht auch 2D :)).

Gruß Jonas

von Vlad T. (vlad_tepesch)


Lesenswert?

imho ist Java vom Aussterben bedroht.
niemand will mehr eine löchrige, schlecht gepflegte JRE installieren.
Das geht mittlerweile auch fast alles direkt im Browser, da braucht es 
keine Applets.

smartphone-Apps mögen aktuell noch eine Ausnahme sein, aber selbst hier 
gehts eher in Richtung html5

von Udo S. (urschmitt)


Lesenswert?

Vlad Tepesch schrieb:
> imho ist Java vom Aussterben bedroht.
> niemand will mehr eine löchrige, schlecht gepflegte JRE installieren.
> Das geht mittlerweile auch fast alles direkt im Browser, da braucht es
> keine Applets.

Verwechselst du gerade Java mit Java script?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

> imho ist Java vom Aussterben bedroht.

Wie denn das? Früher Kindstod wegen zu warmen Einpacken?

Auch nicht schlecht, dann muß ich Java nicht mehr lernen. Hatte es schon 
befürchtet.
Erinnert sich einer noch an Oberon oder WAP?

von Vlad T. (vlad_tepesch)


Lesenswert?

Udo Schmitt schrieb:
> Verwechselst du gerade Java mit Java script?

angesichts html 5 und immer umfangreicheren web-apps sehe ich nicht, wo 
java script vom aussterben bedroht wäre. im gegenteil - mit asm.js und 
den ganzen modernen js-engines ist js code nur minimal langsamer, als 
nativer code.

Mal ehrlich, wozu braucht man noch groß Java?
So wie das von Oracle behandelt wird, hat es sich damit sowieso bald 
erledigt.

von D. I. (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Verwechselst du gerade Java mit Java script?

Im Bereich Web-Apps läuft Java nur noch unter ferner liefen, also 
Applets und so Kram, ich rede nicht von Geschäftslogik oder JEE.

von Tomboy (Gast)


Lesenswert?

Fairerweise muss man sagen: Ja - Java ist noch aktuell. Gerade was den 
mobilen Markt bzgl. Android angeht. Diese Entwickler-Community hier ist 
ziemlich krass (groß) : http://www.java-gaming.org/


Ich persönlich würde es bevorzugen ein Spiel in C++ zu entwickeln 
aufbauend auf einer 2D Grafikbibliothek. Der Vorteil ist hier einfach, 
dass du das Spiel wirklich from the scratch entwickelst, sprich eine 
eigene Engine baust die dann z. B. die Sprites und Animationen 
verwaltet. Das ist die eigentliche Horizont Erweiterrung in der 
Spieleprogrammierung.  Es gibt da die wirklich tolle Bibliothek namens 
SFML die Dank OpenGL Anbindung keine Wünsche im 2D Bereich offen lässt: 
http://www.sfml-dev.org/  Speziell dazu ist auch erst letzten Monat ein 
Buch erschienen, in dem ein vollwertiger 2D Space Shooter entwickelt 
wird ("SFML Game Programming"). Dort werden auch C++11 Erweiterrungen 
benutzt. Den Code hat der Entwickler der Bibliothek auf Github geladen: 
https://github.com/LaurentGomila/SFML-Game-Development-Book .

Viel Spaß und Erfolg ! :)

von mar IO (Gast)


Lesenswert?

SpieleJupp schrieb:
> Wie werden aktuelle "GrafikHighEndSpiele" geschrieben?

???GrafikHighEndSpiele??? Sind damit Spiele mit viel Grafik 
(Detailreichtum und so) gemeint? - Da bekommt nur die GraKa viel zu tun 
und dass kann mit jeder Prog.sprache gemacht werden.

Ansonsten findest Du einige Gameengines im Inet. Einfach mal danach 
suchen. Bei den kommerziellen Engines steht auch dabei, welche Spiele 
damit verwirklicht wurden.

Wenn Du dich nicht in OpenGL einarbeiten möchtest, dann bist z.B. mit 
gameplay nicht schlecht beraten. Hier kann man schnell ein (einfaches) 
Spiel programmieren, die plattformunabhängig funktionieren (Desktop, 
Smartphone).

Homepage: http://gameplay3d.org
Vortrag, wo gameplay vorgestellt wird: 
http://www.macoun.de/video2012gsso1.php

von Druckkopfschmerz (Gast)


Lesenswert?

SpieleJupp schrieb:
... und die "komischen Türme von H.", keine Ahnung wie die richtig 
heißen.

Das sind die Türme von Hanoi.
http://de.wikipedia.org/wiki/T%C3%BCrme_von_Hanoi

von Druckkopfschmerz (Gast)


Lesenswert?

Abdul K. schrieb:
> Erinnert sich einer noch an Oberon oder WAP?
Pah, viel zu komfortabel, wie wäre es mit FORTRAN oder COBOL?

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.