Мастер сельского афоризму
0,1
рейтинг
9 февраля 2013 в 04:11

Разработка → Playstation: как это было

    В конце первой половины 90-х на рынок СНГ попала первая консоль от фирмы Sony — Playstation 1 или PSX. Ее можно считать уникальной со многих точек зрения, но для всех нас главным отличием пожалуй было то, что наконец-то в играх появилось полноценное видео, вменяемая 3D-графика, а также возможность сохранятся не при помощи пароля, судорожно ища бумажку(да простят меня читатели за неловкое сравнение, возникшее в их головах), а, как и подобает белому человеку, на цифровой носитель.

    

    На самом деле эта консоль обозначила собой тихую революцию и в программировании игр. Именно об этом я бы и хотел рассказать сегодня. И более того, если вы захотите написать свою игру для пылящейся в кладовке приставки, отомстив таким образом за творческое бессилие, испытанное в отрочестве, то под катом вы сможете получить представление о том, как это сделать.

Некоторые факты


    Это важно знать:
  • Playstation была первой распространенной консолью, которая поддерживала нормальное воспроизведение полноцветного видео. Для этого в консоли имелся специальный чип, который поддерживал аппаратное декодирование формата, близкого к JPEG. Но тем не менее разработчикам приходилось вручную отрисовывать каждый кадр и синхронизировать звуковую дорожку.
  • Из-за аппаратных ограничений было невозможно за один раз скопировать в видеопамять битмап размером больше 256x256 пикселей — так что все панорамы на заднем плане рисовались в 2-4 прохода.
  • Для игры с пиратских дисков нужно было производить операцию «чипования» консоли, для этого на материнскую плату консоли припаивался специальный контроллер, дававший Playstation стойкую продолжительную иллюзию того, что дешевая болванка в ее недрах является лицензионным диском. Найти нечипованную консоль в СНГ скорее всего было невозможно. На западе эта же проблема решалась более легально — для этого использовался трюк с подменой диска: во время загрузки BIOS вставлялся лицензионный диск, а сразу же после него болванка с игрой, которую требовалось запустить.
  • Memory card — обычная флэшка с емкостью 128 кбайт.
  • Для Playstation таки существовала мышь. Но кто знал об этом?
  • На консоли можно было проигрывать Video CD. Но кто знал, где их можно достать?
  • Выпуск Playstation 1 на бескрайних просторах дальней Азии был приостановлен только лишь потому, что Sony нужны были большие производственные мощности, чтобы увеличить выпуск Playstation 3. Днем траура можно считать 23 марта 2006 года.
  • Большинство игр для Playstation имеют разрешение 320x240.
  • Практически все китайские клоны Playstation, имеющиеся на рынке сегодня, запускают игры в режиме эмуляции, железо же отличается от оригинального, что ведет к неработоспособности некоторых игр. Зато вы сможете посмотреть купленный в соседней палатке DVD.
  • Последняя игра для Playstation, не являющаяся ни переизданием, ни кустарной поделкой, вышла в 2005 году. Всего игр было выпущено около 8000.
  • Также как сейчас проводятся мероприятия вроде Perl Workshop, тогда проводились слеты разработчиков для обмена опытом и демонстрации прототипов игр, находящихся в разработке. Материал каждого такого слета выпускался на диске, содержимое которого было очень похоже на то, что было на черных демо-дисках, поставлявшихся вместе с Playstation. Если соберете их все, то, сможете смотреть на местных филателистов свысока.
  • Самым распространенным приемом «урезания» игр с целью создания пиратских сборников была замена всех видеофайлов на короткие «заглушки» — секундные клипы с черным экраном.
  • В игровых клубах имели место драки из-за того, что места на картах памяти всем не хватало. Вообще же относительная дешевизна Playstation привела к тому, что первые игровые клубы массово открывались именно на ее базе. Так было в периферии, в столицах же клубы с Sega или просто компьютерами были и раньше.


С чего начинается разница


    Мало кто знает, но программирование для других распространенных консолей того времени представляло сущий ад(с точки зрения программиста не питающего любви к ассемблеру). Геймдев того времени скорее напоминал современное программирование микроконтроллеров, со всеми вытекающими последствиями — отсутствием нормального интерфейса к файловой системе, ручное генерирование частоты звука, обращение к I/O портам для каждой операции, и ассемблер, ассемблер, очень много ассемблера. Были и прочие мелкие радости вроде нескольких процессоров в одной консоли, или же оперативной памяти не имеющей непрерывного диапазона. Всех мелочей и не припомнишь. Единственной приставкой того времени, которая могла бы похвастать гуманизмом по отношению к программистам была Panasonic 3DO, которая все же не сыскала популярности в СНГ(да и в остальном мире тоже).
    Чтобы понять ту степень безысходности, которая имела место при программировании для тогдашних наиболее распространенных приставок взгляните на эти характеристики:
Консоль Процессор Объем ОЗУ Ограничения носителя Объем видеопамяти
Dendy/Nes 1,66-1,79 Мгц 2 КБ 48 КБ 2 КБ
Sega Mega Drive 7,61 Мгц 64 КБ 4 МБ 64 КБ
Playstation 1 33,8688 МГц 2 МБ около 700 МБ 1 МБ

    Конечно, имели место хитрости с целью увеличения возможностей картриджных консолей — картридж, по сути дела,электронная схема, со множеством выводов, далеко не все из которых были предназначены для считывания данных из ПЗУ картриджа. Что можно разместить на схеме? Да что угодно — дополнительное ОЗУ, контроллер ПЗУ с возможностью маппинга данных больших игр в допустимое адресное пространство ввода-вывода. Главное, чтобы консоль поддерживала интерфейс для взаимодействия с подобными устройствами картриджа. И она, как правило, поддерживала! Таким образом программирование игр не сводилось только к разработке кода, порой требовалось «доделывать» игру аппаратно, чтобы хоть как-то превзойти скудные возможности консолей того времени. Однако, немногим из многих, имеющих Dendy на постсоветском пространстве,посчастливилось иметь дело с картриджами, вмещающими существо мифическое и полубожественное — а именно «батарейку», на которую можно было бы сохранить игру.
    Сие непотребство закончилось с приходом Playstation: во-первых консоль обладала достаточно внушительными характеристиками и могла конкурировать с компьютерами того времени на которых работал DOS(что обусловило немалое число игр, которые были портированы с PC на Playstation), во-вторых игра теперь располагалась на компакт-диске, что означало невозможность каких-либо аппаратных ухищрений. Короче говоря, приход Playstation положил раздел двум эпохам — той, когда костыли считались хорошей практикой, и той, когда костыли стали считаться костылями. Но когда одна эпоха сменяет другую всегда появляются ретрограды, свято чтущие былые заветы — именно благодаря их самоотверженному труду на рынок попали несколько игр, которые работают только на самых ранних ревизиях Playstation. Так, меняя адреса портов устройств от ревизии к ревизии, инженеры Sony мягко, но настойчиво, давали разработчикам понять, что официальная SDK и подробная документация были даны им неспроста.
    Программирование для Playstation было настолько простым, что помимо специальных аппаратных станций(Dev Unit), продаваемым профессиональным разработчикам игр по цене порядка 35 000 $, Sony выпускала специальную версию консоли для домашних разработчиков, называемую Net Yaroze и сравнимую по стоимости с самой приставкой.

Как это делалось


    Выше уже было сказано о том, что для ранних консолей программирование велось почти исключительно на ассемблере. В случае же Playstation де-факто стандартом разработки стал язык С. Нормальный С, без ассемблерных вставок, сношений в порты и каких либо серьезных ограничений — вам больше не нужно было писать свою реализацию strncat или же писать свою библиотеку для ввода-вывода, если вы просто хотели прочитать файл с диска.
    Еще одним немаловажным отличием от предыдущих консолей стало то, что разработчик получал полноценный API интерфейс для всех аппаратных возможностей консоли вроде сопроцессора для векторных вычислений. SDK, поставляемая Sony имела обертки для всего, что только могло пригодиться, что давало возможность по-настоящему абстрагироваться от особенностей консоли. В результате портирование игр из-под DOS часто оборачивалось только переписыванием слоев, отвечающих за графику и звук.
    В целом же разработка для типового программиста носила такой характер: к Playstation через разъем, указанный на рисунке, подключался модуль разработки, подключавшийся к компьютеру. Через этот мост происходила загрузка EXE-файла в оперативную память приставки, и через него был возможен вывод отладочной информации на компьютер. Так же, как сейчас многие кустарные веб-студии испытывают нехватку техники Apple для тестирования своих приложений, разработчики игр для Playstation испытывали нехватку Dev Unit'ов. Таким образом большой непонятный порт на задней панели приставки должен служить немым напоминанием о том, что некоторые вещи не меняются даже спустя почти два десятилетия.

    Конечно, далеко не каждому из разработчиков хватало самообладания, чтобы написать игру на опостылевшем С. И тогда в ход шло коронное оружие амбициозного разработчика — самодельный язык программирования. Достоверно известно, что как минимум 2 серии игр постигла такая участь — Crash Bandicoot, который был написан на самопальном диалекте лиспа, а также вся линейка Final fantasy до 9 части, движок которой перекочевал через кучу платформ и имел свой собственный интерпретируемый ассемблер. Про создание обеих игр можно почитать тут:
Crash Bandicoot:http://all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1/
Final fantasy: http://q-gears.sourceforge.net/gears.pdf

Как это делалось у нас


    Значимость Playstation также в том, что ее диски могли быть прочитаны на любом компьютере и записаны на нем же. Что породило невиданную для остальных консолей волну пиратства. Теперь для того, чтобы сделать перевод игры достаточно было иметь дизассемблер для архитектуры MIPS, а также пишущий CD-ROM. Возможно именно тот факт, что для перевода этих игр требовалось столь мало породило столь плохое качество первых переводов. Можно расценивать это как идеальную иллюстрацию деления людей на технарей и гуманитариев: когда у человека хватало знания английского аккурат настолько, чтобы изучить справочник к дизассемблеру, на выходе мы получали перевод столь обильно сдобренный жаргоном и матом, что сюжет игры несколько терялся; с другой же стороны, когда выдранные отладчиком тексты, пересылались на перевод желающему подработать студенту филфака, на выходе получался настолько литературный и оторванный от сути перевод, что редкий технарь мог понять, как же именно пройти описываемый квест.
    Другой стороной относительной легкости модификации программного кода игр стала возможность собирать несколько игр на один диск, на радость ограниченной в средствах детворе. Для самых популярных игр вшивались тренеры — загрузчики,которые до смерти запатчивали декремент жизней, патронов и т.д.
    Демосцена была на удивление мала и толком не образовалась и по сей день. Поэтому я настоятельно прошу всех, кто имел хоть какое-то отношение к пиратству игр для консолей рассказать об этом! Я буду очень благодарен тем, с кем смогу пообщаться на эту тему подробно.

Особенности геймдева


    Массово игры для Playstation перестали выходить примерно в 2002-2003 году, но энтузиасты не сдаются и пытаются продолжать это благородное дело. Сделать это можно двумя способами — именно столько приличных SDK существует для Playstation сегодня. О том, где можно достать обе вы сможете прочитать в конце.

Psy-Q

    Это официальная SDK, выпущенная Sony для профессиональных разработчиков игр. Содержит в себе компилятор С, а так же все необходимые библиотеки. Имеется также множество инструментов для обработки графики и приведения ее к формату,пригодному для обработки Playstation, часть инструментов уже бесполезна ввиду наличия современных аналогов, часть существует непонятно для чего — документация к ним утеряна.
    Данная SDK правда позволяет писать игры высокого качества, но имеет один недостаток — она рассчитана для работы под управлением ОС Windows 95-98, уже на XP вы можете столкнуться с проблемами. Но даже с ней создание игр, использующих3D-модели будет затруднено — в те времена использовались довольно специфичные 3D-редакторы, а SDK содержит лишь инструмент для конвертации моделей из форматов многолетней давности.
    Вообще, эту SDK стоит попробовать только лишь для того, чтобы понять на чем приходилось работать программистам того времени и насколько несовершенны были их инструменты по сравнению с сегодняшним днем.

PSXSDK

    Начиная с 2008 года на свет появилась полностью открытая SDK, базирующаяся на компиляторе GCC и развивающаяся по сей день. Она позволяет создавать только 2D-игры — ну или, если вы чувствуете в себе силы написать движок для рендеринга 3D на С, то вам дороги все открыты. Написать видео-проигрыватель на ней тоже будет проблематично, но в целом это лучший вариант для начала программирования.
    Из приятных плюсов — при помощи этой SDK можно скомпилировать такие вещи как gzip, libpng и т.д. — любой современный plain C код. Так у автора получилось скомпилировать Lua ранних версий для работы на Playstation. Поэтому, если вы знаете какую-либо библиотеку, рассчитанную на работу в микроконтроллерах, реализующую базовую работу с 3D-графикой вроде рендеринга полигонов или маппинга текстур, то это будет хорошим подспорьем для проекта.
    Документация на данный момент пишется мной, причем в свободное от работы время. Зато есть примеры кода, используя которые, свой Super mario или аналог почти любой флэш-игры написать более чем возможно.
    К тому же данная SDK успешно работает как под Windows, так и под Linux. Да чего греха таить — подо всем под чем вы только сможете собрать ее.

Коммьюнити


    Сообщество энтузиастов поделено на 2 группы, в зависимости от использования SDK. При этом группа, которая использует Psy-Q имеет более «железную» направленность, вроде моддинга консолей. Таким образом происходит распыление усилий и без того небольшого числа людей. Разнятся и места обитания членов обеих коммьюнити:
Psy-Q:
irc: irc.eversible.com #psxdev
форумы:http://psxdev.net/

PSXSDK:
irc: irc.freenode.net #unhaut
форумы:http://unhaut.fav.cc/forums
сайт проекта:http://code.google.com/p/psxsdk

    Если вам известны какие-либо русскоязычные коммьюнити, занимающиеся разработкой под Playstation или переводом игр, или же вы занимались переводами этих игр в свое время, или же у вас остались какие-то инструменты или документация от людей,которых вы знали и которые этим занимались, пожалуйста напишите мне! Более того, если вы обладаете сведениями об аппартно-независимых С-библиотеках для рендеринга 3D-графики, которые к тому же нетребовательны к ресурсам, то опять таки — пишите!
@PerlPower
карма
172,0
рейтинг 0,1
Мастер сельского афоризму
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (103)

  • +5
    В игровых клубах имели место драки из-за того, что места на картах памяти всем не хватало.
    В нашем магазине эта проблема была решена с «советской элегантностью» — карт памяти просто не было в принципе. И никто не знал, где их можно достать…
    • +2
      Это жестоко, без записей в самые сладкие игры для плейстейшн играть просто нет смысла. Я до сих пор помню как обидно когда твою запись с Final Fantasy какой-нибудь умник перезаписывал или удалял.
      • +8
        Знакомый прошёл-таки двухдисковую (!) Oddworld без карты памяти, начиная каждый раз сначала и проходя чуть дальше. Школу приходилось пропускать, но ведь оно стоило :)
        • +8
          Это что, я месяц приставку не выключал когда Gran Turismo 2 проходил.
          • +4
            В GT2 (на диски симулятор вроде) помнится были очень долгие заезды. Мы играли втроём посменно.
            • +2
              То были гонки Endurance, на выносливость, играли вдвоем, гонка долгая и ставка высока была.)
            • 0
              ага, например на 99 кругов. Garbage — I think I'm paranoid за это время можно было заучить напамять.
          • 0
            А в Gran Turismo 2 уже появились 24 часовые трассы, как в третьей части? :)
            • 0
              Я так уже и не вспомню.
            • 0
              нет, только на 99 кругов.
        • +2
          Я Resident Evil проходил не выключая. ЧП случилось один раз, когда в районе plant 42 кто-то выключил.
          А на карту памяти денег просто не было, это было чуть позже августа 98.
    • +1
      После очередного удаление записи FF8, плюнул и купил свою карту. В итоге с другом потом не знали таких проблем. Но куда больше было радости когда через 5 лет удалось скинуть записи с карты на комп, и поиграть в старые игры уже с пройденных мест.
      • +1
        Как скидывали?
        • +4
          Через самодельный переходник на основе LPT из 74HC244, в принципе в интернете есть информация, но если интересно могу попробовать оформить как статью.
          • 0
            С удовольствием почитаю. У самого лежит уже лет 13 карта памяти со вкусными сейвами.
    • 0
      Мы просто покупали свои карты памяти и ходили с ними, изредка давая товарищам попользоваться, естественно не просто так.
    • 0
      у нас в клубе было 2 приставки и 3 больших карты памяти, всегда всем хватало :)
  • +3
    В голове не укладывается, как на таком железе можно было рендерить столь хорошую графику с нормальным FPS
    • +9
      А графика там не была хорошей. Нет сглаживания, сильные геометрические искажения текстур при наложении. На 3DO картинка лучше.
      • +40
        Со сглаживанием телевизоры замечательно справлялись в те годы.
        • +15
          не то что современная пиксельная жуть :)
    • +1
      Интересно, какая из игр выжимала из железа плейстешен самый возможный максимум?
      • +1
        Вот не знаю выжимает максимум или нет из железа, но мне заполнилась графика из FinalFantasy 9.
        Да и в википедии всякое пишут
        Final Fantasy IX создавалась в поздний период эпохи 32/64-разрядных игровых систем, и компания Square к этому времени на PlayStation выпустила более двух десятков игр, поэтому разработчики, отвечавшие за производительность и быстродействие, отлично понимали технические возможности консоли и в отношении визуализации смогли добиться поистине высоких результатов
        • +1
          Беда в том, что лично я надух не переношу эти Финал Фентези… Поэтому и интересуюсь, кроме них что-то было?
          • 0
            Было много чего. Почти на грани были созданы Tekken 3 и многие другие игры
      • 0
        Журналюги писали про Driver и Need For Speed 3.
  • +15
    Однако, немногим из многих, имеющих Dendy на постсоветском пространстве, посчастливилось иметь дело с картриджами, вмещающими существо мифическое и полубожественное — а именно «батарейку», на которую можно было бы сохранить игру.

    Это было на Сеге, как правило на спортивных симуляторах, которые за час-два не пройти, а ситуация менялась настолько сильно (взять хотя бы трансферы в NHL 98), что никаких паролей не хватило бы.

    Хабр торт
    • +4
      У меня на картридже для сеги в игре Shining Force 2 было 4 слота для сохранения, но батарейки я на нем не заметил.
      • +4
        В Rings of Power был разъем под батарейку, но к сожалению даже с ней сейвы не работали(перепробовали штук 10 разных картриджей) — тогда грешили что к нам кривые пиратки привозят. В итоге сега работала сутками не выключаясь ради прохождения этой игры.
        • +1
          и как, прошлась? если да, это просто геройство какое-то.
          у меня не было батарейки в ней :(
          • +2
            Да прошлась. Сейчас это даже в голове не укладывается, как без нормального знания английского и прохождений в инете мы с друзьями ее осилили. Кстати после первого раза мы научились проходить ее быстро, всего за пару часов.

            • 0
              Там первые пару сражений разбираешься и по новой начинаешь) я так долго пытался понять как пройти один из первых боев. сложная игра, к сожалению не хватило терпения.
            • +2
              как без нормального знания английского и прохождений в инете мы с друзьями ее осилили

              Мы с братом независимо друг от друга прошли на Денди японскую версию Banana Prince, которая мало того что длинная, так еще и с викторинами на японском. Самый ужас был в уровне с башней: после того как забираешь на крышу (а это несколько минут) нужно было ответить безошибочно на 5-10 вопросов на японском (по 3 или 4 варианта ответа для каждого). Отвечаешь неверно — скидывают вниз. В итоге запомнили все вопросы и ответы визуально (записывать даже и не думали).
            • 0
              Там был «хак» (на самом деле балансовая недоработка) с торговлей, когда каким то одним товаром (самый дорогой, уже не помню как назывался) можно было барыжить с нереальной маржой. Фактический это давало возможность бесконечных денег часа за два.

              И да, батарейка у меня тоже не работала )
            • 0
              Аналогично перебрал в детстве несколько картриджей, искал с рабочими сейвами, но так и не нашел (некоторые шли вообще без слота под батарейку).

              Спустя несколько месяцев постоянной игры с самого начала таки прошел ее часов за 6 примерно. За пару часов можно, наверное, пройти, но только если юзать шельмование с накачкой уровней в пещере, где за каждый ответ дают много опыта, без него даже и не знаю как вам это удалось)

              Да, кстати. Спустя лет 10 после первого прохождения игры на приставке (буквально в 2011-2012 году) где-то в инете наткнулся на описание этой игры и из него только узнал, что, оказывается, в игре можно было найти компас, чтобы знать точное местоположение всяких квестов. А я игру без компаса проходил, сидел и тупо по известным уже параметрам считал клетки на экране, чтобы получить приблизительное положение неизвестных координат))

              Отдельное спасибо этой игрушке за то, что в процессе ее прохождения я неплохо освоил английский язык, ведь все время, пока играл, я это делал вооружившись 2 англо-русскими словарями.
        • 0
          Аналогично долго искал картридж на SMD Uncharted Waters 2: New Horizons с работающей функцией сохранения, но так и не нашёл. В том что был пробовал менять батарейку, но это не помогло, сейвы так и не заработали. Как результат приставка не выключалась по несколько дней (благо блок питания оказался нормальным и не перегревался), но в итоге игра была пройдена за всех персонажей. Разумеется сюжетную линию игры можно выполнить и быстрее, но кайфа от такого прохождения (скорее «пробегания») мало, т.к. в нём половина «вкусняшек» игры останется за бортом — мощные корабли и секретные пушки после развития портов до максимума, лучшие мечи/доспехи (тоже секретные), торговля золотом из южной Америки с миллионными прибылями, ну и разумеется грозные пираты типа Idin Leis и Khayr ad-Din в своей команде + ещё один высокоуровневый персонаж Pilly Reis, которого не так просто завербовать.
      • 0
        В Donkey Kong Land для старого черно-белого Game Boy тоже была возможность сохранения игр в недрах картриджа
    • +2
      Как я был счастлив, когда нашел в своем городе FF для Сеги с батарейкой :)
    • +1
      Встречал картриджи Light Crusader и Immortal с батарейкой. Light Crusader благодаря ей прошёл (правда, вместо литиевой «таблетки» пришлось использовать 2 пальчиковых, подключенных к картриджу «на лету», когда выяснилось, что бросать игру в процессе прохождения ой как жалко, но это уже совсем другая история).
    • +1
      Батарейка была в Пиратах карибского моря на Sega MDII. т.к. за день (сколько позволяли взрослые) всё не захватить… дааа а какие там были баталии…
    • 0
      На картриджах денди она тоже должна была быть, но только не наших оранжевых пиратках.
      www.the9thkey.com/games/Nesbatt.htm
      • 0
        Далеко не на всех.
      • 0
        Мне батарейка встречалась за все годы только раз, и то, это был картридж, который «кто-то кому-то привёз с загранки».
    • 0
      был NHL 98, впервые увидел место под батарейку там, купил батарейку, а сохранения так и не заработали, кстати были потом еще пару игр с таким же способом сохранения, но и они не работал. может кто знает что не так было в этих картриджах?
    • +1
      На денди тоже были сохранения, хотя и не так уж много.
    • 0
      А еще для Сеги был особый картридж — «взломщик кодов».
      Являл собой что то вроде переходника, между картриджом и приставкой.
      По принципу работы было похоже на современные трейнеры для игр.
      Правда, через него практически все игры висли…
      • +1
        Вы про Game Genie?
        • +2
          Загуглил, да — оно.
          Но у меня была какая то отечественная поделка, на русском.
          Может, от этого и висли игры.
    • +1
      Мне родители купили тогда «задорого» Mortal Kombat 3 Ultimate с батарейкой. Все отлично сохранялось. А вот другие картриджи с этой игрушкой были без нее.
      Вот только из-за этой игрушки была куплена книга и мы (с друзьями) специально «дрались» только для того, чтоб потом положить пульт на пол (так было удобнее) и барабанить пальцами ради Fatality, Animality или Brutality.
      • 0
        Вот всё детство играли в МК3, а сейчас читаю и понять не могу что там можно было сохранять?
        • 0
          На вери харде достаточно большой столбик был в сравнении с самым легким уровнем.
    • +1
      На «Dendy» была игра «Best of the best» — спортивный симулятор карате. Картридж содержал чип eeprom и позволял сохраняться в несколько слотов.

      image
  • +6
    В игровых клубах имели место драки из-за того, что места на картах памяти всем не хватало.

    Это ещё что, вот мне уже в 21-м веке приходилось драться, чтобы поиграть (в Heretic) на 486-м (в отдалённом от цивиллизации месте, где это был единственный работающий компьютер, желающих было много и больше заняться было не чем).
  • +1
    Софтрендер-библиотек на C, мягко скажем, дохрена. Одних только OpenGL-реализаций можно найти от TinyGL (крошечный сабсет OpenGL 1.1) до Mesa (полноценная реализация OpenGL 3).
    Но вообще, такое интереснее писать самому. Если не помнить линейку и не иметь особого опыта в графике, то свой софтрендер можно с гуглом пополам соорудить за месяц, думаю.
    Ну а потом потратить годы на оптимизацию и переписывание на ассемблер.
    • +1
      Я так понимаю что там все-таки не программный рендеринг — там есть железные примочки для ускорения 3D. Короче чтобы быстро было, нужно большую часть написать руками с использованием особенностей железа.
  • 0
    Интерпретируемый ассемблер — это байткод для виртуальной машины, нет?
    • +1
      Не, автор не это имел ввиду. Он имел в виду скорее некий макро-ассемблер, когда существуют уже подготовленные макросы для наиболее часто встречающихся операций, и фактически, можно писать конструкции вида if a > b then blabla else blabla прямо в листинге. Потом вся это байда конвертируется в обычный ассемблер и компилируется под платформу. Код на выходе при этом как правило выглядит чуть хуже, чем если бы его писал школьник-индус.
      • 0
        зато в тех местах, где не требуется производительности — это сильно упрощает жизнь и снижает число ошибок.
        всё как всегда.
        • +1
          Дык то да. Никто не спорит.
    • 0
      Вы можете ознакомиться с этим вопросом подробнее здесь q-gears.sourceforge.net/gears.pdf. С девятой страницы.
    • +2
      Автор сильно преувеличил. Обычный байткод самопального скриптового языка там. Даже сейчас в играх часто логику пишут на Lua, например.
  • 0
    Пиратки с переводом появились очень не сразу. И в том числе благодаря этому я существенно пополнил свой словарный запас английского :)
  • +3
    >>Для Playstation таки существовала мышь. Но кто знал об этом?
    У меня была, очень удобно было играть в стратегии (балдел от игры в Red Alert) и по-моему в Quake.
  • 0
    Вот интересно стало, а есть ли какие-нибудь живые русскоязычные ресурсы (форумы например) на тему PSXSDK?
    • 0
      К сожалению, на русском языке пока ничего нет. Та английская документация, что есть находится здесь:
      github.com/zargener/psxsdkdoc,
      еще немного здесь: forgotten-blog.narod.ru/

  • +4
    Статья интересная, но тут же вспомнил другую.

    Чудак на Ebay продают свою коллекцию игровых приставок, собранных за 30 ЛЕТ:

    Ссылка на лот:
    www.ebay.com/itm/121062811693

    Альбом с фотографиями коллекции:
    imageshack.us/user/videogamesmuseum
    • 0
      Аукцион закончился, а коллекцию так никто и не купил.

      А ведь 550000 долларов это всего лишь шестнадцать с половиной миллионов рублей, как небольшая квартира в Москве. Можно даже Хабром скинуться. По статистике всего здесь 264363 юзеров, даже если брать только тех, кто не ридонли, то с каждого по 270 рублей и профит!
      • +1
        Справедливости ради, стоит отметить, что коллекция действительно поражает воображение.
    • +1
      Сборник не полный, нет Электроники — «Волк ловит яйца».
      • +1
        Дык может у кого есть — пошлёт ему?
      • +1
        Нинтендовский Геймэндвоч есть, так что можно засчитать.
      • 0
        Вроде есть волк:
        habrastorage.org/storage2/6a9/ca9/62f/6a9ca962feed5c157ce9824b44bdf986.jpg

        Не вставляется картинка ;(
  • +2
    Раз и два. Гениальнейшие.

    Два.

    Во вторую рубал тот самый "Крутой учитель Анидзука"
  • +5
    Хотелось бы почитать про создание игр под денди.
  • +1
    Да, 33 МГц / 2 МБ памяти, но многие даже современные игры не дотягивают по красоте, не говоря уже о геймплее и смысле, до FF7/8/9/T. Спасибо за ссылку, очень интересно было почитать про Gears.
    • 0
      Ну в плане графики спорно – FF7/8/9 пользовались заранее отрендеренными задниками ( ну кроме битв и карты мира, конечно), так что тут скорее дизайну хвала, чем именно технической части. А вот про ресурсы — действительно, читая такие цифры, понимаешь, что современный софт и игры непомерно, непростительно прожорливы.

      Хотя написать игру с современным уровнем графики и одновременно с таким же вниманием к производительности, какая была на старых консолях\компьютерах, слишком затратно – нужна туева хуча высококлассных кодеров-гуру, их рабочего времени и нервов. Тем более что прогресс видеочипов позволяет не тратить столько ресурсов на оптимизацию.
  • +2
    Интересна также история создания PlayStation, переводил её для ру-вики: ru.wikipedia.org/wiki/PlayStation
    Первоначально это был совместный проект Nintendo и Sony, но накануне выставки CES 1989 произошла резкая перемена курса.

    Ну и в целом по статье — сравнивать PS, консоль V-го поколения, с приставками III (NES) и IV (SNES, Sega Mega Drive) несколько некорректно — это разные временнЫе периоды.
    • +1
      Вообще интересно, что помимо PS были дисковые Atari Jaguar и Sega Saturn, местами даже мощнее PS, но разработка под обе системы вроде бы была довольно злобной задачей, так PS и взлетел. N64 ещё очень даже хорошо себя чувствовал, хотя картриджным был, а дисковое дополнение к нему провалилось.
    • 0
      «Некорректное» сравнение было сделано с целью показать тот качественный рывок, который позволил значительно снизить долю системного программирования в разработке игр.
  • +5
    Чувствую себя старым… История IT. Сонька в истории… Эхх
    • +2
      Да, вроде недавно еще это было что-то такое крутое и недостижимое, технология будущего :)
    • +1
      Ох, у меня даже есть книжка с кодами к играм :)
      • +3
        Типа такие?:) Описание стопицот игр не самым правильным русским языком, плюс коды и любительские иллюстрации:)
        У меня где-то валяются до сих пор!

  • –2
    про манипулятор типа Мышь для PS — я знал! видел на фото в каком то журнале!
    И была у меня она, первая PS — НЕ ЧИПОВАННАЯ!!!
    и было у меня 3 диска, 1 — DEMO и 2 лицензионных — Time Commando и Вертолеты какие то =)
    карт памяти у меня не было, и загружал я уровни в Time Commando с бумажки — там были коды.
    Да и Video CD вроде появлялись, тогда фильм Саботаж вышел вроде на нем.
    • 0
      У меня у соседа была не чипованная, ему её из Германии привозили вроде, все лицензионные диски почему-то чёрные были.
      • +1
        именно! черные!
    • 0
      Самую восхитительную приблуду к PS One я видел в рекламе на одной из страниц журнала Official Playstation [Russia]. Между страницами с описанием игры Klonoa и «Письма читателей» предлагалось за каких то $200 купить контроллер-перчатку! Вместо нажатия кнопок предполагалось сгибать/разгибать пальцы: каждая фаланга отвечала за конкретное действие. Для десятилетнего (кажется) меня это было сродни трёхмерному полупрозрачному дисплею сейчас.
  • +2
    А как же tekken 3?? Неужели никто компанией не играл по несколько часов, пока мама не выгонит? :)
    • 0
      Бывало что не несколько часов, а 3 дня с 11.00 до 22.00 с перерывом на обед. По системе кто проиграл передает джойстик, весёлые времена были, два месяца работал «админом» в салоне из пяти PSX. Зарубы в Tekken были эпичные, а ещё Vigilant 8, Twsted Metal 3, Cool Boarders 3, Q2, Forsaken, ну и конечно же FF8, FF9. Как мало было для счастья надо.
    • 0
      Да много во что играли. Ностальгии пост.

      Чаще всего в Red Alert 2 по сетке играли (да, у PS была возможность соединить две консоли сетевым кабелем и поиграть по сети).
      • 0
        серьёзно? не слышал о таком. отличная идея! во втором поколении продолжалась?
        • 0
          к сожалению или счастью — я ко времени выхода второй Сони «подрос» до компьютера :)
          • +1
            Я тоже в 2002м «подрос» до компа. Но через пять лет всё равно прикупил PSP, которая по сей день время от времени развлекает меня играми PS1 и GBA.
        • 0
        • +4
          Соединить кабелем можно было еще две сеги и совместно проходить Zero Tolerance.
          • 0
            Прикольно.
      • 0
        Red Alert 2 это который Retalition на PS1? ))
        • 0
          да, да, именно он. Ошибся, не 2 ред алерт.
  • +1
    А мы рубились вчетвером на одной консоли через мультитаб — четыре геймпада сразу. Даже помню игры для четверых игроков, Crash Bash, например.
    • 0
      В Quake2 вроде тоже можно было вчетвером.
    • 0
      Мы вчетвером играли в WWF Smackdown 2.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.