Как стать автором
Обновить

Комментарии 31

Это прям очень круто! В самую точку что я мечтал сделать, но так и не сделал. Да ещё на питоне! Спасибо.
Ну, так форкайте ) Я только за, если это кому-нибудь принесет пользу. И, кстати, почему питон вызвал удивление? Мне казалось, для такого применения, он — самое то.
Это не удивление, а радость, от того, что я его более-менее знаю.

Кстати, win7 scipi через pip не поставился что-то, пришлось whl качать, а он потребовал numpy-mkl.
Странно, там из сторонних импортов только numpy и scikit-learn. Видимо, последний scipy цепляет.
Да, scikit-learn за собой тащит scipy, который ЕМНИП тащил бы ещё и numpy, если б тот не был уже установлен.
Особенно хорошо этот комментарий смотрится под Вашим ником. :)
Кстати, да )
Во-вторых, будучи представителем касты неприкасаемых отечественного IT сообщества,

Интересно, как вы решили «вступить» в эту «касту»? Я сам не разработчик, и против 1С ничего лично не имею, но повсеместно встречаю негатив по отношению к 1С
Эта история еще длиннее, чем статья ) Если вкратце, то по образованию я — вообще учитель английского и программировать начал поздно. А в наших краях заработать можно либо сайтами либо 1С с очень редкими исключениями. Сайты как-то не зашли, а 1С — отличный инструмент и не его вина в том, как им пользуются )
С хорошим знанием английского и программирования можно работать удаленно за длинный доллар :) Регион особо не важен тогда.

Я довольно поздно до этого дошел, уже было за 30.
Я вообще до программирования долго шел ) А над таким вариантом думал — было бы отлично, как только мое знание программирования догонит знание английского.
Тут, на самом деле, не все так сложно в плане опыта программирования — есть потребность и в джуниорах. Просто тот опыт, что получаешь, ковыряясь в 1с — может не пригодиться. Нужно пробовать прямо сейчас :)
А в итоге же у вас получится очень неплохая база для рогалика. Я бы с удовольствием поиграл во что-нибудь, поддерживающее для монстров полноценную экологию.
И отсюда следует ещё вот что: Вы можете использовать рогаликовые библиотеки вроде tdl и иметь из коробки всякие прикольные вещи типа нескольких имплементаций поля зрения, проходимых/непроходимых прозрачных/непрозрачных тайлов, реалтаймового/пошагового режима и тому подобного. Вроде там даже какие-то простенькие генераторы карт были.
Да, тоже думал об этом. Сначала у меня даже визуализация была символьная. И библиотеки какие-то для рогаликов смотрел. Потом решил, что пока рано интерфейсом заниматься, но как до этого дойдет, можно будет и такое что-то прикрутить. Благодарю за наводку на tdl.

также можно взглянуть на bearlibterminal, это просто псевдо-терминал, там нет никаких рогаликоспецифичных алгоритмов, зато работа в выводом текста довольно приятная, только не очень питоничная, т.к. библиотека написана на плюсах, а работа из питона организована с помощью биндингов

Мне как раз внешние алгоритмы не так важны — за них должна сама библиотека отвечать. А вот удобная визуализация — то, что надо. Вам тоже спасибо за наводку.
Напомнило космосим Limit Theory, в котором что-то подобное реализовано. Разработчки (он один) вкратце описывал концепцию в каком-то из development updates (https://www.youtube.com/user/LimitTheory/videos). Жаль, давно не постил обновлений, хотя разработка идёт. Лично меня эти видео очень вдохновили в своё время :)
Интересный проект, надо будет ознакомиться. Только нигде не нашел информацию о том, что разработка еще в процессе — везде последняя активность максимум в начале этого года.
Я летом заходил на форум, там активно идёт и обсуждение проекта «зрителями», и автор регулярно отписывался.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ну, это же пример работающей модели обучения, а не сбалнсированного мира ) Продолжительность жизни, как и вероятность появления ресурсов задана не жестко, а с помощью верояности:
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 также как и классы состояний, не должны являться частью библиотеки, так как относятся к этому конкретному случаю ее применения. Надо будет вытащить их оттуда и сделать частью примера. Тогда и магические числа будут более простительны ) Хотя, конечно, лучше в константы.

Да, была идея ввести дополнительные условия, чтобы при размножении ресурсы тратились или меняли хозяина, а их нехватка повышала вероятность умереть ) Но тогда можно увлечься балансом конкретного мира тогда как сам инструмент создания еще доводить и доводить до ума.
НЛО прилетело и опубликовало эту надпись здесь
Я примерно представлял себе, что публикация и поддержка всамделишной публичной библиотеки занимает кучу времени и осознаю, что меня одного с моим уровнем на такую большую и серьезную задумку вряд ли хватит. Но это для того и было затеяно, чтобы повысить уровень, найти единомышленников, и хвастаться перед девушками ) В любом случае, спасибо за то, что поделились опытом — если дело вдруг дойдет до серьезной поддержки библиотеки, буду знать, к чему готовиться.
НЛО прилетело и опубликовало эту надпись здесь
А про направление движения — если они решили собирать ресурс, но не могут до него дойти, они будут стоять, так же как и со спариванием. Друг по другу они не ходят, поэтому и встают намертво, пока кто-то не освободит место.
НЛО прилетело и опубликовало эту надпись здесь
Как раз рассматривают. А перед стенами они не встают, потому что обойти могут. А если существо окружить стенами, а ресурс положить снаружи, то оно так же будет стоять на месте, как если оно другими существами окружено.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории