Ещё один проект рогалика на Python:заметки, вопросы, идеи

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

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

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, иде

Сообщение Tookser » 25 фев 2015, 03:19

Jolly Roger писал(а):
Tookser писал(а):Пока всё не очень интересно. Реализовал почти полностью систему надеваемых предметов и модификации статов при этом. Стадия стагнации.
Это нормально, просто продолжай работать.
Дело в том, что получаемая в начале эйфория, мы это как раз обсуждали с BreakMT, даётся немного авансом.
В самом начале работы, соотношение код/результат наибольшее, но, естественно, наступает момент, когда нужно допиливать уже имеющиеся фичи, доделывать каке то запчасти движка, внутренние алгоритны.
Когда несколько дней работы вообще никак не отражаются внешне. Дебаг добавляет ещё.
Самомотивация при создании рогалика, это имхо, один из самых важных ресурсов. :wink:
Хитростей немало, сделай мааааленькую вичу, которая сразу появится на экране, может одно единственное информационнное сообщение. Может пойти по принципу домино.
Помогает неплохо. Поиграл немного с генератором леса и floodfill-ом.
За это время напрограммировал некоторое количество разного, в основном, относящегося к генерации игрового мира.

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, иде

Сообщение Tookser » 05 мар 2015, 19:41

Решил сделать массивы, содержащие местность, на NumPy. В этих массивах будет храниться номера типов тайлов (дерево, песок, вода...), по которым будут определяться их свойства при необходимости.

Аватара пользователя
thefish
Сообщения: 31
Зарегистрирован: 18 июн 2012, 22:37

Re: Ещё один проект рогалика на Python:заметки, вопросы, иде

Сообщение thefish » 05 мар 2015, 22:28

Вот моя попытка сделать рогалик на Python/libtcod. Такая организация кода показалась мне удобной. Правда, в плане алгоритмов вряд ли интересно, я использовал в основном статьи про DijkstraMap (на чём и обжегся, питон не может в такое). Тем не менее надеюсь, что этот недоделанный проектик окажется полезным в разработке твоего :)
https://bitbucket.org/justthefish/alchemyst-py

PS Рекомендую использовать dill вместо pickle.

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, иде

Сообщение Tookser » 04 апр 2015, 08:52

Сейчас сильно сбавил темпы, только частично сделал корректную работу с новыми тайлами. Немного времени отнимает также помощь одному краудфандинговому образовательному проекту.

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, иде

Сообщение Tookser » 01 июл 2015, 13:00

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

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Tookser » 13 апр 2018, 22:23

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

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Tookser » 30 апр 2018, 18:27

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

Уже сделал бегающую собачку и простые бои, возниковение монстров по таймеру, 3 вида монстров, простенькие уровни, непроходимые с первой попытки. Примерно 600 строк кода.

Очень не хватает идей. Много думаю "сделаю я X, и что, потом может переделывать". Больше всего думаю о размере карты, как лучше его сделать.

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

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

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Tookser » 08 май 2018, 23:38

Сделал простую систему уровней, пригодную для простого соединения уровней. И монстра-змею: достаточно много отлаживал змею, но сейчас вроде всё работает корректно.
Накидываю всякие простые идеи, но цельной концепции пока нет, и не знаю, как её искать. Почитаю тему с идеями для рогаликов 8)

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Tookser » 03 июл 2018, 04:25

Долго не занимался.
Хочется уменьшить размер основного модуля, больше 1000 строк уже. Но...
Например, виды монстров реализованы как классы, но вынести их в отдельный файл просто так не получится, так как хватает обращений к уровню. При каждом создании монстра передавать ему нужные глобальные объекты - довольно некрасиво получается, сейчас монстрам при создании обязательно передавать только координаты.
Возможно, глобальные объекты тоже в модули, и тогда всё это можно будет нормально импортировать...

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

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Apromix » 03 июл 2018, 05:45

Код бы поглядеть :)

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Tookser » 19 дек 2018, 14:27

thefish писал(а):
05 мар 2015, 22:28
Вот моя попытка сделать рогалик на Python/libtcod. Такая организация кода показалась мне удобной. Правда, в плане алгоритмов вряд ли интересно, я использовал в основном статьи про DijkstraMap (на чём и обжегся, питон не может в такое). Тем не менее надеюсь, что этот недоделанный проектик окажется полезным в разработке твоего :)
https://bitbucket.org/justthefish/alchemyst-py

PS Рекомендую использовать dill вместо pickle.
Я посмотрю, когда снова займусь.
А в чём проблема с DijkstaMap? Скорость?
Немного почитал, но не совсем понял преимуществ dill. В любом же случае лучше будет свою сериализацию сделать в целях безопасности?



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

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

Также есть несколько общих идей про геймплей, например, замедление времени, смесь рогалика и органайзера дел (с получением ресурсов за сделанные дела, как в Хабитике), та же расстановка юнитов, не знаю, что выбрать. Довольно лень делать большую карту, хотя сделал двигающееся поле зрения, не очень пока красивое. Чувствую, что надо сделать случайную генерацию хоть каких-то карт, чтобы было поинтереснее играть.

К сожалению, прямо сейчас сессия начнётся, но надеюсь снова позаниматься этим в феврале.
Код выложу пораньше.


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

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение karagy » 31 дек 2018, 12:52

Код: Выделить всё

C:\Work\Python\RatsNBlobs-master>python ratsnblobs.py
Traceback (most recent call last):
  File "ratsnblobs.py", line 9, in <module>
    import mapgen
ModuleNotFoundError: No module named 'mapgen'

Tookser
Сообщения: 155
Зарегистрирован: 08 апр 2010, 11:09

Re: Ещё один проект рогалика на Python:заметки, вопросы, идеи

Сообщение Tookser » 31 дек 2018, 17:32

karagy писал(а):
31 дек 2018, 12:52

Код: Выделить всё

C:\Work\Python\RatsNBlobs-master>python ratsnblobs.py
Traceback (most recent call last):
  File "ratsnblobs.py", line 9, in <module>
    import mapgen
ModuleNotFoundError: No module named 'mapgen'
Извиняюсь. Исправил ошибку, проверил - у меня теперь запускается.

Ответить

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

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