Jump to content

How QuickBASIC got Doomed: The story of IDKFA and the ATTE series


Recommended Posts

(I wrote the articles referencing below. I feel these titles deserve some recognition.)

 

Introduction:
Doom is everywhere around us. Through recent releases such as Doom Eternal to the classics of yesterday time. Doom is so omnipresent that virtually everything that runs a processor likely has a port of Doom on it. Very few games can say the same.

 

Then there are titles that rip Doom's assets and use them in a different engine. We have seen the UE4 remakes. We know about the various attempts in GameMaker, and Doom in Wolfenstein 3D? Well, why not?

 

This thread is about neither of those kinds of games. Join me as we venture back to the early 2000's, to Poland.

 

Aleksander Trojanowski, a hobbyist game designer, just released a clone of Arkanoid, done in QuickBASIC. QuickBASIC being a programming language and also an interpreter. This was released under his company name, AlexSoft. The project was the first warming up for Trojanowski to move beyond. Being a Doom fan, he knew where to head next. IDKFA, named after the Doom cheat code, was born.

 

IDKFA:

 

idkfa.gif

 

IDKFA was the first shooter Trojanowski undertook after his Arkanoid clone. The game is relatively short, including just 4 levels. As you can tell by the screenshot above, Enemies from Doom are ripped and used, along with the face and various other sprites and textures. Visual wise we are still firm in Wolfenstein 3D territory, the game not supporting floor and ceiling textures for the most part. IDKFA provided Aleksander with a blueprint on how to pull off a proper Doom clone, and he soon started work on a far more ambitious successor.

 

ATTE:

 

atte.gif

 

That successor came in the form of ATTE. Despite a similar theme of being a short game and using Doom assets, visually the game was massively improved, leading to a more visually consistent game. With ATTE, Trojanowski cemented himself as a hallmark name in the QuickBASIC world, providing visuals only seen previously by Enhanced Creation's RT Engine from Angelo Mottola and Petter Holmberg, creators of the DirectQB library. ATTE, like IDKFA prior, was a hallmark title for Trojanowski and the race was on to improve the technology ever further. Within a mere month, the sequel came to be.

 

ATTE2:

 

sr3_atte1.gif

 

ATTE2 by essence, combined everything learned with ATTE and IDKFA in one big game that is longer than its predecessors. The technology was refined and a level of granularity and detail was set that would only be topped off by the follow up and last entry in the ATTE series. The screenshot details how far Aleksander had come since IDKFA, a significant detour from where he left off. To put it simply, Trojanowski ''peaked'' with ATTE2. But Aleksander had one final card upon his sleeve.

 

ATTE3:

 

atte3_final.gif

With ATTE3, Trojanowski radically changed his foundation. Basing his rips now off of Hexen and other titles like Witchaven, ATTE3 now only looks different, it also plays different than any other title in the series (or IDKFA). Gone are the sci-fi techbases, and in comes a fantasy/Egyptian like theme where melee combat is the rule of the roost. ATTE3 showed a new layer of fidelity that was unheard off in the QuickBASIC scene. Sadly for us, it also marked the end of Trojanowski's meddling with games. ATTE3 remained in an alpha state, and Trojanowski was reported as being ''fed up'' with QuickBASIC.

Aleksander did announce ATTE4, now using the more advanced DarkBASIC programming language, but like ATTE3, this was never finished, let alone started. As such, ATTE3 remains an unfinished ordeal, that highlights what one can do in QuickBASIC with enough dedication, and a little help from your friends in the form of advanced assembly libraries, called DirectQB and Dash.

 

The QuickBASIC limitation:

Each of these games have their own strengths and weaknesses. The strengths are obvious:

  • All the games used true 3D polygonal engines, meaning that most of the issues you would encounter with the Doom engine would not exist, due to working in 3D space. They were also unique to each game.
  • With each game Trojanowski quickly improved on his coding skills and it showed. Within the span of a year, by the time ATTE3 got released, tech wise the engine supported: Orthogonal walls with different height, floor and ceiling, Rotation, perspective transformation, back-face culling, Z–sorting, Perspective correct texture mapping with 128x128 texture size, Dynamic and scrollable textures, Scrolling skies, Fog (In ATTE2), Light sourcing (in ATTE), Dynamic non–interactive and interactive sprites handling, Flat shading and Transparent textures, some of which was not even featured in Vanilla Doom.
  • IDKFA and ATTE3 had their source code released for the engine. ATTE3 also includes a level editor, so one could technically make new maps for the game.
     

The weaknesses, were obvious too:

  • Performance. Doing anything in QuickBASIC is significantly slower than just pure assembly. In order to speed up rendering, external libraries are used as modules called QuickLibraries. IDKFA and the ATTE series rely on DirectQB and Dash's assembly routines to speed up the rendering process. Even then, the resolution remains fixed at 320x200 and VGA with 256 colors, same as the original Doom.
  • System requirements. Even with these routines the games have troubles reaching more than 20 FPS. The requirements for these titles are also unlike most DOS games, with the exceptions of things like An Elder Scrolls Legend: Battlespire or Lands Of Lore II.  Most of these titles at minimum require a VGA video adapter, Pentium 166 Mhz, 470KB regular memory and 1.5 MB EMS (Expanded memory). Often recommended is a Pentium at a whopping (!) 233 Mhz.
  • Due to the titles relying on 32 bit libraries, most of these titles have troubles running in DOSBox. Either requiring configuring, compiling of data files or installing VDMSound, most of these titles do not run perfectly as-is.


Conclusion:

IDKFA and the ATTE games were done in a time when most commercial games already were long past their DOS lineage and supported 3D accelerated graphics. By comparison, a title like ATTE2 looks ancient. But these were created with a hobbyist approach and with a ''Because we can'' mindset. The significant performance deficit brought forward by QuickBASIC's inherent nature mean't that part of the fun was on extracting as much performance as one could in a limited development environment.

Seen in that light, the ATTE series of games and IDKFA deliver on their goals: Providing DOOM like gameplay at sufficient speed, with original level design and a increasingly more impressive game engine with each title. Because of their troubles with current OSes, and, back then, the rise of Windows XP (Which effectively killed off a proper DOS enviroment) mean't that these titles were not made with the future in mind, and as such, became mostly unknown to all but the people of the QuickBASIC scene.

I hope you all enjoyed this little article (Which isn't unlike the ones i am currently working on!) and that it gives you something intresting to read in this time of solitude.

More reading/Links:

  • The ATTE series, on DoomWiki. Includes download links for all the games.
  • A review of ATTE2.
  • A look back at ATTE3. Gives far more details about the background of the game plus how the level editor works.
  • A list of libraries used in the ATTE series and IDKFA. Look for Dash and DirectQB. Also a great general site for all things QuickBASIC.
Edited by Redneckerz

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...