Комментарии 31
Это шикарно!
+13
Должно быть здесь: История одного байта
+19
От первого Крэша у меня очень противоречивые ощущения (поскольку играл в него совсем недавно, а не в те годы, ностальгических очков нет), за что уже успел отхватить критики от зрителей моей передачи… Но прочитав эту статью, я немного пересмотрел своё мнение. Если игра пишется и оптимизируется шаманскими методами, разработчикам уже не до тонкостей! Да и будь они менее удачливыми, выходит, игра могла не выйти вообще.
0
Повторю здесь то, что писал в опросе: Crash 1 — шедевр прежде всего программирования (тот же Mario 64 вышедший на 2 месяца раньше, по графике и рядом не стоял, хотя N64 более продвинутая по железу), а вот геймплей они допилили уже во второй версии, в нее и третью нужно играть. Мемуары разработчиков очень интересны: all-things-andy-gavin.com/2011/02/02/making-crash-bandicoot-part-1
+6
Я плюсую комментарий и ссылку обязательно почитаю. Шедеврален он (возможно шедеврален...) по результату, но судя по статье — не с точки зрения программированию. Когда ты от отчаянья и без системы начинаешь подменять одни команды другими, надеясь, что в этот раз оптимизатор всё упакует как надо, когда методом проб и ошибок что-то меняешь на уровне, что бы поменять что-то в другой части уровня… Можно ли называть Это шедевром программирования, когда программист практически не управляет своим детищем, а надеется, что оно заработает? Вопрос философский…
Ну и сравнивать эти игры довольно странно. Разный геймплей (огромные уровни с исследованием и узенькие уровни-кишки из одного угла карты в другой… красота нечеловеческая, угу). Эта почти идеальная физика и управляемость Mario 64 и никакое управление в полёте Crash'а… И это при том, блин, что я не мариобой, но графику выше геймплея я не поставлю.
И последнее. Crash — игрушка вышедшая на 2м году жизни консоли, когда понимание её возможностей уже более менее оформилось (но не авторами игры, судя по посту… ;-). Super Mario 64 — вышла одновременно с консолью, когда потенциал её до конца раскрыт не был. Так что сравнение некорректное. Плюс в марио полигонов маловато, тут соглашусь, но что смотрится она хуже — это вопрос предпочтений и вкусов. Я смотрю на игры сейчас и Марио мне менее красивой не кажется.
Но это всё дикий оффтоп, так что чую, сейчас по мою душу опять придут фанаты...
Ну и сравнивать эти игры довольно странно. Разный геймплей (огромные уровни с исследованием и узенькие уровни-кишки из одного угла карты в другой… красота нечеловеческая, угу). Эта почти идеальная физика и управляемость Mario 64 и никакое управление в полёте Crash'а… И это при том, блин, что я не мариобой, но графику выше геймплея я не поставлю.
И последнее. Crash — игрушка вышедшая на 2м году жизни консоли, когда понимание её возможностей уже более менее оформилось (но не авторами игры, судя по посту… ;-). Super Mario 64 — вышла одновременно с консолью, когда потенциал её до конца раскрыт не был. Так что сравнение некорректное. Плюс в марио полигонов маловато, тут соглашусь, но что смотрится она хуже — это вопрос предпочтений и вкусов. Я смотрю на игры сейчас и Марио мне менее красивой не кажется.
Но это всё дикий оффтоп, так что чую, сейчас по мою душу опять придут фанаты...
+8
Crash — игрушка вышедшая на 2м году жизни консоли, когда понимание её возможностей уже более менее оформилось (но не авторами игры, судя по посту… ;-).Именно так: было понятно, что удел PS1 — убогое и ограниченное 3D с «треугольными» обьектами и «музычкой с CD» (Wipeout — наше всё), а что-то круче — стоит ждать от PS2. Crash Bandicoot выкинул всё это «знание» и перевернул представление людей о том, как должна выглядеть игра для PlayStation.
Когда ты от отчаянья и без системы начинаешь подменять одни команды другими, надеясь, что в этот раз оптимизатор всё упакует как надо, когда методом проб и ошибок что-то меняешь на уровне, что бы поменять что-то в другой части уровня…… то это значит, что ты выжимаешь из железа всё, на что оно способно. А когда у вас у игрушки с графикой SNES системные требования — как DOOM3, то… наоборот.
Причём это не значит, что Crash Bandicoot — это шедевр, а Undertale — отстой. Просто они… немного о разном.
И это при том, блин, что я не мариобой, но графику выше геймплея я не поставлю.А вот многие игроки — поставят. И именно они «вытащили» PlayStation и «утопили» N64. Crash Bandicoot был примерно так же популярен тогда, как какой-нибудь Call of Duty сегодня — и по похожим причинам…
0
А я понимаю разработчиков. На данный момент работаю над проектом на c#. Требования жесткие, программа должна запускаться на машинах с XP (а это .net 3.5), в качестве каркаса используем Prism (wpf). Бд MS SQLServer. И вот что бы это чудо работало и на «Калькуляторах» реально приходиться плясать с бубном — это и жесткая оптимизация ресурсов WPF и всевозможное кэширование данных, что бы лишний раз не делать обращения к мс серверу. Ах да «Калькуляторы» обладают одной не приятной особенностью — наличием памяти, точнее отсутствием необходимого объема.
-7
на машинах с XP (а это .net 3.5)Это .NET 4.0. К которому путём некоторого количества шаманств прикручивается даже async/await. Хотя он и к 2.0 прикручивается.
+5
Речь идет больше о WPF на фреймворке, а вот тут отличия значительные, мыло в тексте, отсутствие «Кэшированная композиция», мега баг с RadioButton.IsChecked и привязкой… Со всем этим можно жить, можно и на заборе спать. Вот только очень много неудобств, допилов и
некоторого количества шаманств прикручиваетсяи это все в место того что бы заниматься высокоуровневой архитектурой ( которая мне куда интересней чем технологическое шаманство, от которого к сожалению ни куда не деться )
0
несколько странно видеть требование «запуск даже на калькуляторе» и тормозной WPF (3 draw calls чтобы отрисовать эллипс) с монструозной Prism'ой в одном предложении.
+10
Настоящие проблемы у тех, кто хочет строить действительно интересные интерфейсы (то есть приложения для потребителе)
К сожаление потребитель на которого мы работаем (а это тысячи клиентов) часто не намерены обновлять железо ради покупки инструмента, но при этом все хотят красивый интерфей да еще удобный да еще и что бы летал. Бизнес диктует правила из за которых приходится плясать с бубном.
0
WinForms намного менее требователен к железу, а скорость разработки не сильно ниже (да, там нет MVVM, но и MVP не плох). Ну и Qt+qml как вариант (красиво и без тормозов)
0
WinForms ага и en.wikipedia.org/wiki/Composite_UI_Application_Block в качестве каркаса, Контейнер очень слабый. когда с prism идет базовая реализация на Unity
0
Мда, «калькуляторы» с windows xp и .NET… У меня был опыт оптимизации приложения под слабое железо (raspberry pi и сложное ресуркоемкое мультимедийное приложение), но это ни что, по сравнению с неделями впихивания нужного функционала в МК с 512 байт ОЗУ
+6
НЛО прилетело и опубликовало эту надпись здесь
Нет не один, еще звук яблок.
Crash Bandicoot — Complete 100% Walkthrough — All Gems, All Boxes, All Bonus Stages
Crash Bandicoot — Complete 100% Walkthrough — All Gems, All Boxes, All Bonus Stages
+2
Богатство оформления этой игры поражало.
0
А у меня эта игра, а точнее ее 3 часть связана с болью и страданиями.
Так получилось что на втором этаже она висла, при попытке зайти в открытые ворота.
Но у меня был Action Replay не PRO а обычный.
Не знаю, что меня подтолкнуло, но я тупо перебирал в нем ячейки памяти и писал в них единичку, так продолжалось месяц за месяцем.
Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры…
И вдруг, в один из запусков ворота на этаже оказались открыты, и я смог пройти в следуюшие ворота, и перейти на следующий этап.
Так получилось что на втором этаже она висла, при попытке зайти в открытые ворота.
Но у меня был Action Replay не PRO а обычный.
Не знаю, что меня подтолкнуло, но я тупо перебирал в нем ячейки памяти и писал в них единичку, так продолжалось месяц за месяцем.
Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры… Зависон. Запуск соньки, вход в Action Replay ввод нового кода, запуск игры…
И вдруг, в один из запусков ворота на этаже оказались открыты, и я смог пройти в следуюшие ворота, и перейти на следующий этап.
+6
Вы точно знаете, что такое безумие)
+20
помещение данных в два последних бита указателя (и это работало только благодаря тому, что адреса R3000 были выровнены по 4 байта)
повезло Вам, что флаг открытия ворот был не в последнем бите. А то бы указатели легли в 0x...000
+1
На самом деле мне ЖУТКО повезло, так как я был ни сном ни духом про формат кодов для Acrion Replay.
А там ведь были и команды сравнения ячейки в памяти, и записи в ячейку, и команды копирования.
А уж каких артефактов я навидался в процессе этого поиска.
Но результат того стоил, как только загружался этаж с воротами, с них тут же снимался блок, и можно было заходить в них.
А для перехода на следующий этап оставалось лишь победить босса этажа, который находился за главными воротами на этаже.
А там ведь были и команды сравнения ячейки в памяти, и записи в ячейку, и команды копирования.
А уж каких артефактов я навидался в процессе этого поиска.
Но результат того стоил, как только загружался этаж с воротами, с них тут же снимался блок, и можно было заходить в них.
А для перехода на следующий этап оставалось лишь победить босса этажа, который находился за главными воротами на этаже.
+1
Ностальгия, обожал эту серию, особенно третью часть, потом еще гоночки были, CTR вроде.
0
Читаю этот текст как — «Невероятные приключения программистов в прошлом веке»! Крутяк :)
+6
Мне кажется, или программируя в таких узких рамках железа, программисты более, кхм, скилловые? Это наверное тот ещё челендж.
+2
Смотря что назвать скиллом, «впихнуть невпихнуемое» это конечно круто, но все это не от хорошей жизни, а от недостатка, недостатка ресурсов, памяти, мощности… Шаманство катострофически снижает читаемость и понимаемость кода, а значит и сопровождение. Но к сожалению часто приходиться брать в руки бубен и надеяться, что этот код ни кто ни когда не увидет и уж тем более не станет побывать исправлять.
+2
Вот ещё текст с кучкой примеров из того обсуждения на «Кворе».
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ретроспектива разработки Crash Bandicoot, или как разработчики упаковывали целые игры в 2MB RAM