Making of cs_minimetzel

Es war einmal auf einem Server lange bevor auch nur an Counter-Strike: Global Offensive gedacht wurde. Hier geschah es, dass die Map cs_minimetzel zum ersten mal gespielt wurde. Seit dem ist viel Zeit vergangen und doch gibt es noch so manchen der sich an eine der wohl simpelsten Maps in der Geschichte der Source Engine erinnert und ein leichtes Zucken im Zeigefinger verspürt.

Die Rede ist hier von einer kleinen, einfachen und schnellen Map. Keine Routen, keine Ablenkungen. Geh nach Vorne! Hol die Geiseln! Und nichts wie ab durch die Mitte! Für alle, die nicht wissen wovon ich hier rede, das ist cs_minimetzel wie sie wohl die meisten kennen:

cs_minimetzel 1.6 cs_minimetzel CS:S

In ihrer Counter-Strike: Source (CS:S) und Counter-Strike 1.6 (CS) Variante. Die wenigsten werden wissen, dass diese Map sogar für Battlefield umgesetzt wurde!?

cs_minimetzel bf

Die Engine und sogar das Spiel wechselte, aber das Prinzip blieb das selbe. Zwei Schuppen mit Rolltoren, zwei Teams und eine Menge gemetzel. Das kleine I-Tüpfelchen der CS-Version der Map war immer noch, dass es tatsächlich Geiseln zu retten gab! Die waren im “Start-Schuppen” der Terrors untergebracht – mussten also abgeholt und zurück zum eigenen Schuppen gebracht werden.
So manch einer hat spaßige Runden auf der Map verbracht. Dies ist jetzt auch wieder in Counter-Strike: Global Offensive (CS:GO) möglich!

Einige kleine Änderungen gibt es allerdings. Das Layout ist jetzt komplett symmetrisch. Vorher gab es kleine Unterschiede, jetzt ist es für beide Seiten gleich. Außerdem gibt es jetzt kleine Vertiefungen, mit denen man bestimmte der Teile der Map unterwandern kann. Die wohl größte Änderung ist allerdings die Position der Geiseln und die der Rettungszone: Die Geiseln befinden sich am CT-Start, die Rettungszone ist im Schuppen der Terroristen untergebracht. Man muss die Geiseln also quer durchs Abwehrfeuer der Terroristen schaffen!

Warum cs_minimetzel?

Am Anfang der Map stand ein lustiger Abend auf dem incounterstrike.de-Teamspeak Server. Zwischen ein paar lustigen Runden, begannen wir über alte Maps zu reden – welche die heute nicht mehr gespielt werden, die keiner mehr kennt.
Plötzlich fiel das Wort “minimetzel”, allein der Name lies mich innerlich aufschreien. “Eine Map mit dem Namen kann ja nichts sein!”, dachte ich mir. Nach einigem hin und her überlegen (und nachdem ich mir ein paar Screenshots der alten Versionen angeschaut hatte), spielte ich mit dem Gedanken ein Remake zu bauen.
Noch in der selben Nacht begann ich die ersten Brushes zu setzen. In den folgenden Tagen wurde dann aus einem “Dir-Zeig-ich’s”-Projekt doch mehr. Ich begann mir über Layout-Änderungen Gedanken zu machen und wollte der Map auch ein optisches Update geben.

Die ersten Änderungen, die ich einführte, waren die kleinen Kanäle. Mit deren Hilfe kann man den mittleren Teil der Map “unterlaufen” und so direkt vor dem Gegner den Kopf ins Feuer halten. Dies wird bestimmt für den ein oder anderen ausraster im TS sorgen!
Außerdem fügte ich die kleinen Treppen ein. Das hatte zweierlei Gründe. Zum einen gab es im alten cs_minimetzel auf der einen Seite ein paar Kisten die man erklettern konnte und es gab einen Weg auf den mittleren Container. Beides umging ich mit den Treppen. Ich bekam so ein bisschen mehr Höhenvariation in die Map und hatte gleichzeitig noch einen Weg auf den Container gefunden. Der zweiter Grund war der, dass ich die Map optischen ja auch verändern wollte. cs_minimetzel screenshot von de_portDer Zaun ist hierbei eine Homage an eine meiner lieblings Maps: de_port für Counter-Strike: Source (CS:S).

Die Map de_port war damals vieles: verbuggt, verhasst, verkannt. Und nur von den wenigsten geschätzt. Als diese noch aktiv in Wars gespielt wurde, hatten wir damals bis zu fünf Mann mit AWP stehen, aber genug in alten Zeiten geschwelgt.
Die Optik von de_port hat mich stark beeinflusst, als ich cs_minimetzel gebaut habe. Kleine Details wie die nochmals vergitterten Zäune, die Lagerhaus-Atmosphäre oder die runden Silos auf einer kleinen Erhöhung – vieles findet man so oder so ähnlich auch in de_port. Natürlich habe ich vieles ein bisschen umgestaltet, um es an die Optik von Counter-Strike: Global Offensive (CS:GO) anzupassen.

Die neue Engine

Da cs_minimetzel eigentlich meine erste richtig Map für Counter-Strike: Global Offensive (CS:GO) ist musste ich noch mit ein paar Sachen kämpfen. Zum Bespiel gibt es in der “neuen” Engine etwas, das es so vorher nicht gab: Schattenwurf der anhand des Alpha-Channels von Texturen berechnet wird. Was heißt das?!
Im Prinzip ist es etwas ziemlich banales. Teilweise durchsichtige Texturen werfen nun richtig Schatten, diese werden in Abhängigkeit ihrer “Ecken und Kanten” berechnet. im Klartext: Da wo Licht durchkommen müsste, kommt jetzt auch Licht durch.
Für viele Mapper ist das nichts neues, insbesondere für die, welche mit der Orangebox angefangen haben zu Mappen, also Team Fortress, Portal und Episode 2 und später. Für mich als “Source-Urgestein” (seit 2005 dabei :D) ist das zwar auch kein Neuland – aber oft habe ich das nicht gesehen.
Alle Vorteile, die Texture-Shadows mit sich bringen, haben aber auch Nachteile. Zum Beispiel kann man sich nicht immer darauf verlassen, dass diese auch richtig berechnet werden. Oder wie das Endergebnis aussehen wird. Deshalb muss man manchmal nachhelfen:

cs_minimetzel editorshot cs_minimetzel CS:GO
Hier musste ich zum Beispiel ein wenig nachhelfen, damit der Schatten richtig angezeigt wird. Mit der grünen “Blocklight”-Textur habe ich Fensterstreben nachgebaut um so auf dem Boden einen realistischen Schattenverlauf zu bekommen.

Es gibt noch weitere kleine “Problemchen” auf die ich gestoßen bin, zum Beispiel wurden mir keinerlei Displacements richtig angezeigt – displace..was?! – Displacements sind im Prinzip aufgebrochene Oberflächen, diese kann man dann in alle Richtungen verformen und auch Texturverläufe sind auf Displacements möglich. Ein gutes Beispiel ist hier die Map de_aztec.
Direkt fällt einem hierbei der Boden auf:
cs_minimetzel aztec displacements
Hier sieht man zum einen das der Boden verschiedene Höhen hat, also uneben ist. Außerdem sieht man, dass es hier Übergänge zwischen dem Stein und dem überwucherndem Moos gibt.
Beides wird über Displacements realisiert. Ein Problem bei Displacements ist allerdings, dass sie kein Licht blockieren, also keine Schatten werfen. “Ist doch Wurscht beim Boden!” – Wird hier der ein oder andere sagen, allerdings ist quasi die komplette Map de_aztec aus Displacements gebaut! Inklusive Wände! Wie man das umgeht habe ich bereits beim Thema transparente Texturen beschrieben. Man baut alles, was später einen Schatten werfen soll, einfach mit der Blocklight-Textur nach.

Von der Beta zur Final

Was ist mit cs_minimetzel im Verlauf der Entwicklung noch passiert? Und warum wurde das Setting geändert? Diese zwei Fragen und noch ein bisschen mehr versuche ich euch im folgenden Artikel zu beantworten.

Was soll ich nur machen?! Da wollte ich eigentlich nur schnell ein Remake einer kleinen Fun-Map von vor 10 Jahren machen – und was ist daraus geworden? Das hier:

cs_minimetzel Screenshot

Die Änderungen für’s Auge

Nach und nach gab es so einige Änderungen an der Map. Das erste was den meisten Leuten, denen ich die Map gezeigt habe, aufgefallen ist war die völlige Symmetrie in einer Achse (Dafuq?!) – also die Spiegelung der Map in der Mitte. Dies war für ein kleines Remake der schnellste und einfachste Weg eine ausgeglichene Map, die nach etwas aussieht, zu bekommen: Man baut eine Hälfte und spiegelt einfach alles. Dies fiel allerdings auch den meisten direkt auf. Hierbei muss man sagen, dass nicht etwa die Symmetrie im Layout störte! Nein – die beiden Schuppen als Starthäuser, das Drumherum mit den beiden Tanks und im allgemeinen war einfach alles doppelt vorhanden.

cs_minimetzel ScreenshotErster Schritt also für mich: Eines der beiden Starthäuser ändern. Also überlegte ich mir was ich an der Map ändern könnte. Ich sponn also meine kleine Geschichte weiter: Die CTs haben es geschafft eine Geisel aus den Fängen der Kidnapper zu befreien. Allerdings konnten sich letztere danach noch bis zu den Fahrzeugen des Sonderkommandos durschlagen. Was also bleibt ist ein verzweifelter Angriff der CTs – mit der Geisel im Schlepptau.

Puh! – soviel Story für eine kleine Funmap. Hier sieht man aber gut wie schnell man aus einer “Geschichte” eine Map ableiten kann. Die CTs müssen die Geisel ja irgendwo geretten haben, der Einfachheit halber mal aus einem Bürogebäude.

Und die Einsatzfahrzeuge werden sie wenn es möglich ist ja auch nicht einfach auf der Straße parken wo jeder daher gelaufene Geiselnehmer sie schon von Weitem sehen kann. Also muss Deckung dafür her. Die einfachste Lösung hierfür: Sie haben die Autos irgendwo untergestellt, wieso nicht also im Schuppen in den sich die Terroristen dann auch vorgekämpft haben? Nichts ist naheliegender als auf die CTs an ihrem verwundbarsten Punkt zu warten – ich denke hier werden mir die meisten Recht geben. Hat ein Counter-Terrorist mal die Geiseln mitgenommen, geht man am besten zur Rescue-Zone und wartet.

cs_minimetzel Screenshot cs_minimetzel Screenshot

Durch diese kleine Geschichte konnte ich der Map schonmal einiges an optischer Symmetrie nehmen. Durch die kleine Inspiration, die ich mir von Office geholt hatte, kam ich noch auf die Idee das komplette Setting über den Haufen zu werfen. Wenn man schon die Map ändert – dann richtig! Ein paar Anpassung an Licht und Nebel, ein paar Displacements als Schnee und ein paar Decals als Übergänge – schon erstrahlt die Map im winterlichen Glanze. Zugegeben: Es war dann doch einiges an Lichtspielereien und Nebeleinstellungen nötig, um das gewünschte Aussehen zu erhalten. Am Ende war es die Mühe allerdings Wert.

cs_minimetzel Screenshot

Abgesehen vom nicht ganz so verbrauchten Setting, hatte der Wechsel vom Sommer zur kalten Jahreszeit noch einen weiteren Bonus für mich. Die Map sieht gleich detailierter aus: kleine Schneeflocken fliegen langsam zu Boden, Nebenschwaden wandern vor den Spielern und kleine Häufchen Schnee liegen auf der Map verteilt – das gesamt Bild weiß zu überzeugen.

cs_minimetzel und das “Gameplay”

cs_minimetzel ScreenshotNeben den optischen Veränderungen auf cs_minimetzel gab es auch kleinere, das Spielgeschehen betreffende. Was vielen wahrscheinlich direkt auffällt sind die Leitern in der Mitte. Man kann jetzt auch ohne Sprungtalent auf den Container kommen. Dies gibt der Map eine weitere Ebene und neue “Angriffs-Vektoren”. Eine weitere Änderung, die vielen wahrscheinlich nicht direkt auffällt, sind die neuen Timings der Rolltore. Diese gehen zwar immer noch zufällig, dafür jetzt aber schneller, auf. Das heißt die Runden laufen schneller ab und man steht nicht mehr im Extremfall 5 Sekunden vor verschlossener Tür.

Gedanken zum Abschluss

Wie ihr vielleicht gemerkt habt ist einiges mehr an Arbeit und Gehirnschmalz in cs_minimetzel geflossen als ich zu Anfang gedacht hatte. Ich hoffe euch hat es Spaß gemacht meinen manchmal doch nicht so ganz einfachen Gedanken beim Erstellen der Map zu folgen. Wenn nicht hättet ihr ja nicht bis hier hin gelesen oder?! Außerdem fände ich es super, wenn ich dem einen oder anderen vielleicht auch ein bisschen Lust darauf gemacht habe selbst mal eine Map zu entwerfen – wer weiß, vielleicht gibt es schon bald hier auf inCounterStrike.de die ein oder andere Hilfe dazu! ;)

Auch wenn die Map vom Layout her ziemlich fertig und das meiste des Brushworks komplettiert ist – es gibt noch einiges zu tun. Sowohl eine Radarmap als auch ein Ladebildschirm stehen noch auf meiner Liste. Und das ist auch nicht grade wenig Arbeit! Es kann also sein, dass die Final noch ein wenig braucht bis sie in den Workshop kommt. Solange gibt es dort aber die aktuelle Beta.

Wer sich nur aufs Lesen beschränken will dem kann ich versichern, dass cs_minimetzel bestimmt nicht die letzte Map war und dies hier auch nicht der letzte Artikel zum Thema Mapping ist! Und wie immer: Hinterlasst mir doch eure Gedanken und euer Feedback zur Map im Forum. Würde mich sehr darüber freuen von euch zu hören!

Download: cs_minimetzel im Workshop