Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 04:40

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Grafikengine
BeitragVerfasst: So Jul 27, 2008 02:04 
Offline
DGL Member

Registriert: So Jul 27, 2008 01:05
Beiträge: 2
Hallo.
Zur Zeit interessiere ich mich sehr auch für die Spieleprogrammierung in Delphi. Soweit ich mich nun richtig erkundigt habe, soll OpenGL gerade für Einsteiger wesentlich einfacher sein als Direct X, weswegen ich mich eben auch dafür entschieden habe.
Nun ich muss zu geben dass ich eigentlich absolut 0 Wissen habe, was OpenGL angeht.
Ich habe vor auf kurz oder lang ein Spiel zu programmieren, was so etwa die selbe Grafikengine haben soll wie eben "Die Sims". Es mag zwar nicht mehr die aktuellste sein, dennoch bin ich eigentlich doch noch sehr angetan davon.

Nun ist eigentlich meine Frage wie ich denn dahin komme? Also wie ich eben dahin komme, dass mein Spiel später auch eine solche Grafik hat?! :?:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 27, 2008 02:16 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Nun es mag sein, das OpenGL für den Einstieg einfacher sein mag, da man zu Anfang weniger Code benötigt wird. Später spielt die API allerdings vom aufwand her eine untergeordnete rolle.
Zur Zeit lohnt es sich nicht eine engine zu starten, da OpenGL 3.0 wahrscheinlich demnächst veröffendlicht wird. Solange man allerdings keine modernen Features benötigt, kann man natürlich auch noch mit der aktuellen Version starten.

Eine isometrische engine kann man allerdings auch relativ gut ohne OpenGL realisieren, oder den rendering teil so gestalten, dass man später das backend tauschen kann.

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 27, 2008 10:01 
Offline
DGL Member

Registriert: So Jul 27, 2008 01:05
Beiträge: 2
Ahso. Na aber das ist doch dann gerade für mich als Anfänger Ideal, denke ich.
Ja genau aus dem Grund frage ich sowieso. Gibts nicht sowas schon "fertig?". Oder wie siehts denn generell aus?
Zumal ich gelesen hatte, dass eines der Vorteile von OpenGL darin liegt, dass grundlegend nichts verändert wird und man somit das gelernte immer Anwenden kann?!

Naja soweit ich aber doch gelesen habe, sollte man OpenGL selbst auch für 2d Spiele nehmen da es ja mehrere Vorteile bietet. Also von daher wäre es doch ganz sinnvoll, oder nicht?
Wie würdest du das denn dann ohne OpenGL machen?
Backend? :shock:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 27, 2008 11:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 03, 2007 14:22
Beiträge: 388
OpenGL bekommt bald ein Monsterupdate, dann verändert sich einiges. Nun eine 3D-Engine zu schreiben ist nicht so gut, da man dann am Ende im Endeffekt alles nochmal neu programmieren darf ODER sich mit der zur Zeit aktuellsten Version begnügen darf, welche eben bald veraltet sein wird. Und genau das sagte oc2k1 auch schon. Ich denke er meint, du sollst eine Engine programmieren, welche mit mehreren Schnittstellen klarkommt. Wäre an sich ganz gut, macht dir aber viel Ärger, von daher glaube ich kaum, dass er genau das meinte. An deiner Stelle würde ich nicht gerade mit einer Engine anfangen, sondern warten bis OpenGL3 draußen ist. In der Zeit kannst du dich mit kommender Theorie (falls vorhanden) oder Struktur deiner später zu programmierenden Engine befassen, oder einfach kleine Projekte programmieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 27, 2008 12:04 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
OpenGL 3.0: Tschuldigt wenn ich das so direkt sage. Aber ich glaube es erst wenn es wirklich draußen ist. Aber ich denke wenn die Grafiksachen gut gekappselt wurden, dann kann man sie recht einfach gegen etwas anderes austauschen. Das ist auch das was oc2k1 mit Backend meinte.

Sims: Also ich denke bei so etwas wie Sims (habs nie gespielt) liegt der Schwerpunkt nicht auf der Grafik. Sondern auf dem ganzen Drumherum und was unter der Haube passiert. Denn schau einfach mal was innerhalb des Spieles alles möglich ist. Bei Sims ist es ja wohl möglich, dass alles irgendwie mit allem interagieren kann. Und dann schau mal, dass alles irgendwo nur Objekte sind. Entweder Gegenstände oder Personen. Also irgendwo nur animierte Bilder. Also ich denke der wirklich große Teil liegt unter der Haube.

Und nicht zu vergessen. Wenn du so etwas wie bei Sims machen willst brauchst du auch einen riesen Berg an Grafiken. Also Bilder ohne Ende. Und dann passende Animationen dazu.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 27, 2008 12:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jan 31, 2005 11:02
Beiträge: 432
Wohnort: Rheinlandpfalz
OpenGL eignet sich hervorragend für 2D Spiele (bin gerade selber eins am schreiben).
Sascha hat dafür glaub ich extra ein Tutorial geschrieben. Ah, hier ist es.
Also, da du ja gerade erst mit OpenGL anfängst, würde ich dir erstmal empfehlen die ersten Tutorials zu machen, und schauen, wie du zurecht kommst. Eine richtige Engine ist weit mehr Arbeit, als du dir vllt vorstellst. Ich denke Tak & Co. können da ein Lied von singen. :wink:
Aber man kann ein Spiel ja auch ohne Engine schreiben. Ich habe es zum Beispiel so gemacht, dass ich mir ein paar Hilfsklassen gebaut habe (Texture-Manager, Sound-Manager, Gui, Model-Loader, Font etc). Wenn man diese erstmal hat, kann man sie in seinem Projekt nutzen, und mit etwas gutem Willen, kann man das schon als eine Art "Engine" beschreiben.
Benötigt man zu einem bestimmten Zeitpunkt in der Projektentwicklung eine neue Funktionalität, baut man sie ein. Das hat den Vorteil, dass man nicht ewig (und das ist nicht übertrieben) versucht eine "perfekte" Engine zu schreiben, sondern dass man erste Erfolgserlebnisse schon sehr früh hat, und der Lerneffekt viel größer ist.
Außerdem fehlt dir glaub ich das Hintergrundwissen eine Engine zu schreiben, da du jetzt noch nicht absehen kannst, wie du deine Engine aufbauen musst, damit du alle zukünftigen OpenGL Funktionalitäten (damit ist nicht OpenGL 3.0 gemeint) leicht und performant einbauen kannst.

_________________
http://texelviews.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 27, 2008 23:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich stimme MatReno und Lossy absolut zu.

Fang an dir die Tutorials reinzusaugen. Der zweite Teil des Quickstarts gilt meiner Ansicht nach uneingeschränkt auch heute noch und auch bei OpenGL3, 4 5 und 28 (wird ca. 2250 veröffentlicht). ;)

Bastel kleine Spiele. Welche mit einfacher Spielmechanik. Auf die Art lernst du zu verstehen wie OpenGL funktioniert. Außerdem können so kleine Süchtigmacher entstehen. So wie z.B. Hexchange in der DGL_Projekte-Ecke.

Wenn du etwas erfahrung gesammelt hast kannst du dir dann ein etwas größeres Projekt vornehmen. Ich denke solche Simulationsspiele wie Sims können durchaus dann einen guten Einstieg bieten. Es gibt viele Sachen die man implementieren kann die allein recht simpel aber zusammen genommen recht kompliziert sind. Siehe z.B. mein PBall Manager 2 (auch bei den Projekten). Da steckt die Hauptarbeit auch unter der Haube.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 28, 2008 09:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Sims ist ein wiklich komplexes Spiel, es hat sehr große Anteile an Simulation und KI, ein extrem kleinen Anteil Physik und wenig Grafik.
Ich empfehle dir, erstmal die Zeit abzuwegen, denn so ein Projekt dauert mehr als 1Jahr zu entwickeln.
Ist es einen die Zeit wert oder möchte man vieleicht doch nur ein bischen in die Materie schnuppern.
Eine Engine ist so ein Schlagwort, wo sich jeder was anderes Vorstellt und wenig Aussagekräftig.
Ich kann dir empfehlen, dich mit existierenden Bibliotheken einzudecken.
FMod,Bass,OpenAL+Ogg Vorbis für Sound,
OpenGL/D3D für Grafik,
SDL als Fenster und IO framework,
eine Physiklib brauchst du nicht,
ein md3/5 loader für models,
glui für die gui,
lua für scripte,
opensteer für laufverhalten.
Halte dich mehr an die Sims Wii version, die ist von der Grafik extrem einfach gehalten und kann schon mit den 3DS Max Tutorial von Sascha abgefertigt werden.
Damit kannst du auch den Texturhunger runter schrauben und die sind dann auch von Anfängern schnell machbar.
MD3 besteht aus 3 Teilen(Beine,Oberkörper,Kopf), die kannst du modeln und dann je nach Charakterdesign austauschen.
Als Vorlage würde ich dir das Mii Personen system mal empfehlen anzuschauen.
Mii Personen sind Personen, die dich auf der Wii darstellen, wenn du z.B. Wii Sports spielst, dann wird dein Mii Charakter verwendet und den kann man sich persönlich zusammen stellen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]