Исходный код Elite с комментариями
Elite — известная серия космических симуляторов с открытым миром, которая зародилась в далеких 80-х. Творение Дэвида Брэбена и Яна Белла стало мегапопулярным, поскольку в те годы игра позволяла путешествовать по трехмерному, хотя и довольно примитивному, случайно сгенерированному миру, сражаться с космическими пиратами, торговать, пристыковываться к заправочным станциям, апгрейдить корабль на заработанные кредиты. И все это на домашних восьмибитных компьютерах вроде BBC Micro!
Была реализация Elite и для Nintendo Entertainment System, известной в СНГ в основном благодаря китайским клонам этой приставки. Мы не встречали ее на китайских пиратских картриджах, но у обеспеченных обладателей настоящей Nintendo такую игру можно было встретить.
Как же разработчики уместили столь продвинутые игровые механики в программе для такой примитивной игровой системы?
Естественно, чтение исходников столь продвинутого проекта может натолкнуть на интересные мысли, научить оптимизировать код, выжимать из примитивного железа все возможное. И сегодня это возможно, конечно, если вы не боитесь ассемблера MOS 6502.
Исходный код, выложенный на Github, прокомментирован невероятно подробно — уверены, что опытному программисту будет легко справиться с чтением, даже если вы плохо знакомы с архитектурой NES. А туториал для освоения ассемблера 6502 мы уже рекомендовали ранее.
Приятного погружения!
#digest
Post #166
1.6K