|
Труд вопреки насмешкам
|
|
Что нужно, чтобы разрабатывать игру быстрее?11.05.2022, 15:49. Показов 9049. Ответов 88
Метки нет (Все метки)
У меня есть проект по созданию игры. Сначала я разрабатывал ее быстро - по версии каждый месяц. Но потом разработка резко замедлилась, несмотря на то, что количество контента на процент разработки было пересчитано не в большую, а наоборот, в меньшую сторону (ну, так бывает, изначальный расчет показался неверным, о верности текущего судить не берусь). Что я делаю для ускорения разработки:
1. Отказался от моделирования в пользу доступных в Интернете моделей и пакетов Free for the Month. 2. Регулярно произвожу разнообразные технические улучшения, позволяющие не выполнять одну и ту же работу множество раз. 3. Создал таблицу, в которую записываю все изменения, кроме исправления багов, и подсчитываю очки за них, зависящие от сложности и значимости. 4. Просматриваю старые темы по поводу каких-либо ошибок, вместо того, чтобы каждый раз создавать новую. 5. И многое другое, всего сходу и не вспомнить... Но несмотря на это, за полтора года игра разработана всего на 9%. Если это соотношение экстраполировать, получится, что на разработку всей игры уйдет не меньше 18 лет. Не хотелось бы положить всю взрослую жизнь на одну игру, не так ли? В слогане одной из компаний по разработке игр написано "новая игра каждый день". И это была не корпорация в стиле Ubisoft, а сравнительно небольшая и ничем не выдающаяся "фирмочка". Даже если предположить, что рекламный слоган в буквальном смысле "утрирует", каждой игрой занимается 20 работников (учитывая размер компании, больше вряд ли), MMORPG в 10 раз сложнее какого-нибудь шутера или квеста, а половина моего рабочего времени уходит на посторонние проекты, так и не достигающие реализации, получится, что я могу выпускать новую игру каждые 3 * 20 * 10 / 50% = 1200 дней, или чуть больше трех лет и трех месяцев, но никак не 18 лет. И это при предельных расчетах! Взяв более "реальные" числа - например, слоган преувеличивает в 2 раза, над профессиональной игрой работает 12-15 человек, разница в сложности в 5 раз и 40% времени, уходящего впустую - мы получим новый релиз каждые 8 месяцев. Или, может быть, с возрастанием количества "механизмов" для создания контента разработка будет идти все быстрее и быстрее? Ну так и количество врагов или предметов коррелирует с интегрированным показателем прогресса далеко не линейно - для сравнения, в момент 4% прогресса торговец продавал 3 предмета, в момент 8% - 13, а всего планируется несколько десятков или сотен торговцев с суммарным количеством предметов в десятки тысяч (вы угадали, многие будут повторяться). В любом случае, мне кажется, разработка моей игры замедлилась слишком сильно. И это при том, что я взял самый мощный из игровых движков - Unreal Engine. В чем причина? Может быть, у профессионалов есть какие-то особые программы, или какие-то расширения к движкам, которые не доступны публично, и которые ускоряют разработку? Ну я же не думаю, что профессионалы все поголовно намного быстрее двигают руками? Разумеется, такие есть, но вряд ли они задержатся на рабочем месте надолго, так как люди, у которых все "горит", очень неаккуратны и вспыльчивы. Может кто-то объяснить мне, что такое есть у профессионалов, что позволяет редко какой их игре быть в разработке больше года, и не позволяет мне разработать свою хотя бы за пять лет?
0
|
|
| 11.05.2022, 15:49 | |
|
Ответы с готовыми решениями:
88
Что нужно знать, чтобы написать сетевую игру Какое ПО нужно, чтобы разрабатывать WPF-приложения? С чего нужно начинать, чтобы полноценно научиться разрабатывать программы и игры |
|
Труд вопреки насмешкам
|
||
| 13.05.2022, 13:31 [ТС] | ||
|
1. Отказ перебирать коллекцию в цикле в пользу LINQ, который считаю киллер-фичей Шарпа. 2. Отказ создавать на каждый чих по классу в пользу out и кортежей. 3. Отказ от массивов в пользу списков. 4. Использую большие статические классы в качестве списков функций. 5. Активно использую pattern matching (оператор is), прежде всего для проверки типов, явное приведение стараюсь для определения подкласса не использовать, только в числах и char. Продолжать? Добавлено через 4 минуты Не по теме: Да, там эти главы короткие. Прочитал еще две. Какой-то поток сознания, а не книга...
1
|
||
|
Just Do It!
|
||||
| 13.05.2022, 13:37 | ||||
|
0
|
||||
|
Труд вопреки насмешкам
|
|
| 13.05.2022, 13:40 [ТС] | |
|
0
|
|
|
Just Do It!
|
|
| 13.05.2022, 13:43 | |
|
у Мартина & К. есть ещё и такая книжка:
Мартин Роберт К., Ньюкирк Джеймс В., Косс Роберт С. Быстрая разработка программ: принципы, примеры, практика. прямо так и называется, как по вашему сабжу: Быстрая разработка программ но эту я не читал и не знаю, что там и будет ли лично для меня сильно полезная, но в любом случае полезная будет)
0
|
|
|
Труд вопреки насмешкам
|
|
| 13.05.2022, 13:46 [ТС] | |
|
0
|
|
|
Just Do It!
|
||
| 13.05.2022, 13:47 | ||
|
есть ли у вас в коде интерфейсы? ну или применительно к терминологии C++: есть ли у вас в коде абстрактные классы ради полиморфизма? суть большинства наиболее полезных паттернов как правило всегда реализована на полиморфной фиче.
0
|
||
|
Труд вопреки насмешкам
|
||
| 13.05.2022, 14:41 [ТС] | ||
|
XLAT, получается, что эти крестики-нолики я написал быстро, а чтобы ими воспользоваться, потребовалось длительное время, правильно я понял? Ну, это из-за обстоятельств, что не обновил среду, а потом все сразу навалилось. Если брать диапазон 1-5, то я хоть на тройку тяну? Вы же спросили, за сколько я смогу написать, а не сделать готовым к массовому пользованию...
Добавлено через 26 минут XLAT, а вам, как я понял, нравятся Плюсы? А если не секрет, за что? Есть какая-то киллер-фича или просто потому, что привыкли?
0
|
||
|
Just Do It!
|
|||||
| 13.05.2022, 14:51 | |||||
|
и просто проблема чисто философская, можно ли считать если сама по себе игра это не только программирование и дизайн уровней, возможно, процент законченности игры должен измеряться в количестве проданных копий, но это неточно. у вас же есть движок, зачем это низкоуровневое кодирование? вы должны быть в курсе, что "преждевременная оптимизация" часто убивает проект. --- вот ещё важная цитата от Макконнелла. там есть очень важный момент, касаемо к проблеме низкой скорости разработки. Не по теме:
но, например, в питоне есть то, чего нет на С++ и это не языковые конструкции, а это уже куча готовых к использованию предметных библиотек, которые легко можно подключить. поэтому чтобы хорошо себя на них чувствовать, нужна уже иметь в голове порядок и самодисциплину)
0
|
|||||
|
Труд вопреки насмешкам
|
|
| 13.05.2022, 14:56 [ТС] | |
|
0
|
|
|
Труд вопреки насмешкам
|
||||
| 13.05.2022, 15:01 [ТС] | ||||
0
|
||||
|
Just Do It!
|
||
| 13.05.2022, 15:19 | ||
|
что в любом проекте можно выделить существенные свойства и не существенные. на не существенные можно забить. реализовывать только существенные.
0
|
||
|
Труд вопреки насмешкам
|
|
| 13.05.2022, 15:48 [ТС] | |
|
XLAT, а является ли нормальной такая особенность, встречающаяся в моих программах: мне постоянно приходится повторять однотипные действия вместо разработки новых фич: например, в линейке - расставлять индексы врагам и списки координат их возрождения после смерти - выбираются случайные координаты из этого списка, но только в пределах принадлежащим этому типу врагов, поэтому при добавлении новых типов врагов приходилось добавлять списки координат; или в языке программирования - однотипные алгоритмы создания, получения, установки и удаления переменной или свойства при добавлении нового типа; так вот, эти действия добавляют в мою работу страдания, и когда это уже становится невыносимым - например, количество однотипных действий переваливает за сотню - я нахожу способ их автоматизировать (как минимум частично). Программирование такое и есть, или можно пойти по менее мучительному пути?
0
|
|
|
Just Do It!
|
|||||||||
| 13.05.2022, 17:25 | |||||||||
|
всё программирование это про автоматизацию однотипных действий. пишите шаблоны. здесь что-то намутил как макет скелета консольной RTS: Кликните здесь для просмотра всего текста
тут легко добавить демона, тут все демоны в составе каждый в своей армии ...
примерно, как я сделал выше?
0
|
|||||||||
|
Труд вопреки насмешкам
|
|||||||
| 13.05.2022, 18:38 [ТС] | |||||||
0
|
|||||||
|
Just Do It!
|
|||||||
| 13.05.2022, 19:17 | |||||||
0
|
|||||||
|
Труд вопреки насмешкам
|
|
| 13.05.2022, 19:25 [ТС] | |
|
XLAT, а я не согласен. Ваш код устойчив только к добавлению врага, а новое свойство придется прописывать у всех врагов. А у меня добавление врагов обрабатывается автоматом, а новое свойство придется прописать всего три раза - в объявлениях, в Save и в Load. Это же лучше, чем неопределенно большое число раз, или неправда?
0
|
|
|
Just Do It!
|
||||||||
| 13.05.2022, 19:46 | ||||||||
класс этого врага нужно написать целиком!
0
|
||||||||
|
Труд вопреки насмешкам
|
|
| 13.05.2022, 20:06 [ТС] | |
|
XLAT, а что возразите против саботажа в виде new SL()? Лучше выкинуть интерфейс и сделать абстрактный класс Enemy с методами Load() и Save() (общие свойства) и абстрактными методами LoadSpecific() и SaveSpecific() (специфические свойства). Абстрактный класс хорош тем, что может содержать как абстрактные методы ("чистые виртуальные функции" в терминологии C++), так и конкретные.
1
|
|
| 13.05.2022, 20:06 | |
|
Что нужно знать, чтобы написать игру "Змейка"
Что нужно сделать, что бы ноутбук стал быстрее работать?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|