Der Delphi-Quellcode ist in Deutsch kommentiert.
schematic drive - Programming tutorial of a simple driving simulator. Copyright by Ralf van den Heuvel 2006
Ziel des Projektes ist die schematische Umsetzung einer kleinen Fahrsimulation ohne auf Design und äusserts schnelle Grafikdarstellung Wert zu legen. Diese Pseudo-Simulation erhebt keinen Anspruch auf die Umsetzung eines 100% realen Fahrverhaltens, enthält aber vereinfachte Ansätze der Fahr-Beeinflussung durch physikalische Größen. Das Programm bedient sich der integrierten GDI-Funktionen und nicht etwa OpenGl oder DirectX.
Die Ausführung der EXE in den PRE-Versionen benötigt unter Umständen noch zusätzlich eine DLL Datei. Es erscheint eine entsprechende Meldung. Die DLL dann bitte über eine Suchmaschine herunterladen und im Verzeichnis der EXE speichern oder im System registrieren.


schematic drive last version (Download StandAlone Version)

ToDo (Projekt eingestellt) Bemerkungen
*etwas Sound
*Kollision mit anderen Akteuren
*AI Gegner / Auto Overtake
Schematic Drive sieht langsam wie ein Spiel aus.
Programm startet im DEMO Mode mit wechselnder Ansicht.
Taste "Enter" startet das Fahren und beendet es auch wieder.



Pre Version 1 (Download hier)

Features Bemerkungen
+Timing
+Rotation
+Kollisionsprüfung
Am Anfang gibt es einen dreieckigen Akteur und drei Kollisionsquarder. Gesteuert und beschleunigt wird mit den Pfeiltasten. ESC bricht das Programm ab.
Die Funktionstasten werden in den späteren Versionen unterstützt und halten auf dem Bildschirm erläuterte Optionen bereit.





Pre Version 2 (Download hier)

Features Bemerkungen
+Switch zwischen den Akteuren
Die Akteure sind im Array definiert und der Spieler kann zwischen den Akteuren per Tastendruck umschalten.





Pre Version 4 (Download hier)

Features Bemerkungen
+Statische Objekte können rotiert in die Welt gesetzt werden
+Statische- und dynamische Objekte in verschiedenen Farben
+Die Welt ist nun in 10 x 10 Quadranten unterteilt.
Das Spiel findet nur im Quadranten 51 statt - noch kein Wechsel zwischen Quadranten.
Jeder Quadrant ist 500 Meter x 500 Meter gross.





Pre Version 6 (Download hier)

Features Bemerkungen
+Grenzüberschreitung Quadranten möglich
+3d Darstellung
+Unterstützung verschiedener Perspektiven und Modi
+Statische- und dyn. Spielobjekte nun dreidimensional
Es hat sich viel getan... Beim Start befindet sich das Programm
im 'Ansicht-Auto-Wechsel'-Modus und schaltet alle paar Sekunden
in eine andere Ansicht. Dieser Modus kann durch Druck auf F4
deaktiviert werden.






Pre Version 7 (Download hier)

Features Bemerkungen
+brauchbares Datenhandling
+Auslagerung Objektdaten in separate Unit
+Quellcode übersichtlicher
Die programminterne Datenorganisation hat einen wichtigen Schritt vollzogen. Alle Objekte sind nun 'Array-Technisch besser' angeordnet. Es wird primär mit Zeigern gearbeitet, die auf die Objekte zeigen.





Pre Version 8 (Download hier)

Features Bemerkungen
+Strassen-Objekte
+Prüfung, ob Akteur auf Strasse oder nicht
Nun gibt es einen rundimentären Speedway. Wird dieser verlassen, erscheint ein kleiner Hinweis!





Pre Version 9 (Download hier)

Features Bemerkungen
+Rundenzählung
+unsichtbare CheckPoints Kontaktflächen
+diverse Display-Arten mit F1 schaltbar
+Darstellung '2D Check Line Modus' mit F5
Es gibt vier CheckPoints auf der runden Strecke. Sind alle vier in der richtigen Richtung (=Startrichtung) abgefahren, wird der Rundenzähler erhöht. Anzeige Check-Line-Modus, der nur die auf Kollision und Kontakt zu prüfenden Objekte und Linien darstellt. Der Modus kann mit F5 ein- und ausgeschaltet werden.





Pre Version 10 (Download hier)

Features Bemerkungen
+kleine Physik Engine
+Manipulation durch 'MyFunPhysik'
+Imaginäre Radstellung und Karosseriestellung getrennt
+Ausbrechen des Fahrzeugs in Kurven
+Unterstützung Maussteuerung
Die Physik-Engine errechnet momentan : Kruvenradius, Zentrifugalkraft, Rutschgrenze, Kippgrenze, kinetische Energie, Roll+Luft-Widerstand
In der Procedure 'MyfunPhysik' wird u.a. das unrealistische Ausbrechen des Fahrzeugs geregelt.
Die Maus darf nun auch das Fahrzeug steuern. Im Mausbetrieb sollte per Taste 'W' und 'S' beschleunigt und gebremst werden.
Beim Lenken wird der Radwinkel (=Fahrtrichtung) verändert und die Karosserie zieht nach. Beim Erreichen der Kippgeschwindigkeit in Kurven (wird in dem Projekt als Schleudergeschwindigkeit interpretiert), entspricht die Lenkrichtung nicht mehr der Fahrtrichtung. Die gewünschte Fahrtrichtung wird erst nach dem Verlassen der Schleudergeschwindigkeits-Zone wieder angenommen. Das Ausbrechen kommt besser in der Vogelperspektive beim längeren Lenken zur Geltung.





Pre Version 11 (Download hier)

Features Bemerkungen
+Angleichung Winkel Rad zu Karosserie nach Schleuderabbau
+Damagebalken verwalten
+Bei Kollision abprallen und Anpassung Damagebalken - abhängig von kinetischer Energie
Wagen prallt genau entgegengesetzt ab. In der nächsten Version wird dabei auch der Winkel entsprechend geändert. Das Schleudern wurde noch etwas 'feingeschliffen'.





Pre Version 12 (Download hier)

Features Bemerkungen
+Function getDelta zur Winkeldifferenz-Bestimmung
+Procedure Kollision erweitert - je nach Winkel anderes Abprallen
+Wagen driftet stärker - auch Berücksichtigung, ob auf Strasse oder nicht
+Korrektur Beginn des Driftens
+Definition Ideallinie in der Unit "DatenVektor"
+Def. interne Objekte 7 und 8 für Ideallinie geradeaus und Kurvenideallinie
+Beschleuingen BOD und Spurkorrektur BOD in Procedure BewegungBOD - dort findet auch die imaginäre Zeichnung der Ideallinie statt
Es hat sich einiges seit der letzten Version getan. Der andere Akteur hat nun ein wenig künstliche Intelligenz erfahren und fährt selbstständig der imaginären Ideallinie nach.