Java -Spiel progrmmieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Java -Spiel progrmmieren

    Nun, seit längerer Zeit benutze ich Game maker.
    Das Programm ist einfach toll! Man kreigt sehr leicht gute games hin.

    Ebenso lenre ich seit gut einem Jahr Java. Ich kann ebenso schon classen/Attribute von Klassen/Methoden definieren, if-else, for, do-while, switch, eingeben udn ausgeben von variablen, usw..

    Darum wollte ich mal in die Welt der Java programmierung tiefer hineischnuppern. Wie genau funktioniert dabe idas Programmieren von spielen?

    Wie benutze ich die Game-Engine?

    Was braucht man alles um ein Spiel zu programmieren?
    Wie funktioniert das?

    Diese Post soll nicht darauf hinweisen: "Ich will schnell ein 3D Shooter Spiel mit geiler Grafik".
    Ich will die sache langsam angehen, und schritt für Schritt mein Wissen erweitern.
    (Also z.B: wie man grafische inhalte erstellt, wie man STeuerung macht, wie man Game-Engine benutzt, usw...) Die anfänge des proggens sozusagen. (Nichts vorgaukenl sondern anfangs erklären udn vielleicht einen simplen Script zeigen...)

    Ich habe mal bei einem aus meiner Klasse gesehen dass er ein simpless 2D Spiel mit "Netbeans" oder ähnlichem geproggt hat.

    Hat jemand ahnung von Java-Spieleprogrammierung und kann mir jemand die Welt von Java weiter "offenbaren"?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von LEWA ()

  • Ja für Java gibt es keine "Game"-Klassen oder sowas.
    Du musst alles von Grund auf, Zeichnen, Sound und Objekt verwaltung selbstprogrammieren.
    Dazu auch kollisionsprüfung usw.
    ICh arbeite im moment an mehreren Projekten die mit genau diesen Themen im Zusammenhang stehen.
    GAPI - Graphische Schnittstelle zum zeichnen von Objekten.
    SAPI- Sound Schnittstelle zum vereinfachten abspielen von sounds
    OAPI- Objekt Schnittstelle zur Kollision und verwaltung von Graphiken, Events usw.
    Allerdings sind all diese Projekte noch in den Kinderstiefeln, also such dir was schon vorhandenes bis ich was richtiges habe ;)
    Es gibt genug tutorials zu dem Thema draussen. Auch hier wieder: Link link
    Nur zum sagn es ist sehr aufwändig, im vergleich zum GM mit Java ein Spiel zu machn, aber in Gewissen Aspekten lohnt es sich doch.
    Hoffe konnte helfen.


    -Kn12

    Edit: Ich glaube leider kaum, dass wir dir alles hier im Forum beibringen können, da das ein sehr grosses und komplexes Gebiet ist.
    Kauf dir doch das Java Kompendium von Markt&Technik. Das ist ein sehr gutes Buch. Es Erklärt beinahe alles.
    Von Multithreading zu Graphiken und vielem mehr.
  • Nun ja, es geht mir hier nicht hauptsächlich darum: "Bringt mir so schnell wie nur möglich Java-Spielprogrammierung bei."

    Es geht mir nur darum in den Grundaufbau hineinzuschnuppern.

    Beispielsweise beim Game maker: Es ist ein Porgramm wo man objekte erstellen kann, Sprites verwalten kann, und zu jeder Aktion einen Skript schreiben kann.

    Bei Java benutze ich BlueJ und einen Editor. Da gibt es keine Verwaltung von Sprites oder Objekten.

    Ich habe eben null Plan wie ich eine Entwicklungsumgebung benutze. (Ehrlich gesagt habe ich kaum Ahnung was das ist...)

    Ic hwill nicht wirklich lernen sondern mir mal anschauen wie das aufgebaut ist.

    (Also Was man dazu braucht: Engine: Wie benutzt man sie? Entwicklungsumgebung? usw...)
    Also ich will nur mal schauen wie das ganze grob Funktioniert.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LEWA ()

  • um beides mal grob zu beschreiben:

    Eine Engine ist im Grunde das, was du programmieren würdest wenn du anfängst. Und zwar bis dahin, wo du spielinhalt einfügst. z.B. wäre eine FPS shooter engine das, was Valve mit Source gemacht hat. Inziwschen gibt es eine ganze Menge Shooter aus der Source Engine (Counter-Strike: Source, Half-Life 2, TF2, sogar Dark Messiah of Might and Magic). Die Basis ist im Grunde die Engine. Es lassen sich leicht andere Shooter draus basteln.
    Wenn du dir nun eine Engine baust müsstest du also selbst entscheiden wie Modular du sie aufbaust. Kann man einfach Module hinzufügen? Eins Wegnehmen/Verändern? Was kann man alles modifizieren? Willst du eine Engine bauen oder ein Spiel?
    Engines sind dann sehr nützlich wenn das Projekt Komplex wird.

    Entwicklungsumgebungen sind einfach Erweiterte bzw. Komplexe Editoren, meist speziell auf etwas zugeschnitten wie etwa eine Programmiersprache.
    Für Java gibt z.B. Eclipse (was ich kennen gelernt habe und womit ich arbeite), NetBeans oder z.B. ein weniger umfangreicher Java-Editor: javaeditor.org/wiki/index.php/Java-Editor

    Der Punkt ist: Du musst dich ersteinmal für etwas entscheiden. Es kann Monate dauern bis du überhaupt etwas vernünftig Spielbares mit Java kreierst.
    Womit möchtest du anfangen? Grafiken? Bewegungen? Kollisionen? Objektverwaltung? Überhaupt wie steuert man Zeit in Java? (Threads sind da ein lustiges Stichwort)
    Wobei Java gegenüber dem GM durch die OOP einem vieles leichter macht, 3D Spiele kannst du komplett vergessen. Java ist für Anwendungen entwickelt worden, nicht für Spiele.
  • Das nenn ich mal eine ordentliche Aufklärung! :D

    Nun stelle ich meine erste "konkrete" Frage:

    Verstehe ich das richtig? Eine Engine ist sozusagen beispielsweise ein angefangener SHooter wo der Grundaufbau wie laufen, schiessen und herumguken Programmiert wurde?
    Und aus diese Engines erweitern progger zu einem vollwertigem Spiel?

    In Java lernen wir gerade auch die Objektorientierte Programmierung.
    Also Classen, Attribute, Objekte, usw...

    Java ist also nicht für Spiele sondern für Anwendungen konzipiert worden? Das wusste ich bis jetzt garnicht.
    3D ist mir ja nicht wichtig. Ic hweiss das ich daran kläglic hscheitern werde. Nur 2D mit dem Game Maker habe ich bis jetzt vollbracht.

    (PS: Was sind "Module?")
  • Ja das mit der Engine hast du jetzt begriffen.
    Die Engine verwaltet Kollision, Physik und Graphikdarstellung.
    Danach kommen die Sounds, Graphiken, Modelle und alles andere,
    die man jetzt mit vorgefertigten Klassen und Modulen der Engine einfach einbauen kann,
    ohne wirklich viel vom Tun in der Engine verstehen zu müssen.
    Und ja eigentlich ist Java nicht einmal gross für Anwendungen Programmiert worden sondern für Webdienste.
    Dabei zählen: Datenbankverwaltung, Server-Client verbindungen usw.
    Aber man kann auch Spiele machen.
    Es gibt einfach einen Grossen aufwand, wenn du alles selber machen musst.
    Stell dir einfach vor, im GM hast du Drag&Drop und die extrem einfache GML.
    Um im GM ein einfaches Spiel zu erstellen, brauchst du vlt. 1h.
    Um mit Java ein Spiel von Scratch(von Grund auf) neuzumachen dauerts Wochen bis MOnate, bis du zum selben Ergebnis kommst.
    Du musst verstehen wie Threads funktionieren, Auf Canvas Flächen Zeichnen können, usw.
    Und wenn du erst bei der Objektorientierten Programmierung angefangen hast, kannst du das eigentlich so gut wie vergessen (für den Moment jedenfalls).
    Ein Spiel in Java hat eine riesige Objekt-Dependenz, (d.h. du hast für ein Objekt vlt. 10 subklassen, die es benötigt und damit ineragieren muss.)
    Und wie gesagt, 2D geht mit einer Canvas Fläche. Allerdings müsstest du zuerst noch lernen wie du ein Fenster öffnest, die AWT-Klassen und Funktionen funktionieren.
    Es steht also ein langer Weg vor dir, wenn du ein Spiel in Java machen willst.

    -KN12

    p.s. wenn du spezifische fragen hast, schreib mir ne PM. Ich werd dir sicher Antworten ;)
  • Benutzer online 1

    1 Besucher