Я вспоминаю те дни, когда мы с другом детства в середине девяностых писали компьютерную игру-бродилку для компьютера ZX Spectrum.
Среда разработки — это тетрадка и ручка. Левелы рисовали на бумаге, спрайты сначала рисовали в тетрадке в клеточку, а потом в виде битовых масок вводили в компьютер. На Спектруме не было никакой операционной системы, при включении компьютер сразу входил в режим интерпретации команд языка Бейсик, где можно было построчно вводить программу.
Первым разочарованием было то, что оперативной памяти на Спектруме достаточно мало: всегод 48 КБ. А если еще вычесть видеопамять (около 6 КБ), системные переменные (около 2 КБ) и знакогенератор (около 1 КБ), то остается и того меньше 40 КБ. Программа хранилась в памяти в виде определенного байт-кода, имеется в виду, что одна команда кодировалась одним или двумя байтами. Отчетливо помню, когда я сидел и вбивал уровни, после очередной строчки кода у меня слетел знакогенератор: объем программы достиг того уровня, что байт-код начал затирать знакогенератор. Тогда мы поняли, что что-то серьезное мы на Бейсике не напишем. Мы знали, что существует язык ассемблера микропроцессора Z80, но у нас совершенно не было представления, как это работает. Я напомню, что это середина 90-х, никакого интернета с Википедией еще не было. Т. е. интернета ни у кого не было, а вообще он конечно где-то был. А Википедии точно не было нигде.
И вот мы с другом узнали, что есть специальная книга Как написать игру на ассемблере для ZX Spectrum. Денег ни у кого тогда не было, и мой друг попросил у мамы денег на то, чтобы купить футболку, и мы тайно поехали и купили на эти деньги книжку по программированию. Времена были суровые, демократия уже вовсю шагала по Украине, поэтому признаться, что ты потратил деньги не на еду, ни на одежду, а на книжку — было делом опасным.
Повторюсь, что интернета не было, да и книг тоже было не очень много. Поэтому в таком состоянии информационного голода книги прочитывались неоднократно.
Одно из первых ощущений написания игры на ассемблере по сравнению с Бейсиком — это то, что все работало намного быстрее и естественно занимало меньше памяти. К сожалению, программирование на ассемблере требует больших знаний и усидчивости, не все моменты были до конца понятны, и из-за этого разработка шла медленно. А потом компьютер вообще сломался, и на этом моя карьера спектрум-программиста окончилась. Игра так и осталась незавершенной.
Тогда мы выжимали максимум из тех немногочисленных источников информации, что имели. А вот сейчас смотрю и компьютеры с интернетом у всех есть, и книг много, и форумов, где быстро ответят на нужные вопросы, тоже много, а молодежь все равно в каком-то ступоре. Интернет для инженера — это как экскаватор для землекопа. За эти десятки лет информатизация нашей страны вырасла на порядки. Уже все есть. Препятствия к успеху остались только внутренние.
Я бы попрограммировал сейчас на Спектруме, да не вернешь годы.
Этот комментарий был удален автором.
ОтветитьУдалитьЭто были лихие 90-е. Мы «выжимали максимум из тех немногочисленных источников информации» как могли :)
ОтветитьУдалитьДобрый, душевный текст.
Очень похоже на мое первое знакомство с компьютером. В середине 90-х моему другу купили болгарский компьютер "Правец". Это что-то похожее на ZX Spectrum (возможно клон), 64Кб памяти, бейсик при включении, телевизор вместо монитора, магнитофон вместо дисковода. И тоже, одной из моих первых более-менее серьезных программ была игрушка. Правда на Паскале под ПС у знакомых отца на работе. Так как машинное время было дефицитом, программа сначала писалась дома на бумаге, потом вводилась и отлаживалясь на компьютере. А с книжками у меня была другая проблема: город маленький, 30 тыс. населения, тогда был всего один книжный магазин (сейчас кстати нет ниодного), все что я нашел про компьютеры -- книжка по Паскалю (правда оказалась очень хорошей). И еще на базаре купил книжку по архитектуре советской ПЭВМ "Агат" (клон Apple II), ничего другого про компьютеры не было.
ОтветитьУдалитьА сейчас как раз разбираюсь с ассемблером Atmel AVR. Буду написать программу под Atmel XMEGA микроконтроллер.
Оффтопик:) С Рождеством!
> Sergey Katsyuba06.01.13, 17:45
Удалить> Так как машинное время было дефицитом, программа сначала писалась дома на бумаге, потом вводилась и отлаживалясь на компьютере.
Аналогично занимался в 11 классе на подкурсах. Компьютера не было, решал задачи на Паскале дома в тетрадке, тщательно в уме дебажил, приходил, вводил и иногда оно сразу работало. :)
С Рождеством, Сергей! :)
Да, были люди в наше время....
ОтветитьУдалить