Комментарии 31
Это прям очень круто! В самую точку что я мечтал сделать, но так и не сделал. Да ещё на питоне! Спасибо.
Ну, так форкайте ) Я только за, если это кому-нибудь принесет пользу. И, кстати, почему питон вызвал удивление? Мне казалось, для такого применения, он — самое то.
Особенно хорошо этот комментарий смотрится под Вашим ником. :)
Во-вторых, будучи представителем касты неприкасаемых отечественного IT сообщества,
Интересно, как вы решили «вступить» в эту «касту»? Я сам не разработчик, и против 1С ничего лично не имею, но повсеместно встречаю негатив по отношению к 1С
Эта история еще длиннее, чем статья ) Если вкратце, то по образованию я — вообще учитель английского и программировать начал поздно. А в наших краях заработать можно либо сайтами либо 1С с очень редкими исключениями. Сайты как-то не зашли, а 1С — отличный инструмент и не его вина в том, как им пользуются )
С хорошим знанием английского и программирования можно работать удаленно за длинный доллар :) Регион особо не важен тогда.
Я довольно поздно до этого дошел, уже было за 30.
Я довольно поздно до этого дошел, уже было за 30.
Я вообще до программирования долго шел ) А над таким вариантом думал — было бы отлично, как только мое знание программирования догонит знание английского.
А в итоге же у вас получится очень неплохая база для рогалика. Я бы с удовольствием поиграл во что-нибудь, поддерживающее для монстров полноценную экологию.
И отсюда следует ещё вот что: Вы можете использовать рогаликовые библиотеки вроде tdl и иметь из коробки всякие прикольные вещи типа нескольких имплементаций поля зрения, проходимых/непроходимых прозрачных/непрозрачных тайлов, реалтаймового/пошагового режима и тому подобного. Вроде там даже какие-то простенькие генераторы карт были.
И отсюда следует ещё вот что: Вы можете использовать рогаликовые библиотеки вроде tdl и иметь из коробки всякие прикольные вещи типа нескольких имплементаций поля зрения, проходимых/непроходимых прозрачных/непрозрачных тайлов, реалтаймового/пошагового режима и тому подобного. Вроде там даже какие-то простенькие генераторы карт были.
Да, тоже думал об этом. Сначала у меня даже визуализация была символьная. И библиотеки какие-то для рогаликов смотрел. Потом решил, что пока рано интерфейсом заниматься, но как до этого дойдет, можно будет и такое что-то прикрутить. Благодарю за наводку на tdl.
также можно взглянуть на bearlibterminal, это просто псевдо-терминал, там нет никаких рогаликоспецифичных алгоритмов, зато работа в выводом текста довольно приятная, только не очень питоничная, т.к. библиотека написана на плюсах, а работа из питона организована с помощью биндингов
Напомнило космосим Limit Theory, в котором что-то подобное реализовано. Разработчки (он один) вкратце описывал концепцию в каком-то из development updates (https://www.youtube.com/user/LimitTheory/videos). Жаль, давно не постил обновлений, хотя разработка идёт. Лично меня эти видео очень вдохновили в своё время :)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ну, это же пример работающей модели обучения, а не сбалнсированного мира ) Продолжительность жизни, как и вероятность появления ресурсов задана не жестко, а с помощью верояности:
А вообще да, так и есть — для жизни этим существам ресурсы не нужны, только для размножения, и то они на размножение не тратятся, поэтому так и происходит.
Про requirements и размер клеток учту обязательно, благодарю.
class Blank(Entity):
...
def live(self):
...
if random.random() <= 0.0004:
self._container.append(substances.Substance())
....
class Creature(Agent):
....
def pre_actions(self):
...
if random.random() <= 0.001 and self.age > 10:
self.die()
...
А вообще да, так и есть — для жизни этим существам ресурсы не нужны, только для размножения, и то они на размножение не тратятся, поэтому так и происходит.
Про requirements и размер клеток учту обязательно, благодарю.
НЛО прилетело и опубликовало эту надпись здесь
Тут вы правы, поторопился немного. Классы Creature, Blank, Block также как и классы состояний, не должны являться частью библиотеки, так как относятся к этому конкретному случаю ее применения. Надо будет вытащить их оттуда и сделать частью примера. Тогда и магические числа будут более простительны ) Хотя, конечно, лучше в константы.
Да, была идея ввести дополнительные условия, чтобы при размножении ресурсы тратились или меняли хозяина, а их нехватка повышала вероятность умереть ) Но тогда можно увлечься балансом конкретного мира тогда как сам инструмент создания еще доводить и доводить до ума.
Да, была идея ввести дополнительные условия, чтобы при размножении ресурсы тратились или меняли хозяина, а их нехватка повышала вероятность умереть ) Но тогда можно увлечься балансом конкретного мира тогда как сам инструмент создания еще доводить и доводить до ума.
НЛО прилетело и опубликовало эту надпись здесь
Я примерно представлял себе, что публикация и поддержка всамделишной публичной библиотеки занимает кучу времени и осознаю, что меня одного с моим уровнем на такую большую и серьезную задумку вряд ли хватит. Но это для того и было затеяно, чтобы повысить уровень, найти единомышленников, и хвастаться перед девушками ) В любом случае, спасибо за то, что поделились опытом — если дело вдруг дойдет до серьезной поддержки библиотеки, буду знать, к чему готовиться.
А про направление движения — если они решили собирать ресурс, но не могут до него дойти, они будут стоять, так же как и со спариванием. Друг по другу они не ходят, поэтому и встают намертво, пока кто-то не освободит место.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сотворение мира Опыт создания разумной жизни своими руками