


Zur Zeit online: kein Gast, xanbank |


Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [13] [14] >> |
Autor |
Mitteilung |
|
verfasst am: 08.06.2010, 17:53
|
Grafiker
Registrierdatum: 06.03.2005, 16:04
Beiträge: 460
 |
Ich bin mir nicht sicher ob man sich einfach durch die Website arbeiten kann, und alle nötigen Scripte findet um seine frisch erstellte Map eben mal fix auszuprobieren.
Ich hab mir aus diesem Grund einen Spielsatz JSmith.pak gemacht, der beim Start, sofort einen Einsatz generiert und die Map xxx.m3d benutzt. Der Spielsatz ist nicht wirklich spielbar und dient mir nur zum testen und eben ausprobieren der Map.
Wer ganz clever ist, speichert einfach kurz vor Ankunft des Fliegers und spart sich so sogar das ständige neuausrüsten.
So kann man Karte testen, Einsatz abbrechen, Karte ändern, Spiel laden und neu testen.
Ihr könnt auch das/die Scripte einsehen und so euren eigenen Testspielsatz erstellen.
Ich hoffe das hilft ein wenig die Einstiegshürde für Maps zu überwinden.
Wenn der Map-Editor leer bleibt, rechts auf default-doppelklicken. Raumgröße am besten 30x30, und keine Größen mischen. Für 4 Räume (2x2) fügt man diese einfach hinzu, und benutzt dann das Anordnungsscript aus dem anderen Thread. Leicht modifiziert kann man so auch 1x4 Karten oder jede beliebige andere Anordnung erstellen.
Wenn keiner klarkommt, kann ich auch einige Demo-Maps oder eine Anleitung erstellen. |
|
verfasst am: 08.06.2010, 20:10
|
Registrierdatum: 22.08.2008, 15:51
Beiträge: 403
 |
Es wäre zumindest praktisch zu wissen wie man eigene Tilesets in den Spielsatz bringt(also nicht was man im Ressourceneditor macht sondern wie sich der Mapeditor dieser Ressourcen bedinen kann) und wie man diese im Mapeditor einbinden kann. Danke. |
|
verfasst am: 08.06.2010, 22:42
|
Grafiker
Registrierdatum: 06.03.2005, 16:04
Beiträge: 460
 |
Das ist leider nicht ganz problemlos möglich, da jede Grafik einem bestimmten Formatzwang (Auflösung und Kamerasichtwinkel zwecks Perspektive) unterliegt.
Für einfache Bodentiles, Walltiles und Objekte sollte das nötige in der Wikipedia zu finden sein.
Den Rest erledigt der mitgelieferte TileEditor in dem einfach mal einen vorhandenen Tileset lädts und anschaust. Mit dem TileEditor kannst bequem dein eigenes Set erstellen, welches Automatisch! im Karteneditor und Spiel eingebunden wird.
Ich möchte dennoch vorschlagen vorerst mit den mitgelieferten auszukommen, da wir ja ohnehin an weiteren Tilesets arbeiten. So ist nicht ausgeschlossen das ihr euch jetzt Arbeit macht, die in einigen Wochen überflüssig ist, da entsprechende Tilesets offiziell mit ausgeliefert werden. |
|
verfasst am: 08.06.2010, 23:02
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
Ich glaub ihr redet von verschiedenen Sachen ^^
@Kreks: Derzeit hat der Karteneditor noch keinen Zugriff auf Tilesets in Spielsätzen. Du musst also immer eine Kopie ins Tilesetverzeichnis kopieren, damit du die Map erstellen kannst. |
|
verfasst am: 09.06.2010, 01:47
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
Ich habe gerade eine Map zusammen gestellt gehabt. Doch hat man einmal ein Rendertile gesetzt, kann man dies nicht mehr löschen, und ich hatte zwei davon aufeinandergesetzt so das das untere noch sichtbar war.
Rendertiles sollten möglichst immerhalb der Map plaziert werden, damit der Nebel nicht so komisch aussieht, wenn das Tile über diesen hinausragt.
Für die Zukunft währen ein paar rundunge im Nebel schön(920).
Übrigens gehen die Ice-Tiles nicht mit allen 4-Richtunge(90°,180°,279°).
Mit den neuen Funktionen macht das Mappen aber richtig Spaß, und die Auswahl ist gewaltig.
Währe es noch möglich einen Sicherheitszaun für die Forschungstation zu machen?
Hatte versucht eine richtig Schicke Station zuammenzustellen, bei welcher die Aliens sich auch hinter Hindernissen vor dem Spieler verstecken können, so dass der ein bischen sucht. |
|
verfasst am: 09.06.2010, 01:57
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
Zitat: fox_1 Ich habe gerade eine Map zusammen gestellt gehabt. Doch hat man einmal ein Rendertile gesetzt, kann man dies nicht mehr löschen, und ich hatte zwei davon aufeinandergesetzt so das das untere noch sichtbar war.
Doch, kann man. Die Schwierigkeit besteht nur darin, das richtige Feld zu treffen. Und du musst natürlich den richtigen Löschmodus ausgewählt haben. Normalerweise sollte da aber die Standardeinstellung reichen - bei der wird nur das gerade ausgewählte Tile gelöscht (gerade Rendertiles lassen sich so sicher mit Flächenlöschen entfernen).
Zitat: fox_1 damit der Nebel nicht so komisch aussieht, wenn das Tile über diesen hinausragt.
Naja, teilweise finde ich es schon ganz hübsch, wenn einzelne Objekte der Karte über den Rand hinausgehen. Problem ist halt der FogofWar. Der lässt sich nicht ohne weiteres über den Kartenrand weiterzeichnen. Selbst wenn man das hinbekommt - dann würden die Informationen zu gesichteten Feldern fehlen (gibt ja außerhalb keine Felder), und man hätte dann immer den dunkelsten Schleier. |
|
verfasst am: 09.06.2010, 02:51
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
So, nach einer guten Stunde basteln präsentiere ich hier stolz mein Ergebniss: 0002420 :D
@Natter
Vielen Dank für die Tips Zitat: Natter Die Schwierigkeit besteht nur darin, das richtige Feld zu treffen
Als ich das las, viel mir ein, ich könnte ja einfach Shift drücken ^^ |
|
verfasst am: 09.06.2010, 16:51
|
Registrierdatum: 22.08.2008, 15:51
Beiträge: 403
 |
Zitat: JohnS Ich möchte dennoch vorschlagen vorerst mit den mitgelieferten auszukommen, da wir ja ohnehin an weiteren Tilesets arbeiten. So ist nicht ausgeschlossen das ihr euch jetzt Arbeit macht, die in einigen Wochen überflüssig ist, da entsprechende Tilesets offiziell mit ausgeliefert werden.
Ich wollte nur einmal die Möglichkeiten abschätzen, nachdem ich nicht so gut mit Grafiken kann, werde ich sowieso die mitgelieferten Tilesets verwenden, es wäre für die Atmosphäre halt das eine oder andere zusätzliche Objekt zu haben. |
|
verfasst am: 09.06.2010, 19:25
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
Zitat: Kreks Ich wollte nur einmal die Möglichkeiten abschätzen, nachdem ich nicht so gut mit Grafiken kann, werde ich sowieso die mitgelieferten Tilesets verwenden, es wäre für die Atmosphäre halt das eine oder andere zusätzliche Objekt zu haben
Da kann ich dir nur zustimmen. Ich habe mich aber zurückgehalten zusätzliche Objekte in den Maps zu nehmen welche ich die letzten Tage für die Alpha zusammen gestellt habe( 0002420). Die Maps dürfen direkt in der Alpha funktionieren. |
|
verfasst am: 10.06.2010, 00:09
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
@John,
habe deinen 'Spielsatz' ;-) ausprobiert. Das Skript entsprechend geändert, doch mein Raum(30x30) erschien doppelt, ist das korrekt? Ein kleinerer Raum(20x20) wurde sogar 4mal wiederholt. |
|
verfasst am: 10.06.2010, 00:44 · Edited by: Natter
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
Dürfte daran, liegen, dass deine Maps kein Kartenscript besitzen. Dann wird die Karte nämlich zufällig (und in Abhängigkeit von der Alienanzahl) erstellt.
In dem Zusammenhang fände ich es auch sinnvoll, verschiedene Varianten einer Karte in einer einzelnen Map zu erstellen, und dann die Zufallsauswahl ins Kartenscript zu verlagern. |
|
verfasst am: 10.06.2010, 17:14 · Edited by: JohnS
|
Grafiker
Registrierdatum: 06.03.2005, 16:04
Beiträge: 460
 |
Zitat: fox_1 @John,
habe deinen 'Spielsatz' ;-) ausprobiert. Das Skript entsprechend geändert, doch mein Raum(30x30) erschien doppelt, ist das korrekt? Ein kleinerer Raum(20x20) wurde sogar 4mal wiederholt.
Nach rumprobieren von über 1h nun also folgendes.
a) man benötigt eine Karte (bei JSmith.pak) xxx.m3d im Maps-Ordner
b) in der Karte muss das Script map2x2.xma integriert sein
c) das Script muss ebenfalls im Ordner Maps nochmal extra als Script map2x2.xma vorhanden sein
Dies kann ja keiner ahnen, zumal man das Script ja schon importiert. Jedoch Script nicht vorhanden, wird Standard-Map geladen.
Wenn danach beim ersten Einsatz vom JSmith.pak keine 2x2 Eis-Map kommt ist etwas schiefgegangen.
Die X-Force startet auf dieser Map oben, die Aliens unten. Einige Felder sind gesperrt.
Im MapEditor sind rechts die Raumnamen zu finden, bei xxx.m3d - default, 01,10,11. Der Raumaufbau ist wie folgt:
00 01
10 11
dann im Spiel um 45° gedreht das es wie folgt aussieht
00 (default)
10 01
11
|
|
verfasst am: 10.06.2010, 17:55
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
Zitat: Natter In dem Zusammenhang fände ich es auch sinnvoll, verschiedene Varianten einer Karte in einer einzelnen Map zu erstellen, und dann die Zufallsauswahl ins Kartenscript zu verlagern.
Nun, das habe ich mit der Fabrik und dem Rathaus und ihrer 4 Variationen versucht. Dabei gibt es 4 unterschiedliche Startpositionen. Nur irgendwie ruckelt die Map und die Musik wenn ich die Karten spiele, habe ich zu viele Objekte, Mauern, etc... drin? |
|
verfasst am: 10.06.2010, 20:19
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
Zitat: JohnS
c) das Script muss ebenfalls im Ordner Maps nochmal extra als Script map2x2.xma vorhanden sein
Dies kann ja keiner ahnen, zumal man das Script ja schon importiert. Jedoch Script nicht vorhanden, wird Standard-Map geladen.
Sollte nicht so sein, und kann ich mir auch kaum vorstellen. Mit den default-Maps der a01 klappt es ja auch. Wenn kein Script in der Map gefunden wird, wird die Karte ohne Script erstellt. |
|
verfasst am: 10.06.2010, 20:31
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
So, hab mal kurz in den Testspielsatz geschaut. Problem ist, dass du dort im Skript auf eine Spielsatzinterne Karte verweist ('user'). Die wird natürlich nicht gefunden.
Wenn ihr den Spielsatz Skriptdemos startet, und dort die ground_api-Demo startet, könnt ihr eine Karte aus allen vorhandenen Karten auswählen. Schaut einfach mal ins entsprechende Skript - die Auswahl ist imho besser als ein fester Dateiname. |
|
verfasst am: 11.06.2010, 00:22
|
Registrierdatum: 22.08.2008, 15:51
Beiträge: 403
 |
Zitat: JohnS c) das Script muss ebenfalls im Ordner Maps nochmal extra als Script map2x2.xma vorhanden sein
Zitat: Natter Sollte nicht so sein, und kann ich mir auch kaum vorstellen.
Ich kann Natter's Aussage bestätigen, es ist nicht nötig, dass ein Skript im gleichen Ordner ist. Ich hab für meine erste Mission auch schon eine Karte erstellt und diese im Spielsatz importiert und sie benötigt weder die .xma noch die .map Datei im Ordner Maps. |
|
verfasst am: 11.06.2010, 17:00
|
Grafiker
Registrierdatum: 06.03.2005, 16:04
Beiträge: 460
 |
Dann bietet doch einfach mal die nötigen Scripte an, damit der Zugang zum erstellen der Karten so einfach wie möglich ist.
Das weder ich noch fox es auf Anhieb geschafft haben eine eigene Karte in den Spielsatz einzubinden finde ich Aussage genug. Die Scripts sind ja nichtmal von mir, sondern habe ich aus deinem Spielsatz geklaut Natter, sonst hätte ich nie eine Karte probieren können.
Wenn es uns nicht gelingt das besser zu dokumentieren und die Einbindung nicht problemlos nachvollziehbar ist, wirkt das irgendwie abschreckend. Spielsatzerstellern mit Scripterfahrung traue ich das schon zu sich irgendwie die Karten ins Spiel zu holen.
Zitat: Natter Sollte nicht so sein, und kann ich mir auch kaum vorstellen. Mit den default-Maps der a01 klappt es ja auch. Wenn kein Script in der Map gefunden wird, wird die Karte ohne Script erstellt.
Das Script ist aber für die Anordnung der Räume nötig ! wenn man die Karte so designt hat. Freilich kann eine generische Karte ohne Script angeordnet werden. Nur dann brauch man auch keine Arbeit in die Erstellung einer Karte stecken, sondern verteilt random paar Objekte und läßt sich von der Anordnung im Spiel dann überraschen.
Dies widerspricht aber dem getriebenen Aufwand auch innerhalb der Bodeneinsätze einen erzählerischen Einsatz zu ermöglichen. Klar wenn in der Mission steht, schieße alle Aliens im Wald zusammen, brauchts nur Bäume, und die Anordnung ist relativ egal. Beim sichern/erkunden einer Pipeline ist es aber schon günstiger wenn die Pipeline auch Kartenübergreifend durchgeht und nicht zwischendrin springt.
Naja warten wir einfach mal ab wie sich die Kartenlage in den zukünftigen Spielsätzen entwickelt. |
|
verfasst am: 11.06.2010, 17:47 · Edited by: Kreks
|
Registrierdatum: 22.08.2008, 15:51
Beiträge: 403
 |
Also dann probier ich mich mal an einem kleinen Tutorial...
Zu unterscheiden sind Räume und Karten, wobei eine Karte aus einem bis vielen Räumen aufgebaut wird, wobei Räume aus Feldern und Karten aus Räumen bestehen. Die Räume sollten die gleichen Ausmaße (also nicht einen Raum mit 30x30 Feldern mit 20x15 Feldern mischen) und einen eindeutigen Namen haben.
Eine Karte ist immer Rechtekig, besteht also z.B. aus 3x3 Räumen oder 3x2 Räumen oder 1x2 Räumen oder 1x1 Räumen.
Nun zum Kartenskript, es besteht mindestens aus drei Teilen auf die ich jetzt eingehen werde:
1) Das Skriptgerüst
program MyMapScript;
//Aller anderer Code
begin
//hier ist kein weiterer Code
end.
Jeder der schon XScript gemacht hat erkennt das Grundgerüst mit dem Skriptnamen und dem begin-end Abschlusselement. Sämtlicher Scriptcode gehört in Aller anderer Code hin.
2) Kartengröße festlegen
Hier spielt die Funktion CalculateMapSize die einzige Rolle, und wie der Name schon sagt setzt sie fest, aus wievielen Räumen die Karte besteht und lautet wie folgt
procedure CalculateMapSize(Units : Integer);
begin
MapWidth := 2;
MapHeight := 3;
end;
Zu Units : Integer kann ich mich nicht äußern, es wird sich aber um eine Möglichkeit handeln um das Skript von außen aufzurufen und die Größe festzulegen.
Diese Funktion generiert eine Karte mit 2x3 Räumen die Folgendermaßen angeordnet sind:
Im "normalen" Koordinaten
00 10 20
01 11 21
sind diese dann im Spiel um 45° gedreht das es wie folgt aussieht
00
01 10
11 20
21
3) Räume setzen
Ich habe jetzt die sechs Räume mit den Namen 00, 10, 20, 01, 11, 21 die ich auf der Karte entsprechend setzen will. Dazu verwende ich die Funktion
procedure GenerateMap;
begin
CopyRoomToPos(0,0,'00');
CopyRoomToPos(1,0,'10');
CopyRoomToPos(2,0,'20');
CopyRoomToPos(0,1,'01');
CopyRoomToPos(1,1,'11');
CopyRoomToPos(2,1,'21');
end;
Wobei CopyRoomToPos(x,y,'RaumName'); definiert ist.
Im Endeffekt sieht es so aus:
program MyMapScript;
procedure CalculateMapSize(Units : Integer);
begin
MapWidth := 2;
MapHeight := 3;
end;
procedure GenerateMap;
begin
CopyRoomToPos(0,0,'00');
CopyRoomToPos(0,1,'01');
CopyRoomToPos(1,2,'02');
CopyRoomToPos(1,0,'10');
CopyRoomToPos(1,1,'11');
CopyRoomToPos(1,2,'12');
end;
begin
//hier ist kein weiterer Code
end.
Wünsche, Anregungen, Erweiterungen?? Wenn nicht, werde ich es ins Wiki stellen. |
|
verfasst am: 11.06.2010, 18:13
|
Programmierer, allgemeines
Registrierdatum: 06.06.2004, 17:19
Beiträge: 3186
 |
Units: Integer ist die Anzahl der Aliens in dem Bodeneinsatz. Nur so kann man die Kartengröße sinnvoll einstellen (bei allgemenein Maps).
Zitat: JohnS Das Script ist aber für die Anordnung der Räume nötig !
Ohne Frage. Das Problem was ich bei deinem Testspielsatz ansprach war auch kein Fehler im Kartenskript, sondern in dem Skript, dass den Bodeneinsatz erzeugt. Mit dem Vorsatz 'user' beim Kartennamen erreichst du nämlich, dass die Karte im Spielsatz gesucht wird, nicht im Maps-Ordner. Es wird also garnicht die gewünschte Karte benutzt (oder nur zufällig - wenn die Karte nicht gefunden wird, erfolgt glaube eine zufällige Auswahl). Falls es noch Fragen gibt, werde ich demnächst nochmal was dazu erklären, sobald ich etwas Zeit hab ;) |
|
verfasst am: 11.06.2010, 20:53
|
Grafiker
Registrierdatum: 24.11.2006, 14:22
Beiträge: 568
 |
@Kreks, gut erklärt! Wie wäre es mit einen Tutorial für Skripts? :D |
Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [13] [14] >> |
Du musst dich registrieren um auf dieses Thema zu antworten.
|
|



|