29

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

По просьбе нескольких пикабушников начинаю цикл рассказов о том как я попал в геймдев, а потом начал делать свою игру которая ориентировочно через месяц должна выйти в steam, iOS/Android Market’ы.


Работал я программистом-администратором биллинговой системы в компании МТС-Украина. Зная что наш отдел будут закрывать в ближайший год, надо было как то совершенствовать свои знания и искать другую работу. Компьютерные игры я любил с детства и в связи с этим начал я изучать игровой движок Unity.


На работе на тот момент было куча свободного времени – вдвоём с коллегой мы автоматизировали все процессы, которые отнимали у нас время и имели наглость придти на работу к 11, поболтать, поиграть в теннис, покушать, чуть посидеть по пинать *уи и к 5 идти домой (хотя рабочее время было с 9 до 18). Самое смешное, что под конец нас спалил ген.дир и ничего не смог с этим сделать, т.к. на тот момент нам оставалось работать 2-3 месяца. В целом у нас имелись компы, сеть, сервера, свободный доступ в Интернет и куча свободного времени (около 6-8 месяцев).


Справедливости ради, стоит отметить, что почти ни у кого в МТСе такой халявы не было – выход в сеть под строгим контролем и из под говно-компов. Но мы то отдел ИТ :)


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


Понимая, что художника у нас нет, а платить пока нету за что, мы начали делать игру которая была бы максимально отвязана от графики. И в голове довольно быстро всплыла игра Бойцовский клуб. Для молодого поколения скажу, что это браузерная игра с боёвкой в виде двух аватарок и текстового описания сражения. Т.е. графики таки минимум. И начали делать мы своё с блекджеком и куртизанками, но чтобы на андройд приложением было, а не браузерное. Другой друг выступил в роли Гейм дизайнера, который придумывал нам окна, тексты, скилы, баланс и т.д.

Для инвентаря нашли в интернете набор картинок из клиента Diablo 3 (для временной замены – такое ещё называют «сделать на плашках»). Для главных героев просто скачали несколько аватарок.

Сервер писали на Java. Очень было удобно, на случай если на клиенте и сервере надо использовать один и тот же кусок кода – с C# на Java код перенсится очень просто. Иногда можно было целиком перенести файл и заменить только string на String и всё работало.


На «архитектурные» решения того времени конечно сейчас смотреть смешно, но оно, мать его, работало и весьма неплохо! Поулчилось сделать некоторую систему локаций, магазин, чат, поиск боя, хранение и прокачку характеристик героя, систему инвентаря с учётом одетых шмоток, бафов и т.д.


Выглядело всё примерно так:

Если обратить внимание, на то что было сделано, можно увидеть что мы начали делать игру с UI, а не с самой игры. Нормальной практикой счиатется сначала делать демо-версию игры, чтобы оценить её потецниал и внести первые корректировки в документацию по игре. Т.е. в нашем случае мы доджны были начать сразу с поиска игры-> боёвка с одинаковыми статми/эквипом. А мы начали делать игру с экрана авторизации :)

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

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

А зачем сервер на Java?

Не проще ли на всё один язык?

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

Идея была разместить на Linux сервере. Мы тогда арендовали виртуалку на Линуксе и заодно поимели опыт её настройки. А С# на Линуксе... ну может и работает, я честно говоря хз)


В принципе языки ОЧЕНЬ похожи по синтаксису, так что откровенно пофигу.

А вот что не пофигу, так это то что мы начали писать сервер...на самом сервере. IDE-шки для написания кода по SFTP протоколу, чтобы c авторизацией по SSH ключам не работают. В итоге сервер писался с помощью Notepad++. Сказать что это гемор - ничего не сказать. Всегда пишите на windows-машинах не удалённых от вас, а потом уже размещайте это всё на удалённых серверах.


Но было весело :)

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

ASP NET Core вообще без лишних проблем заводится на Linux.


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

раскрыть ветку (3)
0
Автор поста оценил этот комментарий
Та вообще не спорю. Только то что мы его в нотпаде писали было самоубийством. Но опыт - это всегда бесценно!
Автор поста оценил этот комментарий

Мешать серверную и клиентскую часть весьма странно, учитывая что тот же Unity использует "не совсем С#", а уже устаревшую версию mono. Ну и выбор языка для серверного решения все же стоит основывать на том что нужно: latency, throughput, скорость разработки.

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

А кто предлагал мешать клиентскую и серверную части?

В Visual Studio (как я надеюсь, ТС не MonoDevelop использовал, а VS с решарпером) можно создавать решения, внутри которых держать отдельные проекты. Это даёт довольно-таки удобную навигацию по файлам и возможность удобного переноса кода между проектами (например, ТС писал, что часто переносил код с C# на Java, когда как можно было вынести проект Core, а уже проекты Game и Server ссылались бы на него - на лицо избавление от дублирования кода). Как устроено сейчас? Правим код модели на клиенте, после этого лезем на сервер и там же вносим такие же правки - звучит ужасно.

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

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

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

Честно? Никогда не замахивался на роль серверного разработчика. Это отдельная наука. И хорошо оплачиваемая, к слову.

Для меня это был просто первый опыт оного.

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

Ну мне подумалось что Java вы взяли именно из-за этого сказочного "write once, debug everywhere", поэтому и удивился тому что вы такую странную схему разработки замутили.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества