Doom RF
Сделал за две недели в подарок однокласснику на день рождения, потом почти год дорабатывал: 4 игрока за одним компьютером плюс 8 ботов на вейпоинтах, редактор уровней и трюк с переключением банков, чтобы рисовать 640×480 за пределами 64-килобайтного окна видеопамяти. В 2026 портировал на 64 бита и SDL2, добавил звук и выпустил как полноценный релиз.
Картинки
С моего первого сайта
27.02.2001 я начал делать и за 2 недели я сделал игру Doom RF как подарок на день рождения однокласснику по просьбе двух других одноклассников. С тех пор я верил, что если проект начать 28 февраля, то он будет успешным.
За основу были взяты ресурсы из WAD-файла от игры Doom 2D. Doom RF дорабатывался почти год. Видеодвижок: 320x200 256 цветов. Была разработкана технология предобработки для спрайтов с прозрачностью: спрайт делится на полоски, каждая их которых быстрым mrmcopy записывается в видеопамять.
Далее я почти год улучшал игру. Самое привлекательное улучшение - это переход на Free Pascal, который генерировал более эффективны код, что давало многократный прирост произвоительности по сравнению с версией на Borland Pascal. BP также имел неприятный лимит в 64Kb на размер модуля программы.
Также Free Pascal умел рисовать в разрешении 640x480 в 256 цветах. PutPixel работал медленно, а прямой доступ к видео памяти позволял заполнять только верхние 64K экрана (около 20%). Но я придумал комбинированное решение - использовать PutPixel для переключения банков памяти. То есть, делается один PutPixel и дальше буфер записывается в видеопамять обычным MemCopy.
В игре было:
- Мультиплейер 4-х игроков на одном компьютере + 8 ботов.
- Телепорты
- Боты на вейпоинтах
- Заставки между уровнями
- Редактор уровней
В эту игру играли все курсы Progmeistars и половина Золика. Эта игра помещалась на одну дискету, и поэтому легко размножалась в замкнутом пространстве прямо на глазах преподавателей :))).
Требования:
OS: DOS/Windows 98