Классическая игра Space Invaders обязана своим напряжённым геймплеем «медленному» процессору
В истории видеоигр одним из классических примеров того, как ошибка (баг) становится особенностью, является постепенное ускорение ритма аркадной игры Space Invaders.
Недавно эксперт по C/C++, известный под ником Zuhaitz, раскрыл, что нарастающая интенсивность этой классической аркадной игры от Taito была вызвана не гениальным программированием, а всего лишь ограничением производительности процессора Intel 8080.
В выпущенной в 1978 году игре Space Invaders чем больше инопланетян уничтожал игрок, тем быстрее двигались и стреляли оставшиеся противники, создавая напряжённую атмосферу. Однако, изучение исходного кода аркадного автомата показало, что в игре не было кода, который бы преднамеренно регулировал скорость игры по мере уменьшения числа пришельцев. Причиной оказалось «бутылочное горлышко» в производительности Intel 8080.
Этот процессор, выпущенный в 1974 году, имел около 5000 транзисторов и тактовую частоту примерно 2.0 МГц. В начале игры процессору приходилось «изменять позиции, перерисовывать и проверять столкновения» для 55 инопланетян, что потребляло значительную часть его вычислительной мощности.
По мере того как игрок уничтожал пришельцев, объём вычислений, необходимых процессору, уменьшался. Это снимало общее ограничение производительности, и код начинал выполняться быстрее, непреднамеренно создавая то самое ощущение «чем дальше, тем стремительнее».
В более поздних версиях игры и эмуляторах, работающих на современных мощных платформах, для достижения «аутентичного аркадного опыта» оригинальной игры разработчикам пришлось вручную вносить коррективы в код и балансировать скорость.
Интересный факт: Феномен Space Invaders — не единственный пример, когда техническое ограничение породило культовую игровую механику. Например, появление знаменитого комбо-системы в файтинге Street Fighter II также изначально было программной ошибкой, которую разработчики оставили, увидев её потенциал.
















0 комментариев