Beben C

QuakeC ist eine interpretierte Sprache entwickelt 1996 von John Carmack von id Software, um Teile des Videospiel-Bebens zu programmieren. Mit QuakeC ist ein Programmierer im Stande, Beben in großen Ausmaßen kundengerecht anzufertigen, indem er Waffen hinzufügt, Spiellogik und Physik ändernd, und komplizierte Drehbücher programmierend. Es kann verwendet werden, um viele Aspekte des Spiels selbst, wie Teile des AI, der Abzüge oder der Änderungen im Niveau zu kontrollieren. Der Beben-Motor war der einzige Spielmotor, um QuakeC zu verwenden. Folgende Motoren haben DLL Spielmodule für die Anpassung verwendet, die in C und C ++ von idtech 4 darauf geschrieben ist.

Übersicht

Die Quelle von QuakeC zur ursprünglichen id Softwarebeben-Spiellogik wurde 1996 veröffentlicht und als die Basis für Modifizierungen verwendet mögen gewinnen die Fahne und andere. Quellcode von QuakeC wird mit genanntem qcc eines Werkzeugs in einen bytecode kompiliert, der in einer genannten Datei behalten ist. Die Programmierer von Beben-Modifizierungen konnten dann ihren bytecode veröffentlichen, ohne ihren Quellcode zu offenbaren. Der grösste Teil des Bebens mods wurde dieser Weg veröffentlicht.

QuakeC hat dem Beben-Motor erlaubt, die Richtung des Ego-Shooter-Genres zu beherrschen. Dank der Idee von Carmack, Videospiel-Leben zu erweitern, indem sie unbegrenzte Ausbaufähigkeit hinzufügt (hat Dehnbarkeit bereits eine große Rolle im Schicksal gespielt), enorm Internet Gemeinschaft von gamers und Programmierer gleich entstanden, und viele moderne Mehrfachabspiellaufwerk-Spiele sind in einer Form ausziehbar.

Beschränkungen

Die Syntax von QuakeC basiert auf dieser der C Programmiersprache, seinen Namen erklärend, aber es unterstützt die Durchführung von neuen Typen, Strukturen, Reihe oder jeder Art nicht, anders Verweise anzubringen, als der "Entitäts"-Typ (der immer eine Verweisung ist). QuakeC leidet auch unter der Tatsache, dass viele eingebaute Funktionen (fungiert prototyped im Code von QuakeC, aber wirklich definiert innerhalb des Spielmotors und geschrieben in C) Rückschnuren in einem vorläufigen Schnur-Puffer, der nur eine Schnur zu jeder vorgegebenen Zeit halten kann. Mit anderen Worten, eine Konstruktion wie

:

wird scheitern, weil der zweite Anruf ftos (der einen Schwimmpunkt-Wert zu einer Schnur umwandelt) die durch den ersten Anruf zurückgegebene Schnur überschreibt, bevor SomeFunction etwas damit tun kann. QuakeC enthält keine Schnur-Berühren-Funktionen oder Dateiberühren-Funktionen, die einfach durch das ursprüngliche Spiel nicht erforderlich waren.

Die meisten Videospiele hatten zurzeit ihre Spiellogik, die in der Ebene C/C ++ geschrieben ist, und haben ins rechtskräftige kompiliert, das schneller ist. Jedoch macht das es härter für die Gemeinschaft, mods zu schaffen, und es macht den Prozess, das Spiel zu einer anderen Plattform (wie GNU/Linux) kostspieliger zu tragen.

Trotz seiner Vorteile war das Konzept, die Spiellogik auf einer getrennten scripting Sprache durchzuführen und einem Dolmetscher dafür zu schreiben, bald fallen gelassen (sogar durch John Carmack, der dieses Konzept durchgeführt hatte) wegen der gesamten Unbiegsamkeit einer interpretierten Sprache, der immer komplizierteren Spiellogik und der Tatsache, dass die Spiellogik in eine geborene Dynamische Verbindungsbibliothek paketiert werden konnte, deren Quellcode zur mod Gemeinschaft veröffentlicht werden konnte.

Modifizierte Bearbeiter und Spracherweiterungen

Wie ihre Gewohnheit ist, um mit fast allem zu tun, was sie machen, id Software hat die Quelle von qcc, ihrem Bearbeiter von QuakeC zusammen mit dem ursprünglichen Code von QuakeC 1996 befreit. Modifizierte Versionen sind bald, einschließlich des fastqcc von Jonathan Roy und Ryans "FrikaC" Schmied FrikQCC aufgekommen. Diese haben Funktionalität, Optimierungen und Kompilieren-Geschwindigkeitszunahmen hinzugefügt.

1999, als id Software den Code vom Motor des Bebens unter dem GPL veröffentlicht hat, wurde die Tätigkeit des bytecode Dolmetschers untersucht, und neue Bearbeiter von QuakeC, wurden wie der qccx von J.P. Grossman und eine neue Version von FrikQCC veröffentlicht. Diese Bearbeiter haben kürzlich entdeckte Eigenschaften auf eine umgekehrt vereinbare Weise ausgenutzt, so dass der bytecode noch durch unmodifizierte Beben-Motoren richtig interpretiert werden konnte. Neue Eigenschaften schließen Reihe, Zeigestöcke, ganze Zahlen für Schleifen ein und spannen Manipulation.

Mit dem Beben-Motorquellcode, der jetzt fähig ist, geändert zu werden, wurden weitere Eigenschaften zu QuakeC in der Form von neuen eingebauten Funktionen hinzugefügt. Eigenschaften haben sich lange nach durch Codierer von QuakeC gesehnt schließlich hat Verwirklichung erreicht, weil QuakeC jetzt Datei- und Schnur-Berühren-Funktionen, vergrößerte Schnur-Puffer, mehr Mathefunktionen und so weiter hatte. Jedoch haben dieser Änderungen ausnutzende Programmierer umgekehrt Vereinbarkeit mit dem unmodifizierten Beben-Motor verloren.

Siehe auch

Außenverbindungen


Source is a modification of the Wikipedia article QuakeC, licensed under CC-BY-SA. Full list of contributors here.
Qt (Fachwerk) / Viererkabelstädte
Impressum & Datenschutz