Space War: как два кораблика научили меня тригонометрии
В 1990-х была очень популярна игра про два летающих кораблика, которые стреляют друг в друга. Нельзя было выпустить вторую пулю, пока первая летит по экрану, а для победы в раунде хватало одного попадания.
Ещё в 1998 году мне в руки попали исходники этой программы — gong.pas, — и их разбор дал мне очень многое. Самой большой загадкой для меня была векторная графика: как кораблик может поворачиваться вокруг своей оси на произвольный угол? Тогда я сам разобрался с синусами и косинусами и вывел золотое правило:
x = cos(angle) * R
y = sin(angle) * R
Ещё я познакомился с прямым опросом клавиатуры через порты.
В итоге я сделал свою версию игры — Space War. В ней было:
- изменение формы корабля при таране, как машин в Carmageddon;
- искры при столкновениях, дымовой след, звуки;
- векторный редактор кораблей;
- много оружия — пули разной силы, ракеты, самонаводящиеся ракеты, бомбы, салют и лазер, который стоит очков;
- падающие с неба парашютисты, которых можно сбивать ради очков, и звёздочки с боеприпасами или починкой;
- миссии или свободный бой любым кораблём против любого противника;
- свои загрузчики BMP и WAV, графика через драйвер SVGA256 BGI.

Space War образца 1999 года, кадр из моего видео на YouTube.
Долгое время я думал, что исходники потеряны безвозвратно. Потом нашёл последние версии, вплоть до декабря 1999 года, — видимо, допиливал игру к конкурсу. Той осенью я пошёл в 10-й класс, и Space War уже тогда нравился всем вокруг.
1999 год был годом многих попыток сделать «большую игру»; несколько провалились. Space War стал первой хорошей.