Бывший инженер Microsoft, Дэйв Пламмер, недавно поделился интересной историей о разработке Пинбола для Windows NT. В детстве Пламмер, как и многие другие, играл в Пинбол на своем компьютере, не подозревая, что однажды он сам станет главным героем интригующей истории о кодировании этой игры.
Перенос Пинбола с Windows 95 на Windows NT оказался более сложным, чем ожидалось. Пламмер создал новый игровой движок, способный обрабатывать видео и звук на высоком уровне – слишком высоком, по его признанию. Из-за ошибки в движке игра могла отрисовывать кадры с максимальной скоростью. На момент разработки она шла на процессоре с частотой 200 МГц и демонстрировала 60–90 кадров в секунду, что оказалось достаточно для игры того времени.
Неожиданный эффект на многозадачность
Однако, через несколько лет после оригинального релиза, использующие многопроцессорные машины заметили занятный эффект – Пинбол оставалось единственным приложением, способным задействовать целое ядро процессора. По мере развития технологий и возрастания мощности компьютеров, частота кадров достигла 5000 fps.
Другой бывший инженер Microsoft, Рэймонд Чен, вспомнил на канале Пламмера на YouTube, как он добавил ограничитель частоты кадров, чтобы «усмирить» игру до 100 fps. Чен шутит, что это, возможно, было его гордым моментом в разработке Windows, ведь он сделал возможным играть в Пинбол и одновременно выполнять сборку программ.
Пламмер вспоминает, что в Microsoft к ошибкам, требующим исправления с помощью Service Pack, относились как к чему-то позорному. Однако он с юмором отмечает, что его ошибка не нанесла серьёзного ущерба, а стала поводом вспомнить о работе над многопроцессорными архитектурами.
Эти дружеские воспоминания о разработке программного обеспечения подчеркивают, насколько неожиданными могут быть результаты даже небольших ошибок, а также добавляют ещё один интересный штрих к истории Microsoft.