Game Engine für selbstprogrammiertes Spiel

Kutshi

Mitglied
Huhu,

Ich und eine Freundin von mir belegen im Moment an der Uni einen Kurs in dem wir ein Spiel programmieren soll. Wir sind aber beide ziemliche Neulinge auf dem Gebiet weil wir noch nie selbstverantwortlich ein Spiel programmiert haben.

Im moment sieht es wohl so aus das wir das Spiel in Java programmieren wollen (haben letztes Semester eine C+ einführung gemacht welche echt schrecklich war, weswegen wir auf die Sprache im Moment ein bisschen allergisch reagieren) und das der Charakter sich frei in einer Welt bewegen kann, wo er Aufgaben erfüllen muss und Kämpfen kann, aber kein Multipalyer Modus vorgesehen ist.

Weswegen ich mich an euch wende ist, das wir Hilfe brauchen eine vernümftige Game Engine für das Spiel zu finden da wir uns beide mit diesem Thema nicht wirklich auskennen.
 
Zuletzt bearbeitet von einem Moderator:
Falls das ganze 2D werden soll könnt ihr hier ja mal einen Blick riskieren:
Slick - 2D Game Library based on LWJGL
Das Framework bietet relativ viele Funktionen, man selbst kann aber entscheiden was man davon benutzt.
Die Einarbeitungszeit kam mir persönlich auch relativ gering vor, da gibt es schlimmeres 😉
Gruß
 
Hab noch ne frage. Wie sieht es bei der Engine mit der Lisense aus? Weil das Spiel soll nacher sozusagen ohen urheberrechtsverletzungen hochladbar sein.

gibt es auch nochandere Engins die sich lohnen anzugucken?
 
@Empire Abgesehen von einem Mouse/KeyListener, einer paintComponent()-Methode und der Möglichkeit gebuffered zu zeichnen (active rendering) bietet dir Swing nichts, was dir für die Programmierung eines Spiels hilfreich wäre. Das ist nun mal eine GUI Bibltiothek, und keine Game Engine.
 
@hdi: Sehr viel mehr bietet dir Slick auch nicht... Mehr braucht man auch nicht.
EDIT:Ok, vlt Sound, aber das ist mit pure Java auch null-Problem.
 
Also ich kenne Slick zwar nicht, aber ich geh stark davon aus dass das Teil einige Dinge zum Aufziehen und Steuern eines Game Loops enthält, sowie die Definition verschiedene abstrakter Klassen und Interfaces zum Zeichnen und Bewegen von Sprites (Vllt auch Interaktion, zB Kollisionserkennung). Das alles hat nichts mit einer GUI-Bibltiothek zu tun. Hier wurde nach einer Game Engine gefragt, von daher finde ich Swing als Antwort nicht passend.

Mehr braucht man auch nicht.

Äh... s.o. Ich weiß ja nich was für Spiele du machst. Pong? 😀
 
Kollisionen kann man mit java.awt.geom abfragen, mehr kann Slick2D wirklich nicht, der Rest geht schnell von der Hand und nein, ich rede nicht von Pong 😉. Sooo kompliziert ist das nicht, zur Not macht man eben auzch mal einen geringen Teil selbst 😉 (Man braucht nicht für alles eine Engine!!!)

EDIT: Und noch was: Java2D(Swing!) ist keine GUI - Library...
 
mehr kann Slick2D wirklich nicht
Dann ist Slick2D halt ganz schön s******e 😉 Eine ordentliche Game Engine kann nun mal mehr als Swing, und auch mehr als Java2D und die paar Dinge, die in .geom definiert sind.

Sooo kompliziert ist das nicht, zur Not macht man eben auzch mal einen geringen Teil selbst
Ich glaub wir reden aneinander vorbei. Natürlich kann man's selbst machen. Aber der TO sucht ne Game Engine. Das Aufziehen des gesamten Gameloops und die Steuerung von Objekten und Animationen ist das, was den Großteil der Arbeit ausmacht, und das kann Swing nicht, da es dabei (auch in Java2D) nur um Anzeige geht, nicht aber um Spiellogik.
 
Nagut, dann formulieren wir es eben strikter!

Es gibt keine Java 2D Game Engine. Ergo bleibt einem nciht mehr übrig 😉 Und selbst mit dem was gegeben ist, kann man verdammt gut arbeiten.

Du redest von " Steuerung von Objekten und Animationen" ... Du meinst damit vermutlich einen Szenengraphen, den gibt es sowohl für Java2D als auch für Slick2D (jeweils als kleine Zusatzlibrary).

Tut mir Leid, des Weiteren kann ich dir nicht wirklich folgen. Ein 2D Spiel beinhaltet wirklihc nicht viel technische Komplexität, weshalb man sich mit Hilfe kleiner Tools (Java2D, Slick2D) schon recht einseitigh auf die Spiellogig stürzen kann, auch ohne Mega-Game-Engine.
 
Dann ist Slick2D halt ganz schön s******e 😉 Eine ordentliche Game Engine kann nun mal mehr als Swing, und auch mehr als Java2D und die paar Dinge, die in .geom definiert sind.


[...]

Ich würde mal behaupten dafür ist Slick aber auch nicht da.
Klar gibt es game-libs wo man nur noch ein paar entities definiert und den rest macht das framework, aber der hauptpunkt warum ich slick verwende ist, dass es gerade das nicht bietet und ich mir nur die teile rausgreife die ich selbst brauche.

In einem aktuellem projekt z.b. brauche ich keine komplizierten Entities, also habe ich den Teil selbst geschrieben, die Pfadsuche von Slick durch eine eigene Ersetzt und eine eigene kleine Tilemap geschrieben.
Was einem viel Arbeit abnimmt ist der Gameloop von Slick und die Möglichkeiten die man beim rendern von Bildern hat - das sind aber nur persönliche Eindrücke 🙂
Gruß
 
Also der Kurs schmipft sich ,,Game Engineering and Simulation" (hoffe hab es diesmal richtig auf die Reihe bekommen 😉). Wir haben auch schon so kleine Spiele Programmiert (kennt ihr Achtung die Kurve? Haben davon ne einfach 2 Mann Version gemacht), d.h. Gui ist nicht das Problem. Da wir aber ein halbes Jahr für das Spiel Zeit haben soll es halt ein bisschen mehr können, weswegen ne Game Engine Gut wär. Wir wollen auch gerne was dazu lernen. ich fänd es schon cool wenn jemand noch ne Idee für ne Gute Java Engine hat würde ich mich freuen. 🙂

Danke nochmal für die vielen Ideen.
 
Zuletzt bearbeitet:
weswegen ne Game Engine Gut wär. Wir wollen auch gerne was dazu lernen
Das widerspricht sich jetzt aber ein wenig finde ich. Eine Game Engine kapselt halt viele Dinge, also wenn es dir um's Lernen geht, dann würd ich auch von irgendeiner externen lib abraten. Klar kann man damit auch neue Dinge lernen (nicht zuletzt eben diese Engine kennen 😀), aber du lernst halt nich so viel als wie wenn du das alles selbst aufziehst.

Da wir aber ein halbes Jahr für das Spiel Zeit haben
Das sollte eigentlich reichen um das alles selbst zu implementieren. Ich würde dir empfehlen dieses Buch zu lesen. Das meiste daraus brauchst du gar nicht, schon die ersten paar Kapitel zeigen das wichtigste.
 
Eine Game Engine kapselt halt viele Dinge, also wenn es dir um's Lernen geht, dann würd ich auch von irgendeiner externen lib abraten. Klar kann man damit auch neue Dinge lernen (nicht zuletzt eben diese Engine kennen 😀), aber du lernst halt nich so viel als wie wenn du das alles selbst aufziehst.

Ich weiß einfach nicht 100% was alles dazugehört und wie der Aufwand ist so was selbst zu programmieren (ich wüsste jetzt auch nicht was ich genau zu tun hätte). Wie gesagt wir fangen uns erst gerade an damit zu beschäftigen und ich bin mir nicht 100% sicher das wir uns nicht nachher in was verrennen. Solche Gruppen gab es auch schon. Und da wir auch Java gewählt haben damit wir mehr Zeit für die Spiel Strucktur und so stecken wollen fanden wir das halt mit der fertigen besser. 😉
 
Slick bietet an sich alles was man für ein 2D Spiel brauch. Ansonsten die externen AddOns/Libs nachinstallieren. Also Physik, animierte Sprites und Sound ist alles mit Slick möglich, allerdings hört es dann auch auf. Effekte muss man schon selbst gestalten. Und ein Editor muss kein Bestandteil einer Engine sein, schließlich ist ein Editor imho primär ein Werkzeug für das jeweilige Spiel. Und da dieses bei einem 2D Spiel alles von Iso bis TopDown sein kann wäre es übertrieben einen Editor mitzuliefern. Bei 3D Engines wie UE3, CE3 oder IDT5 ist das was anderes, denn dort ist alles möglich unabhängig vom Editor.
 
Wieso sollte man die Welt um den Spieler bewegen?

Abgesehen davon sind die meisten FPS Engines per Default nicht auf endlosen Weltraum ausgelegt. Die Unreal Engine 3 kann zb. aktuell maximal 128k Welt Einheiten pro Map veranschlagen. Das ist zwar schon sehr groß, aber ich denke damit müsste man trotz alledem noch auf Sprungtore wie in der X Serie zurückgreifen.

Abgesehen davon bietet das SDK nur die Grundlage. Mit der UE3 kann man aktuell an sich alles erstellen. Sogar einen Mortal Kombat Klon 😉

BTW: Was genau soll eine Weltraumsimulation in 64bit sein?
 
Zuletzt bearbeitet:
Also ich finde es ja cool das ihr hier so ne nette Unterhaltung führt aber da Donnerstag mein Prof ne antwort haben will wär vielleicht anz nett, wenn vielleicht noch jemand ne Idee hat welche Engine man sich noch angucken kann. 😉

Wir bleiben sonst erstmal bei Slick hängen. Weil selber machen trauen wir uns noch nicht zu. 😉
 
Für 2d gibt es eigntlich nur Slick und das standart Swing.

Bei 3d würde es interessanter, kann aber auch leichter passieren das man sich übernimmt.
(Hier würde ich JME3(sehr schön für gaming pc's) angucken, und jcpt(bei unbekannter hardware sehr nett da software renderer))
 
Danke für die vielen Netten antworten. Wir haben heute nochmal mit unseren Professor geredet und der hatte noch ne zweite Engine die sich jetzt erstmal meine Patnerin angucken will. Er meinte auch das wir nihct unbedingt eine brauchen. Die entscheidung ist zwar noch nihct gefallen aber ich denke wir haben jetzt genug anregungen um alleine Weiterzukommen.
 

Zurück
Oben