www.wikidata.de-de.nina.az
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst QuakeC ist eine 1996 von John Carmack von id Software entwickelte Skriptsprache Sie wurde entwickelt um Teile des Computerspiels Quake zu schreiben und findet innerhalb der Quake Serie sowie Spielen auf Basis der Quake Engine Verwendung Ein Programmierer kann mit QuakeC Quake individualisieren zum Beispiel durch das Hinzufugen von Waffen Andern der Spiellogik und physik oder der Beschreibung neuer Szenarien Es kann genutzt werden um viele Aspekte des Spiels wie Teile der kunstlichen Intelligenz Auslosung von Ereignissen oder Aufbau der Spielkarten zu verandern Inhaltsverzeichnis 1 Ubersicht 2 Einschrankungen 3 Modifizierte Compiler und Syntax 4 WeblinksUbersicht BearbeitenDer QuakeC Quellcode fur die originale Quake Spiellogik von id Software wurde 1996 veroffentlicht und wurde als Basis fur Mods genutzt QuakeC Quellcode wird mit einem Programm namens qcc in Bytecode kompiliert und in einer Datei mit Namen progs dat gespeichert Der Programmierer eines Quake Mods kann dann seine modifizierte progs dat veroffentlichen ohne den Quellcode veroffentlichen zu mussen Die meisten Quake Mods wurden auf diese Weise veroffentlicht QuakeC erhohte die Erweiterbarkeit von Quake und ermoglichte Mod Entwicklern eine grossere Flexibilitat als dies bei den vorherigen Titeln von id Software wie Doom und Wolfenstein 3D moglich war Dadurch erlangte Quake eine grosse Modding Gemeinschaft Einschrankungen BearbeitenDie Syntax von QuakeC basiert wie der Name bereits vermuten lasst auf derer der Programmiersprache C ist allerdings vergleichsweise stark limitiert QuakeC erlaubt zum Beispiel nicht die Definition neuer Datentypen durch Strukturen oder Objekte Ausserdem leidet QuakeC unter der Einschrankung dass viele built in Funktionen Funktionen die einen Prototyp in QuakeC haben aber in der in C geschriebenen Game Engine definiert werden die Text zuruckgeben diesen in einem temporaren Puffer speichern der nur eine Zeichenkette speichern kann Im Klartext heisst das dass ein Konstrukt wie EineFunktion ftos Zahl1 ftos Zahl2 nicht funktioniert da der zweite Aufruf der ftos Funktion welche eine Gleitkommazahl in einen String umwandelt die Zeichenkette die vom ersten Aufruf gespeichert wird uberschreibt bevor EineFunktion diese verarbeiten kann Die Mangelliste lasst sich mit dem kompletten Fehlen von Funktionen die das Bearbeiten von Zeichenketten oder Zugriff auf das Dateisystem zulassen fortfuhren welche das Originalspiel einfach nicht benotigte Auch wenn andere Programmierer die Funktionen hatten brauchen konnen wurden Dinge wie Dateimanipulation nicht eingebaut um Sicherheitsprobleme beim Herunterladen von fremden progs dat Dateien zu vermeiden Die Spiellogik der meisten Computerspiele ist in purem C geschrieben und wird in die ausfuhrbare Datei des Spiels kompiliert was schneller ist als eine Skriptlosung Dies macht es jedoch schwieriger fur die Spieler die Spiele zu modden eine Mod zu erstellen Modifizierte Compiler und Syntax BearbeitenWie es bei id Software Brauch ist wurde der Quellcode von qcc des QuakeC Compilers zusammen mit dem QuakeC Quellcode 1996 veroffentlicht Schnell erschienen modifizierte Versionen wie Jonathan Roys fastqcc und Ryan Smiths FrikQCC Sie fugten Funktionalitat Optimierungen und Verbesserungen der Geschwindigkeit des Compilers hinzu Im Jahre 1999 als id Software den Quellcode der Game Engine von Quake unter der GPL veroffentlichte untersuchte die Mod Gemeinde die Funktionsweise der virtuellen Maschine der Engine und veroffentlichte neue QuakeC Compiler wie J P Grossmans qccx und eine neue Version von FrikQCC Diese Compiler machten Gebrauch von neuen Fahigkeiten in einer ruckwarts kompatiblen Weise sodass die virtuelle Maschine der unveranderten Engine die kompilierten Skripte nach wie vor interpretieren konnte Neue Fahigkeiten waren unter anderem die Unterstutzung fur Arrays Zeigern Integer Variablen for Schleifen und Zeichenketten Manipulation Mit der Veroffentlichung des Quellcodes der Engine konnten neue Funktionen eingebaut werden die Mod Entwickler lange vermisst hatten Dazu gehorten die bereits erwahnten Funktionen fur Zeichenketten Manipulation Zugriff auf das Dateisystem vergrosserte Zeichenketten Buffer mehr Mathematik Funktionen und so weiter Allerdings verloren Programmierer die die neuen Fahigkeiten nutzten die Kompatibilitat zu der unveranderten Quake Engine Weblinks BearbeitenInoffizielle QuakeC Spezifikationen englisch Abgerufen von https de wikipedia org w index php title QuakeC amp oldid 237388368