Джонатан Блоу о том, чего вы не ожидали услышать
Наверно, все вы знаете, кто такой Джонатан или, по крайней мере, слышали о его игре Braid, ставшей одной из икон в сфере инди. Так вот, Джонатан Блоу любит в свободное время выступать с докладами на тему игр. В этом посте я подобрал три из них, которые, как мне кажется, стоит посмотреть всем, кто интересуется авторскими™ играми.
Сначала я взялся было переводить эти видео, но вскоре понял, что жанр доклада так устроен, что на бумаге его почти невозможно читать из-за повторений, оговорок и отсутствия интонаций. Впрочем, английский в докладах довольно простой, да к тому же и слайды прилагаются — так что многие, я надеюсь, справятся и без перевода. Ну а для тех, кто не справится или слишком ленив, я постараюсь вкратце рассказать о чём пойдёт речь в каждом из них.
Как программировать инди-игры
Основная идея этого доклада в том, что многие начинающие разрабы, приступая к работе, допускают одну и ту же ошибку — они пишут код слишком правильно, как их и учили в школе или университете. На практике оказывается, что подобный перфекционизм только вредит. Большую часть кода не только не нужно оптимизировать, а даже вредно. Потому что это обходится дорого, особенно в плане потраченных человекочасов, не говоря уже о читаемости, гибкости кода и времени на отлов багов. С учетом такой цены оказывается, что оптимизировать действительно выгодно далеко не всегда. А потому лучше останавливать себя, когда начинает зудеть желание применить какое-то изящное решение (которое, как наверняка покажет время, окажется телеге пятым колесом). И речь не об одной оптимизации — те же проблемы возникают при использовании специальных структур данных и сложных алгоритмов. Они тоже почти всегда делают только хуже. А ведь как их хочется добавить в своё детище, да?
Помимо множества аспектов этой проблемы, Джонатан рассказал показательную историю о том, как он в студенческие годы пытался учить авторов Doom'а правильно писать код, и почему они на самом деле всё сделали правильно, а он был не прав. А всё потому, что правильный код совсем не похож на идеальный.
Прототипирование инди-игр
А здесь речь пойдёт о том, почему быстро сделать плохой прототип — это тоже хорошо. Блоу покажет прототипы нескольких игр, которые он пытался делать до Braid и объяснит почему он отказался от них, когда увидел прототипы в действии. На некоторые из них ушло порядочно времени, а потому тяжелым уроком является то, что прототипы нужны в первую очередь для того, чтобы быстро отбрасывать плохие идеи. Примером правильного подхода к прототипированию оказывается, как ни странно, Braid (да-да, он покажет, как выглядел Braid на разных стадиях разработки), с геймплейными идеями которого Джонатан неоднократно экспериментировал, прежде чем претворять их в жизнь.
В двух словах, мораль такова — чем тратить годы, чтобы сделать игру и только тогда понять, что она плоха, или даже вовсе забросить её, не дойдя до победного конца, намного лучше всякий раз делать «быструю» временную версию игры, чтобы предсказать её поведение и особенности, которые возникнут при появлении новой фичи, и заранее знать, будет ли оно того стоить.
Фундаментальные противоречия в геймдизайне
Если два предыдущих видео интересны в первую очередь программистам, то в этом речь пойдёт о геймдизайне. А именно об основных проблемах, с которыми сталкивается любой игродел. Причем, зачастую, не понимая, что причина появляющихся нестыковок лежит на уровне самого формата видеоигр. Джонатан Блоу выделяет три основных конфликта, возникающих на этом уровне: геймплей vs сюжет, сложность vs проходимость, интерактивность vs продуманность. Это только кажется, что легко можно найти золотую середину в каждом из этих случаев. Игровая индустрия — от больших игр до маленьких очень справляется с этим с большим трудом. Ярких примеров удачных и неудачных решений в докладе предостаточно.
Что самое классное в докладе — так это то, что в нём очень много пищи для размышлений. То ли дело в том, что когда проблема сформулирована и вытащена на поверхность, придумать как с ней бороться становится намного проще, то ли в том, что Джонатан сторонник взгляда на игры как на искусство (хотя и с оговоркой, что современная игроиндустрия ещё далека от этого идеала), а потому весь доклад пропитан идеей создания игр, которые смогут вызвать отголосок в сердцах людей. Так или иначе, доклад стоит посмотреть даже просто ради того, чтобы поднабраться мотивации (с которой у всех работников независимого игрофронта иногда бывают проблемы), да и осознать с какими проблемами и как нужно бороться не повредит.
- 30 декабря 2013, 22:39
- 029
Спасибо за реферат, любопытно. :)
Для меня это звучит, как выбрасывать не особенно талантливых детей, и рожать новых. МерзостьКоммерцияСкатилсяВПопсу.
Для меня "правильность" кода, это а) его легко понимать, б) легко модифицировать.
Он что, предлагает писать код наспех, непонятный, и который потом трудно модифицировать? Он дурак, да?
П.С. Видео на заморском языке не смотрел. Если дело говорит, то переведут на русский. А если бредит, то и нафиг.
Да, близкие сердцу идеи всегда жалко. Но зачастую то, что кажется хорошим на словах, на деле оказывается не таким, каким представляешь.
Если бы он так считал, то Braid никогда бы не сделал.
Значит, сам он пишет код понятный, правильный и модифицируемый, а нам советует не писать правильный, легко читаемый код? Лол...
Просто это признак коммерческой игры. Авторские инди вообще про это не думают, в них важно другое: делать эту идею автору в фан, или не в фан.
А когда начинаешь думать, хорошая ли идея для игроков, как аудитория её примет, то всё, слился в коммерцию.
Если взять обычный пул (бильярд), то как изменится игра, если станет можно предсказывать будущее? Для многих людей суть пула сводится к тому что надо прицелиться, вот как-нибудь так положить удар, а потом ах, вот тут немножко промахнулся, вот тут должно было быть совсем иначе, но как же мне повезло, что он всё равно залетел в лузу.
В этой игре (здесь нету луз, потому что я их не планировал добавлять в прототипе) зеленый квадрат - это стол, от его стенок шары отталкиваются, вот шары расставлены, вот это биток, а эти полупрозрачные шарики - это то, где шары будут после удара. И это не приблизительный результат - каждый кадр программа перепросчитывает физику на тысячу кадров вперед (а это вполне реально, так как компьютеры быстрые, а физика Ньютона простая) и просто выдаёт мне их конечное расположение.
Это довольно клёвый маленький прототип, но у меня возникло странное ощущение - когда ударяешь шарики и (вау!) они действительно прикатываются туда, куда должны. Это кажется очень странным, иногда попадаются такие ситуации, что не совсем понимаешь как они окажутся там. Вот как этот синий туда придёт? А! Он оттолкнётся от пролетающего мимо него красного и вот оно. Но это вовсе не то, чего я хотел от этой игры. Когда я делал этот прототип, я надеялся превратить пул в стратегическую игру. Ведь всё это прицеливание делается за игрока, а значит он сможет заняться тем, что делают профессиональные игроки - например выбирать такой удар, чтобы не подставлять шаров сопернику и т.д. Это не сработало, потому что смотрите - я просто поворачиваюсь, а шары носятся по столу как сумасшедшие и человек не может всё это сразу себе представить (я пробовал отрисовывать пути - это всё равно не помогло), и планированию это совсем не помогает. Потом я добавил вот такой режим, позволяющий изменять направление удара совсем по чуть-чуть. И вот посмотрите, при этом шарики всё равно начинают танцевать вокруг друг дружки. И как из этого вообще делать игру? Я не знаю. Не знал тогда и не знаю до сих пор. Но я смог увидеть то, чего не видел в играх, в которые играл до этого, может быть я смогу это использовать где-то ещё. Да и вообще я многому научился. И хотя игры, в которую смогли бы играть другие, не вышло, это был отличный опыт.
Ну вот же, он сам и подтверждает мои слова: нужно писать правильный код. Который легко читаем и легко модифицируется.
То есть, пишите чистый, правильный код. Читаемый и простой.
Но не занудствуйте и не ставьте его во главе стола!
Зависит от того, насколько долго планируются работы над игрой. Если проект на два дня, то о качестве кода можно не заботиться. А если планируешь переделывать его месяцами, то раздолбайское написание его вначале украдёт твоё время потом: будешь разбираться в непонятно написанном коде.
Любой код через пару месяцев покажется непонятным и плохим.
Значит, ты не умеешь/ленишься его писать чисто и понятно.
Я вот ковырялся недавно в своём прошлогоднем движке. Всё ясно и чётко.
Спасибо за перевод, содержательно.
Он предлагает не коцентрироваться на коде и его производительности, т.к. это не самоцель. Всегда можно проитесь профайлером или сесть и отрефакторить особо путанные места.
Не стоит драматизировать, если реализация некоторой идеи не оправдывает ожиданий, то смысла над этой идеей корпеть никакого, да и не в этом был его посыл. Он говорит, что стоит по быстрому сляпать прототип и оценить, есть ли ризон серьезно углубляться в реализацию и дальнейшие развитие.
P.S. Откуда столько желчи ?
Потому что дядя Блоу продвигает коммерческое создание игры. Это означает рассчёт на популярность. По моему, пусть катится со своей коммерцией к чёрту с гамина. :)
---
Ну, а про код он просто чушь ляпнул. Уж извини за правду. Писать обязательно нужно хороший код: чтобы ты сам его легко понимал, и легко модифицировал.
Впрочем, я своё мнение не навязываю: можете писать код наспех, а потом тратить часы, чтобы разгребать его, когда потребуется что-то изменить в нём или доработать.
Плох тот андеграунд, который не мечтает стать мейнстримом. Писать стихи в стол занятие весьма странное, да и признание это необязательно денежный профит.
Имелось ввиду не фанатичный подход к этому самому коду, т.к., повторюсь, это не самоцель. Цитируя пост
Тогда почему на гамине нет этого мейнстрима? Где дота, где гта5? :)
Если хотим стать мейнстримом, то какого чёрта мы не про него говорим тут? Гоу в доту!
Braid вполне можно назвать мейнстримом, да и готовящийся The Witness обещает быть шикарным. Будто признание продукта массами и ореиентирование на его успех и качество, есть что-то крайне негативное, ей-богу.
Как будто в гта5 и в весёлой ферме есть что-то негативное, ей богу.
Лучше бы по существу.
Я по существу. Если мы все, по твоим словам, хотим коммерции и популярности, логично видеть тут не только Брейд, но и Гта5, и Доту.
Ну тогда еще нужно привести какой-нибудь Hotline Miami, Osmos или Audiosurf.
Боюсь, подобного я не говорил.
А вот это "Плох тот андеграунд, который не мечтает стать мейнстримом".
Значит, плох твой Брейд. До гта5 пока далеко. :)
Это цитата. Да и Braid он не писал в стол.
В плане качества, думаю, очень даже близко.
Речь о том, что если любой(!) автор хочет стать мейнстримом, (по твоим словам), то давайте ориентироваться на мейнстрим. На гта. :)
Почему вы пишите только монструозные игры разрабатываемые серьезными компаниями, я уже привел выше Hotline Miami, Osmos, Audiosurf, etc. - хороший ориентир.
Никто не откажется от признания и успеха своего детища.
Потому, что три твои игры выше я не знаю. Значит, это какие-то малоизвестные поделки. Я уверен, никто из моих знакомых в реале твои названия также не знает. А про гта5 знают все.
Надо понимать, что тут, на гамине, такая узкая тусовка, где знают про инди. В среде обычной молодёжи о них никто и не слышал. Даже про майнкрафт редко кто слышал, какие уж там твои майами.
Однако, шансы успеха микроскопичны. И 98% авторов будут лишь разочарованы, если погонятся за славой и признанием.
Так что, если ты автор игр, не советую тебе думать о славе. Будешь разочарован.
- ты, Сергей, себя к обычной молодёжи не причисляй :) Как минимум, ты уже не молодёжь. А то, что ты пишешь, это неправда. Достаточно людей, которые играют в Майнкрафт (тут вообще смешно, по твоей логике, видимо, свои миллионы Нотч насосал у богатого папика что ли?), Монако, Майями Хотлайн. При этом они вообще не задумываются, инди это, хуинди.
Просто мы на гамине. Тут все вращаются в среде инди игр. Вот отсюда ваше удивление и непонимание.
При чём тут Гамин :) У меня есть знакомые, которые с удовольствием играли в Braid, ещё когда он вышел в 2009-ом, но про Геймин они и слыхом не слыхивали. И про инди-игры толком тоже. А игра была популярна тогда весьма.
При том, что это твой круг общения.
И? =)
В круге общения гамина слышали о "майнкрафте", ориентируются на него.
В другом круге общения могли точно так же слышать о "Счастливом фермере". Который, кстати, в России имеет больше игроков.
Ты сидишь в своём гамин-инди-мирке, и не знаешь, что в мире не особо то про инди игры слышали.
Хахаха, спасибо, посмеялся! С новым годом тебя, пусть Дед Мороз тебе под ёлку положит широкий кругозор :D
И это правильно, в Новый Год самое время смеяться.
Тебя тоже с праздником!
С добрым утром. Даже на презентациях консолей нового поколения рассказывали об инди-играх, которые на них будут и поддержке инди-разработчиков. Но вы можете продолжать думать, что про них знают только на гамине.
Audiosurf победил в номинации «Инди года» (2008) журнала Игромания. Майами не слабо так продавался в стиме. К примеру. Инди это не обязательно никому неизвестное слабое поделие. За последнии годы они заваевывают огромную популярность в массах.
Вы живете в абсолютном вакууме. Нужно совсем не интересоваться игровой индустрией или предпочитать играм, например, кино/книги, чтобы не знать парочку успешных инди проектов.
Hotline Miami и Audiosurf многие знают, не слышав ни разу слова "инди". А уж про майнкрафт вообще смешно, они с ГТА 5 в одной весовой категории
Чушь.
Если реализовывать все идеи игор, которые появляются у даже весьма посредственного геймдизайнера, то не хватит жизни.
Хорошие ГД вообще генерируют тонны идей и их нужно как-то фильтровать. Ресурсы на изготовление всё же ограниченны, независимо от того, коммерческая это разработка или тру-авторское-инди-не-для-всех-и-конечно-уж-не-для-вас-быдло.
Про код всё верно Блоу говорит, хотя и слегка копетанит:
а) не оптимизируй там, где это уже не нужно.
б) Не делай фабрики фабрик фабрик молотков.
Не оптимизируй там, где это ЕЩЁ не нужно.
Каждый раз, когда я читаю твои посты, я думаю, что стать более нарциссичным невозможно. Каждый раз я ошибаюсь. Bravissimo!
Оу, у меня поклонник. :)
Нет, просто твои посты слегка режут мне глаз. А так, как я не имею привычки включать игнор (это вообще возможно на гамине?), то получается, что я их чисто случайно читаю.
Да ладно, отмазывайся теперь. :)
По-мне так, любую идею можно сделать хорошей. И классную идею с "успехом" можно запороть, как бы абсурдно сие не звучало.
К идее ещё подход верный нужно найти, понять, как её применить, вырастить.
Не любую. Конкретный разработчик в конкретный момент времени из нескольких имеющихся у него идей должен выбрать ту, которая вырастет и будет уместна более других. По мне так девять из десяти ведут к пустой трате времени в тщательной реализации бесперспективняка.
Если ты авторское инди, то это не волнует тебя. А важно лишь в фан тебе эту идею пилить, или не в фан.
А если рассуждаешь о перспективах, то ты коммерческий автор. Со всеми вытекающими.
А если тебе хочется просто сделать качественную, хорошую игру? И если понимаешь, что как не крутись, получится какашка?
Уже не инди?
По моему, эта мотивация присуща скорее коммерческим играм. Ведь, что такое "хорошая игра"? Та, которая стала популярной, принесла денег.
Я не говорю, что это плохая мотивация. Просто, немного из другой области.
Вовсе нет.
Я бы даже сказал, что такая мотивация присуща большинству людей, которые захотели что-то сделать.
Напомню, речь о "сделать хорошую==(в моей трактовке)популярную игру". Думаю, ты не прав.
Если ты делаешь игры, как хобби, то мотив другой: чтобы делать было тебе лично в фан. Ну, я так по себе говорю. Может, кто-то и хочет повторить успех майнкрафта, не знаю. Можно только посочувствовать таким авторам.
не нравиться мне эта твоя трактовка ...
(с новым годом)
=)
Тут ещё такой момент: 99% идей в играх старые. В случае Брейда получилось придумать кое что новое, да. Но обычно перед разработчиком такого вопроса и не стоит. Просто потому, что у него нет своих новых идей.
У него есть идеи реализации и комбинации старых идей. :)
Так никто же не запрещает оставить заготовленные мысли или наработки и закончить их и развить или трансформировать позже во что-то большее. Нету такого перечня на ближайшие месяцы, после которого разработчик обязан искать новые идеи и к прошлому ни-ни.
Также никто не мешает посетить все места с увиденных постеров или открыток. :) Кроме семьи, ограниченных ресурсов и... смерти, конечно.
Это менее продуктивно (ИМХО) и намного дороже (думаю, уже не только ИМХО).
Я тоже считаю, что судить о потенциале идеи по наспех собранному прототипу не самое лучше решение. Любую блестящую идею можно испортить плохой реализацией.
Так потенциал же, а не реализация.
Такого я услышать от этого товарища никак не ожидал.
Вообще бесспорно.
Отличный пост.
Не ради спора. Просто сделай пару-пяток долгосрочных проектов до конца. До полировки и блеска. И ты сам увидишь, что важнее: угодить потенциальному игроку, или твой личный фан.
Я цитирую "А нужно для Б" и говорю "отлично". Ты говоришь "что важнее: В или Г?". А если мой личный фан это вообще прототипировать и отбрасывать плохие идеи, то есть не быть продуктивным, а просто играться в геймдевелопера, а хорошие идеи можно просто признать хорошими, да и ладно? (это вообще-то слабо похоже на правду, но вопрос задаю всерьёз)
Извини, я оставил старые споры в старом году.
Но ты же и сам остался в старом году.Вообще-то такого спора не было ранее, а я лишь задал вопрос, не призывая спорить.
Отвечай давай короче, один вопрос-то всего.
Тогда будешь сам себя обманывать, думая, что собрал ценные знания. Потому что хорошая игра обычно хороша не благодаря новым идеям. А благодаря тщательной реализации.
Брейд здесь почти исключение, потому что он настолько переработал уже существующую на тот момент идею возврата времени, что она заиграла новыми красками. Однако, большинство игр состоит из старых идей. И успех игры определяется обычно не новизною идей, а шлифовкой их и качеством.
Холиварить не буду, можно не отвечать. :)
Ценные знания и фан нередко есть кардинально разные вещи, это не в кассу.
Ладно, хорош болтать, в самом деле. Кто будет делать игры-то...
А что товарищ Блоу сейчас делает? Со времени Брейда прошло уже сколько, пара лет? Больше?
Он делает вот это
http://the-witness.net/
скоро будет на консолях нового поколения
Гугл переводчик, переспав с википедией, говорит вот что про эту игру:
Поясните кто-нибудь, общественность положительно оценила геймплей, или отрицательно?
Общественность, это ты. Погляди скриншоты, поскипай трейлеры и отреагируй. Мне, вот, красочки очень нравятся, а загадки в мире, где есть только я, не очень.
Графон, конечно, здоровский. Качество, краски, текстуры, всё отлично. Но ни в одном обзоре я не увидел геймплей.
Вот, я и спрашиваю. Может, кто-то его увидел?
может это секрет=)
Угу, Блоу, возможно, всю полноту геймплея держит в секрете.
Но я бы счёл это плохим признаком. Обычно то самое лучшее в проекте стараются показать. Чтобы заинтересовать игроков.
поживём увидем... =)
Самую малость промахнулся с прогнозом.
Джони молодец, очень уважаю. Смотрел эти видео раньше и не только эти, очень познавательно. Жду The Witness...
Блоу совсем мудаком стал, скатился в сраное коммерческое говно:( РИП, одним классным разрабом меньше стало.
Про говнокод не согласен. То бишь я понимаю, что поганым капиталистам главное продать свой продукт и поэтому они делают как можно быстрей и программируют в стиле "спагетти-код". А пользователи потом страдать должны:(
В остальном в принципе правильные вещи. Но это не отменяет того факта, что Блоу скатился в какашку:)
З.Ы. И да, новая игра очень странная. Но я думаю, чтобы не получилось в итоге, куча типа_вумных_журналистов наставит пятерки.
Мне больше нравится, что стоит только хоть кому-то сделать одну успешную игру, и тут же начинаются лекции, туториалы, основы геймдизайна и прочая муть.
Что-то от Сакагучи я не слышал ничего про основы геймдизайна, и Миямото тоже молчит.
Люто, бешенно плюсую! Тоже это забавляет. Некоторые в геймдеве по 20 лет сидят и скромно молчат. А выскочки всегда лезут на трибуны:(
Хотя это применительно не только к геймдеву, а вообще к жизни:( Говорю ж мудаки...
Человек, добившись успеха, делится опытом, помогает другим, а ему в ответ "Выскочка! Мудак!".
Как это... по-русски.
Ну, мы русские. Нам японские традиции ближе, чем сверх-гордыня западной цивилизации.
Как меня забавят эти фразы про успех:))) То, что он толкнул хомячкам игрушку, ничего не говрит. А Абрамович или Прохоров по капиталистическим показателям ещё больше добились успеха. Это ж не значит, что все должны присмыкаться перед ними. Это на Западе мода подлизывать сильным мира сего, а у нас простой русский мужик на хую вертел всех этих буржуев:))
У тебя какая-то каша в голове.
Абрамович, пресмыкаться, сильные мира сего. Про что вообще несет.
А кто под Блоу пресмыкается? Посмотреть пару лекций значит пресмыкаться? Толстотааа, да и вроде это простого русского весь мир на хую нынче вертел, а не иначе.
Люди, которых ты назвал, работают на уровне транскорпораций, им с какими-то любителями контактировать вообще не комильфо.
Внутри компании наверняка какие-нибудь тренинги ведут. Там вообще другая девелоперская культура, корпоративный дух, конкуренция, секретами успеха в открытую никто делиться не будет, тем более не пойми с кем.
Думаю, что не стоит так упрощать.
Пиксель тоже что-то все больше отмалчивается.
Хорошие лекции, интересно послушать же. Что-то я не припомню, чтобы в Braid'e страдал где-то. Да и его "спагетти-код" думаю даст фору выдроченому коду большинства современных хуинди разрабов :)