Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Sleicreider

Frischling

  • »Sleicreider« ist der Autor dieses Themas

Beiträge: 45

Wohnort: Österreich,Steiermark

Beruf: Softwareentwickler

  • Private Nachricht senden

1

31.01.2014, 10:25

Game/Grafik Engine oder lieber ganz ohne?

Hi,

Ich habe mich die letzten 2 Jahre sehr viel mit Spieleentwicklung auseinandergesetzt und auch schon paar 2D Spiele mit verschiedenen Programmiersprachen und Technologien verwendet (XNA C#,Android Java + OpenGL, OpenGL + QT/C++)
bis jetzt hab ich immer alle möglichen Grafik und Spielvorgänge selbstgeschrieben, mir wurde aber auch schon sehr oft geraten eine Game oder GrafikEngine zu verwenden.

Jetzt hab ich mir vor kurzem mal die Unity GameEngine angesehen und gemerkt das dort weniger oder gar nicht C++ programmiert sondern mehr eine Skriptsprache verwendet.
Ich kann mich natürlich auch täuschen, aber vielleicht wird das auch bei mehreren GameEngines so sein das man einfach Skriptsprachen für Spielvorgänge verwendet.(habe noch nie eine verwendet!)

Skriptsprachen oder durch einfache Klicks, Spiele zu entwickeln, liegt nicht in meinem Interesse, ich möchte lieber beim Code schreiben mit C++ bleiben.

Eine Idee die ich hätte wäre einfach weiter alles selbst du schreiben mit OpenGL + C++.
Es ist zwar viel arbeit, aber dafür weiß und kennt man alle Funktionen die eine Game oder GrafikEngine abnehmen würde, zusätzlich wäre man nicht so eingeschränkt von den Vorgaben einer Engine.


Eine andere Idee wäre statt einer GameEngine einfach nur eine Grafik Engine zu verwenden.
Somit denke ich würde mir der Teil mit OpenGL und der Darstellung meiner Objekte abgenommen werden und ich könnte mich rein aufs Spiel konzentrieren.

Ich habe noch nicht wirkliche eine Grafik Engine benutzt und nur über ein paar gelesen, jedoch habe ich dann angst, falls ich zu dem Punkt komme an dem meine Spiele Komplexer werden und somit auch die Grafik besser,
dass mir eine free GrafikEngine wie z.B Ogre3D, Irrlicht dann grenzen bei der Auflösung/HD Grafik usw setzt.

Natürlich ist es noch ein weiter Weg bis zu komplexen 3D Spielen, jedoch möchte ich bei weiteren Projekten so vorgehen ,dass ich bis nach oben (von mir aus MMO Größe und HD Grafik) keine grenzen gesetzt bekomme.


Möchte halt beim C++ code schreiben bleiben und es nicht durch Skriptsprachen zu leicht machen, jedoch wäre ein wenig Hilfe durch Tools oder was auch immer auch nicht schlecht.

Zu was ratet ihr mir?
(Falls ich wo falsch liege, korrigiert mich bitte)


mfg
slei

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

2

31.01.2014, 11:18

Was spricht denn gegen andere Sprachen als C++? Ich finde, du solltest dich nicht so sehr auf konkrete Sprachen versteifen, sondern höchstens auf die Gebiete (KI, Implementierung von Spielmechaniken, Rendering, Shaderprogrammierung, Softwarearchitektur, ...), in denen du dich bewegst (wobei in diversen Gebieten mehrere Sprachen in Frage kommen können).

Dir über Grenzen Gedanken zu machen ist nur dann wirklich sinnvoll, wenn du diese bisher auch nur ansatzweise erreicht hast. Die Qualität von 3D-Objekten (bspw. Charaktere, Gegenstände, die Umgebung, andere Lebewesen, ...) erhalten vor allem über ihre Texturen und die verwendeten Shader die visuelle Qualität, die sie in großen Spielen besitzen.

Ob sich eine Engine (Grafik-, Game-, Physik-, ...) sich für dich lohnt hängt natürlich davon ab, wie viel Aufwand damit sparen kann. Wenn man sich in einer Situation wiederfindet, in der man die Funktionalitäten einer vorhandenen Engine nachbaut, sollte man sich Gedanken darüber machen, ob es sich lohnt, eine eigene zu schreiben, oder ob es nicht sinnvoller wäre, eine vorhandene zu verwenden und ggf. an entsprechenden Stellen anzupassen.
Wichtig ist natürlich auch, was du eigentlich machen willst. Wenn es dir Spaß macht, die physikalischen Berechnungen hinter deinem Spiel selbst zu implementieren, kann es besser sein, diese auch selbst zu implementieren. Wenn du aber ein Spiel fertigstellen willst, kann das wieder im Konflikt damit stehen (vor allem, wenn du beides willst).

Grundsätzlich würde ich jedem raten, sich ein wenig Arbeit zu sparen und eine Engine zu verwenden, vor allem da man so am ehesten Erfahrungen für eigenen Code sammeln kann. Ob du letztendlich eine Engine verwenden wirst, liegt ganz bei dir und deinen Präferenzen/Zielen.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Sleicreider

Frischling

  • »Sleicreider« ist der Autor dieses Themas

Beiträge: 45

Wohnort: Österreich,Steiermark

Beruf: Softwareentwickler

  • Private Nachricht senden

3

01.02.2014, 12:59

also das ich bei C++ bleiben möchte weiß ich sicher.

Es ist wirklich die Frage ob es sich lohnt ne GameEngine zu schreibn, wenn sie am Ende gleich wie ne kostenlose Engine ist, das wäre verstrichene Zeit eigentlich, dafür weiß man dann eben wie so eine Engine gesamt aufgebaut ist und was es für arbeit ist.
Zurzeit denke ich daran einfach nur eine Grafik Engine wie Ogre3D zu verwenden um zumindest den Teil mit der Grafik und Darstellung zu minimieren oder vielleicht fällt er sogar ganz weg (wie gesagt hab noch nie eine fertige Engine benutzt)

4

01.02.2014, 23:00

also das ich bei C++ bleiben möchte weiß ich sicher.

Es ist wirklich die Frage ob es sich lohnt ne GameEngine zu schreibn, wenn sie am Ende gleich wie ne kostenlose Engine ist, das wäre verstrichene Zeit eigentlich, dafür weiß man dann eben wie so eine Engine gesamt aufgebaut ist und was es für arbeit ist.
Zurzeit denke ich daran einfach nur eine Grafik Engine wie Ogre3D zu verwenden um zumindest den Teil mit der Grafik und Darstellung zu minimieren oder vielleicht fällt er sogar ganz weg (wie gesagt hab noch nie eine fertige Engine benutzt)


Es kommt halt immer darauf an, was und wofür man programmiert. Wenn das Ziel ist möglichst schnell Spiele zu liefern, dann lohnt sich das schreiben einer eigenen Engine nicht. Es sei denn natürlich für tieferes Verständnis der Materie und aus Spaß - gerade im 3D Bereich (aber man sollter halt dann nicht erwarten das da jemals was brauchbares bei rum kommt). Bei 2D Spielen ist das programmieren einer eigenen Engine i.d.R noch halbwegs vertretbar - würde hier aber, wenn es nur ums liefern geht, trotzdem was fertiges nehmen.

Ich rate dir übrigens auch wie Sacaldur dich von dem Gedanken > es muss C++ sein < zu verabschieden. Bei Unity gibt es neben UnityScript noch die Möglichkeit in C# zu programmieren. Das ist alles andere als "klicki". Selbst große Entwickler Schmieden setzen Unity ein und du wirst niemals in deinem Privatleben eine bessere und portablere Engine hinzaubern - ganz zu schweigen von der Zeit die du dir einsparst zum fertigen Spiel.

Sleicreider

Frischling

  • »Sleicreider« ist der Autor dieses Themas

Beiträge: 45

Wohnort: Österreich,Steiermark

Beruf: Softwareentwickler

  • Private Nachricht senden

5

03.02.2014, 15:58

Naja mit 2D in verbindung mit OpenGL kenn ich mich ja aus, da ist es für mich kein problem, da würd ich die Engine selbst schreiben. bzw hab schon meine eigene entwickelt für weitere 2D Spiele, nur waren das eher kleinere und einfache um Games für Android zu entwickeln, bei 3D und großen Spielen sieht das ja ganz anders aus.

Wie gesagt hab noch mit keiner einzigen Engine wie Unity oder z.B Grafik Engine wie Ogre3D gearbeitet.
Anstatt Unity zu verwenden hab ich auch mal über die CryEngine nachgedacht, da man diese mit C++ verwenden kann, aber ich denke, dass ich wahrscheinlich einfach C++ + GrafikEngine(Ogre3D) weiter machen werde.
Natürlich wäre C# zu verwenden auch kein Problem, kenne mich damit vllt sogar besser aus wie in C++, jedoch werden sehr viele der großen Games eben mit C++ geschrieben, außerdem möchte ich auch mit C++ weiter kommen in den verschiedensten Bereichen, da ich die Sprache interessanter finde als Java und C#.

Eigentlich kann ich mich nicht entscheiden was ich eigentlich will:
(Darum auch der post um einige Argumente zu hören :) )
Ich möchte gerne selbst eine 3D Game Engine bauen, da ich dann genau weiß wie das alles Funktioniert usw. und es sehr interessant finde.
Jedoch möchte ich auch schnell zu einigen Ergebnissen kommen, um in 1-3 Jahren mit einer Idee starten zu können welche mir schon lange durch den Kopf geht.
Also wäre die Verwendung von ner GrafikEngine anstatt ner ganzen GameEngine doch ne gute idee oder nicht?

Ogre3D ist zusärtlich auch frei verwendbar auch wenn man, dass Spiel verkaufen möchte in der zukunft.
Außerdem sind Spiele wie "Torchlight 2" auch damit entwickelt worden , welches eine ziemlich nette Grafik hat.
Unity hingegen kostet ohne direkt die Lizenz zu kaufen monatlih 75€ ~? pro Monat wenn man durch das Spiel Geld verdient.
Und für die CryEngine glaube ich sind es ab einem gewissen Punkt 20% der einnamen oder von anfang an? so irgendwie war das was ich gelesen habe.
Natürlich ist der Weg bis zum Verkauf noch lange, aber dennoch sind solche Punkte wichtig.

Cranberry

Treue Seele

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

6

03.02.2014, 16:20

Das ist leider falsch. Man kann mit der CryEngine nicht mehr in C++ programmieren.
Mit den Kosten für Unity liegst du (zum Glück) auch falsch, die Free Version, die für kleinere Spiele vollkommen ausreichend ist gibt es wie der Name schon sagt kostenlos.
Mit dieser darfst du auch einen Gewinn von bis zu 100.000$ verdienen, aber wenn man soviel Geld eingenommen hat investiert man das bisschen auch in die Pro Version.

Du musst dich also entscheiden:
-Du willst ein Spiel entwickeln: -> Unity
-Du willst lernen wie man ein Spiel programmiert: -> Ogre3d
(Warnung: Diese Empfehlungen basieren auf persönlichen Erfahrungen und können von den eigenen Vorstellungen abweichen.)

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

7

03.02.2014, 17:22

(Warnung: Diese Empfehlungen basieren auf persönlichen Erfahrungen und können von den eigenen Vorstellungen abweichen.)

ja, damit hast du absolut recht.
Wenn man in Unity versucht sich ein wenig vom Editor zu entfernen und nicht zu scripten, sondern vorallem Unityunabhängigen Code schreibt, kann man durchaus auch mit Unity lernen, wie man große Spiele richtig entwickelt.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

8

03.02.2014, 18:51

Vor allem ist Unity sehr "komplett", das gibt allgemein einen sehr guten Überblick. Man lernt was Tools, und alles was um die Spieleprogrammierung herum passiert, viel besser als wenn man z.B. alles selber macht

Und grundsätzlich bleibt auch zu sagen:
Unity ist ein Werkzeug. Ein umfangreiches. Du kannst damit alles machen, aber letztendlich liegt es nur daran, wie du damit umgehst.
WIP Website: kevinheese.de

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

9

03.02.2014, 19:17

Dieses "Scripting Gefühl" in Unity ist quasi die dunkle Seite der Macht. Widerstehe ihr und du wirst dich zu einem mächtigen Entwickler entwickeln.
Damit meine ich nicht, dass du dieses mächtige Werkzeug garnicht nutzen sollst. Man darf es nur nicht übertreiben. Die "Unityobjekte" sollten die Daten deines Frameworks repräsentieren und davon gesteuert werden und nicht anders herum.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Sleicreider

Frischling

  • »Sleicreider« ist der Autor dieses Themas

Beiträge: 45

Wohnort: Österreich,Steiermark

Beruf: Softwareentwickler

  • Private Nachricht senden

10

04.02.2014, 06:09

hmm, dann werde ich mir mal Unity etwas genauer ansehen, schauen wie alles funktioniert.
denke ich werde aber auch Ogre3D anschaun, das ich einen vergleich bekomme und vielleicht weiß ich bis dort hin auch wie ich in zukunft dann Spiele entwickeln möchte.

danke für die umfrangreichen Erklärungen. hat mir sehr geholfen :)

Werbeanzeige