Игровые приставки и по сей день остаются востребованными среди геймеров всего мира. А индустрия игр приносит миллиарды долларов своим .
Ее можно считать уникальной со многих точек зрения, но для всех нас главным отличием пожалуй было то, что наконец- то в играх появилось полноценное видео, вменяемая 3. D- графика, а также возможность сохранятся не при помощи пароля, судорожно ища бумажку(да простят меня читатели за неловкое сравнение, возникшее в их головах), а, как и подобает белому человеку, на цифровой носитель. Именно об этом я бы и хотел рассказать сегодня. И более того, если вы захотите написать свою игру для пылящейся в кладовке приставки, отомстив таким образом за творческое бессилие, испытанное в отрочестве, то под катом вы сможете получить представление о том, как это сделать.
Некоторые факты. Это важно знать: Playstation была первой распространенной консолью, которая поддерживала нормальное воспроизведение полноцветного видео. Для этого в консоли имелся специальный чип, который поддерживал аппаратное декодирование формата, близкого к JPEG. Но тем не менее разработчикам приходилось вручную отрисовывать каждый кадр и синхронизировать звуковую дорожку. Из- за аппаратных ограничений было невозможно за один раз скопировать в видеопамять битмап размером больше 2.
Для игры с пиратских дисков нужно было производить операцию «чипования» консоли, для этого на материнскую плату консоли припаивался специальный контроллер, дававший Playstation стойкую продолжительную иллюзию того, что дешевая болванка в ее недрах является лицензионным диском. Найти нечипованную консоль в СНГ скорее всего было невозможно. На западе эта же проблема решалась более легально — для этого использовался трюк с подменой диска: во время загрузки BIOS вставлялся лицензионный диск, а сразу же после него болванка с игрой, которую требовалось запустить. Memory card — обычная флэшка с емкостью 1.
Для Playstation таки существовала мышь. Но кто знал об этом? На консоли можно было проигрывать Video CD. Но кто знал, где их можно достать?
Выпуск Playstation 1 на бескрайних просторах дальней Азии был приостановлен только лишь потому, что Sony нужны были большие производственные мощности, чтобы увеличить выпуск Playstation 3. Днем траура можно считать 2. Большинство игр для Playstation имеют разрешение 3.
Практически все китайские клоны Playstation, имеющиеся на рынке сегодня, запускают игры в режиме эмуляции, железо же отличается от оригинального, что ведет к неработоспособности некоторых игр. Зато вы сможете посмотреть купленный в соседней палатке DVD. Последняя игра для Playstation, не являющаяся ни переизданием, ни кустарной поделкой, вышла в 2.
Всего игр было выпущено около 8. Также как сейчас проводятся мероприятия вроде Perl Workshop, тогда проводились слеты разработчиков для обмена опытом и демонстрации прототипов игр, находящихся в разработке. Материал каждого такого слета выпускался на диске, содержимое которого было очень похоже на то, что было на черных демо- дисках, поставлявшихся вместе с Playstation. Если соберете их все, то, сможете смотреть на местных филателистов свысока. Самым распространенным приемом «урезания» игр с целью создания пиратских сборников была замена всех видеофайлов на короткие «заглушки» — секундные клипы с черным экраном. В игровых клубах имели место драки из- за того, что места на картах памяти всем не хватало. Вообще же относительная дешевизна Playstation привела к тому, что первые игровые клубы массово открывались именно на ее базе.
Так было в периферии, в столицах же клубы с Sega или просто компьютерами были и раньше. С чего начинается разница. Мало кто знает, но программирование для других распространенных консолей того времени представляло сущий ад(с точки зрения программиста не питающего любви к ассемблеру). Геймдев того времени скорее напоминал современное программирование микроконтроллеров, со всеми вытекающими последствиями — отсутствием нормального интерфейса к файловой системе, ручное генерирование частоты звука, обращение к I/O портам для каждой операции, и ассемблер, ассемблер, очень много ассемблера. Были и прочие мелкие радости вроде нескольких процессоров в одной консоли, или же оперативной памяти не имеющей непрерывного диапазона. Всех мелочей и не припомнишь.
Единственной приставкой того времени, которая могла бы похвастать гуманизмом по отношению к программистам была Panasonic 3. DO, которая все же не сыскала популярности в СНГ(да и в остальном мире тоже). Что можно разместить на схеме? Да что угодно — дополнительное ОЗУ, контроллер ПЗУ с возможностью маппинга данных больших игр в допустимое адресное пространство ввода- вывода. Главное, чтобы консоль поддерживала интерфейс для взаимодействия с подобными устройствами картриджа.
И она, как правило, поддерживала! Таким образом программирование игр не сводилось только к разработке кода, порой требовалось «доделывать» игру аппаратно, чтобы хоть как- то превзойти скудные возможности консолей того времени. Однако, немногим из многих, имеющих Dendy на постсоветском пространстве,посчастливилось иметь дело с картриджами, вмещающими существо мифическое и полубожественное — а именно «батарейку», на которую можно было бы сохранить игру.
Короче говоря, приход Playstation положил раздел двум эпохам — той, когда костыли считались хорошей практикой, и той, когда костыли стали считаться костылями. Но когда одна эпоха сменяет другую всегда появляются ретрограды, свято чтущие былые заветы — именно благодаря их самоотверженному труду на рынок попали несколько игр, которые работают только на самых ранних ревизиях Playstation. Так, меняя адреса портов устройств от ревизии к ревизии, инженеры Sony мягко, но настойчиво, давали разработчикам понять, что официальная SDK и подробная документация были даны им неспроста. Как это делалось.
Выше уже было сказано о том, что для ранних консолей программирование велось почти исключительно на ассемблере. В случае же Playstation де- факто стандартом разработки стал язык С.
Нормальный С, без ассемблерных вставок, сношений в порты и каких либо серьезных ограничений — вам больше не нужно было писать свою реализацию strncat или же писать свою библиотеку для ввода- вывода, если вы просто хотели прочитать файл с диска. SDK, поставляемая Sony имела обертки для всего, что только могло пригодиться, что давало возможность по- настоящему абстрагироваться от особенностей консоли. В результате портирование игр из- под DOS часто оборачивалось только переписыванием слоев, отвечающих за графику и звук. Через этот мост происходила загрузка EXE- файла в оперативную память приставки, и через него был возможен вывод отладочной информации на компьютер. Так же, как сейчас многие кустарные веб- студии испытывают нехватку техники Apple для тестирования своих приложений, разработчики игр для Playstation испытывали нехватку Dev Unit'ов.
Таким образом большой непонятный порт на задней панели приставки должен служить немым напоминанием о том, что некоторые вещи не меняются даже спустя почти два десятилетия. И тогда в ход шло коронное оружие амбициозного разработчика — самодельный язык программирования. Достоверно известно, что как минимум 2 серии игр постигла такая участь — Crash Bandicoot, который был написан на самопальном диалекте лиспа, а также вся линейка Final fantasy до 9 части, движок которой перекочевал через кучу платформ и имел свой собственный интерпретируемый ассемблер. Про создание обеих игр можно почитать тут. Crash Bandicoot: http: //all- things- andy- gavin.
Final fantasy: http: //q- gears. Как это делалось у нас.
Значимость Playstation также в том, что ее диски могли быть прочитаны на любом компьютере и записаны на нем же. Что породило невиданную для остальных консолей волну пиратства. Теперь для того, чтобы сделать перевод игры достаточно было иметь дизассемблер для архитектуры MIPS, а также пишущий CD- ROM.
Возможно именно тот факт, что для перевода этих игр требовалось столь мало породило столь плохое качество первых переводов. Можно расценивать это как идеальную иллюстрацию деления людей на технарей и гуманитариев: когда у человека хватало знания английского аккурат настолько, чтобы изучить справочник к дизассемблеру, на выходе мы получали перевод столь обильно сдобренный жаргоном и матом, что сюжет игры несколько терялся; с другой же стороны, когда выдранные отладчиком тексты, пересылались на перевод желающему подработать студенту филфака, на выходе получался настолько литературный и оторванный от сути перевод, что редкий технарь мог понять, как же именно пройти описываемый квест. Для самых популярных игр вшивались тренеры — загрузчики,которые до смерти запатчивали декремент жизней, патронов и т. Поэтому я настоятельно прошу всех, кто имел хоть какое- то отношение к пиратству игр для консолей рассказать об этом! Я буду очень благодарен тем, с кем смогу пообщаться на эту тему подробно. Особенности геймдева.
Массово игры для Playstation перестали выходить примерно в 2. Сделать это можно двумя способами — именно столько приличных SDK существует для Playstation сегодня. О том, где можно достать обе вы сможете прочитать в конце. Psy- Q. Это официальная SDK, выпущенная Sony для профессиональных разработчиков игр.
Содержит в себе компилятор С, а так же все необходимые библиотеки. Имеется также множество инструментов для обработки графики и приведения ее к формату,пригодному для обработки Playstation, часть инструментов уже бесполезна ввиду наличия современных аналогов, часть существует непонятно для чего — документация к ним утеряна. Но даже с ней создание игр, использующих. D- модели будет затруднено — в те времена использовались довольно специфичные 3. D- редакторы, а SDK содержит лишь инструмент для конвертации моделей из форматов многолетней давности. PSXSDK. Начиная с 2.
SDK, базирующаяся на компиляторе GCC и развивающаяся по сей день. Газетные Заголовки Курсовая на этой странице. Она позволяет создавать только 2.
D- игры — ну или, если вы чувствуете в себе силы написать движок для рендеринга 3. D на С, то вам дороги все открыты. Написать видео- проигрыватель на ней тоже будет проблематично, но в целом это лучший вариант для начала программирования. Так у автора получилось скомпилировать Lua ранних версий для работы на Playstation.