Externe Level durch execute_file importieren

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Externe Level durch execute_file importieren

    Die Frage richtet sich eher an die erfahrenen Leute. In meinem übernächsten Projekt (langfristige Planung ist die halbe Miete) möchte ich im Spiel einen Leveleditor einbauen, zumindest für die Entwicklung. Man soll also im Spiel ein Level bauen, speichern und laden können.

    Nun habe ich in der großen GM-Community einen externen Editor gesehen, der einfach nur die GM-Befehle in eine Textdatei schreibt. Zum Beispiel instance_create(20,64,obj_schnullerbacke).

    Der erwähnte Editor dient dazu, den Inhalt des Levels manuell in ein Objekt zu kopieren. Die Grundidee finde ich aber ziemlich cool und ich dachte mir, ich kann mit dem internen Editor eine Textdatei speichern und diese mit execute_file() in ein Objekt (Create Event) oder Raum laden.

    Ob das technisch überhaupt funktioniert, kann ich heute Abend testen. Meine Frage ist eher, wenn es geht, ist diese Vorgehensweise überhaupt sinnvoll?
  • Funktionieren tut es, so werden vemrutlich 99% der GM User ihre (zumindest am Anfang) Leveleditoren programmieren. Ob das ganze sinnvoll ist, kann man grundsätzlich nicht sagen, das kommt aufs Spiel drauf an. Grundsätzlich ist die beste und performanteste Lösung wahrscheinlich das Speichern als Binärdatei und eben ein entsprechendes Speicher/Ladescript zu schreiben.
    Vorteile: Code ist nicht aus der Datei ersichtlich, Datei ist um ein vielfaches kleiner, Ladezeiten werden vermutlich geringer sein.
    Nachteile: Braucht ein eigenes System, wie Daten gespeichert/geladen werden, zb ein Byte für die Aktion und dann Bytes für die Parameter.

    Fazit: Falls du dir die Arbeit erleichtern willst, machs mit execute_file, wenn du dich ein wenig auskennst und ein gutes System haben willst, schreib deine Levelfile Struktur selbst. Somit kannst du genauer bestimmen was drin sein soll und Exploits erschweren.

    © 2008 by Teamgrill Productions
  • Danke für die sehr schnelle Antwort. Die Datei wollte ich noch verschlüsseln und packen. Die Räume sollen relativ klein sein. Die Auflösung wird 1024*768 sein, ein Raum soll aus 4 Bildschirmen bestehen (konstant), also 2048*1536.

    Ich verfolge dabei ein wenig den Ansatz von Trackmania. Die Maximalgröße des Raumes ist vorgegeben, durch Levelelemente kann man es aber kleiner machen.
  • Benutzer online 1

    1 Besucher