1999 Space War

В 199x годах была очень популярна игра про два летающих кораблика, которые стреляют друг в друга. Справа есть видео с этой оригинальной игрой. В этой игре нелья было зпустить вторую пулю, пока первая летит по экрану. Достаточно одного попадания для победы в раунде.

Еще в 98 году я украл исходники этой программы (gong.pas). Анализ этой прогрммы дал мне многое. 

Для меня самой большой загадкой была векторная графика - как кораблик может поворачиваться вокруг своей оси на произвольный угол. Тогда я сам разобрался с синусами и косинусами. Золотое правило: x = cos(angle)*R, y = sin(angle)*R. 

Также я познакомился с прямым опросом клавиатуры через порты.

В итоге в первой половине 1999 года я сделал свою версию игры Space War, в которой было:

  • графика 640x400 256 цветов через SVGA256M.BGI. Графика была межденной, поэтому приходилось по старинке рисовать кораблик черным цветом для его стирания, вместо отчиски всего экрна.
  • Графический векторный редактор кораблей. Каждое ребро корабля могло иметь свой цвет. Форма кораблей сохранялсь в SHP файл.
  • При столкновениях корабли меяли свою форму, как в первом Carmageddon.
  • Искры при столкновениях
  • Различные оружия
  • Падающие с неба парашютисты
  • След из дыма
  • Чтение BMP и WAV
  • Проигрывание звуков
  • Тороидальная карта - при перехое через правую границу вылетаешь из левой части экрана
  • Починка корабля
  • И конечно же AI

В этой игре надо убить противника как можно больше раз и не дать убить себя. 

Самое обычное оружие - пули, отнимающие 1% жизни у противника (бесконечные). 

Дополнительное оружие - простые ракеты, самонаводящиеся ракеты, бомбы, салют, пули, отнимающие 2,3 и 4%. 

Последний тип - самонаводящиеся. Менять оружие - <Enter> (1 palyer) и <1> (2 player). Эти оружия конечны. 

Лазер - бесконечный, но он стоит 40 очков. Очки можно зарабатывать, попадая по противнику (1), убивая его (100), собирая звездочки (20), сбивая парашютистов (10). В звездочках могут быть боеприпасы или починка. В настройках можно указать различные параметры. В разделе "Миссии" можно выбрать готовую миссию, а можно самому вручную выбрать себе корабль и противника.

Итого, это моя первая игра, в которую все играли.


Для запуска игры нужен DOSBox. 
Конфиги для DOSBox:
cycles=max
keyboardlayout=RU

Space War


Оригинальная игра про кораблики


ċ
SpaceWar.rar
(55k)
Andrey Pelipenko,
Dec 26, 2012, 2:08 AM
Comments