Немного о собственном опыте знакомства со средствами для создания игр на ретроплатформах

Vanity of razzle_dazzle

Преподавательница программирования в школе, в которой я учился, начала с вещей правильных, но неинтересных, подкупая учеников тем, что если они смогут создать такую программу, им больше не придётся решать типовую задачу снова и снова. Если вы не занимаетесь каким-то однотипным видом деятельности, а просто решаете задачки из учебника, то обнаружите, что даже в пределах одной темы задачки разные. Возникает вопрос, сколько же программ надо написать, да и все эти var'ы, int'ы, синий экран смерти ТурбоПаскаля (и это во времена winXP!), блок-черт-бы-их-побрал-схемы совсем не способствуют изначальной заинтересованности. Всё это выглядит как алхимия, какое-то тайное знание, но при этом знание скучное, сухое. Удивителен пример химии — школьников на днях открытых дверей зазывают, чтобы показать превращение красной жидкости в зелёную, и это действительно работает, хотя в итоге оказывается, что в химии есть свои var'ы и int'ы, ты как-то свыкаешься с этой идеей, прокручивая в голове опыт с превращением жидкостей. А ведь что стоило преподавательнице программирования запустить простой цикл с экраном, меняющим цвет, или показать простенькую игрушку а-ля понг.

Освоив худо-бедно основы программирования, сделав пару игрушек, приходит осознание того, что это всё, конечно, здорово, но при простенькой графике, минимуме эффектов игра просит не такой уж слабый компьютер — и, например, на моём самом первом компьютере «Мариуполис» просто отказался бы запускаться. А ведь он в сотни, а кое-где и в тысячи раз мощнее какой-нибудь NES. Заставить старую платформу с микроскопическим объёмом памяти воспроизводить игру — вот это настоящее таинство! И вправду, первый взгляд на программы, написанные на ассемблере (а подавляющее большинство игр для старых платформ на нём и писались), создают впечатление тайнописи. Я был не готов к жонглированию регистрами, но с удивлением обнаружил, что это нужно далеко не всегда. Как оказалось, существует инструментарий, позволяющий программировать игры для старых платформ на высокоуровневых языках.


Читать дальше...