Was genau ist eine Grafikengine?

G

genc

Gast
Moin Moin,

bevor ich jetzt ein neues Thread eröffne und unnötig das Forum dicht mach, stelle ich meine Frage kurz hier:

Wie benutzt man eine engine?! was genau ist das den? eine Art Bibliothek mit Funktionen?

ich lerne gerade Java und lese auch ein Buch über Computerspieleprogrammierung (langes Wort:applaus:) aber so recht vorstellen, wie das funktionieren soll, kann ich es mir nicht.

Ich bitte jemanden, der mir die große, weite Welt der Pysik-/Grafik- Engine erklärt.
Ansonsten eröffne ich einen neuen Thread, falls es zu lang zum erklären werden sollte.

Danke im voraus
 
Zuletzt bearbeitet von einem Moderator:

Noctarius

Top Contributor
Zuletzt bearbeitet:

Steev

Bekanntes Mitglied
Es gibt ja verschiedene, oft recht schwammige Definitionen von Engines. Hier einmal ein versuchter Ansatz:
Eine Engine ist eine Programmteil, dass eine bestimmte Funktion verrichtet ohne direkt vom Benutzer gesteuert werden zu müssen. Bei einer Grafikengine wäre das zum Beispiel die Renderung von Objekten und Bildern usw. ohne das der Benutzer sich darum kümmern muss, dass zum Beispiel die interne Tiefernsortierung stimmt und das das Bild auch tatsächlich gerendert wird.
Das ist dann auch ein wichtiges Unterscheidungsmerkmal zu einer API, die eine Sammlung von Funktionen darstellt, die der Benutzer in seinem Programm benutzen kann. Die eigendliche Programmlogik liegt hierbei beim Benutzer.

Also grundsätzlich würde ich unterscheiden: Eine Engine bietet dem Benutzer zwar ähnlich wie eine API eine Reihe von Funktionen, erledigt aber unabhängig davon eine Aufgabe.
Eine API verrichtet nur die Aufgaben, die direkt vom Benutzer aufgerufen wurden.

Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt :)
 
G

genc

Gast
So, sorry hab jetzt wieder Zeit.
Okey, ähnlich einer API.

Und wie stelle ich mir eine Spieleengine vor?

So wie ich das verstanden habe, regelt die Engine die Flugbahn von Körpern, Anziehungskraft, (KI vllt.?!) etc.

Stimmt das so überhaupt?
Wie kann ich mir das jetzt vorstellen?
 
G

genc

Gast
das heißt ich übergebe der engine meine werte und der stellt sie dann im MP bereit, steuert die Physik meiner objekte etc.?!
 
G

genc

Gast
Aha, interessante Seite, nur eben englisch. Werde mich einfach mal durchwuzeln ^^


Aber meine Fragen werden immer mehr:
Mein großes Ziel ist es ein Aufbauspiel wie Anno, nur schlichter und wirtschaftsorientierter. Großes ziel bedeutet hier, irgendwann, wenn ich es kann.

Gibt es für solche Spiele Editoren?
Was ist ein U-Script?
Braucht man für 2D-games auch eine Engine? - z.B. Super Mario, SNES-Spiele, Flashgames, etc...

Und bevor ich es vergesse:
Wie mache ich in diesem Forum ein Lesezeichen rein, damit ich diese Seite z.B. auch wiederfinde?
 
Zuletzt bearbeitet von einem Moderator:

cr33p

Mitglied
Aha, interessante Seite, nur eben englisch. Werde mich einfach mal durchwuzeln ^^


Aber meine Fragen werden immer mehr:
Mein großes Ziel ist es ein Aufbauspiel wie Anno, nur schlichter und wirtschaftsorientierter. Großes ziel bedeutet hier, irgendwann, wenn ich es kann.

Gibt es für solche Spiele Editoren?
Was ist ein U-Script?
Braucht man für 2D-games auch eine Engine? - z.B. Super Mario, SNES-Spiele, Flashgames, etc...

Und bevor ich es vergesse:
Wie mache ich in diesem Forum ein Lesezeichen rein, damit ich diese Seite z.B. auch wiederfinde?

STRG + D oder oben bei Lesezeichen -> Hinzufügen (oder wie das halt heißt).
 

Quaxli

Top Contributor
Aha, interessante Seite, nur eben englisch. Werde mich einfach mal durchwuzeln ^^


Aber meine Fragen werden immer mehr:
Mein großes Ziel ist es ein Aufbauspiel wie Anno, nur schlichter und wirtschaftsorientierter. Großes ziel bedeutet hier, irgendwann, wenn ich es kann.

Gibt es für solche Spiele Editoren?
Was ist ein U-Script?
Braucht man für 2D-games auch eine Engine? - z.B. Super Mario, SNES-Spiele, Flashgames, etc...

Und bevor ich es vergesse:
Wie mache ich in diesem Forum ein Lesezeichen rein, damit ich diese Seite z.B. auch wiederfinde?

Meine hauptsächlichen Werkzeuge für 2D-Spiele: Eclipse, MS Paint (ohne Quatsch) und GIMP. Damit komme ich ganz gut zurecht. Die Frage nach einer Engine würde ich eher mit Nein beantworten. Das solltest Du aber für Dich selbst raus finden. Ich habe sehr viele Klassen gebastelt, die ich wieder verwenden (Sprite, GamePanel, etc.) da könnte man im weitesten Sinne auch von einer selbst gebastelten Engine sprechen.
In jedem Fall würde ich die ersten paar Spiele von Grund auf selbst zusammen klappern - man lernt sehr viel mehr dabei. Danach kannst Du Dir ja mal eine Engine angucken und selbst entscheiden, was Dir besser gefällt.
 

Empire Phoenix

Top Contributor
Ich empfehle ja einfach zum start mal falldown ode snake oder sowas, ob mit oder ohne engine. Wobei für ein anno spiel ist die ut eengine wahrscheinlich overkill.

Und auch 2d spiele brauchen Engines, zb um zu bestimmen was über was gezeichnet wird, (sage nur bauer hinter oder vor haus?)
Wobei man dazu sagen muss solange du nciht wirklich 3d logic hast (die in anno ist 100% 2d tile basiert) ist der zusätzliche aufwand relativ beschränkt (vom modeln jetzt mal abgesehen) Ds ganze ist im prinzip ne highmap als basis, ab wert x (zb grau) sagste ist über wasseroberfläche, und inseln in anno sind soweiso immer auf einer ebene von den berg models abgesehen.


BTw U-Script ist eine stark an java angelehnte Scriptsprache die in der UT engine läuft.
 
Zuletzt bearbeitet:

Lowpass

Aktives Mitglied
So, sorry hab jetzt wieder Zeit.
Und wie stelle ich mir eine Spieleengine vor?

Es gibt ganz unterschiedliche Engines auf ganz unterschiedlichen Abstraktions-Levels für ganz unterschiedliche Spiele und es ist absolut nicht unüblich, dass man sich zu Beginn der Entwicklung eines Spieles eine eigene Engine baut - als Framework, das einem

1. die eigentliche Spiele-Entwicklung vereinfacht und beschleunigt und
- vielleicht auch -
2. die Entwicklung des eigentlichen Spiels eventuell auch Nicht-Programmierern ermöglicht

Eine Engine könnte in einem einfachen Fall eine Bibliothek sein mit Funktionen, die einem benötigte Standard-Aufgaben abnehmen - wie Quaxli schreibt, könnte man auch sein Set an wiederverwendbarer, selbstgebauter Klassen als Engine bezeichnen.
Dann gibt es aber auch Engines (und ich denke, das sind die Engines, die man gemeinhin als "Grafik-Engines" bezeichnet), mit grafischen Editoren, bei denen das Schreiben von Programmcodes absolut in den Hintergrund gerät.

Ich habe mal einen Video-Clip gesehen, in dem ein grober Einblick gegeben wurde, wie man mit der Cry-Engine arbeitet. Da funktioniert nahezu alles grafisch. Und neben den ausgeklügelten Werkzeugen für grafisches Design (natürlich in 3d), werden auch Dinge wie Schwerkraft oder Flugbahnen modelliert und nicht mehr wirklich programmiert. Man modelliert die Gegenstände und weist ihnen physikalische Eigenschaften (Gewicht, Material etc.) in Form von Zahlenwerten zu. Anschliessend verhalten sie sich so, wie man es sich wünscht. Räder drehen sich, Gegenstände fallen runter, wenn Dinge geworfen werden beschreiben sie eine korrekte Flugbahn etc.
Das ist dann die High-End-Ecke der Grafik Engine und die Lizenz für so ein Produkt (also die Berechtigung, es für eigene Spiele kommerziell nutzen zu dürfen), kostet ein Vermögen. Was ich mal gesehen hatte, waren Lizenz-Kosten für die Half Life Engine. Da sprechen wir dann von 6-stelligen Beträgen.

Am anderen Ende gibt es Freeware-Tools, die auch grafisch aufgebaut sind, aber bedeutend einfacher. Bekanntes Beispiel hierfür ist das "Adventure Game Studio", das nach dem grossen Vorbild von Ron Gilbert aufgebaut ist. Ron Gilbert hatte ja anfangs der 80er die geniale Idee, dass er für sein Spiel "Maniac Mansion" nicht einfach mit programmieren loslegt, sondern sich erst ein Programm baut, mit dem er dann Maniac Mansion entwickeln kann: SCUMM (Script Utility for Maniac Mansion).
Wie diese Engine aufgebaut ist, kann man sich eben etwa anhand des Adventure Game Studios vorstellen. Wenn man ein ganz einfaches Grafik-Adventure entwickelt, das sich an den alten Point & Click-Adventure von Ron Gilbert und Lucas Art orientiert, muss man kaum eine Zeile Code programmieren. Man lädt zum Beispiel einfach die einzelnen Bilder der Figur ins Programm - von rechts, von links, von vorne, von hinten + die Bilder für Bewegungsabläufe - und das Programm erstellt daraus den kompletten Code. Auch Hintergrundbilder lädt man einfach rein und mit einfachen grafischen Tools gibt man an, was davon sich im Hintergrund befindet (d.h. die Figur kann vorne durch) und was davon im Vordergrund (d.h. die Figur "verschwindet" dahinter). Dann kann man Bilder von Gegenständen hochladen, diesen Eigenschaften geben etc.
Auch Dinge wie das "Inventar" der Figur lassen sich ganz einfach konfigurieren, einbinden und mit Spiel-Aktionen verknüpfen.
Hier ist die Site dieses Projekts: AGS - Adventure Game Studio, wo es auch Anleitungen und ein Forum gibt.

Wenn Du ein eigenes Spiel entwickeln willst, stellt sich also durchaus die Frage, ob Du halt nicht eben erst ein Tool entwickelst, das Dir dann die Entwicklung deines Spiels vereinfacht. Das mag erst zusätzlicher Aufwand bedeuten, aber zum einen bist Du so gezwungen, Dir von Anfang an ausführlich Gedanken zum Konzept Deines Spiels zu machen (was an sich schon eine gute Sache ist) und eine eigene Engine kannst Du eben zu 100% Deinen Bedürfnissen anpassen.
 
Zuletzt bearbeitet:

Evil-Devil

Top Contributor
BTw U-Script ist eine stark an java angelehnte Scriptsprache die in der UT engine läuft.
Nicht wirklich. Die Unterschiede zu Java sind gravierend. Allgemein ist UnrealScript als ein Mix aus C++/Java sowie eigenen Elementen zu verstehen.

Mittels UnrealScript werden nahezu alle Ingame Elemente gesteuert sofern sie nicht zeitkritisch sind. In dem Falle wird auf nativen Code zurückgegriffen. Seit der UE3 gibt es für Mapper auch die Möglichkeit das Verhalten von Actors und Regeln via Kismet direkt in der Map zu definieren. Damit haben diese ein sehr mächtiges Werkzeug in der Hand. Allerdings beschränkt sich Kismet auf die jeweilige Map. Für TCs ist es somit nicht geeignet und man muss zu UnrealScript greifen.

Falls du dich näher mit dem UDK beschäftigen willst oder einfach nur Fragen zum Thema UnrealScript/Mapping hast lege ich dir nachfolgende Ressourcen nahe:

Unrealed.info Forum - UT3 Editor, UDK, Tutorial, Hilfe, Download, Map
Unreal Wiki
http://udn.epicgames.com/
UDK - Unreal Development Kit - Epic Games
Epic Games Forums
http://www.beyonunreal.com

Damit sind soweit alle wichtigen Seiten abgedeckt. Für Spezialwissen gibt es meist entsprechende Verweise in den Foren auf die jeweiligen TUtorialseiten. Zb. Angelmapper und Hourences
Das sind nur zwei von vielen, die es über Modding ins Biz geschafft haben.
 
Wenn Du ein eigenes Spiel entwickeln willst, stellt sich also durchaus die Frage, ob Du halt nicht eben erst ein Tool entwickelst, das Dir dann die Entwicklung deines Spiels vereinfacht. Das mag erst zusätzlicher Aufwand bedeuten, aber zum einen bist Du so gezwungen, Dir von Anfang an ausführlich Gedanken zum Konzept Deines Spiels zu machen (was an sich schon eine gute Sache ist) und eine eigene Engine kannst Du eben zu 100% Deinen Bedürfnissen anpassen.

...Und wenn du mit dem Gedanken spielst, das Programm irgendwann zu veröffentlichen, kannst du den Nutzern die Editoren gleich dazu packen und ihnen somit noch mehr Interesse am Spiel geben - Mit einer guten Engine kann es schnell zu guten Mods kommen

...Und wenn du weißt, dass du bestimmte Dinge nicht so gut kannst (wie etwa Karten erstellen), kannst du den Editor dafür entwickeln und jemand anders fragen, ob er dir damit hilft.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Kollision genau erkennen mit intersects Spiele- und Multimedia-Programmierung 27
C Mouseover Area genau wie Image Spiele- und Multimedia-Programmierung 8
T Ist meine Jump and Run Engine zu genau? Spiele- und Multimedia-Programmierung 4
P Java3D - Zylinder genau wie Vektor ausrichten Spiele- und Multimedia-Programmierung 5
G Was bewirkt die Klasse AxisAngle4d genau? Spiele- und Multimedia-Programmierung 12
N OpenGL und DirectX - was genau ist das? Spiele- und Multimedia-Programmierung 5
H Mausbewegungen wie eine echte Maus in 3 dimensionalen Spielen Spiele- und Multimedia-Programmierung 12
temi OpenGL: Eine Kugel Spiele- und Multimedia-Programmierung 7
Taknax Versuche eine Mod von 1.11.2 in 1.12.2 zu porten. Spiele- und Multimedia-Programmierung 1
J noch eine Runde spielen? Spiele- und Multimedia-Programmierung 6
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
P Wie kann ich einem Programm hinter eine GUI verstecken? Spiele- und Multimedia-Programmierung 12
J Wie kann man eine grafische Oberfläche erzeugen um eine Textdatei auswählen zu können ?? Spiele- und Multimedia-Programmierung 1
D Iterieren durch einen Ordner mit Audiodateien und verketten eine andere Audiodatei Spiele- und Multimedia-Programmierung 17
C Eine eigene 3d Engine : Shader - aber wie ? Spiele- und Multimedia-Programmierung 2
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
B Mit Swing eine Grafische Oberfläche erstellen Spiele- und Multimedia-Programmierung 1
X Minecraft Wie kann ich eine Karte erstellen wie zb:(Bei Minecraft) Spiele- und Multimedia-Programmierung 1
M Wie kann man die Auflösung eine fertigen Programms ändern? Spiele- und Multimedia-Programmierung 1
Furtano Vektoren für Bewegung für eine 2D-Simulation Spiele- und Multimedia-Programmierung 3
TheSorm Collision an einer bestimmten Seite eine Rectangles abfragen Spiele- und Multimedia-Programmierung 3
T Sinusgenerator für eine Hp Spiele- und Multimedia-Programmierung 8
S eine nullpointerexception, wo sie nicht sein sollte Spiele- und Multimedia-Programmierung 12
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
M Eine Art "Vier Gewinnt" Spiele- und Multimedia-Programmierung 5
B j3d Rotation um mehr als eine Achse Spiele- und Multimedia-Programmierung 9
M Methoden eine Map zu zeichnen Spiele- und Multimedia-Programmierung 5
2 Eine Java App als Midi Device? Spiele- und Multimedia-Programmierung 2
W 3D-APIs für Java - Eine Übersicht Spiele- und Multimedia-Programmierung 8
M Wavefront Object Loader zeigt nur eine Textur an. Spiele- und Multimedia-Programmierung 7
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
R JLayer player spielt nur eine mp3 Datei ab Spiele- und Multimedia-Programmierung 1
M Variable die eine Klasse enthält ändern Problem Spiele- und Multimedia-Programmierung 16
radiac Mal eine ganz Doofe Frage... verzeiht :) Spiele- und Multimedia-Programmierung 9
Developer_X Eine Frage zur ViewBesetzung Spiele- und Multimedia-Programmierung 28
G Eine Art Polygon Spiele- und Multimedia-Programmierung 5
H Wie erzeuge ich eine Zufallszahl zwischen 0 und 8 ? Spiele- und Multimedia-Programmierung 7
B vertikal schreiben oder eine Bilddatei drehen? Spiele- und Multimedia-Programmierung 11
E nur eine Konzeptfrage Spiele- und Multimedia-Programmierung 11
G Ein begrenzter Zeitraum, um eine Eingabe zu tätigen! Spiele- und Multimedia-Programmierung 9
M mehrere PNG in eine Datei Spiele- und Multimedia-Programmierung 3
H Eine gestrichelte Linie Spiele- und Multimedia-Programmierung 3
V Wie bewege ich eine eingefügte Grafik (img) ? Spiele- und Multimedia-Programmierung 2
D Eigentlich eine Umfrage (Pausenanimation) Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen


Oben