Reality: The Lost Amiga 3D Engine

March 30, 2025

 

Logo

What Is Reality?

Reality was the name of our Wolfenstein 3D-style game engine, which became an umbrella term for anything related to that pursuit. The project aimed to create a fast and efficient first-person engine on a near-stock Amiga 1200 (020+FastRAM) in the mid-1990s. This archive contains the last known remaining compiled executables from my various attempts to achieve reasonable performance on the platform.

Originally, the Reality project was most active between 1994 and 1995. Apart from a few screenshots shared with close friends, it was never publicly released. The executables included here represent alpha-stage software—functional but far from stable. While they take over the system in as OS-friendly a manner as I knew at the time, modern systems may not handle them well.



About the Demos

Reality.exe - Ray Casting Experiment

This was the initial test of the engine, developed sometime in late 1993 or early 1994. The first major challenge was the chunky-to-planar (C2P) problem, where my initial attempts using unrolled bit sets failed spectacularly. While this approach might have worked for particle effects, it was a disaster for general-purpose rendering. However, after several iterations, I moved on to a bit-parallel rotation solution, which significantly improved performance.

This is the only version of Reality that employs a true ray-casting method. The scene is constructed by casting rays outward from the camera’s field of view, step by step, checking for wall collisions. Each map pixel represents a vertical wall strip, likely stored as 8-bit data, allowing for 256 unique wall textures.

Color depth was either 16 or 64 colors, which struck a balance between visual quality and conversion speed. This version laid the foundation for later advancements.


Map.exe - 64-Color 2D Polygon Walls

As development progressed, I re-evaluated the engine’s structure and opted for a different approach. Instead of a traditional grid-based map, I structured levels as a grid of evenly spaced vertices, where walls were formed by linking vertex pairs. This allowed for non-orthogonal walls and greater flexibility in map design.

Rendering involved rotating and projecting the sector vertices, which determined floor and ceiling heights. The scene was then processed polygon-by-polygon. For each wall, I interpolated across its top and bottom, computing its Z-depth and texture U-values. Instead of rendering strips immediately, the engine stored them in a Z-buffer, ensuring proper visibility sorting.

A unique optimization was that textures were stored rotated in memory, enabling rapid texel fetching using a simple 8-bit V-offset.


Project Reality - 256-Color Rendering & 3D Objects

By early 1994, the gaming world was in the grip of DOOM fever, and we ambitiously aimed to push Reality further. As Commodore's decline loomed, we set our sights on creating something akin to Blake Stone, but with even more complex environments and polygonal objects.

This demo showcases the most advanced features we implemented:

  • 256-color rendering
  • Textured walls with transparency support
  • Depth-based lighting effects
  • Early support for floors & ceilings
  • Multiple rendering modes
  • Initial 3D polygon rendering
  • For polygonal objects, we experimented with a method where triangles were clipped against the depth buffer. The goal was to calculate the screen-space width of an object, scan across the depth buffer, and determine the visible clipping edges. This technique would have allowed objects to be properly occluded by walls while enabling partial visibility. While not perfect, it was an innovative approach at the time.

    Unfortunately, time and talent ran out. By the time we reached this stage, the Amiga community had already embraced Fears, Gloom, Breathless, and Alien Breed 3D. The dream of completing Reality faded, but looking back, I still wish I had been able to bring my full vision to life on screen.


    System Requirements

  • System: Amiga 1200 / Amiga 4000
  • Processor: 68020 or higher
  • Video: AGA chipset
  • RAM: 2MB + 2MB FastRAM
  • Sound: Not required

  • Final Thoughts

    Reality remains a fascinating relic of my early game development journey. While it never reached a finished state, it reflects the passion and creativity that fueled many indie Amiga developers during the 1990s. This archive preserves those efforts—flawed but ambitious, a glimpse into what could have been.

    Links:

  • Download Reality 3D Tech Demos(Amiga)

  • Thesius XII: Developing a Classic Amiga Shoot 'Em Up

    March 29, 2025

     

    Thesius XII: Developing a Classic Amiga Shoot 'Em Up

    Back in the golden age of the Amiga, I developed Thesius XII, a fast-paced shoot 'em up inspired by the arcade classics of the time. The game was my attempt at pushing the limits of the Amiga hardware while delivering an engaging and action-packed experience. Sadly, the game was never fully completed, but in 2000/2001, I released an 'as is' version featuring three levels. Despite missing final polish, it remains a nostalgic favorite for many retro gaming enthusiasts.



    Inspiration and Design

    The concept for Thesius XII was heavily influenced by IREM’s R-Type and Tecmo’s SilkWorm, two of my personal favorites. I wanted to create a game that blended intense shooting mechanics with strategic enemy patterns, requiring both reflexes and tactical movement. The art style and design leaned into the aesthetic of futuristic space battles, filled with vibrant explosions, detailed sprite work, and smooth scrolling backgrounds.

    Technical Development and Features

    The game was designed for a stock Amiga 500 running a 7MHz 68000 CPU, 512K memory, and the original chipset. Developing on this hardware came with its own set of challenges. Memory constraints, CPU limitations, and optimizing the rendering pipeline were crucial to maintaining smooth gameplay. One of the biggest hurdles was handling a large number of on-screen enemies without bogging down performance. To solve this, I implemented efficient sprite management and custom routines for object culling and collision detection.

    Some of the standout features of Thesius XII included:

  • Three Levels, Over 35 Screens Long: Each level featured unique environments and enemy designs.
  • Two Major Guardians Per Level: Massive boss battles tested players’ reflexes and strategic thinking.
  • Pre-Mission Briefing Terminals: Before each level, a terminal screen provided mission details, utilizing dynamic palette and resolution splitting to create an immersive effect.
  • Dynamic Copper Display System: This allowed up to 384 colors on screen, even on OCS/ECS machines.
  • Advanced Memory Management: Using a solid hunk file system and smart RAM disk buffering, the game optimized load times and performance.
  • Parallax Scrolling & Hardware Sprite Multiplexing: With up to 13 layers of parallax, the game maintained smooth visuals and animation.
  • Auto CPU Detection & Optimization: Gameplay remained consistent across different Amiga hardware from A500 to A4000.
  • High Score Entry Screen: Featuring one of my favorite pieces of music in the game, this screen brought a satisfying end to each play session.
  • Development Challenges

    One of the trickiest aspects of development was optimizing graphical effects for smooth performance. The intro, while simple by today’s standards, was particularly challenging to run efficiently on a stock Amiga 500. The Terminal Screen in Level 1 was another technical feat, combining both low and high resolution modes within the same screen, with palette splits on every scanline and dynamic text rendering.

    Another personal highlight was the homing missile system, which I spent a great deal of time perfecting. Even now, looking back, I think it worked out quite well.

    Release and Reception

    Prior to September 16, 2003, a multi-level version had never been released, as the game remained incomplete. However, we felt it was a shame not to share what we had, even though it lacked the final two levels and additional polish. Thesius XII v95 was first reviewed in Amiga Format (August 1995) in their PD section, and it was featured again in a follow-up issue, highlighting promising Amiga developers.

    Legacy and Follow-Up

    Years after Thesius XII, I revisited the concept with Thesius XIII, a tech demo for PlayBASIC. While it wasn't a full game, it showcased advanced techniques for handling sprites, movement, and rendering in a modern game development environment.

    Even though the full vision of Thesius XII was never realized, the game remains one of my favorite projects from the Amiga days. It was a challenging but rewarding experience that shaped my approach to game development. For those interested, an emulated version of Thesius XII is available online, best played using the latest version of WinUAE.

    Would you like to see a modern reimagining of Thesius XII? Let me know your thoughts!

    Links:

  • Thesius XII - Amiga Demos
  • Download Thesius XII (Amiga)



  • Twarlex: The Musician Behind the Code

    March 02, 2025

     

    Twarlex: The Musician Behind the Code

    While Twarlex is well known for his contributions to PlayBASIC, particularly the IDE, he is also an accomplished musician. Blending elements of pop, rock, and electronic music, Twarlex has created a unique sound that resonates with fans across genres.

    Early Musical Journey

    Twarlex’s passion for music runs deep, and his journey as a musician began alongside his work in programming. His early influences range from classic rock to modern electronic and experimental sounds, shaping his signature style that combines melodic hooks, deep storytelling, and intricate production.

    Notable Releases

    In 2017, Twarlex released his debut album, Alien Pirate, which introduced his eclectic sound to a wider audience. This was followed by Beware of the Leopard in 2019, further refining his fusion of electronic and organic instrumentation. Some of his notable tracks include:

  • “Dance Around the Fire” – A high-energy track that fuses synthwave elements with rock influences.
  • “Damaged Dream Mended” – A reflective piece exploring themes of resilience and transformation.
  • “F.U.B.A.R.” (feat. Nekro G) – A collaboration that blends rap and electronic production into a powerful anthem.
  • Collaborations and Influence

    Twarlex has worked with several artists, expanding his sound and reach. Collaborations include:

  • Kelly Bell on “The More You Live - Let Go”, a reimagining of a classic hit.
  • Sara Savic on “Time”, an emotive electronic ballad.
  • His music explores a range of emotions and themes, from futuristic storytelling to deeply personal reflections.

    A True Creative Force

    Whether through coding or composing, Twarlex brings innovation, passion, and creativity to everything he does. His ability to balance both programming and music is a testament to his artistic versatility and technical skill.

    For more on his music, check out his official website: twarl.xyz


    Twarlex isn’t just a coder or a musician—he’s an artist who brings worlds to life, whether in sound or software.





    Beware Of The Leopard - https://twarl.xyz/


    Twarlex and the Evolution of the PlayBASIC IDE

    When we set out to create PlayBASIC, one of our biggest priorities was making it accessible to new programmers. A powerful yet simple development environment was crucial, and that’s where Twarlex played a pivotal role.

    A Lean and Mean IDE

    In the early days of PlayBASIC’s development (circa 2003/04), Twarlex took over the development of the PlayBASIC IDE. His goal was clear—build a lean, efficient, and easy-to-use programming environment that would make PlayBASIC approachable for beginners. And that’s exactly what he delivered.

    Unlike bloated development environments of the time, the PlayBASIC IDE focused on providing a streamlined interface with essential tools for writing, testing, and debugging PlayBASIC programs. This approach made it easy for newcomers to dive into coding without getting overwhelmed.

    Expanding with Plugins

    Over the years, the IDE evolved alongside PlayBASIC. We built numerous plugins to extend its capabilities, enhancing features like code editing, debugging, and project management. These tools made PlayBASIC a more flexible and robust platform while keeping its core philosophy intact—simplicity and ease of use.

    An Integral Part of PlayBASIC’s Legacy

    Twarlex’s work on the IDE was more than just a technical contribution; it helped define how new programmers interacted with PlayBASIC. His dedication ensured that learning to code in PlayBASIC was an intuitive and enjoyable experience, solidifying its place as a beginner-friendly language for game development.

    His contributions remain an essential part of PlayBASIC’s history, and we’re incredibly grateful for his work in shaping the IDE that so many programmers have used over the years.


    If you’ve ever written a program in PlayBASIC, chances are you’ve benefited from Twarlex’s efforts. Let’s take a moment to appreciate the impact he had on making PlayBASIC what it is today!



    Twarlex- Way Too Soon (official lyric video)