kostenloser Webspace werbefrei: lima-city


Strategiespiel Programmieren

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    g********e

    Hey Leute,

    ich habe mir vorgenommen mein eigenes Strategie spiel zu Programmieren und wollte jetzt Fragen, ob dafür Java geeignet ist.
    Ich würde mir dann nämlich ein Java Lernbuch kaufen und mich da rein arbeiten. Aber ich weiß auch das das ziemlich kompliziert ist und ich dann mindestens Ein Jahr beschäftigt bin :D


    Also wollte ich schon mal im Voraus Fragen ob Java überhaupt für ein einfaches Stra. Game geeignet ist =D


    LG
    Giga-Score
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. das kommt darauf an, was du machen willst, soll es nur ein zahlenschubs-sßpiel sein oder soll es auch richtig grafische effekte geben?

    für grafik ist java ungeeignet, für zahlenschubsen geht java...

    und vor allem wo soll was ausgeführt werden
  4. Autor dieses Themas

    g********e

    Also Anfangs soll es natürlich nicht Grafisch top sein =D das is ja klar ;)
    aber später dachte ich mir schon ob ich dann auch richtige Effekte reinbaue. Also schöne beispiele die mir einfallen würden währe Siedler, Warcraft 3 und Widelands ^^

    Siedler hat ja auch Quasi und Effekte angefangen ^^ oder wen ganz schlechte, das selbe bei WC3, guckt man sich WC1 an da fallen einem die Augen aus ;D

    mir ist klar das ich nicht dir reckt ein gutes Spiel Programmieren kann. Aber ich will das immer weiter nach der Zeit "ausbauen" und dann halt später ein richtig schönes Spiel haben ^^ (traum)
  5. Dazu ist so ziemlich jede Programmiersprache geeignet. ( Okay, mit den esoterischen wird es schwierig... ) Java hat vor allem den Vorteil, Betriebssystemunabhängig zu sein. Ich persönlich würde .Net-Sprachen empfehlen, da das Framework einem viel abnimmt. Das soll aber nicht heißen, dass Java vollständig ungeeignet wäre. Aber andere Sprachen machen es einem aber einfacher. Und beim ersten Spiel geht es meist weniger darum, wirklich etwas leistungsfähiges zu vollbringen, als viel mehr schnell ein Ergebnis zu erzielen.

    Tatsächlich gibt es ziemlich gute 3D-Engines für Java. ( Beispielsweise jMonkey. ) Zudem ist Java recht gut für Netzwerk-Anwendungen geeignet. Dennoch würde ich davon abraten, Java für sowas zu verwenden.

    Wenn du noch vollends neu in der Programmierung bist, würde ich damit anfangen, eine einfache Script-Sprache zu lernen. Optimalerweise, eine mit an C oder Java angelehnten Syntax. Dies gibt einem die Möglichkeit, grundlegende Programmierstrukturen für sich zu entdecken.

    Wenn du schon etwas weiter bist, würde ich dir raten, wirklich auf .Net zurück zu greifen. ( Beispielsweise C# ) Es ist meines Wissens objektorientiert und du kannst leicht zu Java und/oder C++ übergehen. Du bekommst durch das Framework schnell an Ergebnisse und hast wenig damit zu tun, irgendwelche Fenster erst erstellen zu müssen. Allerdings zieht das eigentlich nur unter Windows, was schon ein wenig blöd ist.

    Ansonsten würde ich zu C++ raten. Die Sprache ist imho mächtiger, aber macht dementsprechend auch mehr Aufwand.
  6. Autor dieses Themas

    g********e

    Also ich habe schon Erfahrungen, und danke nochmal für die schnelle Antwort ;D

    mir wurde von C, C# oder C++ abgeraten und zu Java geraten, weil man damit eigentlich gute chnacen hat und das einen auch gut weiterbringt ^^
    Und nur auf Windows will ich auch nicht bleiben. Ich war zwar bis jetzt immer auf Windows, aber hatte geplant auch mal ein anderes Betriebssystem anzustreben. Jetzt mache ich schon mehr mit Linux, das is aber auch nicht das wahre :D

    Also den Vorteil den ich persönlich in Java sehe ist ganz klar das das auf allen Betriebssystemen läuft ;)


    LG
  7. giga-score schrieb:
    Also ich habe schon Erfahrungen, und danke nochmal für die schnelle Antwort ;D

    mir wurde von C, C# oder C++ abgeraten und zu Java geraten, weil man damit eigentlich gute chnacen hat und das einen auch gut weiterbringt ^^
    Also C++ ist grundsätzlich eigentlich eine gute Wahl, wenn man den Aufwand nicht scheut. Bei Java hast du immer das Problem, dass du letztenendes die Laufzeitumgebung brauchst, was mich persönlich von Java abschreckt. C++ kannst (und musst) du für jedes Betriebssystem gesondert kompilieren, aber Plattformunabhängig ist es eigentlich auch.
    Der große Vorteil bei C++ ist eigentlich die Vielfalt an fertigen Bibliotheken. So kannst du mit SDL recht schnell und einfach kleine Fortschritte auf die Reihe bekommen. Vor allem, wenn man bedenkt, dass deine ersten Spiele höchstwahrscheinlich kein Warcraft 3 sein werden, sondern viel mehr Warcraft 1. ( Wenn überhaupt. ) 3D-Programmierung ist ein wenig... Speziell. ( Ich sitze selbst an der selben Sache. ) Also ob du Java oder C++ benutzt - du solltest deine Ziele erstmal möglichst niedrig ansiedeln, also ein kleines 2D-Spiel.

    Ich würde weiterhin von Java abraten, aber möglich ist sowas durchaus.
  8. g****e

    Praktisch gesehen kannst du Java nehmen, mag für den einstieg ganz Ok sein, kann man machen.
    Du kannst jede Sprache nehmen, eigentlich sind alle geeignet, aber bei C++ brauchst du beispielsweise noch ein wenig mehr an rundumwerkzeug, Stichwort wäre hier OpenGL. Java macht es da vllt ein wenig einfacher, aber man muss halt schauen, was es werden soll. An sich kannst du die Sprache deiner Wahl nehmen, selbst Python sollte geeignet sein.
    Ich persönlich würde sowas ja in HTML5/Javascript entwickeln :-D aber für diesen Satz krieg ich sicherlich wieder Haue. Tu es auf keinen Fall in HTML5/Javasript, denn das ist anspruch im feinsten Maße, aber es ist echt krass, was da so möglich ist mitlerweile.
    Nutz Java, tu es, hab dein Spaß, ABER: Fange nicht mit einem Spiel an. Fange mit Tools an, um die Event-Based Structure zu erlernen und zu verstehen. dann kannst du dir vllt irgednwann gedanken zum Spiel entwickln machen.

    Liebe Grüße
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    ggamee schrieb:
    Ich persönlich würde sowas ja in HTML5/Javascript entwickeln :-D aber für diesen Satz krieg ich sicherlich wieder Haue.
    Selbst wenn du ein webbasiertes Strategiespiel schreiben wolltest wäre Java sicher nicht verkehrt, du würdest dir aber schwer tun einen Hoster zu finden bei dem du das dann auch laufen lassen kannst (Stichwort: Application Server).

    Theoretisch ist die Sprache völlig egal, solange du die entsprechenden Bibliotheken (z.b. OpenGL für Grafik) verwenden kannst.

    Und zu OpenGL + Java: LWJGL, damit kannst du sehr schnell einfache Ergebnisse erzielen und später auch komplexere Dinge bauen.

    Weil hier schon 2D genannt wurde: das kannst du gleich mit OpenGL realisieren, dabei musst du dir noch nicht einmal Gedanken über die Mathematik machen...

    Beitrag zuletzt geändert: 12.9.2012 21:35:27 von hackyourlife
  10. NÉs gibt außerdem nicht nur LWJGL, sondern darauf aufbauend auch jMonkeyEngine. Die habe ich selbst verwendet und finde sie echt klasse. Da geht es noch ein Stück schneller, da es direkt eine Engine für Spiele ist die dir vieles abnimmt und erleichtert im Vergleich zu purem OpenGL.
  11. giga-score schrieb:
    Hey Leute,

    ich habe mir vorgenommen mein eigenes Strategie spiel zu Programmieren und wollte jetzt Fragen, ob dafür Java geeignet ist.

    Java ist eine general purpose Programmiersprache (oder auf normal-Deutsch: Allzweck-Programmiersprache) und kann daher für solche Dinge verwendet werden. Ansonsten hat notinthetext diese Frage bereits gut beantwortet.

    Du musst allerdings auch berücksichtigen, dass dein Unternehmen sehr aufwendig sein wird. Eine Programmiersprache wie Java zu lernen ist zwar ein kleineres "Übel" als das eigentliche Spiel zu schreiben, aber beides gleichzeitig zu versuchen wird wahrscheinlich für viel Frust sorgen. Und die Sprache an sich zu lernen und dann guten Code darin zu schreiben, sind 2 verschiedene Schuhe. Anders gesagt: Nur weil du Deutsch kannst, heißt das noch lange nicht, dass es dir leicht fällt, gute Literatur darin zu schreiben. Ich hoffe du verstehst die Analogie :wink:


    Ich würde mir dann nämlich ein Java Lernbuch kaufen und mich da rein arbeiten. Aber ich weiß auch das das ziemlich kompliziert ist und ich dann mindestens Ein Jahr beschäftigt bin :D

    Eigentlich ist das offizielle Online-Tutorial (mit seinen ganzen Unterthemen) ganz brauchbar, um in die Java-Welt einzusteigen. Da braucht man nicht zwingend ein Buch für. Aber jeder lernt eben anders :smile:

    Und wenn du mit Java nicht klarkommen solltest, kannst du dir immer noch eine andere general purpose Sprache suchen, die dir besser gefällt.

    Beitrag zuletzt geändert: 12.9.2012 22:11:45 von bladehunter
  12. Ich könnte deine Frage ob Java geeignet ist nun einfach mit einem "Ja auch" beantworten, das tue ich aber nicht sondern frage dich im Gegenzug warum du das Pferd von hinten aufzäumen willst?

    Die richtige Programmiersprache für ein Projekt in der Größen Ordnung auszusuchen ist nicht der erste Schritt auf dem Weg zum fertigen Spiel.
    Wenn du das Projekt nicht in der richtigen Reihenfolge angehst wirst du früher oder später auf Probleme stoßen die dich so frusten werden das du das ganze vielleicht sogar hin wirfst und ich schreibe da aus Erfahrung :wink:
    Zuerst solltest du dir viele Ideen zu deinem Spiel sammeln und aufschreiben der Prozess kann schon einige Tage in Anspruch nehmen, weil dir immer wieder etwas einfällt.

    Aus den ganzen Ideen erstellst du als nächstes ein Lastenheft in dem du alles genau aufschreibst in den Kategorien
    Nice to have (wäre schön zu haben)
    Must have (muss unbedingt ins Spiel)
    Future (vielleicht für eine spätere Version)

    Jetzt kommt das Pflichtenheft, hier beschreibst du dein Spiel aufs genaueste, also gehst in gedanken den gesamten Spielablauf durch.
    Hier werden die Einträge der Must have Kategorie untergebracht und vielleicht der eine oder andere Nice to have Eintrag.

    Im Pflichtenheft überlegst du dir auch wie einzelne Teile des Programms umgesetzt werden können, dazu ist vermutlich etwas Internet Recherche notwendig, wenn du z.b. spezielle Grafik Effekte haben möchtest kannst du im Internet schauen wie diese am einfachsten umzusetzen sind, notiere dir dabei auf einem extra Blatt das Problem und mögliche Lösungen sowie die Programmiersprache zur Umsetzung.

    Wenn du das für dein ganzes Spiel gemacht hast kannst du an diesem Blatt nachher relativ einfach ablesen welches die geeignetste Programmiersprache ist, einfach die Sprache nehmen die bei den meisten Problemlösungen vorkommt.

    Für die anderen Probleme wo andere Programmiersprachen favorisiert wurden, im Internet schauen ob es Lösungen für deine Sprache gibt.

    Es sollte dir klar sein das ein solches Projekt sehr lange dauern kann, 1 Jahr ist da unter Umständen gar nichts da dir bei der Entwicklung immer wieder etwas einfällt das du noch mit einbauen willst und stellen weise einiges am code ändern musst. Aber gewiss ist das du dir ohne ordentliche und umfangreiche Planung selbst Probleme schaffst die nicht sein müssen und das ganze im Extremfall sogar scheitern lassen.

    Ich wünsche dir auf jeden Fall viel Spaß und Erfolg
  13. fredericmaurer

    fredericmaurer hat kostenlosen Webspace.

    Ich persöhnlich würde dir für den Anfang von Java abraten und C# empfehlen. C# hat zwar den Nachteil, dass es in der Praxis nicht Plattform abhängig ist (d.h. es funktioniert nur unter Windows), dafür ist C# schneller und für die Spieleentwicklung eher geeignet. Wenn du einmal C# drauf hast, wird auch Java, falls du es mal brauchen solltest, kein Problem mehr für dich darstellen.

    Mein Vorposter hat den Weg zur Spieleentwicklung schön sehr schön beschrieben. Das einzige was ich noch hinzufügen kann, wäre der Rat erstmal mit einem kleineren Spiel (z.B. einem Tetris-Klon) anzufangen. Wenn du ein Strategiespeil wie Siedler programmieren möchtest, musst du auch eine künstliche Intelligenz entwickeln und soetwas ist selbst für einen erfahrenen Programmierer eine anspruchsvolle Aufgabe.
  14. fredericmaurer schrieb:
    Ich persöhnlich würde dir für den Anfang von Java abraten und C# empfehlen. C# hat zwar den Nachteil, dass es in der Praxis nicht Plattform abhängig ist (d.h. es funktioniert nur unter Windows),

    Blödsinn. Es kommt darauf an, mit welchen Technologien man programmiert. Viele Dinge sind auch mit Mono unter anderen Betriebssystemen lauffähig. Und Plattformunabhängigkeit ist nun wirklich kein Attribut, das Java für sich alleine gepachtet hat. Wenn man mit etwas Umsicht programmiert, lassen sich Programme mit identischem Quellcode auf verschiedenen Plattformen nutzen. Dies gilt nicht nur für C# und Java.


    dafür ist C# schneller und für die Spieleentwicklung eher geeignet.

    Begründung?


    Wenn du einmal C# drauf hast, wird auch Java, falls du es mal brauchen solltest, kein Problem mehr für dich darstellen.

    Was daran liegen dürfte, dass C# in vielerlei Hinsicht nur eine Microsoft-Variante von Java ist.
  15. bladehunter schrieb:

    dafür ist C# schneller und für die Spieleentwicklung eher geeignet.

    Begründung?
    Das muss man aus zwei Perspektiven sehen:
    - Mit Microsofts XNA ist es durchaus recht einfach, ein Spiel auf die Beine zu stellen. Ich schätze mit C# bekommt man dadurch durchaus schneller ein Ergebnis, was für einen Anfänger in der Spieleprogrammierung hilfreich ist. ( Wobei ich nicht weiß, ob es in Java vielleicht etwas vergleichbares gibt. )
    - Die Ausführung ist auch geringfügig schneller, da C# meines wissens nicht interpretiert, sondern nur Just-In-Time kompiliert wird, was einiges an Geschwindigkeit bringt. ( Java hat die Interpretierung und JIT )
  16. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    notinthetext schrieb:
    - Die Ausführung ist auch geringfügig schneller, da C# meines wissens nicht interpretiert, sondern nur Just-In-Time kompiliert wird, was einiges an Geschwindigkeit bringt. ( Java hat die Interpretierung und JIT )
    Bist du dir da sicher? Lies dir dazu mal das hier durch, dort wird die HotSpot-Technologie von Sun die in der JVM eingesetzt wird beschrieben...
  17. hackyourlife schrieb:
    notinthetext schrieb:
    - Die Ausführung ist auch geringfügig schneller, da C# meines wissens nicht interpretiert, sondern nur Just-In-Time kompiliert wird, was einiges an Geschwindigkeit bringt. ( Java hat die Interpretierung und JIT )
    Bist du dir da sicher? Lies dir dazu mal das hier durch, dort wird die HotSpot-Technologie von Sun die in der JVM eingesetzt wird beschrieben...
    "Sicher" bin ich mir nie. Dennoch zeigt mir ein Benchmark, dass Java geringfügig langsamer ist, als C#. Wobei ich meine gelesen zu haben, dass das eventuell darauf zurück zu führen ist, dass C# besser für Multicore-Prozessoren geeignet ist, während bei Single-Core-Prozessoren Java die Nase wesentlich vorne hat.

    Aber natürlich kann ich auch einfach falsch liegen.
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!