ZX Format #01: Interview with Programmer Vyacheslav Mednonogov

Story of Slava Mednonogov, the author of "UFO. Enemy Unknown." about his activities as a programmer. I assembled my first "Spectrum-48" back in 1990, when the trend for them was just starting. However, it was unfortunate and burned out within a week and was long forgotten. If my uncle hadn't restored it six months later, I don't think you would know who Slava Mednonogov is.

I first encountered a computer in the 9th grade. It was an "Iskra-1256" with 4 kilobytes of RAM, no graphics, and a built-in Fortran interpreter. At that time, I tried to write my first small games. Funny enough, a pirate game was "Battleship" with a 4*4 field size. Then there were other computers: M-6000, SM-4, SM-1420, DVK, AGAT, etc. Besides learning to program and mastering various peripherals (printers, digitizers, graphic terminals), I continued writing games: "21," "Maze," "Star Wars," "Business" - the latter was something like "Monopoly," with the possibility of playing from multiple terminals. Their names won't mean anything to anyone except close acquaintances, and the level of implementation today doesn't hold up to any criticism, and even ten-year-olds could replicate them.

In my second year at the institute, after the army, I first encountered the IBM PC, or rather, the EC-1840. I can't say I was thrilled with this machine. Despite the large amount of memory and the ability to work with graphics, "eeks" didn't have hard drives, often crashed and broke down, and most importantly - there were few of them. I don't think you enjoyed having 3-4 hours of machine time per week. Perhaps the main reason I switched to "Spectrum" was precisely this.

So, having a working "Spectrum" in hand, I, like many of you, played for a long time. "Pacman," "River Raid," "Savage" - I went through all this. In the summer of 1991, friends brought "Laser Basic," which amazed my imagination - I hadn't seen anything like it on other machines.

"Laser Basic" is not suitable for creating serious arcade and maze games, however, it is an ideal tool for creating logical games. I managed to figure it out in a week. A month and a half later, the program "Durak" appeared. Don't think I'm a super programmer; I just had quite a bit of experience, and most importantly, I had already tried to implement this game twice (on SM-4 and EC-1840), so I had drafts of the text, although not in Basic. The debugging of the game was quite interesting: I entered several lines that displayed the computer's cards and watched how it acted in different cases. If I didn't like something, I immediately changed the computer's game strategy procedure. After writing "Durak," I showed it to my friends, and then forgot about it for a long time - I didn't like the game myself, as it seemed too slow and could only think one or two moves ahead; moreover, I got "Gens-4." "Durak" hit the market in March 1992 along with the game "Tankodrome."

During the six months that passed between their writing, I learned assembler quite decently (I had already dealt with the KR580 and KR1801 assemblers), so from a programmer's point of view, "Tankodrome" is, in my opinion, made quite well, but is not very convenient to control. The rights to this game were acquired by the company "Piter" (now a publishing house) for 1,000 rubles, on the condition that their advertisement would be included in "Tankodrome," and the electronic clock at the end of the game would be removed. I inserted the advertisement, but the clock was never removed.

Around the same time, my classmate, Viktor Postnikov, and I decided to try our hand at selling software for the "Spectrum." Just then, there was a boom in cassettes. Our business was going quite successfully, and we even organized something like a recording studio called "Compact - Studio." I viewed programming more as an interesting hobby; however, the years spent in the market helped understand what most buyers needed. Therefore, the "Buratino" that appeared in February 1993 generated much more interest than the previous game. (By the way, "Buratino" is officially a coursework in "Machine Graphics," for which I received an "excellent" grade.) A month earlier, before "Buratino," the "KIS" studio released the first two cassettes with Russian-localized games. Around this time, my younger brother Alexey also got into localization. In a very short time, he translated over forty programs. And it began... Everyone wanted to play only games in Russian. Moreover, "Buratino" added fuel to the fire. The boom in Russian-localized games lasted almost two years, and even now its echoes can still be heard.

More and more time was taken up by the institute and "Compact - Studio." Writing games didn't seem to have commercial value at that time due to difficulties with protection (disk machines had just started to appear), and this activity required a lot of time - "Buratino" and "Tankodrome" were written in three months each. However, this doesn't mean I abandoned programming on the "Spectrum" (although I already had an IBM).

The topic of my diploma thesis was "Graphic Editor for ZX-Spectrum," which by the time of the diploma defense was half-ready. But - "out of sight, out of mind!" - I finished the institute and no longer thought about the editor (what a pity - it was the best vector editor of what you have seen). Later, I took on various little games (even "Color Lines"), but I didn't want to waste time on cheap knockoffs, especially since during this time a very decent program by Sergey Gorshkov "Dizzy-X" appeared.

Finally, in the summer of 1994, I came across a game for IBM "UFO. Enemy Unknown." This was exactly what I needed (not just me, but you too). By that time, I had already thought of a way to protect it (which turned out to be quite good). However, I decided to simplify the plot right away, to bring more dynamism into the game, because most users at that time would not yet be ready to accept a serious tactical game, and I wanted to make a game for everyone.

"NЛО. Враг неизвестен" was written with breaks from September to February - more than six months. The most difficult part was the assembly process of the too large object code. Initially, I had to write low-level subroutines while there was enough GENS memory, then assemble this piece, and in the next block refer to the subroutines from it. Making changes was difficult, as it would require changing and reassembling all subsequent blocks in the chain. For the same reason, I couldn't properly mask the protection (those who tried to crack "UFO" noticed that the protection procedures seem to be grouped in two places in the program). I prepared texts, tables, and part of the graphics using IBM. There, I also carried out the program's linking. What came out of all this, you have already seen.

Contents of the publication: ZX Format #01

  • IS-DOS
    IskraSoft introduces IS-DOS Classic 4.0 with advanced text editing features, a disk utility, a hard drive controller for ZX Spectrum, and a program debugger.
  • IS-DOS - Владимир Елисеев
    Overview of IS-DOS for ZX Spectrum, highlighting its advantages over TR-DOS. Discussion on installation, usage, and file management features of IS-DOS. Introduction to system utilities and interface similar to Norton Commander.
  • IS-DOS - Владимир Елисеев
    The article provides a concise guide to the IS-DOS system disk, listing all essential files with explanations. Files are sorted alphabetically and grouped by directories for easy navigation. The guide focuses on a basic overview of files and commands without extensive descriptions.
  • IS-DOS - Владимир Елисеев
    Discussion on the UniColor standard for color settings in IS-DOS programs, its implementation, and advantages for user customization.
  • IS-DOS - Владимир Елисеев
    Discussion of IS-DOS window interface features. Implementation of window system in IS-DOS and its advantages. Example programs for creating windows and frames.
  • IS-DOS - Владимир Елисеев
    Description of the internal workings of the gmen.com program for IS-DOS, focusing on device management and menu handling with detailed source code and comments.
  • Hardware - Vladimir Larkov
    Discussion on modifying Scorpion ZS-256 hardware for compatibility with specific software. Describes blocking port #1FFD to run incompatible programs. Provides technical details for implementation.
  • Железо - Nemo
    Discussing hardware braking devices for ZX Spectrum. Focus on creation and impact of brakes on overclocked processors. Warning about potential side effects.
  • Железо
    Discussion of the impracticality of repairing old computers and the economic sense in replacing them with modern hardware. The article highlights challenges in DIY repairs and suggests alternative solutions. Emphasizes the benefits of upgrading to newer, more reliable components.
  • Железо
    Discussion of new peripheral developments for Scorpion ZS 256, including an innovative universal controller and MIDI interface. Highlights enhancements in keyboard and mouse controllers and expansion of built-in software capabilities. Offers details on professional ROM extension and turbo mode for improved performance.
  • Игрушки - Ruster
    A detailed walkthrough of the game Crystal Kingdom Dizzy, including solutions to puzzles and tips for progressing through the story.
  • Игрушки - Павел Рындин
    Description of the logic game 'Bulls and Cows', its mechanics and gameplay. Explains levels of difficulty and the goal to guess a number with minimal attempts.
  • Игрушки - Вячеслав Медноногов
    Discussion on the nuances of 'UFO: Enemy Unknown' game, focusing on alien species, their tactics, and gameplay strategies. Details on game mechanics and future sequel 'UFO-2: Devils of the Abyss'. Includes programming insights and development history.
  • Игрушки - SParker
    Overview of games and software on the Saint Petersburg market in 1995.
  • Интервью
    Vyacheslav Mednonogov shares his journey as a programmer, from assembling his first Spectrum-48 to developing notable games like 'UFO. Enemy Unknown'. He describes challenges and insights in game development and the rise of Russian game localization. His experiences highlight the evolution of programming and software distribution in the 1990s.
  • Информация
    Introduction to ZX-Format, a new electronic magazine for ZX Spectrum enthusiasts, focusing on games, programming, hardware, and community interaction.
  • Конкурс
    Discussion on organizing a new competition for the magazine. Readers are invited to submit their theme ideas. Selected themes will be featured in future issues.
  • Конкурс
    ZX Format announces a competition for the best mission created using the mission editor for the game Laser Squad. Submissions are accepted by mail or in person. Winner receives a box of 3M disks and the next issue for free.
  • Отдохнём - Килат Амор
    A programmer's day filled with dreams, gaming, and casual conversations. Vasetchkin balances ambition with relaxation, embodying the programmer's spirit. Reflects on the demands and enjoyment of a programmer's life.
  • Mailbox - Максим Романов
    Discussion on hardware and software offers in St. Petersburg by LOGROS and Create Soft, including detailed insights on Kempston Mouse interface.
  • Mailbox - SParker
    Compilation of cheat codes for ZX Spectrum games by Sergey Pavlov. Techniques for extra lives and immortality. Not recommended for fans of fair play.
  • Mailbox
    Description of submission guidelines for letters and articles to the magazine, including formatting and submission preferences.
  • Премьера - Алексей Щекин
    Gameplay of Lines game on ZX Spectrum, similar to Color Lines. Move balls to form lines of the same color. Scoring and controls are described.
  • Программистам - Дмитрий Рудовский
    Introduction to advanced BASIC programming techniques for ZX Spectrum 48, highlighting its advantages over 128 BASIC. Plans for future articles include service programs and language extensions. The article serves as a guide for experienced programmers.
  • Программистам - Михаил Спицын
    Introduction to assembly language on ZX Spectrum. Explanation of Z80 processor structure, registers, and basic commands. Includes example programs for learning.
  • Программистам - Андрей Седов
    Mission editor for Laser Squad by Andrey Sedov allows fans to create new missions. Includes user-friendly interface with minimal controls. Offers features like object editing, price adjustments, and sprite assignment.
  • Various
    History of Amiga computer development, its creators, and key features. Evolution from arcade games to a leading home computer. Amiga's market success and technological advancements.
  • Разное
    Review of upcoming ZX Spectrum software products with demos. Highlights include adventure games, RPG trials, and strategic tactics. Several well-known developers contribute to these releases.