39

Как я попал в мир геймдева ч.2

Продолжение рассказа


И так я нашёл вакансию работы по Unityи просто черканул туда резюме. Внезапно меня сразу пригласили на собеседование. Вопросы были вроде стандартные (предыдущий опыт, шейдерная разработка, опыт написание сетевого приложения? ...) и по началу люди, которые собеседовали меня, произвели впечатление таки понимающих. Как оказалось потом – нет.


По собеседованию было ясно что это будет пошаговая рпг от 3го лица с мультиплеерными аренами, рейтингами и тому прочее и всё это на Android на Unity3D. Срок разработки ориентировочно 6-7 месяцев. Хотя опыта именно игродела у меня официального не было, но до этого было 4 года работы в МТСе, хорошее знание баз данных, что также должно было плюсом для сетевой игры. В итоге так меня и взяли. Собеседовал меня Project Manager и Тех. Директор. Как оказалось позже – оба были отбитыми наглухо пиздоболами которые ничего не умеют и не знают, но умеют длительное время производить впечатление, что что то они знают и вообще очень важные люди. Если бы они имели реальный опыт серьёзного геймдева и хоть каким то боком относились к программированию, то меня скорее всего не взяли бы.


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

Как я попал в мир геймдева ч.2 Gamedev, Игры, Длиннопост, Разработка

Нууу ... мне не пофиг? Лиж бы платили. Но при чём тут такое к игроделу?

Провели меня на -1 этаж . (его окошко виднеется внизу здания, у его основания). Я пришёл в итоге через неделю после старта разработки, т.к. мне надо было время на увольнение с МТС. Состав команды на первый взгляд вышел таким:


- Project Manager/Senior Developer


- 3 разработчика/программиста


- Арт директор


- 2 художника 2Д/3Д


- Гейм-дизайнер


Посадили меня за комп – настраивайся пока и знакомся. Okayyy… Гейм дизайнер произвёл впечатление наркомана, остальные вроде адекватны. Спросите куда делся тех.дирректор? А хер его знает. Он почти никогда и не появлялся – примерно раз в месяц на час-два спросить как дела.


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


Работу я свою начал с планирование рпг-составляющей – статы персонажа, хп, урон, атака друг друга и т.д. Также надо было писать AI врагов. Гейм дизайнер, как оказалось, вообще не имеет ничего общего с техническим образованием (судя по всему даже школьным) и никаких «математических» вопросов по игре не писал. Более того, он собственно только начинал писать сценарий мира.


Все первые два месяца я спрашивал у нашего Project Manager’а, который иногда почему-то называл себя Senior Developer но ничего не кодил, когда мы начнём серверную чатсь разработки. Мы даже не делали сетевых заглушек типо «имитация запроса сервера и имитация ответа сервера». Ответ был «потом», «сейчас другие приоритеты».


Так мы потихоньку пилили ... сингл плеер игру? О_о У меня рвало шаблон и подгарал стул. А как же сервер? А как же архитектура? Планирование? Диз док? Нет! Мы будем пилить что то непонятное во имя всего самого важного!

Как я попал в мир геймдева ч.2 Gamedev, Игры, Длиннопост, Разработка

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

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


И я начал убеждать гейм дизайнера что надо добавить хоть какие то цифры к описанию. И он добавил. Например скил с таким описанием мог увеличить твой урон на... 1%. ЧТО? Какой 1%? Он прикалывался? Но по его тупеньким глазам было явно видно что нет – он это писал на серьёзных щах. «Ну потом отбалансим».


За примерно месяц-два я реализовал все эти замечательные скилы. После этого пришёл «тех.директор» и начал возмущаться «А где ПВП???». После каких то дибильных перепалок между ним и нашим не менее дибильным project manager’ом, они решили поставить нам задачу за месяц сделать рабочее пвп.


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


Т.е. на тот момент мы сделали скилы. Потом переделали их в сетевые скилы. Осознали да? Пришёл тех. дир и сказал что придуманные гейм-дизаайнером скилы – говно и их надо все поменять! И мы таки начали их менять.


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


На данный момент рассказ покрыл только примерно 2/5 разработки реальной разработки и прошло 6 месяцев из планируемых 6-7 месяцев разработки. Т.е. сроки уже сильно поджимали, а результат пока ещё и близко никого не удовлетворял.


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


Продолжение следует.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

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

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

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

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

2
Автор поста оценил этот комментарий

А по деньгам за эту бесовщину чего платили?

раскрыть ветку (1)
6
Автор поста оценил этот комментарий

мне 1250$/месяц. Для Одессы вполне солидные деньги. Особенно учитывая что платили в долларах несмотря на ахинею в экономике СНГ.

показать ответы
0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Ну имхо это был классный опыт сколько всего делать НЕ НАДО. Там ещё в продолжении к нам и настоящий Senior Developer придёт и нормальный гейм дизайнер и художники. Там ещё много эпика за один сраный год.

Некоторые жалуются что у них "время быстро протекает" - у меня этот год был как за три с этой всей историей .

показать ответы
2
Автор поста оценил этот комментарий
Главное, чтобы корованы можно было грабить
раскрыть ветку (1)
7
Автор поста оценил этот комментарий

Даже это нельзя было делать! Гейм дизайнер - дно!

1
Автор поста оценил этот комментарий

я аж подпишусь, чтоб все это почитать

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Попробую как то получше излагать мысли. Я всё таки не художественный писатель. Текст явно как то сумбурно у меня написан :(

показать ответы
3
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

показать ответы
0
Автор поста оценил этот комментарий
Т.е. на тот момент мы сделали скилы. Потом переделали их в сетевые скилы. Осознали да?


...нет..?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Если бы был диз.док, стадия планирования разработки, составление архитектуры, то не надо было бы всё по несколько раз переделывать просырая 70% времени.

показать ответы
0
Автор поста оценил этот комментарий

Типичная проблема всех начинающих мелких студий - у всех дохуя гениальных идей, но никто не умеет в прототипирование )

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я щас про это собственно целую серию постов начал писать. Про свой опыт за предыдущий год. Лютый ад был)

4
Автор поста оценил этот комментарий

<зануда мод>Photon это компания а не продукт. Ты сейчас говоришь про Photon Cloud, помимо него есть еще Photon Server (как раз таки полноценный авторитарный сервер) и еще множество сетевых продуктов</зануда мод>

раскрыть ветку (1)
Автор поста оценил этот комментарий

Мы кстати использовали именно Photon Server но как писать в нём серверную логику тогда не разобрались да и времени не было.