К основному контенту

Как не надо делать игры

Предыдущий мой пост был о компании X в целом. Теперь напишу к какому результату приводит такая организация на примере достаточно крупного проекта, в котором я один из двух программистов.
Итак что мы имеем:
  • Нет лида на протяжении всего проекта - одно это как пуля в лоб проекту
  • Как следствие что нет лида, нет системы управления проектом, нет работающего процесса разработки. Постоянные попытки улучшить и изобрести велосипед, тогда как в индустрии уже давно всё известно и работает. Эти попытки, помимо того что ни к чему не приводят, ещё отнимают время и нервы. Джира, редмайн, трелло, гуглодоки, таблицы разбросанные по свн-ну и никем не контролируемые. Постоянные переходы от одной системы к другой - всё это следствие отсутствия лида с самого начала проекта. 
  • Ядро, каркас, фундамент, архитектура (называйте как хотите) заложено студентом. Разработчики вынуждены его тянуть финала (кончины?) проекта. Переписывать не дают на протяжении всего проекта, обосновывая тем, что это не продано, это не продукт валью и т.д. В итоге многие куски работают так, что лучше их не трогать пока работают. Когда наконец, с большим трудом, выделили 7 дней на рефакторинг (хотя там недли 3 надо), было уже поздно, фундамент не меняют когда дом построен.
  • Разработка ведется полностью на луа ( хотя надо примерно 60% на с++, 40% на луа). Луа должна кастомизировать логику, а сама система должна быть на С++. С++ можно эффективно отлаживать. Эта основа была заложена нашим студентом, который уволился в самом начале (сразу после того как заложил основу).
  • Оладка на луа не доступна, комп тормозит (программисту дали комп со встроенной видяхой, которая не тянет ретиновскую графику). Время разработки увеличивается, недовольство тоже.
  • 2 программиста на протяжении всего проекта, когда надо минимум 4 для такого проекта
  • Нездоровая атмосфера и условия работы (об этом предыдущий пост) - работать в таких условиях выдерживают не многие ( как я писал в предыдущем посте, в среднем увольняется по программисту в месяц). 
  • Разработка ведется по принципу напредлагать контента и новых фичей заказчику, лишь бы он заплатил бабла. При этом фичи не продуманы и многие из них высосаны из пальца. Фичи не продуманы и в процессе реализации додумываются на ходу ( большая часть игры придумывается на ходу, что не допустимо для игры такой сложности). Например, придумали 10 хинтов для хиденобджекта. Потом начали придумывать хинты к хинтам, т.к. нифига не очевидно как работает каждый хинт из этой кучи. Короче, плохой дизайн. Сократили кол-во хинтов, когда я озвучил ситуацию.
Итого. Благодаря красивой графике, игра выглядит более менее нормально, но это только выглядит. О том как это работает под капотом знает только два программиста, но это мало кого волнует. Эти два программиста вставляют сцены и новые экраны и пишут контентный код. Архитектурные решения принимать некогда, гейм-дизайн придумывается на ходу, некоторые вещи переделываются по несколько раз. Ну и общий хаос, никто ничего не знает.

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

Комментарии

Популярные сообщения из этого блога

Редакторы для казуальных и независимых игр. Адаптация открытого непрофильного софта под нужды разработчика игр

Введение Часто инди-разработчики или разработчики казуальных игр сталкиваются с проблемой нехватки специализированных редакторов, инструментов, утилит и т.д. ( так называемого middleware ) для создания контента для своих игр. Пример такого контента - это уровни, сложные анимации, 2d монстры и техника, а также параметры настройки и конфигурации всего этого. Прописывать всё это вручную в текстовых, редакторах (или скажем xml-редакторах) это не всегда удобно. В самом деле не будешь же ручками прописывать координаты полигонов в двухмерном уровне. Или задавать цвет глаз в шестнадцатеричном коде в xml-файле описания эльфа. Обычно бывает сложно найти удовлетворяющий всем нуждам редактор или тулзу. Самые частые проблемы это: закрытый код недостаточные возможности для конкретно вашей игры (ограничения по редактированию) навязываемый api и библиотеки от создателей middleware Часто принимается решение писать свой собственный редактор и набор утилит, но такое решение не всегда раци

профессор Колба

Сейчас Ярило студия разрабатывает казуальную игру под рабочим названием "Профессор Колба и невероятная эпидемия". Я хотел бы немного рассказать о том что это будет за игра и как она разрабатывается. Сюжет незамысловат. Мир охватила эпидемия курино-свиного гриппа и только профессор Колба может остановить её. Для этого он сидит в своей лаборатории и проводит череду нескончаемых опытов по поиску вакцины. Игроку собственно и предстоит искать вакцину проводя опыты, оформленные в виде набора мини игр. Игра выполнена в юмористической, доброй и позитивной манере. Игрок сможет наслаждаться каждой минутой игрового процесса. Во всяком случае это наша цель, как разработчиков, и на это делается упор. Игрок не должен тратить время  и упорно пытаться пройти очередной уровень. В игре сложно проиграть, но соревновательный момент всё равно присутствует за счёт набора очков. Хороший игрок всегда наберет больше очков и будет на первом месте в общей таблице рекордов. А неопытный игрок просто

Портфолио

Копия моего резюме с  linkedin . Тут я подаю информацию более развернуто и в свободной форме. English resume Образование Санкт-Петербургский Политехнический Университет, факультет технической кибернетики, информационные системы и технологии. Одной технической строкой C++, C#, unity, java, many IDEs ( VS, idea, eclipse, etc.), lua, python, assembler, pascal, basic (VBA), windows, Nintendo DS, android, iOS, j2me, brew, porting games, opengl, directx, many libs experience (box2d, rapidxml, xpath, regexp, stl, boost, sdl, irrlicht, hge, etc.), build systems, my own libs, my own crossplatform engine, svn, hg, git, photoshop, illustrator, inkscape, 3d max (scripting for all that editors), FL studio. Личные качества Креативность ( имеется в виду фантазия, умение изобретать, разрабатывать концептуально новые решения ) Гибкость ( умение избавляться от привычек и принимать новое, если это нужно ) Последовательность в достижении цели Адекватность и справедливость ( как не удиви