Игра WARLOCK Remastered на С++ Visual Studio 2019

Загрузить исходный код С++ Visual Studio 2019 ЗДЕСЬ

Загрузить исполняемый файл ЗАГРУЗИТЬ EXE

Страница проекта на GitHub https://github.com/ed-kurlyak/warlock-remastered

Игра WARLOCK была представлена в книге Andre LaMothe "Tricks of the Game-Programming Gurus" (1994) в Главе 19. В книге игра разрабатывалась под операционную систему MS-DOS, с использованием видеорежима 13h (256 цветов) и разрешением экрана 320×200 пикселей. Исходный код игры приводился в главе 19, где Андре ЛаМот демонстрировал технологию Ray Casting. Оригинальный код компилировался с помощью компилятора Microsoft C++.

Технология Ray Casting

Ray Casting (лучевой бросок) — технология, популярная в начале 90-х, использовалась для создания псевдо-3D-графики в ранних шутерах от первого лица. Она позволяла отображать игровые миры с высокой скоростью на слабом «железе», имитируя трёхмерность без полноценного 3D-движка.

Эта технология использовалась в таких играх, как:

Описание проекта

Этот проект содержит remastered версию игры WARLOCK из книги Андре ЛаМота, реализованную на C++ (Visual Studio 2019) и протестированную в среде Windows 10.

Ключевые особенности проекта:

  1. Звуковая система — используется библиотека HMI SOS (Human Machine Interfaces Sound Operating System) для Windows.
  2. Источник: https://web.archive.org/web/19970225190838/http://www.humanmachine.com/dev.htm

  3. Буфер кадра (Back Buffer) — используется библиотека SciTech MGL (MegaGraph Graphics Library) от SciTech Software для поддержки 8-битного буфера, так как оригинальная игра была рассчитана на 256-цветный режим (320×200).
  4. Библиотека взята из исходников Quake 1. Скачать: https://github.com/id-Software/Quake

  5. Обработка ввода — управление с клавиатуры реализовано с использованием функций WinAPI.
  6. Режим отображения — приложение запускается в оконном режиме с клиентской областью 800×600 пикселей (разрешение можно увеличить с минимальными изменениями).
  7. Собственная библиотека вывода текста — мной была разработана небольшая библиотека для вывода текста в графических приложениях, которая используется в проекте для отображения игрового текста.
  8. Библиотеки HMI SOS и SciTech MGL — это 32-битные библиотеки, использовавшиеся в 1990-х, поэтому в Visual Studio 2019 необходимо установить параметры сборки в режим Debug x86.

Этот проект представляет собой современную реализацию классической игры WARLOCK, с сохранением оригинальной механики и адаптацией для запуска на современных системах.