Gamedev Артемий Леонов
24 908

«Грязные» приёмы разработчиков игр

Невидимые белки и контроллер, который на самом деле не разряжался.

В закладки

Разработчики игр поделились с порталом Gamasutra историями о самых «грязных» приёмах, к которым им доводилось прибегать. В их рассказах немало интересного — иногда в борьбе с неуловимыми багами и сжатыми сроками приходится по полной задействовать креативное мышление.

Фальшивая батарея

Игра Super Time Force использовала почти всю доступную память Xbox 360. Из-за функции перемотки времени игре приходилось сохранять информацию обо всех внутриигровых объектах — врагах, пулях, платформах, взрывах, — в каждый отдельный момент времени.

Выяснилось, что если игрок будет достаточно быстро нажимать на все кнопки контроллера в течение определённого времени, память будет исчерпана. Как вспоминает Кеннет Йонг, работавший над Super Time Force, разработчики решили ничего не исправлять, и применили хитрость: теперь игра отслеживала «хаотичное» нажатие кнопок и притворялась, что он нечаянно нажал на кнопку перемотки времени. Ничего не подозревающий игрок отправлялся назад во времени, а игра могла начать запоминать его действия заново.

Но вскоре разработчики столкнулись с новым багом — на одном из уровней было такое большое количество объектов, что при определённом количестве произведённых игроком выстрелов и взрывов память всё равно заканчивалась. С этой проблемой разобрались ещё более простым способом— когда память приближалась к лимиту, игра вставала на паузу, а на экране появлялась надпись «низкий заряд батареи». Затем игра перенаправляла игрока на экран выбора уровней.

Нет, ваш контроллер не разряжался. Да, мы никогда об этом никому не рассказывали. Да, наша игра прошла контроль качества.

Кеннет Йонг
технический директор Capy Games

Невидимые белки

Геймдизайнер Артур Бруно вспоминает о проблеме, с которой он столкнулся при создании Titan Quest. Система игры не позволяла устанавливать задержку для действия — если какой-то триггер активировался, то действие должно было произойти немедленно, а не через пять или десять секунд.

С этой проблемой разработчикам помог справиться тестер, подключившийся к процессу на финальной стадии разработки. Он догадался, что существует способ обойти это ограничение — длительность анимации.

В качестве таймеров изобретательный тестер использовал белок. Он создал множество невидимых белок и расставил их по уровням — длительность их анимации позволяла рассчитывать задержку действия. На следующий проект его взяли уже в должности геймдизайнера.

Немного тишины

Кит Кайзершот, работавший над Mega Man Legacy Collection для 3DS, столкнулся с загадочным багом. При запуске игры первый звук, который слышал игрок, непременно искажался до неузнаваемости — вне зависимости от того, что это был за звук. Разработчики бились над этой проблемой очень долго и подходили к ней с самых разных сторон — не помогало ничего. Было очевидно, что в таком виде игру нельзя было выпускать. Кит, по его словам, «едва не сошёл с ума».

В конце концов Кит просто добавил в начало секунду тишины. Всё заработало.

Включите счётчик

Мартин Тёртон работал над версией гоночной игры для PS2 и PSP. В какой-то момент департамент контроля качества пожаловался на то, что машина реагировала на действия водителя немного по-другому — не так, как в других версиях игры. Разработчики долго пытались понять, в чём дело, но не преуспели. Им пришлось пригласить в офис тестера из департамента контроля качества — тот поиграл и неожиданно заявил, что этой проблемы он больше не замечает, хотя в той версии, в которую он играл раньше, она точно была.

Несколько недель разработчики бились над этой загадкой. Они пытались шаг за шагом убрать все различия между версией, которую они отправили на контроль качества и билдом для разработчиков, чтобы экспериментальным путём выяснить, что именно даёт такой эффект. Эксперимент привёл к неожиданному результату.

Выяснилось, что всё дело в счётчике FPS, который в версии для разработчиков располагался в углу экрана, а в финальной версии — отсутствовал. Со счётчиком кадров машина управлялась отлично, без счётчика — хуже.

Разработчики не могли поверить своим глазам, но всё было именно так. Они снова углубились в код в попытке обнаружить ошибку — но ничего не нашли. В самый последний момент, накануне дедлайна, было решено проверить — влияет ли расположение счётчика на экране на игровой процесс? Выяснилось, что нет, не влияет — главное, чтобы он просто был. В результате разработчики просто передвинули счётчик за край экрана — в таком виде игра и поступила в продажу.

Спасительная кнопка

В одной из игр для Android от студии Karaokulta тестеры нашли серьёзную проблему — после одной из катсцен игра вылетала. Геймдизайнер Марлон Рувалкаба Муноз рассказывает, что команда разработчиков потратила неделю, пытаясь понять, в чём причина — но всё было тщетно. Зато экспериментальным путём выяснилось, что если во время катсцены нажать на кнопку «назад», то вылета не произойдёт.

Время поджимало, и в качестве временной меры было принято решение добавить в катсцену невидимую кнопку «назад», которая нажималась сама собой по таймеру. Спустя шесть месяцев после релиза эта кнопка всё ещё там.

Мир остатков мостов

Рассказывая о работе над игрой Grim Dawn, Артур Бруно вспоминает, как на начальном этапе разработки, когда в команде ещё не было художника, он пользовался услугами фрилансеров, тратя личные сбережения. В частности, он заказал для игры модель деревянного моста с длинными досками, закруглёнными балками и железными шипами.

Вскоре понадобились новые элементы окружения — но художника и моделера в команде всё ещё не было, личных сбережений Артура уже не хватало, а его собственные навыки оставляли желать лучшего. В результате Бруно принял оригинальное решение — он разобрал мост на составные части и построил из них целый мир. Другие мосты, деревянные настилы, террасы, изгороди, виселицы, столы, знаки, крыши домов, кучи мусора — всё это было сделано из того самого моста. После успеха на Kickstarter многие из этих элементов удалось заменить на оригинальные, но большая часть, по словам Артура, всё ещё ведёт происхождение от того самого моста, заказанного у фрилансера.

#истории #фан

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Артемий Леонов", "author_type": "editor", "tags": ["\u0444\u0430\u043d","\u0438\u0441\u0442\u043e\u0440\u0438\u0438"], "comments": 87, "likes": 273, "favorites": 76, "is_advertisement": false, "subsite_label": "gamedev", "id": 13050, "is_wide": false, "is_ugc": false, "date": "Fri, 01 Dec 2017 10:47:00 +0300" }
{ "id": 13050, "author_id": 3792, "diff_limit": 1000, "urls": {"diff":"\/comments\/13050\/get","add":"\/comments\/13050\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/13050"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954 }

87 комментариев 87 комм.

Популярные

По порядку

Написать комментарий...
35

Классный материал, спасибо. Да, самые злые баги это когда "что-то не так", но никаких ошибок. Зато когда найдешь и пофиксишь - программистский оргазм.

Ответить
2

Петь на манер пиратской песни про бутылки, как я понимаю :)

Ответить
5

https://ru.wikipedia.org/wiki/99_%D0%B1%D1%83%D1%82%D1%8B%D0%BB%D0%BE%D0%BA_%D0%BF%D0%B8%D0%B2%D0%B0
Она не пиратская. Если вы ее узнали по Monkey Island - разработчики явно (то ли Шейфер, то ли Гилберт) ее любят, так как она встречалась потом в The Cave. И там как раз рассказчик исправлялся "99 бутылок пива на стене, ой, мы же на море, 99 бутылок рома на стене, 99 бутылок рома"

Ответить
21

Не соглашусь, самые злые - это когда "все так" но 3 раза в месяц, в дни, между которыми нет на первый взгляд никакой связи, все летит к хренам на 10% машин и работает у остальных.

Ответить
7

А вы жестоки, тут же дети! хД

Ответить
9

Звучит как передача костылей от более опытных товарищей, к неопытным. Про белок смешно. Надеюсь что правда )

Ответить
6

В вов невидимые кролики за заклинания отвечают, например. Так что распространённая практика. https://dtf.ru/3831-razrabotchik-world-of-warcraft-rasskazal-ob-ispolzovanii-v-igre-nevidimyh-krolikov

Ответить
2

Это две немного разных вещи, в вове - это контроллер для заклинаний, а здесь таймер. ТАЙМЕР ЧЕРЕЗ АНИМАЦИЮ.

Ответить
1

И то и то - костыль.

Ответить
1

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

Ответить
1

В третьем Варкрафте мапмейкеры тоже используют невидимых пехотинцев минимального размера для особых заклинаний)

Ответить
5

В модах для Готики невидимых мясных жуков, например, использовали.
Потому что для того, чтобы создать нормальный триггер, надо было править здоровенный файл мира, содержавший геометрию и прочее, а это и размер мода значительно увеличивало и возни добавляло.

Жука уменьшали, выставляли ему радиус восприятия побольше и сажали на вейпоинт с зацикленным расписанием, которое и проверяло условия срабатывания триггера. В отличии от нормального триггера, жука можно было динамически добавлять, удалять и перемещать по миру. Единственным недостатком было то, что он периодически пищал, сводя игроков с ума, потому что увидеть его они не могли :) Но и с этим справились, просто создав молчаливую модель жука, к слову даже это было гораздо проще, чем создать один триггер по-настоящему.

Ответить
3

Как программисту - мне это странно слышать )

Ответить
2

Чтобы добить окончательно — в скриптовом языке Готики вообще нет операторов цикла. Ни одного. Но есть 3 функции расписания, одна из которых вызывается, когда NPC входит в определенное состояние, вторая - когда выходит, а третья вызывается постоянно пока он находится в этом состоянии. Жуки еще и циклы позволяли организовывать :)

Ответить
0

оч смешно )) ну главное они сделали что хотели

Ответить
3

С белками жестко конечно. Про мегамен непонятно, как они не могли отследить этот звук и исправить проблему. Если на чужом движке делали, то ладно, но если на своем...

Ответить
2

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

Ответить
6

Чет смотрю, тут на DTF норма переводить в виде огрызков по половине оригинала? что эта статья, что про генерацию уровней недавняя.
Кому интересно на хабре более полные переводы.

Ответить
7

Полный перевод не всегда возможен, если нет разрешения. Потому что по идее это «пиратство» текста.

У нас были полные переводы, но мы от них как раз по этой причине отказались. А «Хабр» просто не парится.

Ответить
1

Понял, буду знать.

Ответить
0

Ого, интересно. Вот этому я удивлён, тем более, я понимаю если нет ссылки на источник, то ладно, но много людей ещё не знает английский, не говоря о других языках. А это считай бесплатная реклама и и благородный ликбез.

Ответить
3

С чего вы взяли, что это перевод? Есть такой формат "выжимка", когда мы рассказываем о самых важных (на наш взгляд) мыслях из чьего-то текста. На хабре тексты переводят полностью — тоже круто. Просто у нас разные форматы.

Ответить
2

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

Ответить
0

Полностью согласен. Да, выжимка круто для рядового читателя, но это сайт в первую очередь о разработке игр и игровой индустрии с точки зрения разработки. Знаю что уже давно на этот формат забили, но... Хотя почитать было интересно.

Ответить
0

Вы делаете выводы, не зная, о чём говорите)

Ответить
0

Я пришел на ресурс пару недель назад. Сказали что ресурс позиционирует себя как профессиональный в области гем дева.
Но я вижу что статьи, причем весьма интересные переводят не целиком, ссылаясь на какое то пиратство. (хотя по мне это просто лень переводить все)
При этом на не профильном ресурсе - хабре - эти статьи переводятся в полном объеме.
Так что я правильно сделал выводы предположил - это новостной тематический сайт, но не профессиональный.

Ответить
–14

C моста угарел, людей на энтузиазме пално, мог бы в той сфере найти когонибудь описав планы на будущее, желающих всегда до отвала

Ответить
21

Ага. И потратить денег на юриста чтобы заключить хороший договор на передачу прав.

Иначе когда игра выйдет "добровольный помощник" может потащить в суд в надежде на свой кусок пирога.

Ответить
–26

Значит создатель не творец и не идею воплощал, а меркантильный засранец. За упоминание в титрах или просто идеи ради, сделать ассеты, это не проблема, найди желающих сделать 1-2 модельки просто так, даже у нас не проблема, я сам такое делал, проект кудато заглох, но и мне как бы до фонаря, даже 1 день не потратил на это.

Ответить
11

Какой кошмар, автор вкладывает свои деньги и время в проект, и хочет заработать.
За упоминание в титрах или просто идеи ради, сделать ассеты, это не проблема,

Проблема, когда игра начинает хорошо зарабатывать. Тут начнут просить долю, а за жалобу на нарушение авторских прав Steam запросто игру уберет.

Ответить
–7

Вы слишком негативно смотрите на эти вещи. Не думаю что хоть один случай найдете где за примитивные ассеты 3дшники и текстурщики судились или чтото требовали, уровень вовлечения не тот. Я говорю, как человек вертящийся в этой сфере, подобного никогда не наблюдал, зато добровольное участие постоянно вижу. В общем, поизучайте эту сферу, все не так грустно, помощь найти можно.

Ответить
9

Зато есть случай, где обиженный композитор написал в стим, и игру сняли с продаж. Хотя там всё было законно, и существовал договор, по которому работа композитора переходит компании. Зачем рисковать?

Ответить
2

Там ещё веселее. Композитор сделал для субподрядчика, а субподрядчик его кинул (или недоплатил, уже не помню подробностей).

Между разработчиком и субподрядчиком всё четко было по документам, а вот конечный автор оказался недоволен.

Ответить
0

Это композитор считает, что ему не заплатили достаточно. Но это не возвращает ему права на музыку. И мне кажется, что насчёт субподрядчика вы что-то путаете, но это не так уж и важно.

Ответить
0

Возвращает. Если нарушено соглашение по передаче прав, значит права не передавали

Ответить
1

Отдельного соглашения по передаче прав не было. Просто в контракте о приёме на работу был пункт, что вся выполненная работа принадлежит нанимателю, что и так очевидно. А нарушение конктракта не обнуляет контракт в большинстве случаев. И уж точно он не обнуляется без соответствующего судебного решения. Возможно, в России другие законы, но обсуждаемый случай был в США.

Ответить
1

Искал эту историю, но забыл, что там был композитор, а не модельщик)

Ответить
–7

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

Ответить
9

Так зачем вообще заморачиваться и искать людей, объяснять им, давать ТЗ, проверять качество, если для демки можно все собрать из моста?
У меня был опыт работы с командой, когда у тебя нет ни кнута, ни пряника. Куча сил уходит просто на поддержание работы, и постоянно приходится жертвовать качеством и идти на компромиссы. В общем, нервно и отвлекает от действительно важного

Ответить
1

Вот соглашусь. У меня один проект так ушел в "заморозку". Т.к. занимался коиднгом, геймдизайном + ведением всей документации для остальной команды + проработкой с ними их задач на постановке и на приемке. В итоге просто стала запахиваться, билды стали реже выходить и команда сдулась за пару месяцев - даже до полноценного прототипа не добрались.

Второй который делаю практически все сам и в одного - уже гораздо дальше продвинулся к релизу - уже можно говорить об играбельной альфе.

Ответить
1

Добавлю, что когда цели и перспективы туманны, а мотивация пропадает (т.е. плюшки далеко впереди, а сейчас ничего нет), то начинаешь заниматься какой-то дипломатией вместо дела - уговариваешь, вдохновляешь, напоминаешь, ради чего все это
Опыт интересный, но все вылетит в трубу, если на тебе завязаны какие-то критичные процессы (как в вашем случае кодинг и геймдизайн) - однажды у самого может встать вопрос "зачем я трачу на это время и силы?"
Понятно, что в одиночку многое не сделать, но привлечение сторонних людей я бы откладывал до последнего. В идеале - когда появится, чем мотивировать

Ответить
5

Дружище, тебе типа 12 лет чтоль?

Ответить
–16

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

Ответить
0

Ну ты тут брызжишь своим юношеским максимализмом, упрекая людей, которые хотят получать деньги за свою работу. Тебя ничего не смущает тут?

Ответить
–10

7 лет я в этой сфере работаю, я говорю основываясь на своем опыте, кто тут еще брюзжит слюной

Ответить
7

Играть в игры после школы != работать в сфере игр

Ответить
20

Люди на энтузиазме отваливаются в самый неподходящий момент.

Ответить
–5

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

Ответить
4

Да что-то я когда искал по людям хотя-бы однотипные арты из их готовых баз для прототипа настолки, всё равно нихрена не нашёл. А тут за спасибо сядут, моделей нарисуют, в очередь становятся...

Ответить
4

В League of Legends многие заклинания и объекты на карте были сделаны (а то и досих пор) из миньонов. Например, чемпион Джейс ставил ворота, которые по сути являлись несколькими миньонами. И если оппонент применял к ним AOE заклинание, то эти невидимые миньоны умирали и игрок получал золото и опыт.

Вот здесь разработчик рассказывает об этом подробнее: https://www.reddit.com/r/leagueoflegends/comments/2ikh1o/azir_exp_bug_confirmed_on_bjergs_stream/cl340ay/

Ответить
1

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

Ответить
2

Хоть поставили бы "по наводке"

Ответить
9

Это не по наводке, это наш редакционный перевод. Совпало просто вот таким образом

Ответить
1

Про эмиттер в Unity тоже переведите тогда - классный пример :)

Ответить
–1

Отсутствие полировки кода - преступление. Хотелось бы увидеть в будущем суды над производителями плохих игр (а не только плохих товаров). Но вот в чем беда - такие суды невыгодны почти никому. Вы заходите в магазин и видите плохие товары, которые просто имеют или низкую цену или признаки обмана. Но если в зайду в магазин игр, то почти никогда не увижу подвох. Может ли refund в течение недели защитить пользователей ? А если это продукт для работы ? Большое ПО потребует и подписки и сотрудничества с разработчиками, потому что будет стоит дорого, а рисковать большими деньгами должны все партнеры иначе в такое сотрудничество никто не вложится.

Ответить
4

Отсутствие полировки автопрома - преступление. Хотелось бы увидеть в будущем суды над производителями плохих автомобилей (а не только плохих товаров). Но вот в чем беда - такие суды невыгодны почти никому. Вы заходите в магазин и видите плохие товары, которые просто имеют или низкую цену или признаки обмана. Но если в зайду в автосалон, то почти никогда не увижу подвох. Может ли refund в течение года защитить покупателей ? А если это продукт для работы ? Дорогой автомобиль потребует и подписки и сотрудничества с производителем, потому что будет стоит дорого, а рисковать большими деньгами должны все партнеры иначе в такое сотрудничество никто не вложится.

В принципе касается любых технически-сложных товаров. Большинству покупателей (те самые 95% "идиотов") интереснее купить сейчас и дешево, а не потом и дорого.

В части разработки ПО и игр, для качественного продукта (имхо) производственные бюджеты и сроки надо домножать в полтора-два раза минимум относительно того что творится сейчас.

Да, раньше когда не было интернета (или он был медленным) предъявлялись более высокие требования к качеству игр, особенно на консолях. Производитель (сони, нинтендо и другие) следили за качеством принимаемого продукта и давали "по шапке" разработчикам с неотлаженным продуктом.

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

Поэтому имеем то что есть и читаем отзывы других пользователей перед покупкой.

Ответить
0

Я сообщаю об ошибках в играх больше 10 раз в месяц, часто повторно. Но примерно половина из них так и остается не исправленными. А ведь это каждый раз не просто потеря времени, но и износ моего оборудования. Считаю, что некоторые ошибки должны исправляться обязательно, под угрозой судебного преследования, и без прикрытия лицензией о добровольном использовании. Деньги, вложенные покупателями, и "недополученные" должны начать представлять ценность для судебных делопроизводителей.

Ответить
4

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

А я считаю что должен быть мир во всём мире. И что с того. Производителю может быть пофиг на мнение отдельных потребителей пока они составляют минорную часть его аудитории (или вообще пофиг пока он является монополистов и конкурентов в ближайшее время не предвидится). Лицензией он себя защитил: "не нравится - иди к другому, если он есть".

Лично я знаю пару гадких багов в андроиде, которые живут минимум с 2015 года, отравляя жизнь разработчикам соответствующих областей. Всем пофиг.

Знаю штуки три бага в Unity3D, висящих около года. Всем пофиг. Продолжается разработка свистоперделок вместо фиксов. Приходится смириться и жить дальше.

Ответить
0

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

Ответить
2

то я запомню и разработчика и компанию

Очень скоро вы будете помнить всех разработчиков мира)

Ответить
3

1. Ваши багрепорты не читают. Такое возможно.
2. Багрепорты недостаточно точны (все сломалось!) или не могут воспроизвести ошибку.
3. Ошибку повторили и внесли ее в план на исправление, починят через полгода, когда дойдут руки до минорных багов.
4. Пишите не туда.

Ответить
0

Ах, если бы. Более того, эти баги видны всем, просто их игнорируют.
Один из типов багов - статические объекты не на своем месте : трава в воздухе, пузыри в воде над водой, лунки рыбы в небе, руда в деревьях.

Ответить
2

У этой игры есть сабреддит? Выкладывайте медиа материалы с багами туда. Иногда это срабатывает.

Ответить
2

+ раньше еще нельзя было выпустить патч к игре, особенно на консолях, один крупный баг - и уже напечатанную партию дисков/картриджей можно закапывать в пустыне.
Ну и технических ограничений стало меньше, не нужно слишком заморачиваться. Куча разработчиков, кто сейчас пишет игры, раньше бы в геймдев и не сунулись бы.

Ответить
1

Хотелось бы увидеть в будущем суды над производителями плохих игр

Так вы про игры или
А если это продукт для работы ?

про рабочее ПО?

Ответить
0

Насколько сильно ПО для производства игр отличается от самой игры ?
Когда игра сжигает ваше оборудование, вы будете долго задумываться об отличия игры от неигры ? А когда это сделает не игра ? А например браузер - это игровое ПО или нет ?
Игра - это просто продукт.

Ответить
0

Отличие в том, что серьезное ПО для работы обычно позволяет купить поддержку (ее обычно продают отдельно). И вот этот пункт выглядит у вас выглядит бредом
Большое ПО потребует и подписки и сотрудничества с разработчиками, потому что будет стоит дорого, а рисковать большими деньгами должны все партнеры иначе в такое сотрудничество никто не вложится.

Ответить
0

Тут имел ввиду то ПО, которое стоит дорого из-за небольшого распространения. Корпоративное, уникальное для конкретного производства, с непредсказуемым жизненным циклом или постоянно требующее ручных доработок и развития под отрасль. Дело в том, что даже поддержка такого ПО - большой риск для компании разработчиков. Например, ваше ПО может обслуживать уникальный порт в стране, где произойдет переворот, который вызовет упадок. Но позволить себе 100 портов для снижения рисков вы не можете, да вас и не пустят так доминировать на рынке.

Ответить
0

Ну а я говорю о том, что вы пишете о том, чего не знаете.
У корпоративного ПО есть все это:
Большое ПО потребует и подписки и сотрудничества с разработчиками

Ответить
0

Когда покупают корпоративное ПО, обычно отдельно можно купить поддержку. В соглашении будет оговорено даже время, в течение которого вы получите ответ на вопрос в поддержку.
Самые дорогие лицензии обычно позволяют даже попросить разработчиков подключиться к вашей системе для устранения проблемы (всякие обучения сотрудников, анализ процессов, помощь при внедрении и все такое даже не упоминаю - все есть за деньги).

Ответить
0

Какая то утопия.

Ответить
1

Когда у тебя отдел разработки состоит из любителей слоновьих фекалий...

Ответить
1

С белками классно)

Ответить
1

А потом из-за белок скрытные перемещения зависают или обсчеты ходов ...
Близзард рассказывали про такое же использование невидимых npc для реализации триггеров.

Ответить
1

Про белок вообще ржач =)

Ответить
1

Мне больше грим давн понравился. Душевно так. А что? Это ведь доски, а доски это строй материал)

Ответить
0

Вот прям чувствовал что не зря брал игру на старте)
Разработчики молодцы, на коленке такую годноту создать)

Ответить
1

вот еще из секретных костылей забавное:
https://alloder.pro/rupor/list/tainstvennyy-hischnik-ili-nechistaya-sila-r171/

Ответить
0

вас не смущает, что такая тема уже есть?

Ответить
0

Было же уже.

Ответить
0

Текст в некоторых местам отличается, поэтому можно оба прочитать.

Ответить
0

(промахнулся веткой)

Ответить
0

Познавательно, спасибо.

Ответить
0

про секунду тишины долго думали, я даже сначала ожидал другого решения, лол

Ответить
0

Я, вот, всерьёз считаю умение придумывать подобные «костыли» показателем высокой квалификации. А понимание, что лучше бы и без них вообще, так вообще отличной.

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Гейб Ньюэлл наконец-то анонсировал то,
чего все так долго ждали
Подписаться на push-уведомления