d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Русский > Кухня геймдева. Инсайд блог.
Add Reply New Topic New Poll
Member
Posts: 17,338
Joined: Oct 3 2006
Gold: 82,640.00
Nov 4 2014 06:47am
Изначально хотел просто сделать коммент на пост Ромы, но потом решил выложить целый топик и поделиться своими соображениями. Было бы интересно почитать это лет через десять, и сравнить, что изменилось.
Кому неинтересно - не страшно, проходите мимо.

Quote
Программисты работающие на игроиздателей - одни из худших среди программистов. Это никого не заботит (или наоборот заботит, так как это двигает продажи компьютерного железа), и поэтому так много немультиплатформенных игр, с максимально неоптимизированными движками.

Не. Все гораздо печальнее.

Делают немультиплатформенные игры, потому что так дешевле. Не только разработка, но и поддержка одного Мака отнимает прорву человекочасов, которые в наше время в 99% никогда не окупятся. Компиляцией проекта под другую платформу никогда не отделаешься, если проект сложнее "Веселой фермы". Простое портирование - это миф. Грубо говоря, поддержка мультиплатформенности - это пиар ход. Особенно это заметно на примере Valve с Линуксом, ориентироваться на который сейчас - прямой путь к банкротству для не-топ-компаний. Но Гейб может себе позволить; исключительно в стратегических целях компании (занять нишу, которая может когда-нибудь выстрелит. а может и нет. обычное инвестирование).



Используют неоптимизированные движки, потому что так гораздо дешевле. Да, все существующие движки сильно неоптимизированы (поддержка производителей железа? запросто. но скорее поддержка огромной кучи технологий и самых разнообразных инструментов на все случаи жизни). Чтобы сделать свой движок, заточенный на определенную игру с определенным функционалом, нужны годы разработок, которые вообще никогда не окупятся, если вы не компания с миллиардным оборотом. Blizzard, Bethesda и прочие гиганты, которые могут себе это позволить, до сих пор используют движки, основа которых написана более десяти лет назад. Т.е. даже самые богатые студии делают множество игр разных жанров в течении целой эпохи на одном и том же, общем движке, закрывая глаза на оптимизацию. Что уж говорить про других. CryEngine, UE3-4, Unity правят миром, с альтернативой в самопальные поделки, сейчас с этим ничего не поделаешь.



Разработка игр в больших конторах действительно производится программистами ужасающей квалификации. Причина та же, деньги. Но дело не в зарплатах, которые составляют ничтожный процент по сравнению с затратами на продвижение. Дело во взаимозаменяемости. Серьезные игры делаются по несколько лет. За это время через компанию проходят толпы специалистов, увольняясь по самым разным причинам и передавая дела новоприбывшим. Если в команду брать высококвалифицированных работников, которые будут делать продукт по-своему (быстро и качественно, но непонятно и сложно), а не "как принято" (медленно и отстойно, но просто и ясно), то придется обучать новичков внутренним порядкам, что повлечет за собой затягивание разработки на еще большие годы, в итоге приводя к закрытию проекта. Поэтому разработка идет общепринятыми методами, подходящими для среднестатистического быдлокодера, которого можно без проблем заменить на другого с минимальными затратами. Отсюда и катастрофические фейлы и в играх Blizzard и в продуктах всяких Яндексов (проблема всех больших компаний, не только игровых).

Время отмены транзакции реальных денег считается на клиенте, не проверяясь на сервере (привет, Diablo 3 аук), а uninstaller Яндекс-диска удаляет папку Windows, такие вот современные примеры. Зато дешево, взаимозаменяемо и по мировым стандартам.

Так же необходимо отметить, что хорошие программисты с годами устают, теряют энтузиазм и становятся в лучшем случае архитекторами, никак не влияющими на конечное качество продукта. В худшем - уходят в менеджеры, разница в зарплатах ощутима. Вариант нанять хороших программистов, которые останутся кодерами компании в течение 10 лет - утопия.

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



Как это изменить? Никак. Люди будут и дальше играть в эксклюзивы одной платформы, время от времени меняя железо и привыкая к багам. Конторы и дальше буду выпускать шлак, продаваемый под натиском мощнейшего пиара. Ситуация не изменится, пока не изменится все общество и не только игровое. Должна измениться современная капиталистическая модель мира, вытеснив культуру бездумного потребительства и покорного рабского сознания современного человечества.

2014-11-04.

This post was edited by AjaxVS on Nov 4 2014 06:55am
Member
Posts: 14,313
Joined: Jun 3 2007
Gold: 5,850.00
Nov 4 2014 07:32am
Member
Posts: 16,865
Joined: Feb 12 2007
Gold: 20.00
Warn: 10%
Nov 4 2014 08:03am
Раскажи подробнее про то, что такого должно быть в игре, что сделает её портирование нерентабельным? навороченная игра обязательно должна лезть глубоко в кишки ОС, чтобы быть навороченной, или дело в багах разных ОС, в которых надо разбираться и которые надо поддерживать?
Member
Posts: 17,338
Joined: Oct 3 2006
Gold: 82,640.00
Nov 4 2014 09:52am
Quote (guMKa @ 4 Nov 2014 15:32)
http://www.quickmeme.com/img/f0/f02c9852b21e3789bd44ffef4604698ad1f79036107ce9466f1603eb3d23f8c5.jpg

Именно, в самую точку :)

Quote (RoOme @ 4 Nov 2014 16:03)
Раскажи подробнее про то, что такого должно быть в игре, что сделает её портирование нерентабельным? навороченная игра обязательно должна лезть глубоко в кишки ОС, чтобы быть навороченной, или дело в багах разных ОС, в которых надо разбираться и которые надо поддерживать?

Скорее второе. Обширная тема.
Если "лезть в кишки" каждой поддерживаемой ОС, то счет пойдет не на годы, а на десятки лет.
Обычно используются кроссплатформенные движки с внутренними багами, багами библиотек сторонних производителей и багами непосредственно ОС.

Баги есть на всех слоях кода, и за ними всеми нужно следить. Выходит новая версия движка/библиотеки/ОС - фиксятся старые баги, но и добавляются новые. Все это нужно прогнать через тестирование (не только юнит, типа assert(2+2) == 4, но и функциональное), занимающее огромную кучу времени. Те же близзы так долго тестируют свои патчи из-за поддержки мака (хотя, подозреваю, и на бюрократию уходит много времени).

Недавние примеры:
# 1 (Баги на уровне закрытого движка). Кроссплатформенная технология, минимальные затраты на портирование. Проект работает, все ок. Выходит новая версия с обновлением библиотек - бамц! - пропадает звук на некоторых устройствах. Тестирование проходит без ошибок, код один и тот же, безукоризненно верный. На Windows все отлично, на планшетах звука нет. Пока разбирался, лепил костыли - вышла новая версия, обновил - звук появился.
# 2 (Баги на уровне открытого фреймворка). Тоже кроссплатформа. Обновление фреймворка - на всех мобилках поехал текст. Банальная причина, неправильная обработка DPI.
# 3 (Баги на уровне языка). Не какого-то захолустного, самого Java. Полная жесть, самая стандартная функция Double.parseDouble() могла бросить исключение. Только на Android. Занавес.
# 4 (Баги на уровне ОС). Ну тут достаточно открыть историю обновлений любой ОС, примеров тьма.

Вот за всеми этими багами приходится следить, и чем меньше прибыли дают пользователи ОС, тем невыгоднее их поддерживать. Основное узкое горлышко - баги движков, на которые постоянно надо накладывать костыли от обновления к обновлению.
Причем если сделать небольшой проект за один раз, зашить все библиотеки с костылями, выпустить релиз и забить - кроссплатформа прибыль даст в 95%. Но такого не бывает, всегда есть куча итераций производства, часто бывают изменения после альфа-теста плюс обновления и т.д. Выходит долго и невыгодно.
Member
Posts: 28,459
Joined: Jan 6 2006
Gold: 463.55
Nov 4 2014 11:27am
хз, не стоит это того

есть законы рынка и недалекий народ, который схавает любое говно за свои же деньги - вот и вся проблема

в айти еще не все так печально, как в автомобилестроении
вот там совсем пиздец, даже если ты щаришь в авто - у тебя нет выбора - ты либо покупаешь говно, либо нет


старые японцы и немцы ездят по 10-20 лет.. не, ну ок, я понимаю, рынок, хуе-мое, нельзя такие надежные тачки делать нынче, нужны рабочие места и т.п.

но тачка за 5 сука лямов, которая на 100к пробега запросто может крякнуть на перебор коробки - это печально.. движки ходят по 200к и пизда, покупай новый, плати бабло снова и снова
и строители спецом закладывают такую надежность
пруф
http://www.youtube.com/watch?v=NHpOEPT0VtQ
некоторые еще норм, типа киа, которые дают 5 лет гарантии - это охуенно, кстати.. но киа одна, а остальных то много

а эти айфоны, которые выходят каждый год новые


кстати, смешно, но EA уже много лет так работают))) бабла сшибают я ебал
Member
Posts: 11,903
Joined: Mar 4 2006
Gold: 6.50
Warn: 10%
Nov 4 2014 03:01pm
кросс платформа богохульство
чтоб вам найтон дрейк по ночам снился)
Member
Posts: 14,265
Joined: Feb 11 2007
Gold: 0.37
Nov 4 2014 03:44pm
Diablo 2 reset скоро?
Поиграть хочу, побегать,монстров поубивать!
Go Back To Русский Topic List
Add Reply New Topic New Poll