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

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

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

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

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

Сообщение aspid » 25 ноя 2016, 01:17

(я понимаю что мои посты врядли что-то изменят :) но все-же напишу) ©
Ладно, с направленным зрением всё понятно - игрок смотрит только в одну сторону, и мобов видит только перед собой (глаз на затылке нет).
Но что тогда насчёт слуха, обоняния и ээ... "памяти" персонажа. FOV (хоть он и field of view) это не только зрение, но и остальные органы чувств, которые дают информацию об окружающем мире. Иначе получится, что или монстры все бесшумные и не пахнут, или перс глухой и с насморком).
поперёк борозды

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

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

Сообщение Loinon » 25 ноя 2016, 03:28

Слух можно реализовать также, как в DwarfFortress: рядом с источником звука появляются восклицательные знаки, а их цвет (или прозрачность) говорит от силе звука. Чем дальше от источника эти восклицательные знаки, тем дальше источник звука. Звук в основном имеет смысл, когда не виден источник звука, поэтому, чтобы не был спама восклицательных (или других) знаков визуализировать их только когда не виден источник звука. Обоняние, думаю, пока оставить в стороне. Было бы конечно прикольно, но обоняние одно из тех чувств, посредством которых мы мало получаем информации об окружающем мире. Над памятью я тоже довольно долго думал когда-то и более менее простой и толковой системы пока не придумал, и скорее всего, оставлю как принято: увидел тайл - запомнил тайл.
Все таки это не симулятор, а игра, у которой, как и у любой другой игры (да и у симуляторов тоже), есть набор условностей. Как писал Anfeir,
Anfeir писал(а):Отсутствие реализма игроки простят. Можно дойти до того, что сделать разными командами "переставляем левую ногу, переставляем правую ногу".
Не стоит доходить до крайностей, если это будет мешать игроку, сильно замедлит разработку или убьет производительность нахрен)
Стоит только захотеть...

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

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

Сообщение aspid » 25 ноя 2016, 04:48

Loinon писал(а):Не стоит доходить до крайностей, если это будет мешать игроку, сильно замедлит разработку или убьет производительность нахрен)
да нет, я имею ввиду, что игрок в принципе может знать о том, что происходит у него за спиной, даже если не видит этого
поперёк борозды

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

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

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

aspid писал(а):
Loinon писал(а):Не стоит доходить до крайностей, если это будет мешать игроку, сильно замедлит разработку или убьет производительность нахрен)
да нет, я имею ввиду, что игрок в принципе может знать о том, что происходит у него за спиной, даже если не видит этого
Это опять конфликт «реализм vs верибельность». На «конусе зрения» надо или строить ключевую игровую механику — например, у нас хоррор, или отказываться от него и не переусложнять жизнь ни себе, ни игроку.
Dump the screen? [y/n]

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

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

Сообщение Loinon » 25 ноя 2016, 13:39

Эх, один хрен ввести ограничение оказалось сложнее, чем я предполагал. Задавать конус несложно, но сглаживать края не получается =( К тому же придется усложнять управление (вводить действия поворота головы и корпуса) Поэтому пускай остается (пока) круговой обзор. Заколебался я с FoV работать =)
Стоит только захотеть...

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

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

Сообщение Apromix » 25 ноя 2016, 16:35

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

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

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

Сообщение Loinon » 30 ноя 2016, 20:09

Переписываю свой FoV... Не весь, только часть, связанная с расчетов видимости у границ: теперь он честно высчитывает площадь трапеции или треугольника клетки, попавшей под линию тени. Почти довел FoV до ума, остались мелочи. Зато теперь можно (теоретически) задать конус обзора и работает все без артефактов. Начинаю думать над тем, как сделать два режима, пару процессов и бегающую по экрану собачку (@). Темпы немного замедляются, проблемы с учебой =( благо дело, я не шибко спешу.
UPD: С FoV закончено, теперь все четко работает =) Пока не буду заморачиваться с конусом обзора, но заделки для его создания созданы.
Стоит только захотеть...

Аватара пользователя
Apromix
Мастер
Сообщения: 1236
Зарегистрирован: 04 июл 2011, 10:44
Откуда: Украина, Черновцы
Контактная информация:

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

Сообщение Apromix » 01 дек 2016, 08:47

Loinon писал(а):оказалось сложнее, чем я предполагал
И сколько времени заняло внедрение FOV'а в игру? Нужно было взять берлиб)) Ну и что, что не такой FOV. Зато освободилось бы время на другие компоненты рога. Ведь имплементация FOV'a - это одна сотая рогалика)) Вобщем для себя я давно решил, что лучше брать готовые элементы, чем писать их самому.

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

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

Сообщение Anfeir » 01 дек 2016, 19:36

Apromix писал(а):Вобщем для себя я давно решил, что лучше брать готовые элементы, чем писать их самому.
А я с точностью до наоборот ;)
Если писать для себя, не по работе, конечно.

altmax
Сообщения: 173
Зарегистрирован: 15 сен 2012, 11:59

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

Сообщение altmax » 15 фев 2017, 19:25

Loinon писал(а):
30 ноя 2016, 20:09
Переписываю свой FoV... Не весь, только часть, связанная с расчетов видимости у границ: теперь он честно высчитывает площадь трапеции или треугольника клетки, попавшей под линию тени. Почти довел FoV до ума, остались мелочи. Зато теперь можно (теоретически) задать конус обзора и работает все без артефактов. Начинаю думать над тем, как сделать два режима, пару процессов и бегающую по экрану собачку (@). Темпы немного замедляются, проблемы с учебой =( благо дело, я не шибко спешу.
UPD: С FoV закончено, теперь все четко работает =) Пока не буду заморачиваться с конусом обзора, но заделки для его создания созданы.
Два вопроса - что та с дальнейшей разработкой? И Core i7 потянет этот рогалик со всеми его расчётами или придется ждать квантовый компьютер?

Аватара пользователя
karagy
Сообщения: 1271
Зарегистрирован: 10 янв 2007, 14:13

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

Сообщение karagy » 15 фев 2017, 21:13

altmax писал(а):
15 фев 2017, 19:25
И Core i7 потянет этот рогалик со всеми его расчётами или придется ждать квантовый компьютер?
Возможно, вы ещё не в курсе, но
Dwarf Fortress уже используют для тестирования производительности облачных серверов .

altmax
Сообщения: 173
Зарегистрирован: 15 сен 2012, 11:59

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

Сообщение altmax » 18 фев 2017, 06:34

Не буду создавать новую тему, раз с подходящим названием уже есть.
Вчера убедился в необходимости системы контроля версий даже при одиночной разработке - использую git. В общем писал я писал код, после очередных десятка строчек что-то классы все резко отвалились и вывалилась простыня ошибок, что одно не определено, второе не инициализировано, третье не может быть создано и т.п. - реальная простыня экрана на три. Где-то я изменил порядок создания и инициализации классов. Так и не нашел где.
Но одна команда в консоли Git откатила к предыдущему коммиту. И коммиты надо делать почаще, чтобы в таких случаях не терять много написанного кода.

Но вся ошибка произошла из-за нарушения паттернов программирования GRASP - в частности паттерна Информационный эксперт (Information Expert). Объекты надо создавать, там где они требуются, а не вызывать из одного класса метод другого, передавая туда ссылку на третий класс чтобы изменить четвертый :lol: . Всегда можно написать гораздо проще.

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

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

Сообщение Loinon » 14 апр 2017, 14:03

altmax писал(а):
15 фев 2017, 19:25
Два вопроса - что та с дальнейшей разработкой? И Core i7 потянет этот рогалик со всеми его расчётами или придется ждать квантовый компьютер?
Пока в заморозке. Учеба не дремлет, но так или иначе желание не пропало. Думаю над основной идеей игры на досуге. Да, каюсь, опять заморозил на неопределенный срок >.<
Core i7 потянет. Расчеты там не такие уж и мощные, я бы даже сказал, что алгоритм, который я использую (Shadow casting recursive) гораздо производительнее классический алгоритмов FOV, работающих, например, с синусами и углами.
Стоит только захотеть...

Ответить

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

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