24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
(Неудачный) опыт создания web-инструментария для AAA-геймстудии
Начинали писать профессиональные крестовики с нулевым web-опытом. Тем не менее, осилили сделать инструментарий и зашипить 6 игр с его использованием. Insomniac Games, хуле.
Более 300 000 строк JS-кода
Постоянная боль из-за обновлений Chrome, которые ломают работоспособность. Было бы лучше если был выбран встраиваемый браузер типа CEF.
JS требует больше культуры и внимания, чем кресты
Производительность UI применимо к объемам данных AAA-игр не выдерживает никакой критики
В обычных веб-сайтах десятки сущностей, у них - десятки тысяч
Широко распространенные веб-контролы просто не подходят для профессионального применения (пикрелейтед)
Смешное — в браузере неизбежно появляется куча мусорных аддонов, которые ломают код (адблок добавляет 30 мс к каждому запросу, тогда как для выборки игровых данных нужно делать до тысячи), показывают баннеры/порнуху (пикрелейтед)
* Писали с 2010 (?) года. Недавно переписали все на крестах + Qt за 9 месяцев.
Как никак осилили написать и сделать работоспособным инструментарий, который больше и сложнее, чем средний JS-петух когда-либо увидит за свое существование.
>>1363047 (OP) Так что ты хочешь от языка и энвайромента, на котором самым сложным и продвинутым приложением считается текстовый редактор. JS - дно, способное только на отображение пары кнопочек.
но если уж и вправду создается большой инструмент для AAA-гейминга, то один из лучших способов сейчас (да и года 3-4 назад тоже) - это делать на шарпе на wpf wpf мощь
Нахуя они вообще решили пилить SPA когда у них очевиднейшее десктопное приложение? Только чтобы десятку петухов дизайнеров не "ебаться" с установкой. Могли бы меньше чем за десятую долю ресурсов нанять "Васю" чтобы бегал и петухам все настраивал, все бы только в выигрыше были в итоге.
>Wrong: You’re not in charge >Chrome team doesn’t care about your tools >Auto-updates will break everything >Constant source of downtime & panic >Random API changes, flash 0-day bugfixes, V8 regressions Такая сладкая обновление-обновленьеце боль, уровня https://www.youtube.com/watch?v=3spnGnavWFg
>>1363494 Так мы не пишем. У нас файлы .jsx и файлы .class.js и миксины, т.е. итоговый компонент будет объявлен вот такой строкой:
export class DialogWindow extends mixin(React.Component, MultipleSelectActionListeners, MultipleSelectEventHandlers, WS.Layout.Dialogs.MultipleSelectDialogBox) {}
Длинно, ага. Зато этот компонент печатается на экран одной строкой - везде, где будет нужен (ссылки на книги найдёте в JS-треде). И насколько я помню, в последних версиях Vue.js тоже ничего не надо конпелять.
>>1363501 >export class А что современные браузеры уже подхватывают всю эту дрисню, или в страницу встраивается компилятор чтобы компилять на клиенте (будто на странице установили майнер)?
А вот раскладки диалогов, т.е. файлы .jsx, где теги в треугольных скобках - там на страницу загружается компилятор, который подхватывает эти теги и создаёт из них JavaScript (но этот компилятор он же только один раз работает, чтобы заполнить константу "WS." или как угодно может быть названа, во время выполнения он уже не запускается).
1) Не вкуриваю что тут у них произошло 2) Лол как такое вообще возможно? 3) Сишники довели js-блядков до суицида 4) state of the art в it-найме - оочень хотим, но чего - не знаем
>>1363576 Нет, у нас админка. Та самая, над которой потешался >>1363083-анон выше по треду. ИЧСХ, он таки прав. Анимации, скроллинг и т.п. - этого я не умею, помню только, что для них есть jQuery.
>>1363553 Было пару раз брался поиграться и лениво был качать асеты но при этом все равно возникала легкая неудовлетворенность, все таки локально все хранить надежнее чем надеяться на дядечку, а телодвижений для этого - минимальное количество. Какими же надо быть отбитыми долбоебами чтобы творить такое в этой своей мега-йобе на сотни тыщ строк кода. Не удивительно что они там пять лет говно месили да так и не вымесили.
>>1363585 Была идея выдать на страницу заранее все формы и переключать им флажки видимости с помощью jQuery (или: Vue.js, Ember.js и добавьте там по своему вкусу), но отказались. Идём от обратного, создаём формы. А затем их печатаем. Ловил аццкую попаболь в процессе, не раз и не джва...
>>1364003 >Любой язык лишь инструмент Нет, конечно. Например, на SQL ты фотошоп не напишешь. Так и со скриптопарашей далеко не уехать, если нужна нормальная производительность.
>>1363961 Да-да, писали бы на сцях, все бы взлетело. Кроссплатформенный кутэ, строгие типы, решающие вопросы с тестами, профессиональные компоненты UI....
Весь успешный ААА мир юзает кресты и быстрейший луа для парсинга игровых данных, но одни долбоебы будут писать крестобляди тупые, а другие пытаться юзать джс
https://deplinenoise.wordpress.com/2017/03/03/slides-insomniacs-web-tools-postmortem/
Ключевые моменты:
Начинали писать профессиональные крестовики с нулевым web-опытом. Тем не менее, осилили сделать инструментарий и зашипить 6 игр с его использованием. Insomniac Games, хуле.
Более 300 000 строк JS-кода
Постоянная боль из-за обновлений Chrome, которые ломают работоспособность. Было бы лучше если был выбран встраиваемый браузер типа CEF.
JS требует больше культуры и внимания, чем кресты
Производительность UI применимо к объемам данных AAA-игр не выдерживает никакой критики
В обычных веб-сайтах десятки сущностей, у них - десятки тысяч
Широко распространенные веб-контролы просто не подходят для профессионального применения (пикрелейтед)
Смешное — в браузере неизбежно появляется куча мусорных аддонов, которые ломают код (адблок добавляет 30 мс к каждому запросу, тогда как для выборки игровых данных нужно делать до тысячи), показывают баннеры/порнуху (пикрелейтед)
* Писали с 2010 (?) года. Недавно переписали все на крестах + Qt за 9 месяцев.