Исповедь начинающего геймдевелопера.

Темы, связанные с проектированием и программированием roguelike-игр

Модераторы: Sanja, Максим Кич

Аватара пользователя
Loinon
Сообщения: 43
Зарегистрирован: 19 июл 2016, 18:20

Исповедь начинающего геймдевелопера.

Сообщение Loinon » 14 ноя 2016, 21:31

Эта идея как сверло прорезает мой мозг изо дня в день. "Создать свою игру". Засыпая, я представляю ее, вижу ее закрывая глаза, вижу, как выглядит интерфейс, игровой процесс и что я делаю в своем мире.
В один прекрасный день я понял: "Я созрел". Теперь я морально готов к созданию своей игры. Это мой первый серьезный проект, который я собираюсь довести до конца. И тут я упираюсь в какую-то невидимую стену: с чего начать? Нету опыта, не представляю, как и из чего состоит создание игры, и выпечка рогалика в частности. Я думал, смогу научиться всему самому, но не тут-то было. Я уже наступал на подобные грабли, когда изобретаешь свой велосипед от незнания. В итоге ты забрасываешь проект из-за хаоса в голове из знаний и идей. И я понял: мне нужны наставники, менторы и простые советники, которые направят меня на путь инди-игростроителя.
Ну все, заканчиваю свои умозаключения, не буду вас нагружать информационным шумом и перейду к делу.
Я создал эту тему в надежде получить ответы на вопросы, возникшие у меня:
Скрытый текст: ПОКАЗАТЬ
1) Собственно, как вы проектируете свою игру (или не проектируете вообще)? Составляйте ли диз-док и концепт-док, заводите ли бэклок с ToDo списком, или делайте все на коленке на ходу, без особого проектирования?
2) Если проектируете, то каким образом? Рисуете ли вы эскизы игры, носите ли с собой блокнот, куда записываете внезапно попавшую в вашу голову новую гениальную фичу? Полностью ли составляете до мелочей все аспекты игры или довольствуетесь написанием небольшого диз-дока из основных аспектов? Какими инструментами пользуетесь для планирования?
3) Для чего вы делаете свою игру? Для самообучения ли, для признания или, может даже, это ваш способ заработать? Или это хобби? Лично для меня это больше хобби...
4) Создаете ли вы rogulike сами или в команде?
5) Как не забросить свой проект? Что удерживает вас от того, чтобы забить на него, когда у вас не получается сделать игру? Каким образом реализуете свою игру, составляете ли архитектуру рогалика, а потом приступаете к реализации, или реализуете все сразу, без составления каркаса?
Возможно, это не все вопросы, которые у меня возникли, но основные тут, если вспомню, напишу еще...
Теперь коротко о себе. Студент техн. вуза с уклоном в программирование (будущий инженер АСОИУ). За моими плечами из завершенных проектов только змейка на консоли. Основной язык программирования - c#, стаж примерно год.
Коротко из того, что сделано:
Первый раз я особо не проектировал игру, писал сразу код. Ни к чему хорошему это лично меня не привело. Теперь я пошел по другому пути. Я написал концепт документ и собираюсь писать диздок в google docs, завел доску в Trello. Изучил BearLibTerminal, знаю его API и собираюсь писать на нем свой рогалик.
Хочется узнать, что вы думаете о проекте. Может, стоит взяться за что-нибудь попроще? Оставляю ссылки на доску и концепт-док под спойлером.
Скрытый текст: ПОКАЗАТЬ
Стоит только захотеть...

Аватара пользователя
aspid
Сообщения: 192
Зарегистрирован: 28 мар 2016, 23:44

Re: Исповедь начинающего геймдевелопера.

Сообщение aspid » 15 ноя 2016, 00:59

Самый главный совет: Помни, что следовать чужим советам необязательно :D
Конкретно по вопросам моё мнение (у меня из готового, правда, только тамагочи на КуБейсике, написанный 11 лет назад, ну да ладно):
1. и 2. В деталях прорабатывать в начале ничего особо не надо - всё, что пришло в голову, можно и нужно где-то записать, и боле-менее упорядочить. Я читал где-то, что сперва нужно всё тщательно проработать на бумаге, а потом уже исполнять, но у меня так не получается =))) Проще сперва "скелет" проработать, а "мясо" уже в процессе накидывать.
3. Для развлечения, больших планов, опять же, лучше не строить в начале - делай себе неспеша, получай удовольствие. Если ты думаешь, мол, вот сделаю игру и заработаю больших денег/стану знаменитым/все тёлочки будут мои, то в итоге забьёшь наверняка - лучше разбить большую цель (тёлочки и слава) на много маленьких целей - нарисовать кнопку, сделать инвентарь и т.д.
4. Имхо, лучше самому - во-первых, ты ни от кого не зависишь, во-вторых, ты никому ничем не обязан. Если кто-то забивает на разработку - это сильно деморализует. Но в команде делать, конечно, веселее. И опять же, можно кого-то попросить что-то сделать на непостоянной основе (нарисовать ту же кнопку или логотип)
5. Чтобы не забросить свой проект себя нужно мотивировать как-то постоянно. Допустим, можно создать группу вконтакте, позвать в неё всех друзей и наобещать им к такому-то сроку то-то и то-то (я так и делаю ща :) ). Отслеживай свой прогресс, смотри как раньше было плохо и как сейчас хорошо =).
поперёк борозды

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: Исповедь начинающего геймдевелопера.

Сообщение Jesus05 » 15 ноя 2016, 08:18

Мои ответы. но прежде хочу предупредить, у меня нет ни 1 законченного игрового проекта.
1) обычно пишу простое описание в свободной форме, после чего дописываю в него приходящие в голову идеи. к моменту забрасывания в файле сложно найти с чего все начиналось. Текущий проект (для конкурса на гемдеве http://www.gamedev.ru/projects/forum/?id=219616 ) пишу слегка иначе, т.к. время ограничено пытаюсь просто реализовать то что изначально набросал, не отходя далеко от написанного и не добавляя новые идеи.
2) Пробовал трелло, не пошло. Самое ценное пока был документ в который я записывал, что я сделал (вот так это выглядело https://drive.google.com/open?id=1D1HDr ... CzHpJBfpTI ) т.е. небольшой план на следующий этап "на неделю" но иногда это длилось больше, по окончанию "этапа" записывал что реально сделано и версии коммитов в репозитории. (тот проект разрабатывался 2 частями поэтому библиотека и интерфейс)
3) "Эта идея как сверло прорезает мой мозг изо дня в день. "Создать свою игру"." Это похоже на одержимость, но мне она нравится :)
4) Пока командная работа не увенчалась успехом, мне не хватает стойкости отстаивать свое виденье игры, размышление других членов команды размывает основную идею :(
5) Понятия не имею :) пока не нашел способа. По идеи что-бы не забросить надо сделать его быстро а лучше очень быстро.

Аватара пользователя
Максим Кич
Администратор
Сообщения: 1642
Зарегистрирован: 03 дек 2006, 20:17
Откуда: Витебск, Беларусь
Контактная информация:

Re: Исповедь начинающего геймдевелопера.

Сообщение Максим Кич » 15 ноя 2016, 10:17

Законченные проекты у меня к рогаликам не относятся, но некоторые общие соображения у меня есть.

Есть две крайности, которые одинаково хорошо убивают проект: отсутствие плана и "overengineering". Лучший вариант, с моей точки зрения следующий:
во-первых, сделать прототип с основными элементами геймплея и минимумом графики, интерфейса и проч. То, что называется proof-of-concept. На этом этапе будут видны расхождения между тем, как игра «играется» в голове и в жизни. После этого, наметить общую концепцию развития. На любом удобном носителе, который не потеряется в ближайшие пару лет. Хоть маркером по обоям. В общих чертах, потому что первым в сражении всегда погибает план сражения.

Дальше, надо в деталях продумать задачи на несколько 1-2 недельных циклов, для начала — можно даже на один такой цикл. Выполнить эти задачи, посмотреть, что получилось сделать за этот срок, что — нет. Оценить свои темпы, подстроить под них следующие циклы, повторять каждую неделю (две недели). Если есть лишние 10$ в месяц, можно взять базовый пакет Atlassian Jira — очень помогает даже при одиночной разработке. Но это если есть лишние деньги. В любом случае: система контроля версий (на сегодня почти без вариантов git — или публичный репозиторий на github, или закрытый на Atlassian BitBucket), багтреккер (Jira или бесплатные аналоги, если времени больше чем денег), на средства Continuous Integration и прочие девопсы можно пока не замахиваться, но, опять же, «взрослые игрушки» могут быть полезны чисто для саморазвития.

Вся эта «обвязка» хороша тем, что в неё легко добавлять новых людей — она масштабируется на практически любую команду разработчиков, работающих в любом режиме.
Dump the screen? [y/n]

Karlo
Сообщения: 101
Зарегистрирован: 28 сен 2016, 13:01

Re: Исповедь начинающего геймдевелопера.

Сообщение Karlo » 15 ноя 2016, 10:46

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

Начну с предыстории, чуть больше года назад, а точнее в августе 2015 я решился наконец делать игры. Так же было миллион идей, попытки зарисовывать, записывать, чертить таблицы и взаимосвязи и т.д. Но пока не сел за конкретику, все было радужным, вИдение было не замутненным, перспективы казались огромные, наивность в отношении игростроя зашкаливала, как в принципе и у всех, кто не сталкивался с реальными задачами и не имел опыта. Программировать совершенно не умел и даже не хотел начинать. Достаточно было найти хороший(волшебный) конструктор, натырить(нарисовать) спрайтики, идеи у меня уже есть и соединить все вместе и можно тешить свое самолюбие, тем что реализовал одно из своих желаний, получил признание играющей публики, а если очень повезет, то и денюжка будет. Долго смотрел, искал, выбор пал на Game Maker Studio и Unity. Порог вхождения в GMS оказался ниже, что и определило мой выбор. После месяца уроков и экспериментов с простейшими играми понял несколько вещей. Программировать придется. Как сильно не упрощай, а в целях делать достаточно сложные вещи, которые без программирования не реализовать. Ладно, более менее изучил основы встроенного языка, который очень похож на паскаль начал делать. Следующая сложность пришла оттуда, откуда не ждали. Оказывается, интересно программировать только процентов 10-20 от игры, остальная часть, то как создание интерфейса, выискивание багов, создание удобного интерфейса, выдумывание текстов, создание удобного интерфейса, от которого не тянет бл*вать и т.д., все это нудная, очень времязатратная и не влияющая напрямую на геймплей часть, которую хочется избежать, но без этого даже тестеры(добровольные) неохотно смотрят проект. Так пришло осознание, что игрострой не сильно отличается от работы и что программирование только на настроении и эмоциях никогда никуда не приведет. Нужно заставлять себя садиться и делать. Неохота? надо! Фильм интересный вышел? По графику надо программировать. Хочется погулять с друзьями и бухнуть? Можно, но потом опять программировать. Так как я поставил цели - научиться и реализовать свои хотелки, то приходилось тянуть себя, прилагая волевые усилия. Вот тут я подошел к самому главному. Не важно чем мы занимаемся, все идет от личности, от честности к самому себе, от волевых качеств, от умения оптимального тайм менеджмента и самое самое - от умения самоорганизовываться. Вы хотите накачаться? Надо ходить в качалку и в дождь и в холод и в жару, вне зависимости от настроения и желания. Вы хотите выучить иностранный язык? Надо зубрить, выстраивать график и четко ему следовать. Человеку свойственно лениться и экономить свою энергию. Но мы живем не в каменном веке, где приходилось добывать пищу с трудом. Сейчас все намного проще, не нужно экономить энергию и силы. Не нужно ленится, в старости наленитесь(хотя у меня на старость тоже большие планы, то как прочитать кучу классики, которую сейчас нет возможности прочесть).
Возвращаясь к игрострою, то тут нужны те же самые качества. Нужно долго и упорно себя заставлять садиться и изучать, делать, экспериментировать даже самые нелюбимые моменты и проходить самые нудные этапы. Предподготовка, написание диздоков, выстраивание концептов, поиск команды, написание кода, поиск(создание) спрайтов, звуков - все это звенья одной цепи, не получится делать только то что хочется делать, еще больше придется возиться со-скучными вещами.
Мои результаты очень скромные в сравнении с другими людьми, но, я считаю, они просто огромны, если сравнивать себя в прошлом и себя в настоящем. Год назад я не знал о программировании и алгоритмах вообще ничего, то ежедневно занимаясь по 2-4 часа почти сделал свою первую игру мечты http://forum.hellroom.ru/index.php?topic=22359.0 . Пока проект не развивается, так как геймдиз из меня слабенький и нужно полностью переосмысливать концепцию геймплея.
Второй мой проект сейчас в стадии разработки http://horn.ucoz.net/

Итог простыни выше можно выразить несколькими словами - развивайтесь, не ленитесь, укрепляйте силу воли, воспитывайте характер. Это ваша база к реализации ваших желаний.

Karlo
Сообщения: 101
Зарегистрирован: 28 сен 2016, 13:01

Re: Исповедь начинающего геймдевелопера.

Сообщение Karlo » 15 ноя 2016, 11:13

Loinon писал(а):И я понял: мне нужны наставники, менторы и простые советники, которые направят меня на путь инди-игростроителя.
Поверьте мне, всех ваших знаний хватит реализовать все, что вы хотите, если это укладывается в вашу производительность в человеко/часах. Все, что вы не знаете, очень легко найти в интернете и научиться. Инструментарий всего мира перед вами. Вам не хватает ВОЛШЕБНОГО ПЕНДЕЛЯ. А так как мало кто сможет вам его прописать, то остается надеяться на собственную способность самоорганизовываться.

Аватара пользователя
Loinon
Сообщения: 43
Зарегистрирован: 19 июл 2016, 18:20

Re: Исповедь начинающего геймдевелопера.

Сообщение Loinon » 16 ноя 2016, 10:03

Спасибо всем за ответы :) Думаю, стоит мне стоит разделить планирование до определенной степени проработки. Скорее всего, допишу диз-док, без лишних детальных описаний, вроде цвета кожи гоблина или размер карты. Потом попробую подготовить себе небольшой фреймворк, для высокоуровнего взаимодействия с BearLibTerminal и написать небольшой прототип, в который будут входить:
1) управление персонажем
2) базовый интерфейс
3) FOV
4) реализация мыши и клавы
5) два режима: realtime и классический пошаговый
Там посмотрим, что дальше. Скорее всего, прототип выброшу и буду готовить каркас основного приложения.
Насчет групповой разработки так и не определился. Пока на мне лежит код, а создание мира перекинул на подругу-писательницу из параллельной группы) Если кого-то заинтересует проект, то попробую собрать команду, хотя бы второго программиста-алгоритмиста, который будет работать с FOV, звуковой системой в игре и т.д.
С FOV пока опыт небольшой, хочется сделать дифференцированный направленный FOV, т.е. тайл не жестко задан - "виден или нет", а виден на сколько-то процентов. Видимость будет зависеть от угла направления зрения, расстояния и освещенности. Тогда предметы будут отображаться соответственно, допустим, если тайл, на котором лежит меч, виден на 0-30%, то отмечается, как '?', типо что-то тут есть. 30-50%, то тайл какой-нибудь серебрянной черточки, типо, здесь какой-то продолговатый металлический предмет. Больше от 50 до 80 - лежит меч, но без детального его описания. Виден больше - полная информация о мече. Реализовать будет сложно, но очень хочется.
Появился сейчас такой вопрос: как реализовать свою статичную карту? Решил жестко задать статичную карту, но зато интересную в плане квестов персонажей и т.д. Где и как ее хранить - опыта в этом нету, нужно наверное смотреть в сторону сериализации данных... Но не в коде же наверное делать конструирование большой карты? Или в коде? Может, создать для этого себе небольшую программу, эдакий map editor, в котором можно будет создать свою карту мира...
Стоит только захотеть...

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: Исповедь начинающего геймдевелопера.

Сообщение Jesus05 » 16 ноя 2016, 11:32

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

Аватара пользователя
Oreyn
Сообщения: 297
Зарегистрирован: 07 авг 2013, 14:59

Re: Исповедь начинающего геймдевелопера.

Сообщение Oreyn » 16 ноя 2016, 13:26

Loinon писал(а):1) Собственно, как вы проектируете свою игру (или не проектируете вообще)? Составляйте ли диз-док и концепт-док, заводите ли бэклок с ToDo списком, или делайте все на коленке на ходу, без особого проектирования?
2) Если проектируете, то каким образом? Рисуете ли вы эскизы игры, носите ли с собой блокнот, куда записываете внезапно попавшую в вашу голову новую гениальную фичу? Полностью ли составляете до мелочей все аспекты игры или довольствуетесь написанием небольшого диз-дока из основных аспектов? Какими инструментами пользуетесь для планирования?
3) Для чего вы делаете свою игру? Для самообучения ли, для признания или, может даже, это ваш способ заработать? Или это хобби? Лично для меня это больше хобби...
4) Создаете ли вы rogulike сами или в команде?
5) Как не забросить свой проект? Что удерживает вас от того, чтобы забить на него, когда у вас не получается сделать игру? Каким образом реализуете свою игру, составляете ли архитектуру рогалика, а потом приступаете к реализации, или реализуете все сразу, без составления каркаса?
А теперь, клуб анонимных разработчиков рогаликов, правильные ответы =)
1.-2. ToDo списком, со всеми идеями что пришли в голову/были подкинуты. Эдакий юзер стори. Потом из них выборка на месячный ран и вперед. По ходу дела нужные/ненужные отсеиваются.
3. Я свой заброшенный хобби рогалик писал с идеей - "А осилю ли я создание рогалика?". Которое потом перерастает в восторг "итс элайв!"
4. Хобби проект уровня рогалик вполне под силу делать самому. Потому даже команда из двух человек уже требует минимального администрирования. Которое на уровне хобби ни к чему не обязывает и может быть очень неефективным. Если ты готов, что будешь ждать своего алгоритма Фов неизвестно сколько времени.
5. Собственно главный вопрос. Я свой хобби рогалик проект забросил. Так как изначальный восторг прошел, и я просто переключился на более интересные вещи. И начал другой проект, не связанный с рогаликами, но который получилось монетизировать. Собственно он сейчас уже больше года моя основная работа и доход. Лучшая мотивация, и дело не только в презренном метале. И что хорошо, те наработки по интерфейсу и локализации через json пройденные в рогалике пригодились мне в этом проекте.
Такой подход не панацея, особенно для таких нишевых вещей как рогалики. (Тоади показывает свой месячный отчет с $6 000 доната)
С другой стороны Ватабу и другие, кто на чистом энтузиазме доводят рогалики до завершения, вызывают только уважение.
Поэтому ответ - энтузиазм, усидчивость и куча свободного времени.
И немного аутизма =P

Аватара пользователя
Loinon
Сообщения: 43
Зарегистрирован: 19 июл 2016, 18:20

Re: Исповедь начинающего геймдевелопера.

Сообщение Loinon » 16 ноя 2016, 19:29

Постепенно пишу диз. док. Написано пока об ключевых особенностях (кроме крафта и свободы действия), почти дописана глава о прокачке персонажа. Все же диз.док помогает формализовать игру и ее виденье. Хочется прочитать ваше мнение об идеях игры, док будет периодически дополняться, описания, похоже, будет много, листов на 30-40...
Ссылка на папку с проектной документацией: https://drive.google.com/drive/folders/ ... jZ6VE9uRlE
Стоит только захотеть...

Аватара пользователя
aspid
Сообщения: 192
Зарегистрирован: 28 мар 2016, 23:44

Re: Исповедь начинающего геймдевелопера.

Сообщение aspid » 16 ноя 2016, 23:32

Эхъэхъ, когда это игроки 16 лет успели стать представителями "старой школы"? [-X
Вообще, конкретики пока мало и многобукав, лучше дай пощупать что-то материальное более - демку там или еще как)
поперёк борозды

Аватара пользователя
aspid
Сообщения: 192
Зарегистрирован: 28 мар 2016, 23:44

Re: Исповедь начинающего геймдевелопера.

Сообщение aspid » 17 ноя 2016, 06:53

Система управления отдельно каждой частью тела в пошаговом режиме тоже непонятно))
То есть я, вместо того, чтобы нажать стрелочку "вверх" и походить на север, а вторым ходом ударить противника (тоже стрелочкой "вверх" если противник через клетку на севере от меня) должен в первый ход отдать приказ ногам идти на север, а рукам - замахиваться в том же направлении? Это не слишком сложно будет?
Вообще, идея хорошо бы подошла для какого-нибудь сима ОБЧР наверное) Может, ну его, это фэнтези? Даёшь сай-фай про ваху и дредноуты)
поперёк борозды

Аватара пользователя
kipar
Сообщения: 2120
Зарегистрирован: 10 мар 2010, 13:16
Откуда: Москва

Re: Исповедь начинающего геймдевелопера.

Сообщение kipar » 17 ноя 2016, 07:01

Отпишусь по первым вопросам тоже, пока не успел прочитать чужие ответы. Большинство проектов всё равно бросаю, самые годные сделаны на конкурсы в сжатый срок, но надежды не теряю.
Скрытый текст: ПОКАЗАТЬ
1. Общее проектирование - еще до того как начать что-то писать обдумываю с разных сторон идею, пытаюсь понять будет ли интересно в нее играть, ну и на этом этапе примерно представляю как буду делать архитектуру. Можно даже ничего не записывать или записывать общие мысли. Ну и когда уже начал реализация - чеклист со списком того что нужно сделать, помогает оценить прогресс. Тоже применимо и к отдельным механикам игры - сначала общее продумывание (без сильной конкретики), потом чеклисты.
2. Ношу с собой смартфон с приложением для заметок и записываю всё туда. Лишних деталей стараюсь не продумывать т.к. заметил, что тщательно продуманное неинтересно реализовывать (особенно если продумывание ушло к каким-то высям, а на практике глючат даже самые элементарные вещи). Поэтому либо небольшие мысли "не забыть сделать так", либо чек-листы.
3. Хобби да. Ну или скорее самовыражение - графомания у меня получается еще хуже чем игры, но суть та же - хочется донести какую-то идею, поэтому создаешь произведения. Правда выразительная сила у игр меньше чем у литературных произведений, но зато в них еще и играть можно.
4. сам
5. Имхо одна из главных проблем - если продумывание уходит далеко от реализации. Тогда реализовывать основы хотя уже продумал дальние горизонты неинтересно, соответственно проект провален. Поэтому стараюсь находить некий баланс между продумыванием и реализацией, не продумывать дальше пока не реализовал предыдущее. Ну и вторая проблема - если надолго бросить по каким-то причинам, то есть некоторое сопротивление при возвращении к проекту, выходишь из настроя и обнаруживаешь кучу недостатков, поэтому лучше не отвлекаться.

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: Исповедь начинающего геймдевелопера.

Сообщение Jesus05 » 17 ноя 2016, 08:40

kipar за 5 пункт спасибо. очень похоже на то что у меня иногда происходит (про улетающее далеко продумывание относительно реализованного).

Аватара пользователя
BreakMT
WANDER Team
Сообщения: 933
Зарегистрирован: 27 ноя 2006, 12:16

Re: Исповедь начинающего геймдевелопера.

Сообщение BreakMT » 17 ноя 2016, 09:03

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

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость