Das Zeichnen der Sprites an der richtigen Stelle ist nicht allzu schwierig. Die Projektionsformel ist:
screen_x = sprite_x - sprite_y
screen_y = (sprite_x + sprite_y)/2 + sprite_z
sprite_x und sprite_y werden Punktwerte festgelegt (oder Floating-Point, wenn Sie möchten). Normalerweise ist die Genauigkeit des Fixpunkts die Anzahl der Pixel auf einer Kachel. Wenn also Ihre Kachelgrafik 32x16 wäre (ein projiziertes 32x32 Quadrat), hätten Sie 5 Bits Genauigkeit, d. H. 1/32 einer Kachel.
Der wirklich schwierige Teil ist, die Sprites in eine Reihenfolge zu sortieren, die korrekt rendert. Wenn Sie OpenGL zum Zeichnen verwenden, können Sie einen Z-Puffer verwenden, um dies wirklich einfach zu machen. Mit GDI, DirectX usw. ist es wirklich schwierig. Transport Tycoon gibt die Sprites nicht in allen Fällen korrekt wieder. Der ursprüngliche Transport Tycoon hatte die schrecklichste Rendering-Engine, die Sie jemals gesehen haben. Es implementiert die drei Zoomstufen sind drei Instanziierungen eines massiven masm-Makros. TT wurde komplett in Assembler geschrieben. Ich weiß, weil ich es vor vielen Jahren auf den Mac portiert habe (und eine coole Version für das PS1-Entwicklungskit gemacht habe, obwohl es 6 MB benötigt).
P.S. Eine der kleinen Bungalowgrafiken im Spiel basierte auf dem Haus, in dem Chris Sawyer zu der Zeit lebte. Wir waren versucht, einen in der Einfahrt geparkten Ferrari für die Mac-Version hinzuzufügen, denn das war das Auto, das er mit den Lizenzgebühren gekauft hatte.