Du bist nicht angemeldet.

Werbeanzeige

1

29.03.2011, 00:32

Kleines C++ Game Editor

Hallo,

Ich wollt mal von euch wissen ob es möglich ist einen C++ Game Editor zu basteln worin man z.b die Spielwelt bearbeiten kann und Game Objekte hinzufügen kann.(ich weiß nur leider nicht ob es einen oberbegriff dafür gibs)
Grüße,
Descrsum

2

29.03.2011, 00:50

Hallo Descrsum,

und willkommen erstmal im Forum.

Natürlich ist das möglich. Mir ist aber nicht so ganz klar, ob du einen Game Editor willst, in dem du sozusagen ein ganzes Spiel "zusammenklickst" oder ob du an einem Map- oder Leveleditor interessiert bist, mit dem man die Spielwelt oder Levels zusammenbasteln kann. Es gibt beides. Aber anscheinend willst du selbst einen solchen Editor programmieren und genau da sehe ich erstmal keinen Sinn drin.

Komplette Game Editoren oder auch Game Maker gibt es einige im Netz zu finden und ich wüsste nicht warum du einen solchen programmieren und anderen Leuten zur Verfügung stellen willst, denn das ist ein großer Aufwand und ein umfangreiches Projekt, das gut gepflegt werden muss.

Wenn du aber einen Map-, Level- oder Worldeditor (je nach dem wie man es nennen will) willst, dann frage ich mich, warum du einen selbst schreiben willst? Das macht eigentlich nur Sinn, wenn...
  • ... es zwar ein entsprechendes Dateiformat gibt, das du benutzen möchtest, dafür aber kein guter bzw. deinen Ansprüchen genügender Editor existiert.
  • ... du dein eigenes Dateiformat entwickelt hast, für das es noch keinen richtigen Editor gibt und du das jetzt ändern möchtest.
Im ersten Fall solltest du dich zunächst informieren ob das Dateiformat, für das du einen Editor schreiben willst, Open Source ist, sonst wirds schwierig. Wenn dem so ist, dann schau mal ob es bereits Open Source Editoren gibt, an denen kannst du dich orientieren.

Im zweiten Fall solltest du keine Probleme haben, denn wenn du wirklich ein entsprechnedes Dateiformat entwickelt hast, dann bist du bestimmt auch in der Lage einen Editor dafür zu schreiben. ;)


Jetzt mal etwas vom eigentlichen Begriff "Game Editor" losgelöst: Falls du dir vorgestellt hast, du schreibst dir einfach einen "Game Editor" und mit dem kannst du selbst und/oder irgendwelche Freunde etc. ein Spiel entwickeln, dann wird das wohl nicht so einfach gehen. Ein Editor für z.B. die Spielwelt ist zwar eine tolle Sache, aber zu einem Spiel gehört eine ganze Menge mehr und für den Rest gibt es keinen wirklichen Editor, da muss einfach programmiert werden - und das nicht zu knapp.

Sag uns also am Besten was genau du vor hast und je genauer du uns das sagen kannst, desto passender fallen wahrscheinlich auch die Antworten aus. ;)

Gruß
SaRu_

3

01.04.2011, 02:06

Vielen Dank für Ihre rasche Antwort.

Ich hab die Idee gehabt ein kleines Editor zu bastel worin man spiel Objekte die man selbst in der C++ Sprache gemacht hat hinzufügt und dann dementsprechend, teil für teil erweitern könnte.

Da ich genau weiß wieviel arbeit mich für mein "morpg" GAME zu realisieren brauche, möchte ich erstmal einen kleinen "Multishooter Game" entwickeln.
Wie lange es dauern würde, ist es mir unbedeutend.
Grüße,
Descrsum

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Descrsum« (01.04.2011, 14:17)


NachoMan

Community-Fossil

Beiträge: 3 909

Wohnort: Berlin

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

  • Private Nachricht senden

4

01.04.2011, 02:59

was ist ein "multishooter game"?
ich glaube sobald du so weit bist den editor zu schreiben wirst du dir die frage selbst beantworten können. ich entwickel selbst gerade an einem weltraum shoot'em up und es würde 100 mal mehr mühe machen einen editor für die level und objekte zu schreiben als sie schnell im code zu schreiben.
so ein editor lohnt sich nur für komplexe dinge wie einer welt für rpg´s oder jump'n'runs oder 3d objekte.
"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?

Schorsch

Supermoderator

Beiträge: 5 188

Wohnort: Wickede

Beruf: Student

  • Private Nachricht senden

5

01.04.2011, 11:54

Naja ich gebe dir einfach mal nen Vorschlag, wie du das angehen kannst. Du überlegst dir wie deine Leveldateien aussehen sollen, die du mit deinem Editor schreiben willst. Ich vermute jetzt du hast ein Spiel, welches dann nen Level laden kann. Die Leveldatei weiß dann wie das Level selbst aufgebaut ist, und wo überall Gegner und Items sind, sowie die Startposition vom Spieler. Ich gehe einfach mal von einer Tilemap als Level aus, da es alles erstmal einfacher macht. Du speicherst deine Tilemap einfach wie ein Array in der Leveldatei ab. Du hast zum Beispiel diese Map:
1111111111
1000000001
1010000501
1011110001
1000000001
1111111111
(Das sind die Werte von deinem Array)
Diese Werte kannst du jetzt natürlich einfach in die Datei schreiben. Einfach dein Level durchlaufen und die Werte in die Datei schreiben. 1 Könnte eine Wand sein und 0 eine Bodenfläche. 5 Ist dann die Startposition vom Spieler. So sieht das Dateiformat erstmal aus und du kannst dir ein paar Level von Hand erstellen, indem du einfach mit einem Texteditor solche Karten erstellst. Du könntest die Höhe und die Breite der Karte vielleicht noch an den Anfang der Datei schreiben. Schreib dir jetzt einfach nen paar von diesen Dateien von Hand und guck, dass dein Spiel diese schonmal laden und richtig anzeigen kann. Wenn du dich nen bisschen darauf eingestellt hast, Kannst du dich an deinen Editor begeben. Für die Umsetzung am einfachsten wäre jetzt einfach ein Editor, der genau so gebastelt wird, wie ein Spiel. Wenn er gestartet wird, läd er immer die selbe Datei. Jetzt setzt du deine Objekte. Du speicherst und er benutzt wieder die selbe Datei. Wenn du die Karte im eigentlichen Spiel haben willst kopierst du sie dort hin und nennst sie unter Umständen noch um. Im Editor selbst, könntest du dann die Tiles mit der Maus platzieren. Mit dem Mausrad gehst du die einzelnen Tiles durch, so als wenn du in nem Egoshooter Waffen durchgehen würdest. Du wählst dir so dein passendes Tile und setzt es mit einem Mausklick an die bestimmte Position. Das selbe geht natürlich auch mit Items oder Gegnern oder Triggern oder was auch immer. Ich würde es erstmal relativ simpel anfangen. So Hilfssoftware kann für Spiele wirklich wichtig werden. Je nachdem wie groß das Spiel ist, was du programmierst. Wobei es da wirklich Unterschiede gibt. Nicht jedes Projekt, was du anfängst wirst du zu Ende bringen. Manche Spiele sind zu klein, als das sich sowas lohnt, und und und. Aber ich denke allein als nette Übung ist es mal gut sowas geschrieben zu haben. Wie gesagt achte in den ersten Versionen nicht unbedingt auf viel Komfort für den Benutzer. Versuch dich erstmal einzuarbeiten und ein bisschen damit warm zu werden. Mit wachsenden Fähigkeiten, kannst du dann immer mehr realisieren. Aber für den wirklichen Gebrauch lohnt es sich wirklich oft mal im Netz zu gucken, was es schon fertig gibt. Als "Vision" kannst du dann gucken, das alles in eine Form-Anwendung einzubetten. Mit Buttons und allem drum und dran. Was du da für die Gui benutzt ist relativ egal. Wobei du für sowas dann schon etwas Fortgeschrittener sein solltest.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

6

03.04.2011, 00:48

Vielen Dank für die super Antwort.

Mal ganz langsam ;)
Als erstes hab ich noch nicht's gemacht.

Ich habe ich mir vorgenommen mit der C++ Sprache(Dev-C++) einen Form zu basteln wo man in der Console die Fenstergröße bestimmen kann z.b:
A: Vollbild
B: Fenster
C: Fenster (Vollbild)
Das ist aber nicht das größte Problem.

Ich hatte die Idee einfach mal einen "Game-Editor" zu bauen wo ich die 3D Objekte selber gestalten kann bzw. die Spielwelt zu realisieren, und dann in einer dateiformat abspeichere.
Wenn ich dann einen "spielobjekt" fertig gestaltet habe, möchte ich das in einen zweiten Game-Editor laden, wodurch ich mich mit meiner "fliegende-kamera" bzw. mit der mauszeiger die Objekte die ich gemacht habe in die Spieltwelt platzieren kann. ;)

Ich weiß garnicht wo ich genau anfangen sollte bzw. ich brauch von euch Tipps/Bücher ect.
Grüße,
Descrsum

7

03.04.2011, 01:00

Was du da beschreibst (zumindest der "zweite Editor") ist ein Level- oder World-Editor. Aber du kannst ruhig glauben, dass das eine ganze Menge mehr Arbeit und deutlich schwieriger ist, als du dir wahrscheinlich vorstellen kannst. Sowas macht man nicht in dem man mit irgendeiner Software ein Windows Form zusammenstellt.

So wie du deine Absichten beschreibst würde ich dir sowieso von C++ ganz deutlich abraten. Schau dir z.B. lieber mal C# an. Schreib mit C# ein paar kleine Programme, damit du dich mit der Sprache und der IDE zurechtfindest und dann such dir eine Grafik-Bibliothek (wenn's schon keine fertige Engine sein soll) und schau erstmal ob du irgendwelche 3D Modelle (die es ja haufenweise kostenlos im Netz gibt) geladen und angezeigt bekommst. Wenn du das hinkriegst, dann kannst du darauf aufbauen einen Editor entwickeln.

Oder mach es dir einfach und nutze einfach eine kostenfreie Engine deiner Wahl, die bereits einen Editor mitliefert und arbeite damit. Da wirst du auch noch genug programmieren müssen.

Gruß
SaRu_

NachoMan

Community-Fossil

Beiträge: 3 909

Wohnort: Berlin

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

  • Private Nachricht senden

8

03.04.2011, 01:14

für mich klingst du noch sehr naiv. erstmal solltest du eine IDE verwenden die aktuell ist. visual studio 2010 gibt es ja gratis.
schreib lieber erstmal ein paar 2d spiele. dann weißt du wieviel arbeit soetwas macht und wie das intern eigentlich abläuft.
"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?

9

03.04.2011, 01:23

Das Problem ist, wenn ich mir kostenlose produktentwicklung aus dem netz runterlade sind "Copyright" drauf, und daher kann ich mir sowas nicht für meine spielentwicklung wirklich gebrauchen. :pinch:
Grüße,
Descrsum

10

03.04.2011, 01:36

"kostenlose produktentwicklung"? Was genau meinst du?

NachoMan hat doch nur gesagt, dass du dir eine vernünftige IDE laden sollst und nebenbei die Microsoft Visual Studio Express Versionen (entweder C++ oder C# - wozu ich dir nach wie vor raten würde) empfohlen. Natürlich hat Microsoft ein Copyright auf die IDE. Aber doch deshalb nicht auf alle Programme die damit erstellt werden. ;)

Und falls du das auf Engines / Bibliotheken bezogen hast... auch da gibt es genügend, deren Lizenzmodelle eigene Spiele zulassen - sonst würde sie ja gar nicht veröffentlicht und zum Download angeboten werden.

Gruß
SaRu_

Werbeanzeige