Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 371 119 180
Говорят рогалики можно кирилить десятилетиями. #2 Поехали! https:&#47;&#47;arhivach.ng&#47;thread&#47;441819&#47; #1 Аноним # OP 19/05/20 Втр 11:10:52 671018 1
image.png 46Кб, 1115x1003
1115x1003
Аноним 19/05/20 Втр 11:37:28 671022 2
19/05/20 Втр 13:50:52 671077 3
Аноним 19/05/20 Втр 14:03:03 671084 4
>>671077
Нихуя ты вспыхнул
16pixel 24/05/20 Вск 21:15:17 672474 5
progress3.gif 620Кб, 1113x631
1113x631
progress2.gif 1080Кб, 1113x630
1113x630
progress.gif 404Кб, 1113x630
1113x630
Такс, что тут у нас за неделю:

Сделал отрисовку инвентаря. Переделал сам инвентарь, вынеся его в отдельный класс, потому что начал охреневать от количества функций класса creature.

Прошел все круги ада с адекватной реализацией функций "подними/выброси/используй/экипируй предмет" - и это я еще функцию "метни предмет" сознательно проигнорировал. Под это дело пришлось также перерабатывать обработку ввода команд.

Сделал нормально переход с этажа на этаж. Нормально = через лестницы и с сохранением персонажа.

Переделал генерацию мобов. Каждая комната теперь при создании имеет шанс сгенерить моба, еще один шанс сгенерить второго моба и совсем маленький шанс сгенерить третьего.

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

Вывел полоску ХП и ее расчет на экран, сделал лечилки. А, и заодно сделал возможность умереть и ньюгейм после этого. Теперь формально это действительно рогалик. Делать в игре по-прежнему почти нефиг, но зато появилось ощущение некоего интереса ну или я просто упоролся уже.

А ваши дела как?
Аноним 25/05/20 Пнд 05:57:27 672545 6
>>672474
>А ваши дела как?
хуже твоих
16pixel 30/05/20 Суб 19:27:25 673652 7
progress4.gif 2218Кб, 1113x630
1113x630
Вопрос бывалым - чем вообще занять себя в данже? У меня какой-то блок наступил, после того, как я ловушки сделал. Есть какие-то интересные механики кроме "пизди монстров - собирай голду"? inb4 можно трупы жрать
Аноним 30/05/20 Суб 21:03:55 673660 8
>>673652
Качаться же. У тебя какая система ролевая (есть ли вообще)?
Сделай стрельбу, смену оружия, разных монстров.
Вообще, хорошо делаешь, надо разгребать работу и тебя догонять.
>>669124 →-кун
Аноним 30/05/20 Суб 21:09:48 673661 9
>>673652
> Вопрос бывалым - чем вообще занять себя в данже?
Секретные комнаты

Предметы которые игроку не помогут, но могут ввести в игру некий "лор" (какие-нибудь свитки с текстами)

Какая-нибудь скрытая последовательность которая приведёт к некоему эвенту
Например потушить все факелы (или зажечь) в подземелье откроет куда-то проход
Аноним 30/05/20 Суб 21:13:21 673664 10
>>673652
сделай чтоб можно было монстров насиловать
16pixel 31/05/20 Вск 01:04:15 673711 11
progress5.gif 19272Кб, 1113x630
1113x630
>>673664
Лол, как только я написал прошлый пост, я подумал что вот это самое мне и насоветуют в первую очередь. Если объяснишь как это геймплейно оправдать, попробую ебануть

>>673661
Секретные комнаты - уже сделал. Открытие их по событию тоже сделал - пока выбор из двух вариантов, может рычаг сгенериться где-нибудь, а может скрытая плита в полу.

Про лор пока вообще не думал, хотел сначала механики реализовать пока они внезапно в голове не закончились.
А с факелами зачет идея, спасибо. Возьму в работу Это что, освещение лепить? И сами факелы нужно рисовать, а чтобы норм было надо анимацию делать нормальной а не через жопу, бляяяяя в целом наверное в brogue че-нить можно подсмотреть как будто я недостаточно пиздил из pixel dungeon

>>673660
Точно, качаться! Пока никакую не использую, все больше велосипедю. Все налеплено от балды - от хп монстров до дамага оружия. Есть чего посоветовать почитать на тему?
Смена оружия есть (даже на гифке к прошлому посту), стрельбу - да, найс идея, даже прикинул, как можно сделать - попробую.

Спасибо котаны, добавил в бэклог, лол.

>Вообще, хорошо делаешь, надо разгребать работу и тебя догонять.

Давай конечно! А то я себя чувствую Семеном в треде. Нужно больше рогаликов.
Аноним 31/05/20 Вск 01:29:32 673725 12
.png 254Кб, 642x600
642x600
Аноним 31/05/20 Вск 01:31:51 673727 13
>>673725
Или просто спрайт круга рисовать который чуть мерцает
Аноним 31/05/20 Вск 09:39:18 673748 14
Аноним 31/05/20 Вск 13:07:57 673778 15
>>673711
>Если объяснишь как это геймплейно оправдать, попробую ебануть
Это и есть геймплей. Подкрадываешься к монстрам и ебёшь их.
16pixel 31/05/20 Вск 16:07:55 673831 16
was-is.png 32Кб, 669x760
669x760
>>673748
Познавательно, почитал. Переделал расчет урона. Хотя я не сильно испытывал неудобство с предыдущим, нормальное распределение выглядит получше.
Но когда ты говорил про прокачку, я думал ты про левелинг какой-нибудь - на каком уровне как происходит прирост хп и статов, и т.д.

Аноним 01/06/20 Пнд 23:45:51 674137 17
>>673778
Или они тебя, как в старой, доброй и классичееской «Watch out you behind hunter!» Вообще можно было бы развить идею той игры. А лор, что это силы тьмы масоны педофилы и тебе надо как воину альянса спасти детей от педофилов - рептилоидов из подземелий. Уф бля! Адренохрома ебануть надо.
Аноним 02/06/20 Втр 14:58:33 674220 18
>>674137
>>673778
Если ОП не хочет делать такую игру, я сам сделаю. Или нет
16pixel 03/06/20 Срд 21:53:07 674584 19
progress.gif 255Кб, 1113x631
1113x631
Такс ну короче сделал возможность иметь разные тайлсеты на разных уровнях и возможность бросать предметы. Та же механика будет использоваться для стрельбы, спеллкастинга и хз чего еще, потенциально даже ходить можно через нее.

Давайте может поговорим за реализацию? Может посоветуете, как лучше сделать можно.

Короче, как сделано на текущий момент:
У меня есть действия, которые тратят ход и есть действия, которые не тратят. Например, move тратит ход, а открытие инвентаря - нет.

Я ввел для игрока стейты (states, состояния): "обычное", "копаюсь_в_инвентаре", "выбираю_цель_для_броска". Сделано это для того, чтобы можно было одни и те же кнопки действий использовать по-разному и не конфликтовать.
Еще сделал новый класс pointer, который создается, когда игрок входит в стейт "выбираю_цель_для_броска" и удаляется, когда игрок из него выходит. Для pointer сделал отдельный move, который позволяет перемещать его по тайлам только в поле зрения (fov) игрока. Этот move не тратит ход.

Итак:
Игрок находится в состоянии "обычное".
Открываешь инвентарь - игрок переходит в состояние "копаюсь в инвентаре". В этом стейте кнопки которые обычно отвечают за перемещение, отвечают за скроллинг инвентаря.
Жмешь кнопку "метнуть предмет". игрок переходит в стейт "выбираю_цель_для_броска". Инвентарь закрывается. Создается новый pointer, положение по умолчанию - тайл, на котором стоит игрок.
Двигаешь поинтер кнопками, жмешь кнопку броска - происходит действие броска и переход в стейт по умолчанию, поинтер удаляется. Отмена - также реализована, но без броска.

Как такие вещи по нормальному делать?
Аноним 04/06/20 Чтв 11:47:18 674639 20
>>674584
А щас-то чё на по нормальному? Работает - значит норма.
>Еще сделал новый класс pointer, который создается, когда игрок входит в стейт "выбираю_цель_для_броска" и удаляется, когда игрок из него выходит. Для pointer сделал отдельный move, который позволяет перемещать его
Делал также. Только перемещение не ограничивал.
А ты зачем? У тебя же FOV и FOW. Всё равно чего не надо не увидит. У кидать предметы/стрелять в пустоту иногда нужно или весело. Помнишь как в UFO было?
Аноним 04/06/20 Чтв 11:48:33 674640 21
>>674584
Алсо, посмотри Doom Roguelike. Там идеальная стрельба и вообще боёвка. Но, насколько я помню, там +- так же как у тебя механика стрельбы реализована.
16pixel 04/06/20 Чтв 17:48:49 674703 22
>>674639
Ну, на самом деле перемещение по fov это костыль, потому что по сути происходит не бросок предмета а удаление его из инвентаря и добавление на выбранный тайл. Если не ограничивать, то легко можно, например, в соседнюю комнату телепортнуть предмет.

Чтобы нормально сделать бросок, надо наверное кастить прямой луч с позиции игрока до выбранного тайла, и где он прерывается по пути к тайлу(стена там или моб), там и спавнить предмет. Кстати, это довольно неплохая идея...

>>674640
Не знал что Doom RL с открытыми исходниками лежит, кстати. Ознакомлюсь обязательно.
16pixel 05/06/20 Птн 22:13:40 674977 23
progress.gif 1146Кб, 1113x630
1113x630
line drawing.png 31Кб, 750x882
750x882
Такс, во-первых, отлично задрочил DoomRL. Нраица.

Во-вторых - про
>кастить прямой луч с позиции игрока до выбранного тайла
я сделяль. Подход использовал с https://www.redblobgames.com/grids/line-drawing.html. Код на питоне и гифон процесса - на скринах. Как будто змею выпускает, лол, збс


Аноним 05/06/20 Птн 22:40:58 674987 24
>>674137
Ещё можно сделать, чтоб можно было перейти на сторону педофилов.
16pixel 07/06/20 Вск 03:26:54 675159 25
progress.gif 644Кб, 1113x630
1113x630
progress2.gif 1798Кб, 1113x630
1113x630
Пофиксил броски и управление прицелом. Теперь бросок остановится перед закрытой дверью или стеной, а прицел можно перемещать как угодно вокруг, в рамках +-8 тайлов.
Еще сделал запоминание последней цели, если бросок был не просто в тайл, а в монстра - также в DoomRL происходит при стрельбе. Собственно, похоже у меня готова стрельба. Осталось пушку добавить.
Аноним 07/06/20 Вск 11:39:45 675184 26
>>675159
Красавчик, что тут ещё можно сказать?
16pixel 08/06/20 Пнд 15:27:28 675438 27
progress.gif 1381Кб, 1047x637
1047x637
>>675184
Спасибо!
Буду пореже постить, а то весь тред засрал.

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

Кстати, 16 числа на r/roguelikedev будет очередной tutorial series - https://www.reddit.com/r/roguelikedev/comments/grccvt/roguelikedev_does_the_complete_roguelike_tutorial/
Аноним 08/06/20 Пнд 21:41:24 675492 28
Допустим, хочу написать рогалик, кодить не умею. Начинаю гуглить и нахожу миллион туториалов по написанию рогалика на питоне. Но анон о питоне отзывается с насмешкой. Тогда встает вопрос, на чем же писать, какой язык учить. Мне важен сам процесс создания чего-то типа своей dwarf fortress. Чтобы она быстро работала, мало весила, легко расширялась. Ни для чего другого кодить не собираюсь, только вот такую игру, типа рогалик, но с глобальной симуляцией. Чего анон посоветует?
Аноним 08/06/20 Пнд 22:22:47 675507 29
>>675492
> какой язык учить
> Мне важен сам процесс создания чего-то типа своей dwarf fortress
Тогда учи язык, а не игру делай
Аноним 08/06/20 Пнд 23:52:05 675529 30
>>675492
>анон о питоне отзывается с насмешкой
О БОЖЕ, КАКОЙ УЖОС!!!
>быстро работала, мало весила
C++, asm
Аноним 08/06/20 Пнд 23:52:59 675530 31
>>675438
>Буду пореже постить, а то весь тред засрал.
Нет. Это называется "годный контент".
16pixel 09/06/20 Втр 00:10:10 675532 32
progress.gif 4251Кб, 1046x637
1046x637
>>675492
Ты это я в январе этого года.
Когда я только начал, я очень плохо знал язык и ничего не кодил ни разу толком. И рогаль начал пилить исключительно с целью научиться. А теперь хуярю тонны говнокода как не в себя, ссука, как это выключить

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

1. Поставил цель - держись ее. Не слушай анонов которые говорят тебе выучить другой язык, применить другую парадигму, говна пожрать и так далее. Хочешь кодить - начинай. Хочешь на питоне - возьми питон. Мой рогаль - на питоне. В r/roguelikedev в основном советуют начинать на питоне. Ничего плохого не вижу пока. Хотя если ты хочешь рогаль писать только для того, чтобы тебя аноны уважали, то конечно начинай сразу на расте, телки течь будут, шишка встанет и уйдет, забьешь на программирование нахуй, успех короче.
2. Подучи язык. >>675507-анон в чем-то прав. Мне охуенно помог курс на repl.it (вот этот - https://repl.it/student/classrooms/17929). Без ебанины, сидишь, решаешь задачки, от мегапростых (допиши принт) до довольно головоломных - и заодно учишь основные структуры и термины, и руку набиваешь. И нет резких скачков типа "нарисуй два овала - нарисуй остальную сову".
3. Уменьшай цель. Чтобы сделать ДФ, нужно сделать 10 обычных рогаликов. Тарн до ДФ дохера игр наговнокодил (пруф - https://www.youtube.com/watch?v=ZMRsScwdPcE). Kyzrati убил 10000 часов на игру которую даже не выпустил, до того как сделал cogmind (https://www.youtube.com/watch?v=9yJflbg0V38), а теперь он с него живет. Поставь для начала цель сделать простую игру - рандомный лабиринт, игрок, перемещение. Хотя бы с этого начни.
4. Задавай себе вопросы, ставь маленькие цели. Я ни один туториал не прошел до конца - либо моего мозга хватало только на половину того, что в них показывают, либо другая крайность, вида "возьми библиотеку типа tcod, напиши "import roguelike" и у тебя готов охуенный рогалик." Это не научит тебя ничему. Есть другой вариант: спрашивай себя "а как я могу реализовать вот это или вон то? Как сделать карту? Как сгенерить рандомные комнаты на карте? Как их соединить коридорами? Как сделать, чтобы они не пересекались?" И т.д. и т.п.
Думай, гугли, смотри видосы, читай статьи, спрашивай анонов. Здесь дают охуенные советы Ну или залупу на воротник накидывают, тоже бывает, это психотронная тюрьма, что ты хотел . И не пойми меня неверно, туториалы тоже смотри. Впитывай инфу.
5. Ну и старайся делать то, что тебе интересно. Я реально в эту тему влез, потому что всего лишь интересно было сделать лабиринт из квадратных комнат рандомно сгенеренный, и на экран его вывести. А потом было интересно, как походить по нему. А потом сделать комнаты не квадратные. А потом я посмотрел https://youtu.be/Uo9-IcHhq_w... Ну ты понял.

И в тред пиши. Особенно про прогресс. Будешь семеном, как я.
Аноним 09/06/20 Втр 02:23:12 675553 33
Аноним 09/06/20 Втр 08:57:01 675615 34
>>675529
>>675532
Ок. Вы одно не поняли: мне неважно, какой язык анон считает самым лучшим - важно только то, на каком, по его прикидкам, оптимально делать такой рогалик. И не как первый блин, а вообще, потому что для меня не стоит никакого дедлайна и я не стремлюсь зарабатывать 300кк в наносекунду кодигом никогда. Вот буду сидеть и ковырять плюсы, например, несколько лет, пока простейшую генерацию пещер сделаю - меня это устраивает, если в итоге это пойдет на пользу игре.
>>675507
>учи язык
>какой не знаю
Аноним 09/06/20 Втр 09:11:15 675620 35
Аноним 09/06/20 Втр 10:02:17 675622 36
>>675620
Скобку с точкой убери
Аноним 09/06/20 Втр 10:54:37 675628 37
>>675622
Пчел, специально без скобочки с точкой зацитировал же.
Аноним 09/06/20 Втр 11:20:57 675637 38
>>675628
У меня открылось. Попробуй зарегаться.
Или зайти на https://repl.it/student и поискать Auto-Graded Course with Solutions (python)
Аноним 09/06/20 Втр 11:33:52 675639 39
87654876549764.gif 263Кб, 512x288
512x288
Аноним 11/06/20 Чтв 14:52:37 676081 40
>>675615
Предлагаю тебе язык Rust. Сам горю такой же идеей как и у тебя. Но покатолько много накириллил
16pixel 12/06/20 Птн 01:21:58 676162 41
progress.gif 4470Кб, 1047x636
1047x636
Сделал освещение и факелы. Анон, который это предложил - респект тебе, отличная идея была, да и получилось даже лучше, чем я ожидал. Правда фреймрейт падает чем больше карты отрисовано, так что надо оптимизировать, да.

Реализовано так: добавил всем сущностям переменную lightlevel. Факелы кастят лучи во все стороны, и всему, что в радиус попадает, изменяют этот lightlevel. При рендеринге спрайт соответствующим образом темнится. Чуть сложнее, но не суть

Еще переделал анимацию - сделал отдельную функцию, которая по тику в игровом цикле сменяет кадры каждому энтити. Следовательно, начал потихоньку вкуривать в системы, которые S в ECS. Отслеживание уровня освещения тут же засунул во вторую систему.
Аноним 14/06/20 Вск 03:06:45 676515 42
.png 38Кб, 552x486
552x486
>>676162
У тебя как-то странно факелы освещают через стенку?
Аноним 14/06/20 Вск 11:28:49 676543 43
>>676515
Вангую, что это отражённые лучи через дверь. ВАУ, РТХ!!!
Аноним 14/06/20 Вск 11:39:03 676547 44
>>676543
Просто в той комнате тоже могут быть факелы.
16pixel 15/06/20 Пнд 00:28:32 676683 45
progress.gif 2847Кб, 1046x637
1046x637
Просто лучи света проходят сквозь стены и двери. Согласен, так себе решение, но если их останавливать стенами - выглядит это еще хуже.

Может можно накостылить кастинг лучей света только в одну комнату, но комнаты часто генерятся как на пикрил - когда разделение одной стеной - так что хз что с этим делать
Аноним 18/06/20 Чтв 06:05:24 677421 46
>>676683

Какие пакеты-фреймворки?
Тоже хочу на питоне рогалик писать, ты меня замотивировал.
Аноним 18/06/20 Чтв 09:18:59 677426 47
>>677421
Он же вроде писал, что PyGame.
16pixel 19/06/20 Птн 00:28:36 677601 48
Все так, без пакетов и фреймворков, чистый питон + pygame
Аноним 22/06/20 Пнд 07:51:20 678164 49
16pixel 23/06/20 Втр 01:22:09 678332 50
>>678164
Вообще без проблем, а цель какая? Там такая содомия, что хоть санитаров вызывай мало что понятно, если ты не я.

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

Ссылку на код кину, как с компа зайду и залью в гит какой-нибудь
Аноним 24/06/20 Срд 05:18:59 678467 51
>>678332
>цель какая?
Интересны некоторые способы реализации, которые сам не вдупляю немного.
Например, движение камеры или героя неужто нет ничего лучше чем все остальные объекты сдвигать в противоположную сторону (если герой всегда по центру) и как оно всё влияет на поиск пути и прочую парашу.
>Надо?
Давай.
Аноним 20/07/20 Пнд 18:30:50 683762 52
почему тред умер?
неужели рогалики больше никому не интересны?
16pixel 24/08/20 Пнд 02:33:52 693910 53
progress.gif 1773Кб, 1047x637
1047x637
Я немного сгорел.

Соломинкой, сломавшей спину верблюда, стало ебучее освещение. Я гонял пигейм в хвост и в гриву пробуя попиксельно менять оттенок спрайта, стараясь не проебать при этом прозрачность. Кучу разных костылей написал. Ничего не работало нормально.
Несколько месяцев я даже думать не хотел о рогалике.

Вчера пришла в голову мысль, что можно просто на каждый тайл натягивать отдельным слоем черный квадрат, делая этот квадрат прозрачным, в зависимости от уровня освещения тайла.
Аноним 24/08/20 Пнд 08:16:46 693934 54
>>693910
А в чём проблема? в производительности или в том что ты не можешь нормально алгоритм придумати?
Аноним 24/08/20 Пнд 18:23:53 694171 55
>>693910
> Вчера пришла в голову мысль, что можно просто на каждый тайл натягивать отдельным слоем черный квадрат, делая этот квадрат прозрачным, в зависимости от уровня освещения тайла.

Это же почти как лайтмапа
16pixel 25/08/20 Втр 01:01:18 694446 56
progress.gif 2722Кб, 1046x637
1046x637
>>693934
Наверное и то и другое.

Я пробовал сделать для каждого объекта расчет уровня освещенности; в зависимости от него пиксели на объекте должны затемняться. Было много разных провалов - например, по дефолту у меня загрузка всей графики для спрайтов в память происходит один раз. И скажем, если у тебя на экране 2 одинаковых спрайта по разному освещенных, то это означало, что чтобы их отрисовать ты исходник этого спрайта дважды копируешь и меняешь каждому освещение попиксельно - и не один раз, а раз в игровой тик, а их больше 60 в секунду. Фпс просаживался, плюс попиксельное затемнение не очень работает, если у тебя 1 цвет на спрайте задан как прозрачность - эта прозрачность тоже затемняется, причем очень заметно.

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

>>694171
Похоже, что все хорошее уже придумано)
Аноним 25/08/20 Втр 09:31:24 694497 57
>>694446
>Фпс просаживался
Так а хули ты хотел-то, тебе сколько раз говорили что питон ОЧЕНЬ БЛЯДЬ медленный, потому что вообще не сделан для производительных приложений совершенно. У него дичайший оверхед во всём. А любая игра, даже такая простая с виду может требовать некоторых ресурсов. Я советую тебе поискать готовую либоу для работы с 2д графикой на каком нибудь С++ или иже с ними, которую можно будет заюзать в питоне, хоть какая-то отдушина.

Аноним 25/08/20 Втр 10:39:39 694509 58
>>694497
>оверхед
Двачую. Лучше брать какой-нибудь шарп для этих целей, ибо даже по сравнению с питоном он более мощный.
16pixel 25/08/20 Втр 20:28:51 694739 59
progress.gif 1292Кб, 1046x637
1046x637
Конечно более мощный.

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

Ну и после того, как один парень написал на пигейме клон террарии (https://www.reddit.com/r/pygame/comments/gogfav/a_terraria_clone_i_made_using_pygame_a_few_years/), я чето думаю про медленность питона все-таки преувеличены слова. Он конечно медленнее всего остального вообще, тут даже не поспоришь но в целом - для моих целей потянет.

Алсо, я сделал газы.
Аноним 26/08/20 Срд 09:14:15 694836 60
>>694509
Хуйню несёшь, томозной питон менять на тормозную сирешётку - это шило на мыло.
Аноним 26/08/20 Срд 11:22:28 694844 61
Аноним 26/08/20 Срд 13:13:24 694890 62
>>694844
Нет.
Честно говоря, удивлён, что мочератор ещё не забанил меня за критику сирешётки.
16pixel 01/09/20 Втр 02:48:18 696703 63
progress.gif 1677Кб, 1046x637
1046x637
Бамп. Относительно продуктивная выдалась неделька.

Во-первых, узнал, что существует pyglet. Он очень круто задокументирован и вроде как быстрее pygame. Так что кто захочет как я кириллить на питоне - берите его, а не pygame.
Мне конечно лень.

Во-вторых, не знаю что за прикол у пигейма с функцией blit, но она работает оче плохо, если пытаешься блиттить много спрайтов, неважно, на экране они или нет.
Мужики посоветовали реализовать функционал чанков (chunks).

Как это сделал я: группирую спрайты тайлов карты (пол там, стены) в пачки 5х5. Сохраняю. Рендерю только те спрайты, которые входят в чанк, где у меня в данный момент находится player, + прилегающие.

Почему рендеринг стал быстрее: чанк это отдельный класс, которому я приделал атрибуты "минимальные х и у/максимальные х и у", - они считаются из координат тех тайлов, которые в этот чанк входят. Чтобы определить, находится ли игрок сейчас в чанке, нужно всего лишь проверить, находятся ли его координаты в границах этих атрибутов.

итого 2500 спрайтов тайлов на первой карте превращаются в 100 чанков. Рендерится в любой момент времени 250 спрайтов. ФПС легко и приятно держится на 60.

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

И сделал рандомную генерацию цвета бутылок + соответствие газов им: газ лечения и бутылка лечения будут одного цвета. Код - просто эталонный пиздос, образец "как не надо делать", но он работает - да и хуй с ним.


Надо уже финализироваться как-то.
Аноним 01/09/20 Втр 05:36:01 696707 64
132874290667944.jpg 125Кб, 500x667
500x667
145423011018983[...].png 2596Кб, 811x3402
811x3402
14825082983530.jpg 165Кб, 1280x960
1280x960
14836976608850.jpg 37Кб, 576x429
576x429
>>696703
>Почему рендеринг стал быстрее: чанк это отдельный класс, которому я приделал атрибуты
Вот это ты маладца. хорошо зделал. Алогритмы оптимзиации нужно понимать туда сюда. Понимать когда где и что можно оптимизировать тама. Допустим я сейчас пилирую мод на кубаче, там система труб есть. по сути в каждом сегменте трубы есть количество какой-то жидкости или предметы. постоянно перемещать это говно, особенно если труб очень много смысла вообще не имеется, поэтому я придумал вот такую хуйню -> Для оптимизации любые коммуникации будут трансформироваться в snakeChunks. У каждого snakeChunks есть длина и скорость прохождения единиц. Если участки пути различаются по скорости, например разные конвйеры, они собираются в разные снейки. Пока snaked инфраструктура загружена в игру, существующие предметы имеют в ней параметр пройденного пути. Он позволяет рендерить внешнее изменение снейка. В случае если снейк был изменён, все предметы внутри него пересчитывают свое местоположения на кусках снейка для того чтобы дропнуться с него если сегмент отсутствует или переместиться в новый снейк, созданный из предыдущего.

Тоесть надо научиться видеть в общем сам процесс работы алгоритма, чтобы находить моменты которые можно аппроксимизировать, упростить с минимальными потерями внешего качества или вообще без, ну и конечно же наблюдать за теми участками которые выполняют лишнюю для текущего масштаба работу.
Позде можно попробовать соединить эти снейки с machines (любыми блоками которые что то делают и существуют в системе по отдельности), и создавать по ним своего рода карты прогноизруемых вычислений, чтобы только по количеству пройденых при выгрузке из чанка тиков можно было одним махом исполнить всю работу. Сим образом допустим фабрики по производству какой-то хуйни будут "работать" и в выгруженых чанках. Хотя сам процесс создания карт вычислений это опиздейшняя залупа крайне сложная в исполнении. Но я верю что смогу этот момент разрулить.
Аноним 02/09/20 Срд 02:25:48 696809 65
progress.gif 2295Кб, 1047x637
1047x637
>>696707
Неожиданно для себя, понял вообще все, что ты написал. Согласен полностью.

Алсо:
Поебался с идентификацией предметов. Сделал идентификацию для бутылок после броска/использования. Ни хера не тривиально оказалось - бутылки работают по принципу "одну опознал, остальные тоже опознались", а например с ножами такой трюк не провернешь, все уникальные.

Потом отпишу как сделал, а то чето устал
Аноним 02/09/20 Срд 19:14:56 696920 66
>>696809
Так а эволюционруешь хули!
нудзфл76 03/09/20 Чтв 12:17:40 697009 67
ytltk. неделю курю пайгейм - ждите
Аноним 03/09/20 Чтв 17:08:14 697069 68
15870364653500.png 91Кб, 250x250
250x250
>>697009
Смотри насмерть не накурись долбоёб
16pixel 04/09/20 Птн 12:46:17 697225 69
16pixel 10/09/20 Чтв 02:17:25 697950 70
progress.gif 1366Кб, 1286x637
1286x637
Сделал статусы (отравлен, горишь, оглушен и т. д.).

С ними прошел путь от сомнительной реализации до еще более сомнительной реализации. Это ебучее например горение заставило в очередной раз перепиливать расчет освещения, чтобы зона освещения у горящих объектов пересчитывалась, если они двигаются. Это просто блядь пиздец. До сих пор доделываю.

На гифке - самовоспламенение и опаление слишком близко подошедшего скелета.

Попозже еще напишу.
Аноним 10/09/20 Чтв 11:27:34 697991 71
>>697950
Ну делаешь и то хорошо
Аноним 10/09/20 Чтв 15:53:59 698041 72
>>697950
>самовоспламенение и опаление
туши пукан пока не поздно
Аноним 11/09/20 Птн 14:19:01 698196 73
Аноним 11/09/20 Птн 18:06:50 698240 74
>>698196
И шо это такое с вашего позволеня
Аноним 12/09/20 Суб 09:32:38 698345 75
>>694446
>Было много разных провалов - например, по дефолту у меня загрузка всей графики для спрайтов в память происходит один раз. И скажем, если у тебя на экране 2 одинаковых спрайта по разному освещенных, то это означало, что чтобы их отрисовать ты исходник этого спрайта дважды копируешь и меняешь каждому освещение попиксельно - и не один раз, а раз в игровой тик, а их больше 60 в секунду.
Погоди - в питоне нельзя менять графику на лету? Серьёзно? Даже в гамаке этот вопрос решался одним из первых. Тайлы там точно могли менять цвет, свет и прочее-прочее. Неужели с буфером графики такие проблемы?
Аноним 13/09/20 Вск 13:05:14 698499 76
>>698345
Да все там можно, если ты не жопорук как я
Аноним 13/09/20 Вск 22:50:02 698630 77
>>698240
yx ya i molodec, nu i vce takoe
ya, tipa, tozhe, kirillu vashy "rogalike"
Аноним 14/09/20 Пнд 05:11:24 698680 78
>>698630
Ну тогда маладца, кирилль
Аноним 15/09/20 Втр 00:41:38 698833 79
Уважаемые господа ECS-ники, как вы карту делаете? Если каждый тайл делать entity, это же дичь получается
Аноним 15/09/20 Втр 09:39:39 698842 80
>>698833
Делю карты на фрагменты по NxM тайлов, каждый фрагмент - entity. Потом генерю всю карту рандомно из фрагментов. Это в теории, я пока ещё с перемещением перса разбираюсь
Аноним 15/09/20 Втр 23:01:16 698942 81
>>698833
Делал бы карту статичным мешем (ну или чанками какими), а в тех местах должен срабатывать триггер или заспавниться противник, делал невидимую сущность. К примеру входишь в комнату и должна появиться надпись какая-то. Делается это просто пересечением невидимого прямоугольника и bbox игрока.
Аноним 02/10/20 Птн 18:07:34 701877 82
image.png 3Кб, 295x288
295x288
Только недавно открыл для себя мир рогаликов. Вдохновился на свой. Начал выполнять туториал по python 3, но потом переобулся на юнити. Что в питоне, что в сишарпе я нубас, но со вторым я работал хотя бы немного, с юнити тоже, плюс возможности отрисовки выше. Все правильно делаю, посоны?
Аноним 03/10/20 Суб 11:59:44 701959 83
Аноним 04/10/20 Вск 21:33:20 702094 84
Возник вопрос по генерации уровней/карт
Понятно что сейчас самый популярный способ даже не в васянских играх, а в $60 васянском говне это
>генерить комнату
>генерить нное колличество коридоров из нее
>генерить комнаты в конце коридора(или иногда один тупик если хочешь выделиться)
>повторить шаг два пока не закончится "н"
Метод простой, верный и рабочий, даже в сеговской fatal labyrinth использовали

Но вопрос в том, а есть ли рабочие методологии, или игры, где сначала генериться большая комната, и в ней уже генерятся стены и прочая мишура для коридоров и прочей радочти? Интересует из-за того что таким способом можно наверное получить не совсем квадратные/прямоугольные комнаты
Есть игры где использовалось что-то подобное чтобы посмотреть как делалось?
Аноним 05/10/20 Пнд 18:25:55 702321 85
Аноним 06/10/20 Втр 00:19:01 702357 86
FLOOR1.png 0Кб, 32x32
32x32
WALL1.png 0Кб, 32x32
32x32
А я пока только тайлы стены и пола нарисовал, несколько раз пересмотрел видеотутор по рогалику на юнити, чтобы когда начну его выполнять не тупо строчки копировать а хоть одуплять что и почему делаю. Завтра начну, может даже немного модифицирую под себя алгоритм генерации мапы. Чтобы не забить обещаю анонам скрин результата выложить.
Аноним 06/10/20 Втр 19:17:23 702494 87
image.png 163Кб, 1440x900
1440x900
>>702357

Обещал - сделал. Генерация из примера для юнити была совсем скучная, одна комната 8х8, поэтому я запилил свою, нетхак-стайл. Правда одна проблема, я не знаю, как внутри цикла построения комнаты проверить, совпадают ли координаты тайла с массивом, в котором у меня хранятся коридоры. По идее должно быть что то в роде
if (!DungeonHalls.contains(x,y,0f))
Но это не работает.
Поэтому пока все комнаты замуровнаы.
Аноним 06/10/20 Втр 19:23:57 702495 88
image.png 165Кб, 1440x900
1440x900
>>702494

Хотфикс. Размуровали, демоны!
Аноним 07/10/20 Срд 05:34:52 702551 89
15917845094200.jpg 178Кб, 699x1080
699x1080
15777118098620.jpg 8Кб, 179x281
179x281
>>702494
>>702495

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

Хорошо конечно что хоть что-то делаешь, но блять, бросай хуйню делать богом молю и придумай что-то реально новое хотя бы на уровне своём знаний. Поверь, даже на самых базовых знаниях типо if else, массивы и прочее можно пилить охуительные идеи. Но всегда ставь новые проблемы которые ты с наскока не можешь решить, и вгрызайся в них как тваррръъ, гугл пока не отключили, так что не бухти что сложно. Да, сложно, нихуя не понятно, но именно в таком труде и усилии рожается чистый сука опыт, эссенция экспы блятиь.
Аноним 07/10/20 Срд 09:21:24 702553 90
>>702551

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

Идея как сделать совсем случайное подземелье у меня уже есть, реализуется небольшим переписыванием текущего кода. Но сначала я хотел бы научиться реализовывать другие базовые вещи. Когда у меня будет два случайных этажа подземелья, между которыми будет перемещаться персонаж с инвентарем и статами, имеющий ограниченную видимость и способный драться с мобами тогда и начну развиваться. Идей то у меня куча.
Аноним 07/10/20 Срд 11:31:14 702572 91
Clipboard02.png 0Кб, 147x138
147x138
Сегодня без кода, только скелет на будущее.
Аноним 07/10/20 Срд 11:32:46 702574 92
>>702553
Чем меньше ты превозмогаешь, тем более мутроным процесс будет и быстрее ты дропнешь без видимого результата. делай как знаешь кароче, похуй.
Аноним 07/10/20 Срд 11:35:58 702575 93
>>702574

Окей, в твоих словах есть смысл. Попробую сделать более интересную генерацию, как сделаю - выложу результат.
Аноним 07/10/20 Срд 11:42:48 702576 94
>>702575
https://habr.com/ru/post/461323/
Бери вот это, придумай как в неё записать собственные правила генерации, научись генерировать этажи больших храмов (частично симмтеричные комнаты.) Создай абстракцию над процессом генерации вообще (хуй знает просто как сейчас у тебя рабботает). Используй какой-нибудь шум Перлина для генерации пещер.

https://habr.com/ru/post/475764/
https://habr.com/ru/post/321874/
https://habr.com/ru/post/440286/
https://habr.com/ru/post/354826/
Аноним 07/10/20 Срд 12:03:34 702579 95
>>702553
Да не слушай никого, делай как хочешь. Или слушай и делай как хочешь. Главное делай, а то пиздоболов развелось, на анонимных имиджбордах пишут а рогалики - нет
Аноним 07/10/20 Срд 12:04:38 702580 96
>>702579
просто занят модом на кубоч, потому и не пилю
Аноним 07/10/20 Срд 12:54:14 702586 97
>>702579

Я пока в тетрадочке набросал план для альтернативного генератора данжа, там суть в том что у меня не три вертикальных и три горизонтальных коридора, как я сделал, а N горизонтальных и Z вертикальных, со случайными X и Y соответственно. А на их пересечениях делаются комнаты. Единственное что надо одуплить как сделать их длину рандомной, думаю придется впервые создавать новый класс переменной, включающий в себя и начальную координату коридора и его длину.

Но перед этим всем я все таки хочу побегать персонажем по уже имеющемуся.
Аноним 07/10/20 Срд 14:58:44 702601 98
>>702551
>придумай что-то реально новое
Самое дебильное что ты только мог сказать
Зачем изобретать велосипед? Если в итоге выйдет в разы хуже чем от проверенных дедовских методов?
Аноним 07/10/20 Срд 15:03:35 702602 99
>>702601
Ебать, долбоёб ты сука за что нахуй, у меня слёзы от тебя на глазах выступили. С таким подходом иди нахуй шестой клон ADOM делать, всё сука, весь игрострой засрали однотипным говном бездари ебаные нахуй. Так мало того что вы срёте сука, вы в своём говне посредственном топите реально интересные идеи, про которые не могут узнать люди, потому что блять тонут в говне блять посредственности блять.

Не разговаривай со мной больше пожалуйста.
Аноним 07/10/20 Срд 15:06:07 702603 100
1.png 88Кб, 1440x900
1440x900
2.png 78Кб, 1440x900
1440x900
3.png 81Кб, 1440x900
1440x900
Надеюсь теперь Анон скажет "маладца".
Аноним 07/10/20 Срд 15:07:42 702604 101
>>702603
ну маладца конечно, хоть что-то делаешь, но умоляю тебя, не останавливайся на таких тривиальных способах. Всегда есть более интересное, и лучшее решение. В тред кстати информации достаточно я выложил
Аноним 07/10/20 Срд 15:10:35 702605 102
>>702604

У меня по плану сегодня было ходить начать, а из за тебя, демон, я вышел за свои пределы полного нуля в геймдеве и кодинге и перепилил генератор данжа спасибо за мотивирующий пинок, анонче. Что то менее тривиальное буду пробовать позже, сейчас нужно базовый функционал научиться делать.
Аноним 07/10/20 Срд 15:14:38 702606 103
image.png 258Кб, 512x288
512x288
>>702605
ГЛАВА ДОЛБОЁБОВ, ИЗВЕСТНОЙ БАНДЫ ИМИДЖБОРДЫ ДВОЩ! СИМВОЛ БИТАРДСКОГО НАЧАЛА! ДЕМОН СОРСЦОВОГО МИРА И ОКРЕСТНОСТЕЙ! ИЛИ ПРОСТО АНОНЧИК, СОБСТВЕННОЙ ПЕРСОНОЙ!
Аноним 07/10/20 Срд 15:33:01 702609 104
>>702602
Таблетки прими
На интересные идеи всем похуй если ты не можешь их по человечески реализовать, поскольку лично у тебя все твои "интересные идеи" заканчивались не играбальным говном, а вот у чэдов вроде меня всегда получались годные игры которые нравятся людям, поскольку знаем как делать
Аноним 07/10/20 Срд 17:25:18 702626 105
>>671018 (OP)
Тут конечно шизик завёлся, но вообще он правильно сказал - чем необычнее задумка, тем круче костыли, и тем больше универсальной экспы. Я вот неожиданно для себя начал делать мод про необычную (японскую) армию для одной игори, и за год от нуля в тридэ играх дошёл до того, что начал импортировать простенькие модельки военной техники, которую сам слепил на коленке.
Хотя против рогаликов ничего не имею - спеланки и айзек жутко доставили - но нужно признать что без интересных и необычных идей он нахуй не нужен.
24 года-с нyльчика-кун
Аноним 07/10/20 Срд 17:26:37 702627 106
>>702626
Почему я шизик? Может просто шибко эмоционально выражаюсь.
Аноним 07/10/20 Срд 17:57:26 702628 107
>>702626
Прежде чем делать необычные задумки надо знать как делают взрослые дяди. А уже потом добовлять что-то свое
Это как кино, сначала нормальные режисеры хуярили рекламу и говно по шаблону, а уже потом ивил дедов
А арт хаусники которые хотели выебнуться и снять не так как все, как правило снимают говно которое никому не нужно. И в итоге ничего стоящего так и не снимают
Аноним 07/10/20 Срд 18:03:47 702629 108
>>702626
>24 года-с нyльчика-кун
А это правда, что фокусник с ньюсача - это ты?
Аноним 07/10/20 Срд 18:32:01 702632 109
>>702628
99% "нормальных" нихуя не сняли толкового. От жанра мало зависит. Линч и Джексон снимали артхаус и не померли.
>>702629
Понятия не имею, о чём ты. На ньюсаче вообще не сижу, там ольгинцы и крымодебилы спамят хуйнёй про украину.
Аноним 07/10/20 Срд 18:37:09 702633 110
>>702632
>Линч снимали артхаус и не померли.
Ну да, во время учебы он нихуя не узнал о том как снимать фильмы, и сразу начал с артхауса
То что игнорируешь то что его первые короткометражки на артхаус никак не тянули комментировать даже не стоит
>>702632
>На ньюсаче вообще не сижу, там ольгинцы и крымодебилы спамят хуйнёй про украину.
Еще и хохлина, ясно почему такой долбанутый и орешь что похуй на готовые методики наджо эксперимниторавть, у вас вся страна такая ебанутая
Аноним 07/10/20 Срд 18:38:51 702634 111
>>702633
>готовые методики наджо эксперимниторавть
Ты с кем общаешься? это вообще другой человек.
Проснись, ты в психотронной тюрьме серишь.
Аноним 07/10/20 Срд 18:58:34 702637 112
1.png 88Кб, 1440x900
1440x900
2.jpg 11Кб, 299x337
299x337
3.png 81Кб, 1440x900
1440x900
4.jpg 10Кб, 244x346
244x346
Я уже всех заколебал наверное, но еще немного пошлифовал свой алгоритм чтобы получше выглядели результаты.
Анон, топящий за нестандарт: я тебя понимаю и согласен с тобой. Но для меня надеюсь пока что это и есть нестандарт и выход за пределы, потому что я вообще в туторах не встречал такого подхода к генерации, обычно все наоборот, делаются комнаты, а потом вырезаются проходы. То, что я слепил может криво-косо, но мое, ни у кого не подсмотренное и это вдохновляет.
Аноним 07/10/20 Срд 19:02:48 702640 113
>>702634
Если ты другой человек, нахуй ты в разговор влез? Я нульчика спрашивал. "Фокусник" это шизик который фото своего хуя постоянно постит, есть мнение, что это нульчик.
Аноним 07/10/20 Срд 19:09:19 702641 114
>>702637
> обычно все наоборот, делаются комнаты, а потом вырезаются проходы
Может блядь из-за того что это самый лучший способ который только можно придумать?
Делаешь комнату, потом из неё рандомное число коридоров(не больше чем остаточное число комнат которые ты хочешь еще добавить) в рандомных местах. Если совсем не хочешь паритсья то не больше коридора на сторону комнаты, так даже не надо страховатсья чтобы комнаты не пересекались
Аноним 07/10/20 Срд 19:17:58 702643 115
>>702637
Данжоны не оче реалистичные. Такие кишки-коридоры в бункерах есть, но не в данжонах. Тебе нужно сделать одну большую комнату, которую пересекают вертикальные и горизонтальные стены, в которых случайно сделаны прорези - двери. Ну или сделать один большую квадратную-комнату, в котором внутри случайно будет вырезаться квадрат поменьше
Аноним 07/10/20 Срд 19:23:25 702644 116
>>702637
Пожалуйста, если хочешь чтобы твоя игра работала, не слушай его >>702643
Всё у тебя нормально для рогалика
Я сам спрашивал что-то подобное поскольку тема интересная>>702094
Но то что тебе написал анон полная хуйня и ничего годного из этого не выйдет
Аноним 09/10/20 Птн 22:19:15 702958 117
Clipboard03.png 22Кб, 666x664
666x664
Тот-самый ньюфаг репортинг ин.
Теперь персонаж умеет двигаться и биться в стенки, а еще к нему привязалась камера, ура. Правда, мой метод проверки на возможность пройти не подразумевает что нельзя ходить там, где ничего нет, ведь вселенная не любит пустоты. Поэтому немного перепилю генератор данжа. Будет огромная комната Х на Y тайлов, в которой будут выбираться рандомные точки как корни областей. Для каждого корня будет рандомно выбираться какой тип области вокруг нее вырастет: для начала думаю это будут просто прямоугольные комнаты огражденные стенами со случайным количеством входов или залы, просто пустые пространства. Потом в список областей на выбор можно будет добавить пропасти, озера, грибные поля, библиотеки и прочее, с разной вероятностью возникновения. А пока вот скриншотец, чтобы пост не был без картинки.
Аноним 11/10/20 Вск 00:25:57 703087 118
>>702958
>Будет огромная комната Х на Y тайлов, в которой будут выбираться рандомные точки как корни областей.
Нормас. Всё лучше чем кубы соединённые длинными корридорами.
Аноним 14/10/20 Срд 21:51:04 704132 119
1.png 44Кб, 966x719
966x719
2.png 19Кб, 562x428
562x428
image.png 2Кб, 140x96
140x96
Маленькая, но победа. Реализовал свой алгоритм, пока генерируются только комнаты, но потом пропишу функции для других видов областей, конфигурация кода позволяет легко это сделать и даже регулировать вероятность возникновения области (пока что для простой комнаты стоит 100% вероятность появления). Камера следует за игроком, игрок не проходит сквозь стены, вроде бы все работает корректно.

Пора наверное добавить врагов.

P.S. Дико вдохновился визуальным стилем Infra Arcana, думаю переезжать на однобитовую графику. Намалевал на досуге спрайтец, пикрил 3.

Аноним 15/10/20 Чтв 20:00:37 704344 120
image.png 38Кб, 558x446
558x446
image.png 83Кб, 694x330
694x330
image.png 25Кб, 397x421
397x421
Я посидел на работе, подумал, и понял, что старый алгоритм хуйня, кубы в кубе. И написал сначала в блокноте ручкой, а потом дома в монодевелопе новый. Все, обещаю на этом остановиться с задрачиванием генератора данжа и начать работать над боевкой.
Аноним 15/10/20 Чтв 20:03:47 704346 121
>>704344
>Я посидел на работе, подумал, и понял, что старый алгоритм хуйня, кубы в кубе.
тебе это с самого начала говорили
Вот новый да, так и надо. Все так делают по хорошей причине
Аноним 15/10/20 Чтв 20:05:09 704347 122
>>704346

В самом начале я бы такой алгоритм не написал, пришлось много почитать/посмотреть.
Аноним 16/10/20 Птн 11:32:59 704429 123
>>704344
ну весьма НЭПЛОХА.
Аноним 16/10/20 Птн 12:05:34 704434 124
>>672474
Забавно, энтерпрайзерский разраб сразу бы вынес в отдельный класс.
А на чем пишешь?
Аноним 22/10/20 Чтв 21:41:25 705913 125
>>704344
Аноны, а что, никто разве не слышал про wave function collapse. С помощью этой штуки можно же что угодно сгенерировать.
Аноним 22/10/20 Чтв 23:33:51 705918 126
>>705916
Да, у этого алгоритма есть недостатки, но они фиксятся. Можно ещё клеточные автоматы попробовать, там вообще никаких проблем нет.
Аноним 23/10/20 Птн 16:00:59 705979 127
>>705921
Точно! Все алгоритмы, оказывается, говнище и не работают.
Аноним 24/10/20 Суб 03:07:54 706052 128
>>705913

Я запилил свой алгоритм на основе drunkard's walk, результат меня устраивает. Клеточные автоматы создают пещеры, а мне нужен был данж.
Аноним 24/10/20 Суб 09:55:06 706078 129
>>706052
Разве drunkard's walk не создаёт пещеры?
Аноним 24/10/20 Суб 10:21:26 706080 130
FOV.gif 1511Кб, 800x600
800x600
Кодил на этой неделе один день. Остальное время с блокнотом и ручкой изучал всех этих Брезенхемов, алгоритмы FOV, кэширование и инкапсуляцию в юнити и т.п. Но FOV таки запилил.
Аноним 24/10/20 Суб 11:42:01 706086 131
>>706078

Может и пещеры. А может коридоры, в ключевых точках которых я ставлю комнаты.
Аноним 27/10/20 Втр 11:07:35 706585 132
progress.gif 1078Кб, 884x631
884x631
Бамп треду, привет вкатившимся.

Я наконец разобрался с плавной отрисовкой кадров в pygame, такая-то красота теперь. Вот не шучу, 4 недели ебался
Аноним 27/10/20 Втр 11:26:22 706586 133
>>706585
Прикольно, будет 1я игра на питоне и при этом не ВН-ка!
Аноним 27/10/20 Втр 12:36:59 706592 134
>>706585
Надеюсь добавишь скин тяночки на гг.
Аноним 29/10/20 Чтв 19:20:18 706958 135
Есть годные туториалы для юнити по рогулькам?
Аноним 30/10/20 Птн 07:17:28 707008 136
>>706958

Увы, нет. Сам с этой проблемой столкнулся. Весь поиск засран scavengers парашей, где даже тайлмапы нк используются, тупо все из геймобжектов. Я из за этого петуча сначала тоже так делал. Именно из за отсутствия туторов у меня на генератор данжа и фов три недели ушло.
Аноним 30/10/20 Птн 11:41:15 707032 137
>>707026

Геймдев это творчество, в творчестве ничего не "принято". На юнити уже достаточно годных рогаликов, можешь на том же рогбазине чекнуть.
Аноним 30/10/20 Птн 12:53:36 707045 138
>>707040
Demon, Ganymede Gate, Axu, Rogue Empire, Emergence, Ruins of Marr
Аноним 30/10/20 Птн 12:57:12 707047 139
>>707032
кстати да поддержу, в юнити и грид давно встроили и слои для фова
Охуенная вещь же для рогаликов
Аноним 30/10/20 Птн 13:18:41 707056 140
>>707054
Когда ты играешь в игру, тебе все равно, какие инструменты использовались, все, что тебя волнует это интересно играть или нет. Настоящий извращенец тот, кто сознательно ограничивает себя в выборе инструментов. Я пикнул юнити потому, что заведомо лишаю себя всех проблем, связанных с визуализацией, а все что касается реализации алгоритмов было бы мне одинаково сложно вне зависимости от того, какой язык или движок я бы выбрал.
Аноним 30/10/20 Птн 14:14:47 707073 141
>>707059
Окей, закончим. Но мне было бы интересно почему тебе не все равно на чем написана игра.
Аноним 30/10/20 Птн 16:48:01 707087 142
>>707040
Топовый рогалик на юнити - caves of qud, каждому любителю рогаликов советую ознакомиться, кто еще не играл, годный сеттинг, лор и по фичам довольно необычно.
Римворлд на юнити, не совсем рогалик, но как и df, обычно считается околорогаликовой темой.
А вскудахты "ряя принято свои движки писать" - это просто снобизм от того, что в голове насрано желанием ощущать превосходство над кем-то за счет того, что твои инструменты круче и илитнее.
Но на самом деле, важен только конечный результат, хорошую игру можно практически на чем угодно сделать.
Аноним 30/10/20 Птн 18:04:47 707095 143
>>706958
>юнити
Иди нахуй.

>>707056
>Когда ты играешь в игру, тебе все равно, какие инструменты использовались
Неправда.

>>707087
>caves of qud
Именно из-за юнитипараши и не играю. Он кстати перепилил его на юнитипарашу ради кроссплатформенности. С одной стороны конечно похвально, что разработчик не мудак и думает о линуксоидах, но с другой - неужели нельзя было найти более приемлемый способ достижения той же цели?

>хорошую игру можно практически на чем угодно сделать
Еще один аргумент в пользу того, что юнитиговно ненужно.
Аноним 30/10/20 Птн 18:20:35 707098 144
>>707095

Ебать ты сноб. Много игр написал уже?
Аноним 30/10/20 Птн 23:45:49 707152 145
16pixel 31/10/20 Суб 14:13:26 707187 146
progress.gif 3013Кб, 885x630
885x630
Развели срач. Рогалики где?

На правах бампа - на гифке мои успехи работы с A*-search.
Аноним 31/10/20 Суб 16:39:49 707202 147
>>707187

Харош. Я на этой неделе хотел тоже вплотную А* заняться, в итоге во вторник оптимизировал фов из за внезапного озарения, потом работой загрузили, так что только сегодня почитал в первом приближении про этот алгоритм и приаинул, как буду его реализовывать.
16pixel 31/10/20 Суб 18:54:51 707221 148
progress.gif 5140Кб, 627x602
627x602
>>707202
Я смотрел много разных видосов и читал статьи с исходниками, но по-настоящему понял только посмотрев вот этот - https://www.youtube.com/watch?v=-L-WgKMFuhE.

+Реализовал последовательность ходов через actionы, как описывал Bob Nystrom вот тут - https://www.youtube.com/watch?v=JxI3Eu5DPwE&t - очень удивлен, что этот подход у меня сработал.
Аноним 31/10/20 Суб 20:13:43 707234 149
>>707221

Да я уже сохранил себе несколько ссылок, которые мне наиболее понятны были. На следующей неделе буду разбираться. Но твое гляну, спасибо.
Надо бы в качестве отвлечения подумать об итоговом концепте игры. Может диздок запилить.
Аноним 01/11/20 Вск 12:51:46 707293 150
Аноним 01/11/20 Вск 14:04:48 707298 151
>>707293

Судя по гифкам/скринам тут всего двое рогалики делают.
Аноним 01/11/20 Вск 19:08:43 707329 152
>>707293
видео не про рогалики
cogmind вотт збс сделали, блог kyzrati хороший ресурс
Аноним 05/11/20 Чтв 20:54:33 707935 153
>>707293
- видео не имеет никакого отношения к рогаликам, не упомянут ни один рогалик
- видео не имеет никакого отношения к итт разделу
- уноси свою хуиту на /vg

>>707329
Двачую. Надо кстати добавить его в подписки.
Аноним 19/11/20 Чтв 21:14:54 710597 154
pathfind.gif 132Кб, 800x600
800x600
На самом деле сам алгоритм поиска пути я реализовал две недели назад. Но у меня некорректно работала функция определения свободной клетки для него, что я пофиксил только сегодня.
Аноним 19/11/20 Чтв 23:35:52 710622 155
Бамб
Аноним 20/11/20 Птн 00:34:21 710629 156
>>710597
Молодец ваще)

Тоже бампану
Я тут недавно на r/pygame тред создавал - собирал советы, что можно улучшить в своем подходе к работе с пайгейм. Сляпал небольшой кусок прототипа, и ну, в общем, может кому интересно будет поковырять:
https://github.com/KeyboardGecko/pygame-sprite-rendering-tilegame-example

Основной код в файле playtesting.py.
16pixel 24/11/20 Втр 14:35:28 711286 157
progress.gif 1089Кб, 849x693
849x693
Бамп лучшему тредику на двоще.
Играюсь с анимациями и генерацией ландшафта по шуму Перлина.

>>710629 это я, кому была интересна реализация камеры, pathfindingа, анимации - это всё там.
Аноним 25/11/20 Срд 08:08:29 711385 158
Спасибо, почитал ваш тред и понял что писать свой движок не стоит а лучше пойти и юзать чужие костыли, пусть и с огромным просером по ФПС.
Аноним 25/11/20 Срд 09:50:15 711387 159
>а лучше пойти и юзать чужие костыли, пусть и с огромным просером по ФПС.
А еще лучше юзать чужие костыли, но разобравшись фиксить там возникшие траблы. Профит в виде экономии времени.
Аноним 26/11/20 Чтв 09:38:35 711533 160
>>711385
ФПС в рогалике же так важен.
16pixel 27/11/20 Птн 13:36:24 711716 161
v1.gif 502Кб, 849x693
849x693
v2.gif 544Кб, 849x693
849x693
v3.gif 1465Кб, 849x693
849x693
Ебусь с освещением. Все как я люблю.
Кажется нащупал норм вариант, чтобы без рывков и не охреневать от проседания ФПС. Что скажете?
Аноним 27/11/20 Птн 14:02:45 711723 162
.gif 37Кб, 449x445
449x445
>>711716
3 вариант хорош. Может быть стоит сделать туман войны как в варике?
Игроку будет понятно где он ещё не побывал
Аноним 27/11/20 Птн 18:55:23 711785 163
>>711533
Я хуй знает, но если современный движок на современном железе не выдает 60 фпс исключая всякие там ретрейсинги и 4 кто это очень хуевый движок.
Аноним 27/11/20 Птн 19:31:57 711797 164
>>711785
Любой популярный движок выдаст тебе стабильные 60 фпс на игре уровня 2д рогалика.
Аноним 27/11/20 Птн 20:19:14 711811 165
Аноним 28/11/20 Суб 23:19:03 711953 166
>>711811
Движкосрачя, ты тредом ошиблась. Пропукивайся обратно в свой загон одебилевших пуконюхов, пока цела.
Аноним 29/11/20 Вск 11:08:25 712016 167
Я застрял на размышлениях о том, как реализовать то, что называется schedule или timesystem, одним словом пошаговость. Когда я реализовывал генерацию данжа, FOV, pathfinding то просто разбирался с алгоритмами с roguebasin'а и имплиментировал их в юнити. А тут прям что то много вариантов разной степени понятности.
При том что еще нужно разобраться с такой штукой как полиморфизм, чтобы все существа обладали одинаковым набором свойств и одинаково взаимодействовали со всем вокруг. Плюс нужен скрипт, управляющий мобами, причем определяющий что моб может: стрелять, колдовать, бить в ближнем бою, что из этого сейчас делать лучше. И все это нужно вводить примерно одновременно. Комплексная задачка в общем.
16pixel 29/11/20 Вск 14:06:58 712048 168
turns.png 2Кб, 169x142
169x142
Могу рассказать, как я делал.
Для нормального понимания, лучше наверное представить, что ты не мышью ходишь, а с клавиатуры. Ну типа кнопку нажал - ход сделал.

Итак, шаг первый: мобы и игрок унаследованы от одного класса и имеют метод TakeTurn(). Собственно, ход.

Тогда базовый игровой цикл выглядит так -
def gameloop(player, mobs):
player.takeTurn()
for mob in mobs:
mob.takeTurn()

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

Ну и в принципе всё. Отсюда можно дальше развиваться куда хочешь, к примеру:

- в takeTurn мобам прописывать AI-логику (простой пример: начался ход - кастанул fov - если player в fov, то прокинуть A* до него, сформировать очередь ходов, сделать первый шаг из этой очереди - ход закончился)
- сделать для игрока очередь действий, где будет храниться очередь из ходов; игровой цикл должен вертеться, пока очередь не пустая, исполняя каждое действие в очереди и убирая исполненные. Когда очередь пустая, цикл ждет, опять же, ввода. Это к вопросу, как поиск пути по мыш-клику привязать к игре - просто формируешь по нему очередь из ходов для игрока.
- Можно сделать у мобов и игрока свойство "скорость" (очки действия, AP, как угодно). Когда оно выше определенного порога - моб может сделать действие. Каждый ход данный показатель увеличивается, при каждом сделанном действии - обнуляется/уменьшается. Таким образом ты реализуешь разную скорость действий для разных мобов - ну понятно, в общем.

Ну и так далее и так далее.

Как итог, мой игровой цикл выглядит как-то так:

def gameloop(player, mobs):
> #so, every creature has a stack of actions
#if it's not empty, we pop one from it and execute it
#for every creature in order (player + creatures)
#if player stack is empty, it waits for input.
if player.actionQueue != []:
player.gainAP()
player.takeTurn()
for mob in mobs:
mob.gainAP()
mob.takeTurn()

Аноним 29/11/20 Вск 16:00:10 712056 169
>>712048

Примерно понял, спасибо. Не знаю, нужно ли чтобы в рамках юнити мобы и игрок были унаследованны от одного класса, по факту они уже геймобджекты. Попробую это на следующей неделе реализовать.
Аноним 29/11/20 Вск 21:58:42 712106 170
>>712016
> как реализовать то, что называется schedule или timesystem, одним словом пошаговость
В начале партии составляешь список игроков и раздаёшь номера участвующим в партии сущностям. Пошаговая система переключает по порядку (согласно правилам) переключает одну из записей в режим "current". Все игровые сущности, участвующие в партии могут становиться на паузу и могут получать current и сравнивать со своим уникальным номером. И собственно всё. Вот тебе и шедулинг.


> нужно разобраться с такой штукой как полиморфизм, чтобы все существа обладали одинаковым набором свойств и одинаково взаимодействовали со всем вокруг
Значит, смотри. В играх гораздо удобнее композиция, а не наследование. Через композицию полиморфизм выходит на новый уровень, недостижимый наследованию. Суть токова: У тебя есть простые классы с одним уровнем наследования. Больше уровней нет. Их класс-родитель даёт им только один функционал: хранить в себе список компонентов и обрабатывать их по списку (в простейшем случае) каждый фрейм. У компонентов тот же самый общий предок. То есть, сущности сами могут быть компонентами, состоять в списке компонентов у другой сущности, но при этом сами могут иметь список компонентов.
Аноним 29/11/20 Вск 22:03:39 712108 171
>>712106
Не дописал:
У компонентов уже может быть сколь угодно сложная иерархия наследования, но всегда их функционал опирается на дерево компонентов:
1) можно работать с парентом, искать у него в компонентах требуемый тип и выкидывать исключение, если не найден.
2) можно работать с потомками, искать у себя в компонентах требуемый тип и выкидывать исключение, если не найден.
3) можно работать со своими колбэками, реализующими нужный функционал.
16pixel 01/12/20 Втр 02:01:01 712367 172
lights4.gif 2184Кб, 915x727
915x727
Теперь оптимизировать это добро.
16pixel 03/12/20 Чтв 02:18:02 712711 173
lights.gif 3544Кб, 915x725
915x725
lights2.gif 783Кб, 915x725
915x725
Такс, ну короче, мои успехи:
Пофиксил артефакты при освещении - мне кажется, на этом варианте остановлюсь. Нраица.
Переделал игровой цикл в формат "сначала все ходят - потом проигрываются анимации - потом по новой".
Этот подход вносит коррективы в FPS - см. гифы - но в целом норм. 100 спрайтов на карте 100х100 тайлов норм отрабатывают, и ладно.
Сделал проигрываемые анимации. Бросок - на гифках.
От нечего делать, сделал персу рандомно генерируемую прическу, а то чего он лысый бегает.
Аноним 03/12/20 Чтв 11:03:46 712755 174
>>712711
Крутой, крутой.Уже год почти слежу за твоими поделками.Жаль, что я слишком ленивый, чтобы сделать свой рыгалик.
16pixel 03/12/20 Чтв 23:47:11 712956 175
>>712755
А я уже год игру никак не сделаю. Нет игры! Есть какой-то дроч на тему "это хочу сделать, то хочу сделать".

Хотя может в этом суть разработки рогаликов, кто знает
Аноним 04/12/20 Птн 16:49:34 713068 176
>>712956
Начни с малого. Придумай систему спелов, бафов, дебафов.
Аноним 09/12/20 Срд 01:47:42 713847 177
Что на счёт сетевых рогаликов?
Аноним 09/12/20 Срд 19:02:14 713946 178
>>713847
io игры - это они и есть (только казуальные)
Аноним 09/12/20 Срд 19:20:28 713954 179
>>713907
Ну а как тогда работают другие пошаговые игры? Те же герои, к примеру.
Аноним 09/12/20 Срд 19:25:49 713956 180
>>713954
В них ходы долгие, при этом очередность ходов строго определена. В рогаликах же как правило ходы очень короткие, и логически действия всеми акторами выполняются одновременно.

Короче, уточни вопрос.

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

Если ты спрашиваешь, можно ли сделать, - ну да, можно, просто механику нужно будет придумывать с учетом мельтиплеерности (КО).
Аноним 11/12/20 Птн 14:55:22 714353 181
>>713956
http://www.urbandead.com/
Наверное самое лучшее, что смогли с этим сделать. Но там конечно не пошаговость, а очки действий.
Аноним 11/12/20 Птн 19:17:46 714419 182
>>714353
Хз, потыкал пару минут - вроде хуита какая-то.

Типа там очки действий восстанавливаются через фиксированные промежутки времени, но тратить их можно как угодно быстро? Или в чем суть, как относится к теме обсуждения?
Аноним 14/12/20 Пнд 08:47:25 714897 183
>>713847
Как в играх 2000 годов. У каждого есть показатель скорости, который влияет на частоту ходов и очередность. На ход даётся 2 минуты . Поочередность только в боях, вне боя риалтайм.
Аноним 22/12/20 Втр 15:05:55 716225 184
>>713845
Поясни зачем ты пишешь на ECS архитектуре? Типо потому что это модно ?
Аноним 23/12/20 Срд 19:30:19 716501 185
>>716435
К рогаликам екс не очень подходит
Аноним 23/12/20 Срд 23:30:11 716525 186
Аноним 24/12/20 Чтв 02:03:12 716530 187
>>716501
Ты о чем вообще? Все топовые рогалики на ecs работают, от cataclysm dda до caves of qud.
Аноним 24/12/20 Чтв 16:49:36 716605 188
>>716501
>>716525
Съеби с треда в движкосрач-тред, или где там все школьники сидят.
Аноним 24/12/20 Чтв 21:04:54 716630 189
>>716605
Причем тут движки даун. Это архитектура кода. паттерны программирования
Аноним 24/12/20 Чтв 22:50:01 716650 190
>>716630
Школьник, что тебе неясно? Брысь.
Аноним 24/12/20 Чтв 23:01:05 716652 191
>>716651
Видос уже вкидывали, а началось все с поста "а зачем, тИпА ПаТаМуШта эТа мОдНа?". Можете оба съебать в движкосрач (или любой аналогичный школотред), если тебе тоже нравятся неаргументированные и не несущие никакой познавательной ценности выпады в сторону других анонов.
Аноним 24/12/20 Чтв 23:03:19 716653 192
>>716652
аноны обсуждают архитектуру рогаликов, а ты третий пост корчишь из себя модеоатора. иди нахуй лучше из этого треда
Аноним 24/12/20 Чтв 23:04:34 716655 193
>>716653
>аноны обсуждают архитектуру рогаликов
Где?

>иди нахуй лучше из этого треда
Нет ты.
Аноним 25/12/20 Птн 00:00:26 716665 194
>>716660
"К рогаликам екс не очень подходит" и "Типо потому что это модно ?" - не несет, я решил. Можешь прекратить обсуждать меня и начать обсуждать рогалики.
Аноним 25/12/20 Птн 01:13:56 716674 195
>>716666
Сочувствую.

>>716668
Я тоже не против обсудить, подходит ецс к рогаликам или нет, но такового обсуждения выше по треду нет: есть только неаргументированные и не несущие никакой познавательной ценности выпады в сторону других анонов от залетного школьника. В связи с чем я его и послал нахуй. Понял? А вы уже развели из этого вахтерский метасрач на полтреда, с чем я в частности лично тебя и поздравляю.
29/12/20 Втр 21:06:36 717387 196
Привет ребята, решили мы с другом как-то сделать игру, знания в программировании имелись и мы незамедлительно приступили к исполнению нашей идеи. сперва решили начать с сюжета, так сказать основы всего мировоздания, скажем так сюжет а точнее идею что это будет и где происходить у нас удалось создать, но вчитываясь мы находили все больше и больше необъяснимых деталей которым нужно было это объяснение соответственно. Ладно ближе к сути, помогите развить сюжет что бы как хотелось бы в идеале небыло ничего что нельзя объяснить. Далее я приложу наш набросок. "???

​​Адвенчура, микро хорор, головоломка ​​
​ Сюжет

Группа учёных в 1980-90 годах была проглашена на остров какой-то корпорации по рекомендации из руководства, один из которых хороший друг ГГ(биохимик) .

(Так как предидущий исследователь был одним из начинателей этих исследований но представлял себе это как мирное исследование, но вышшие чины решили что это будет жестокая эксплуатция местного населения с последующими эксперементами над людьми из контенента. После 16 лет проведенных на острове он решает что это всё неправильно, и решает известить мир о незаконных действиях на територии города. Его убивают. (Подопытный крол из самары к которому подвязали разум 54 летнего стримера для потдержания мозга в норме так как тело уже не функциОнально. После пожара в кат сцене мимо игрока пробегает этот крол с биркой и инода в лесу можно услышать звуки гадзы и "дэб дэб"))

После недели проведённой в ислледовательском центре происходит авария в лаборатории в ходе которой умирает 3 друга гг, а он сам спасаясь от пожара падает, понимая что у него серьезная рана он решает пойти в лес что бы найти растения для остановки крови. После этого он замечает что за ним следит пажилой дед Ратибор и хочет вступить с ним в языковой контакт, но дедок начинает убегать, потом оказываеться что он бежал в сторону города где гг успевает его догнать и заговорить

Гг понимает что население острова небычайно здоровые и облодают долголетием , но корпорация падавляет все чуства и стремления населения посредствам психотропных препаратов, подмешивая их в еду, воду.

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

(Дед♂к 170+ лет Ратибор с поехавшей кукухой который верит в теории завогора и не питаеться едок из деревни, а жует ягоды из леса в тайке от охраны. но в силу своих лет не может ничего противопоставить этой системе.)

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

После 2-рой мировой в начале холодной войны русские искали чем они могут победить америку, этот остров имел аномальную флору и фауну для своей местности. Ресурсы(еда вода) поставляються деревна на лодке с основного комплекса по воде, что бы не привлекать лишнего внимания опираясь на что что они хотять исследовать природу и население деревне не уничтожало его. В замен на еду они просят работать для них собирая дерево руду. Все растенияф на острове ростут с большой скоростью (обычное дерево выростает за 10 лет до максимального размера) (население острова живет здесь уже более 700 лет иходя из проведённых анализов учёных местности и построек, захоронений) "победили голод, победим пендосов"
После начала экспидиции командующий из М♂сквы скончался и единственный глава стал ученый который возглавлял сам комплекс(35 лет), их целью было изучение растений для того что бы победить голод в России.

Через 5 лет от начала учёные начали поставлять продукты в замена на работую силу так как добыра руды в глубе острова невозможна со стороны других людей кроме как их обитателей, так как у них существует имунитет в этому. Они обучили их элементарным словам из рууского обихода для того что бы иметь возможность с ними контактировать. Ученые не могли понять почему при пробах добыть местные руди рабочие умирали по непонятным обстоятельствам и решили заручиться помошью местного населения.Но после 30-ти лет не особо успешных опытов глава понял что население деревни очень медленно стареет и ето подвигло его на попытки изучения генома этих людей и сути их долголетия, его перемнкуло он понял что 30 лет изучения растений были безсмысслены когда была возможноть открыть секрет долголентия а может и безсмертия. Он начал много времени проводить с одним из жителей (45лет) что бы понять в чём заключаеться секрет, плавно обучая его большему словарному запасу (это наш 170-ти летний дед Ратибор), Олег начал присыплять бдительность психотропами, но Ратибор начал что-то подозревать и когда понял что в еду начали что-то подмешивать и люди стали ходить как безсознанные тела решил перестать общаться с Олегом, нчав выстраивать теории заговора по поводу всех этих учёных и поехал кукухой."
Аноним 30/12/20 Срд 21:11:31 717709 197
>>717387
>знания в программировании имелись
Судя по тексту, тебе не больше 12 лет. Иметь какие-то познания в программировании уже в таком возрасте очень похвально! Удачи в твоих начинаниях.
Аноним 02/01/21 Суб 21:41:52 718049 198
>>717719
О комплексе! Не видишь штоле?
Аноним 02/01/21 Суб 21:47:06 718050 199
>>717719
>>717709
Это какой-то ньюфаг серит пастами с геймдевелоперских форумов во все треды, хотя у нас для сранья кириллопастами есть специальный тред (который, увы, кроме меня никто не ценит). >>605406 (OP)
Аноним 09/01/21 Суб 16:56:02 719550 200
VXsjGC3TJs.jpg 8Кб, 294x107
294x107
>>671018 (OP)
Так, ну вот почитал я инфу по этой ссылке https://habr.com/ru/post/354826/ и... Что дальше то? Тут описываются разные алгоритмы, но нет никаких примеров работы с ними. То есть нет кода. Вот допустим хочу сделать пещеры на Drunkard's Walk. А код где? Как писать? С чего вообще начинать то блеать?
Аноним 09/01/21 Суб 18:34:50 719573 201
Аноним 09/01/21 Суб 18:39:19 719574 202
>>719550
Или вот, вторая ссылка из статьи:
http://www.roguebasin.com/index.php?title=Random_Walk_Cave_Generation
>Pseudocode representation
>This is a basic pseudocode representation of the algorithm, which abstracts away such issues as dealing with the walk trying to run off the edge.
>- initialize all map cells to walls.
>- pick a map cell as the starting point.
>- turn the selected map cell into floor.
>- while insufficient cells have been turned into floor,
>- - take one step in a random direction.
>- - if the new map cell is wall,
>- - - turn the new map cell into floor and increment the count of floor tiles.
Вот и весь алгоритм. Если не можешь перевести псевдокод в код своего ЯП - ну, земля тебе ASCII-символами...
Аноним 14/01/21 Чтв 12:41:55 720661 203
16059745702320.png 301Кб, 819x827
819x827
Аноним 17/01/21 Вск 00:06:57 721634 204
preprototype.mp4 352Кб, 1920x1080, 00:00:22
1920x1080
После Нового Года тоже начал кириллить рогалик. Пилю на python с libtcod и esper для ECS.

Пока можно ходить по бесконечному пустому миру, пиздить мобов, получать от них пизды. Никаких статов, кроме HP пока нет. Сейчас начну внедрять ролевую систему и кор механику.

Кор механика будет состоять в том, что после убийства моба можно будет собрать его "части тела" и прилепить себе. Например, убив собаку, можно будет у себя вырастить пасть с зубами, как у собаки, взять нос собаки, который даст соответствующее обоняние, уши, лапы, хуй и т.д. Вроде бы идею кор механики я спиздил из Cogmind, но я в него пока не играл, так что не уверен.
Аноним 17/01/21 Вск 01:33:19 721661 205
image.png 9Кб, 651x485
651x485
Вкачусь в тред и со своим недоподелием.
Кароч взял ассеты от Kenney: https://www.kenney.nl/assets/micro-roguelike

Хочу сделать очень простенький рогалик с ландшафтом и данжонами. Несколько мобов, пара видов оружия и какую-то прокачку.

Пилю на TypeScript и Phaser3, вестимо под браузер.

В геймдеве полный ноль
Аноним 17/01/21 Вск 12:13:42 721716 206
>>721634
Прикольно. Только бы графон интерфейс запилить, чтобы отображать части тел, статы и т.д.
>>721661
А че не под мобилки? Вполне подошло бы
Аноним 17/01/21 Вск 22:52:31 721884 207
>>721716
> А че не под мобилки?

Да пока задача «доделать» хоть что-нибудь. Пытался вкатиться в геймдев уже много лет, начал кодать именно для этого. И всё никак не дойду до изначальной цели. В 2к21 поставил себе new year resolution не только фронтендировать, но и запилить рогалик.

Алсо сделать по мобилку было бы круто, но я не понимаю какое сделать управление, чтобы это не выносило мозг. Типа «джойпад» слева? Или стрелки? Мало играю на мобильнике большие пальцы
Аноним 18/01/21 Пнд 11:37:49 721978 208
>>721884
Если персонаж у тебя двигается по двум осям, то стрелок достаточно, а если еще и по диагоналям ходит, то пили джойпад, имхо
Аноним 18/01/21 Пнд 18:54:05 722101 209
image 45Кб, 600x578
600x578
>>721634
>получать от них пизды
А на видео получаешь пенисы...
Аноним 18/01/21 Пнд 18:55:24 722103 210
>>721884
Pixel dungeon посмотри. Просто без задней мысли кликаешь по целевой клетке и все.
Аноним 05/02/21 Птн 23:15:48 726093 211
Загорелся идеей сделать рогалик бота для телеги. Кто-нибудь играл в подобные?
Аноним 06/02/21 Суб 12:03:34 726131 212
>>726093
Это будет не рогалик, а текстовая адвенчура\рпг.
Аноним 09/02/21 Втр 13:53:29 726909 213
>>726131
Разве рогалик не может быть текстовой игрой?
Для рогалика ведь главное:
- подземелья, монстры, лут;
- все помещения, объекты и мобы случайно генерируются;
- смерть игрока уничтожает мир, заново играть в новом мире.
А будет ли это реализовано ASCII-/2D-/3D-графикой или текстом - имхо, не важно.
Аноним 09/02/21 Втр 20:25:29 727019 214
>>726909
>Разве рогалик не может быть текстовой игрой?
Зависит от определения.
Аноним 09/02/21 Втр 21:06:50 727040 215
>>726909
Оригинальный rogue вдохновлялся тогда текстовыми адвенчурами, но по причине сложной генерации осмысленного текста стал безтекстовым
Аноним 10/02/21 Срд 20:43:53 727186 216
Как лучше реализовать такую штуку как донжонкравлин от первого лица (как это было в первой ультиме, мече и магии и гримроке)?

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

Как это адекватней всего интерпретировать в игре? Я честно не очень представляю как отрисовывать сгенерированную карту в 3д...
Аноним 11/02/21 Чтв 17:15:45 727369 217
И сюда закину, чо уж

Джва года на самом деле овер10 лет хочу такую игру:
Простейшая графика. Тайлы, мб типа как пешки Римворлда, похер. Есть свой особняк/дворец у игрока. Он играет за чувака из некой расы, которая может путешествовать между мирами Мультивселенной. Набирает код на пульте, код является семенем рандомным, на основе которого хуярится данж, кусок некого мира. В данже рандом-персы, твари или НПС и рандомные предметы. Например, висит картина, на ней аки в Дворфах что-то нарисовано, что описано текстом, а может и сгенереная абстрактная картина. Ну и лежит некий меч, щит, пушка, стол, стул, этц, тоже на рандоме. А скорее даже с примесью существующих вселенных из поп-культуры, например лазерный меч, крест Иисуса, скелет Чужого, трон из Игры Престолов или костюм Спайдермена. Цель игрока - залутить и съебаться. Не получив пизды от местных.
Потом всю утварь он может красиво расставить в особняке.

При этом, НПС заебошены на библиотеках естественных языков, как в АИданжене. Можно болтать. Не выходя за рамки. Может и квесты какие-то сгенеренные.

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

Мне кажется, что взлетело бы.
Жаль я гуманитарий и время посвящаю философской и художественной хуите.
Но мб на кого-то повлияет. Тогда обязательно зовите посмотреть и дать ненужных советов. Я больше по механикам настолок, тем не менее.
Аноним 11/02/21 Чтв 20:21:07 727395 218
>>727369
В дф в общем-то все это есть. Алсо, с механиками настолок у тебя все тоже хуево, потому как видно по твоему тексту, что игровые механики описывать не умеешь (для этого нужно как раз математическое мышление, мимо капитан очевидность).
Аноним 11/02/21 Чтв 21:24:42 727405 219
Аноним 11/02/21 Чтв 22:27:51 727411 220
>>727369
В графон и анимацию могешь?
Аноним 11/02/21 Чтв 22:49:24 727419 221
>>727395
Я механики даже не пытался здесь какие-то собачить. Просто сказал в какую бы игру хотел поиграть.
Аноним 11/02/21 Чтв 22:51:02 727420 222
Аноним 12/02/21 Птн 17:04:51 727499 223
>>727419
Ну прост обычно гейдизайнеры, особенно которые занимаются настолками, видят игры через свою профедеформационную призму, поэтому их описания (допустим для презентации идеи кодерам\пмам) имеют немного другую структуру и форму+содержание изложения, что ли, более отличную от "суть токова...". Ну и это, ты как бы игровые механики в посте таки описывал.

В общем в любом случае, звучит очень сильно как дф+киперРЛ с немного иными текстовыми темплейтами и нескучными обоями в виде дополнительной генерации текста нейроночкой.

Если сильно упростить и сфокусироваться на мультиплеерной составляющей, то может взлететь, но по сути тогда ж это получится просто ферма\клаш-оф-кланс (с рогаликостелсом вместо набигания), а не то, что тебе видимо хочется.
Аноним 12/02/21 Птн 17:51:49 727505 224
>>727499
Мой кириллопост вообще без механик, если с точки зрения настольщика, лол.
То есть если туда декбилдинг засунуть, например, суть такова не изменится.
Просто я не механики видеть хотел бы, а подход некий.
Вот я вчера поставил Крайинг Санс. Ибо очень описание интересовало, я фанат Дюны, Основания и всего такого просто. А там кроме камень-ножницы-бумага+поле механик и нет. Но подход интересный и сюжет. Отсылки.

А что у меня стиль письма ебанутый, так я знаю. И пофиксить моментально сложно.
Тем не менее, сталкивался я с идеями и темами для игр у местных - лютая тривиальщина.
Аноним 12/02/21 Птн 20:21:18 727544 225
>>727505
>Мой кириллопост вообще без механик, если с точки зрения настольщика
Ну я по сути это и имел в виду, механики-то ж все равно описаны (случайная генерация уровня, текстоквестодиалоги как в аиданжене, залутить и съебаться и т.п.), прост немножко или множко в стиле "суть токова".

>Тем не менее, сталкивался я с идеями и темами для игр у местных - лютая тривиальщина.
Ну да, а "дф и шоб как в аиданже и левелы шарить как в кипер-рл и чтоб чоловик-павук был" - это другое дело. :3

Прост в том же крайинг санс ведь в чем суть? Визуал крутой, концепция мира, вот это все. Да, коре геймплей вроде и слабенький, скорее для галочки, но повествование-погружение вытягивает\затягивает.

А у тебя я нихуя не понял, в чем повествование, в чем эстетика. Наоборот - генерация, мультиплеер, рогаликостелс - геймплейные фичи. Притом вместе как-то непонятно как уживаются: ммо про постройку фермы лабиринта-подземелья-замка с ловушками, который будут лутать другие игроки - это один концепт спиздил идею кстати, запилю мобильную залипалку и стану миллиардером. Генерация бохатого интерактивного мира с историей - это уже другой, к первому он ни пришей кобыле хуй.

Оффтоп: чистота письма, кстати, фиксится именно что регулярным чтением художественной\публицистической литературы в больших объемах, ну и практикой разумеется, практикой. Попробуй, например, писать концепты для понравившихся игр (да того же крайинг санс) и постить их куда-нибудь (в бэ), типа это ты придумал.Хотя чья бы корова мычала, лол, мне про чистоту изложения советы раздавать - ну такое.
Аноним 13/02/21 Суб 16:26:31 727651 226
>>727544
Ну, во-первых, читаю я очень много. Это из-за того, что не пишу почти.
Во-вторых, я, наверное, плохо даже с кириллической точки зрения пояснил.

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


Спасибо, бро, за обстоятельный ответ.
Аноним 13/02/21 Суб 16:29:51 727653 227
>>727544
И два концепта соединить легко.
Просто контент для замка юзеры могут брать с "сезонов", обновлений, которые там раз в какое-то время выходят.

Да и идея о мультиплеерном данжн кипере не основная.
Аноним 16/02/21 Втр 17:40:37 728080 228
>>727651
>А если правда хочешь что-то спиздить, лол, дай контакты, буду хоть следить.
Да это местный мем. Употреблен мною в том смысле, что вот этот концепт можно было бы реализовать, нормальная игрушка бы получилась. Ищи андроид-дева, готов выступить директором проекта за долю от рекламы!

>Может потом смогу нормально объяснить.
Да тут и пиши, правда лучше отдельный тред создать имхо.
Аноним 18/02/21 Чтв 17:44:54 728443 229
>>728080
Я и этого не сумею. Ну, кому-то впарить.
Аноним 20/02/21 Суб 16:33:00 728918 230
>>727369
>Простейшая графика. Тайлы, мб типа как пешки
Это, а что если совсем без графики? Смысл в графике, если она всё равно примитивная? От тайла 32х32 пользы гораздо меньше, чем от описания "здесь лежит древняя броня воина, на ней видны вмятины, один фрагмент отсутствует". Конечно, есть малый процент людей с афантазией, которые не смогут мысленно представить себе описанную сцену, однако людям с афантазией и тайлы 32х32 ничем не помогут, они не смогут представить себе ту же броню по нескольким корявым пикселям.

>Потом всю утварь он может красиво расставить в особняке.
В текстовом виде это будет не так уж "красиво", но раскладывать кучу мусора по клеточкам тайловой карты - тоже ничего красивого. Глянь игру Elona Mobile - там у игрока есть хата-пещера, по факту как большой сундук на 1000 предметов - можно разложить всякое говно по фен-шую или просто кучей. И даже можно к другим игрокам наведываться! Только толку-то от такого, с тайловой графикой это скучно (хотя бы кубы майнкрафта были бы уже повеселее, но это уже другой уровень).

>>727544
>ммо про постройку лабиринта-подземелья-замка с ловушками, который будут лутать другие игроки
Есть/была такая ММО, не помню, как называется. Я играл ещё на альфе, потом забил и забыл. Вкратце суть такова: есть летающие острова-замки, можно набигать пешком и добираться до центрального сундука с лутом, по пути вынося монстров и уворачиваясь от ловушек, а облутавшись как следует - развивать свой собственный замок, планируя маршрут вторжения, расставляя монстров и ловушки, чтобы у тебя ничего не своровали. Проблема игры, на мой взгляд, была в адовом дисбалансе - пока у тебя пара гоблинов и капкан, у твоих соседей уже огромный замок, в котором ты понимаешь ещё в прихожей, лол. Потому и забил, слишком много страданий ради развития. Потом после альфы вроде как прогресс сбросили, но я уже не следил. Короче - всё придумано до нас, и раз эту идею не скопипастили 100500 раз, она совсем не так хороша, как кажется. На мобилках сейчас доминируют ММО про набигание, но там по сути макроконтроль, типа отсылаешь толпы войск на захват и ждёшь какое-то время до возвращения, а в той игре и описанной здесь идее в основном микроконтроль. Чувствую, мобилкодрочеры в большинстве не любят микроконтроль, т.к. играют от случая к случаю, игровые сессии очень маленькие, буквально в свободную минутку.

>>728443
Смысла впаривать эту идею как есть - нет. Нужно развивать, дорабатывать и упрощать, а пока у тебя только сырая хотелка "хочу набигать на случайные данжи и базарить с ботами". Кстати, я тоже хочу с ботами базарить и всякое разное генерировать, но пока ничего не получается - я депрессивный прокрастинатор.
Аноним 21/02/21 Вск 19:57:26 729138 231
>>728918
>Есть/была такая ММО, не помню, как называется
Я кстати пока читал твой пост вспомнил, что была и еще одна инди-хуинди на эту тему, с пикселяч-графикой, там надо было строить свой дом - свою крепость и защищать кошачью деву и сына от вторжения выживальщиков (постапок типа). Правда не помню, ммо или нет (вроде ммо). И вроде она популярная была.
Аноним 21/02/21 Вск 22:24:33 729176 232
88d3cc15673fc80[...].png 5Кб, 400x400
400x400
Аноним 22/02/21 Пнд 05:49:03 729214 233
map1.png 8Кб, 1000x320
1000x320
>>729176
Норм, рас и карту сгенерил
Аноним 22/02/21 Пнд 09:03:44 729216 234
>>729214
Осталось понять, как работает код, чтобы перенести на в свой движок
Аноним 22/02/21 Пнд 11:53:49 729232 235
>>729216
Ну там перл, есть сырцы, если у тебя другой язык ищи по нему
Аноним 22/02/21 Пнд 13:54:32 729247 236
>Осталось понять, как работает код
Ты рофлишь чтоли, генерируются квадраты, потом рисуются линии рандомной толщины от одного к другому.
Аноним 22/02/21 Пнд 15:05:01 729252 237
>>729247
Он наоборот сначала прокладывает туннели
Аноним 01/06/21 Втр 22:49:49 746129 238
>>727369
>Тайлы, мб типа как пешки Римворлда, похер.
Я вот уже видел игр десять, с дизайном практически один в один. Мне вот интересно - никакие комирастодрамы на эту тему не происходили? Ну или хотя бы срача вида - что это всё плагиат.
Аноним 15/07/21 Чтв 16:48:21 754005 239
Ньюфаг, не программировал ни разу. Накидайте каких-нибудь годных статеек, где рассказывают как свой рогалик написать.
Аноним 15/07/21 Чтв 18:06:16 754015 240
Аноним 20/07/21 Втр 21:50:10 755911 241
Так, начинаю писать первый в жизни рогаль, который будет первой же нормального размера программой. Держу в курсе. Буду писать исключительно в телефоне (если получится) - в сидроиде, джаванайд или кьюпитоне. Никакой графики не будет до последнего(чтобы не распылять силы, потому что если графика и будет, то только собственного изготовления). Хотелось бы портирования на 8-битные платформы, но пока думать об этом явно рано. Уже почти неделю время от времени на досуге разбираю исходники оригинального rogue и moria из 80-х, и только сейчас начинаю что-то понимать. Сам уже довольно давно написал какой-то небольшой задел, но теперь понимаю, что это тупик. А сейчас застопорился на генерации мира, читаю все доступные материалы по теме. На телефоне набирать код очень неудобно, но я сквозь боль продолжаю есть кактус
Аноним 26/07/21 Пнд 11:41:12 757727 242
>>755911
>Буду писать исключительно в телефоне

Зачем?
Аноним 01/08/21 Вск 11:51:06 759474 243
Screenshot20210[...].png 87Кб, 720x1280
720x1280
Screenshot20210[...].png 111Кб, 720x1280
720x1280
Screenshot20210[...].png 175Кб, 720x1280
720x1280
>>755911
Так, на данный момент дописано куча всяких фич: появилась нормальная генерация пещеры, можно ходить, можно есть грибы и получать за это хп. Можно даже драться с нпц и умирать. Правда, нпц ничего не делают, пока игрок не подойдет в их "поле зрения", после чего они тупо прут на него, даже если между ними стена. Я прикрутил инвентарь, в который можно собирать грибы и трупы. Ах да, после убийства любого нпц появляется труп.

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

>>757727
Да не могу уже за компьютером сидеть, стараюсь минимизировать время сидения за ним. Короче, причины сугубо личные. К тому же, телефон сам по себе полноценный компьютер - почему бы не задействовать его на полную? Да, клавиатуры не хватает. Возможно, куплю клавиатуру для телефона. В портативности превосходит ноут, особенно для таких безработных нищебродов как я
Аноним 02/08/21 Пнд 01:26:44 759651 244
Screenshot20210[...].png 121Кб, 720x1280
720x1280
Screenshot20210[...].png 26Кб, 720x1280
720x1280
>>759474
Придумал как можно использовать трупы. Теперь рядом с игроком на старте генерируется посадочная капсула, в которую можно таскать трупы врагов и получать с каким-то шансом за это некоторый постоянный бонус к атаке. Пока хз что это значит.
Больше пока никаких идей. Возможно, скоро запилю возможность обозревать окрестности, т.е. получать возможность прочитать название всего того, что лежит на видимых клетках
Аноним 16/09/21 Чтв 18:09:31 769842 245
Ананасы, делал ли кто на луа рогалики? Хочется отвлечься от работы и запилить себе что-то вроде рогалика\рпг, но на луа т.к. это будет значительно проще и быстрее.
Аноним 24/09/21 Птн 09:49:26 770785 246
Аноним 26/09/21 Вск 21:00:13 771049 247
>>770803
>Ну как, много сделал рогаликов на луа?
Пускай доделает человек, не отвлекай его.
Аноним 26/09/21 Вск 21:31:11 771051 248
>>769842
Зачем на lua, когда можно на джаваскрипте? В браузере бы работало.
Аноним 27/09/21 Пнд 13:56:32 771101 249
>>755911
присмотрись к дройдскрипт
я в нем рогалик писал
Аноним 06/12/21 Пнд 10:32:34 780026 250
>>678467
Не надо ничего никуда сдвигать. Есть карта тайлов с фиксированными координатами, заданная массивом, например. Есть подвижная камера, центр которой может иметь координаты любого тайла. В зависимости от положения камеры отображаешь соответствующий подмассив на экране. Никакого влияния на алгоритмы взаимодействия с картой (поиск пути итд) нет, так как функция отрисовки куска карты никак не влияет на координаты самой карты.
Аноним 11/01/22 Втр 20:33:53 784897 251
>>783902
Именно поэтому я подключил физическую клаву через отг, лол. А если более серьезно, я сейчас пишу и на компе, и на телефоне

С рогаликом в классическом варианте все застопорилось. Стало ясно с одной стороны, что движок расширять и дописывать-переписывать я могу вечно без всякого толка. С другой стороны, чего-то моей недоделке очень сильно не хватает. Геймплей куцый, потому что ничего нет или сделано крайне примитивно, но не в этом даже дело. Нет идей насчет того как объяснить происходящее. Просто брать классические варианты неинтересно, а кроме бессвязных шизофреничных идей ничего в голову не приходит. Так что я пока начал пилить совершенно другую асции-игру на более скайфайную и космическую тему, а с этим рогаликом пока нужно повременить - просто на досуге тщательно продумать концепции, а не прикручивать все подряд не зная зачем
Аноним 20/01/22 Чтв 15:14:20 786726 252
>>671018 (OP)
Реально ли сделать игру с чисто текстовой графикой с выводом через простую консоль? Чтобы не в одну строку а в несколько формирующих 2d символами вид сверху например?
Аноним 08/03/22 Втр 12:33:28 794598 253
>>673711
>>673711
> Геймплейно оправдать ёблю
В Nethack'е это реализовано через суккубов. Секс с суккубами повышает или понижает статы (в зависимости от уровня харизмы)
https://nethackwiki.com/wiki/Foocubus#Seduction
Аноним 01/06/22 Срд 21:13:57 804223 254
image.png 650Кб, 1280x720
1280x720
Какой движок потыкать для моего наброска? Основные отражения взаимодействия в текстовуху уходит.

Из всех умений всякие скрипты автоматизации на петухоне.

Что-то типа mude или симулятора бога, т.е управление персонажем не прямое, а через команды с некоторым рандомом на действия и прохождение проверок и автобоем по умолчанию выбранной тактики.
Аноним 03/06/22 Птн 12:36:59 804452 255
Аноним 03/06/22 Птн 16:08:59 804512 256
>>804223
> Что-то типа mude или симулятора бога, т.е управление персонажем не прямое, а через команды с некоторым рандомом на действия и прохождение проверок и автобоем по умолчанию выбранной тактики.
О, у меня тоже был похожий концепт. Берёг его как зеницу ока, никому не рассказывал, думая, что изобрёл оригинальный геймплей. А оказалось, у меня банальный симулятор бога, коих миллионы.
Аноним 11/06/22 Суб 00:53:49 806314 257
image.png 1042Кб, 1900x1200
1900x1200
Просто укажите мне путь.

Буду пилить и обучаться одновременно. Готовый движок брать не хочу.

1) Асци рогалик на питоне, а графический клиент уже над ним пилить.

2) Рогалик на Racket. Мне нравится что я могу сразу в среде копипастить спрайты прямо в код и писать к ним логику и анимацию.

Аноним 11/06/22 Суб 01:16:15 806316 258
>>806314
я бы на питоне хуячил
Аноним 11/06/22 Суб 13:46:40 806353 259
>>804223
>Какой движок потыкать для моего наброска?
>скрипты автоматизации на петухоне.
Попробуй Godot, он лёгкий и удобный, а GDScript напоминает Python, но намного проще по сравнению с ним. Прототип легко сделать на нём, а когда дело дойдёт до серьёзной разработки, несложно будет перекатиться на любой другой движок/инструмент.

>управление персонажем не прямое, а через команды с некоторым рандомом на действия и прохождение проверок и автобоем по умолчанию выбранной тактики
Напоминает Годвилль, это ZPG (zero player game). Годвилль онлайн в браузере, потому что ММО, но если ты делаешь оффлайн игру, то, наверное, удобнее будет на движке по типу Godot. Нет, это не оверкилл, путём компиляции движка можно отключить все лишние модули, чисто текст+UI тормозить никогда не будут, а иметь большие возможности в запасе всегда хорошо: вдруг ты захочешь сделать 2D/3D визуализацию своей игры? Да и опыт разработки на движке тоже будет полезен для следующих игр.

Я, кстати, когда-то давно думал о том, что было бы круто сделать ZPG игру типа Годвилля с полноценной 2D/3D визуализацией приключений персонажа... но это будет слишком сложно из-за количества абсурда, нарушающего все законы физики в оригинальной игре.

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

>>806314
>Готовый движок брать не хочу.
Почему? Отбросить готовое всегда успеешь, тем более что получить опыт намного проще, взаимодействуя с готовым инструментом, чем изобретая этот самый инструмент с нуля без подсказок. Ты же не для микроконтроллера игру делаешь.

>Асци рогалик на питоне, а графический клиент уже над ним пилить.
С тем же успехом ты можешь взять Godot/GDScript и не мучиться, когда дело дойдёт до "графического контента", потому что встроенные инструменты очень упрощают работу с графикой.

>Рогалик на Racket
Довольно странный выбор, я о таком языке никогда даже не слышал, откуда ты его взял? (Как (я (понимаю, (Racket (очень (похож (на (Lisp, (тебя (устраивает (такой (код?))))))))))))

>>806345
>Столкнулся с этим с клиентами Nethack. Например все люди там отображаются как @.
Так он же сам всё делает. Может добавить дополнительную информацию/API в "сервер" для своего графического клиента.
Аноним 27/06/22 Пнд 16:56:17 810291 260
Вернулся в тред. Начинаю писать свою ECS систему. Потом уже наверчу на нее что-нибудь

мимо ОП
Аноним 28/06/22 Втр 00:17:14 810466 261
image.png 94Кб, 860x972
860x972
chrome-capture-[...].gif 170Кб, 400x158
400x158
>>810291
Набросал за пару часов первую версию системы, где нет ничего, кроме базовых понятий из ECS и нескольких вспомогательных сущностей. Держу в курсе. Далее надо допилить систему запросов к компонентам, потому что сейчас они совсем простые, далее подумать над циклом выполнения (который сейчас тупо по таймеру дергает метод перерасчета данных). Тогда появится некоторая плавность и гибкость в работе системы

держу в курсе
Аноним 28/06/22 Втр 21:03:05 810758 262
test.mov 3938Кб, 1618x708, 00:00:13
1618x708
>>810466
Запилил систему запросов к сущностям и "номральный" рендеринг на канву вместо dom
Аноним 29/06/22 Срд 15:46:32 811069 263
>>810291
Может лучше игру писать начнешь?
Аноним 29/06/22 Срд 16:27:43 811080 264
>>811069
Игра называется "приключение большого квадрата и маленьких кружочков в мире белых пикселей". В наш век искусство, в том числе в форме игр, становится настолько абстрактным, что искать в нём привычные концепции просто бесполезно.

>>810466
>базовых понятий из ECS
>>810758
>"номральный" рендеринг на канву
>>671018 (OP)
>рогалики
Напомни, что ты собираешься сделать?
Аноним 29/06/22 Срд 22:40:32 811342 265
>>811080
>>811069
Это же рогалик-тред, следовательно его я пилить и буду
Но для начала я создам инструмент для создания рогалика

Неизвестно, дойду ли я когда-то до создания игры. Мне больше доставляет создавать инструменты
Аноним 30/06/22 Чтв 23:39:06 812104 266
bullets.mov 2484Кб, 1622x1226, 00:00:20
1622x1226
>>811342
Теперь это тред создания стрелялок!

А если серьезно, попробовал организовать стрельбу и, внезапно, довольно просто получилось ее реализовать с помощью ECS. Каждая выпущенная пуля - это отдельная сущность с которой можно делать все что угодно. По хорошему, нужно организовать движение по заданному вектору, а не просто по сторонам света. Этим и займусь дальше
Аноним 30/06/22 Чтв 23:52:44 812123 267
image.png 1065Кб, 1280x720
1280x720
>>812104
А для чего это все, собственно? А вот для чего!

Пока я отсутствовал в треде по причине лениразмышлений, я наткнулся на замечательную игру Noita и так она меня впечатлила своей системой создания посохов, что я все еще под впечатлением. Туда-же isaac с его предметами, но как будто в noita все же простора для фантазии больше. Вот я и исследую возможности создания подобной системы. ECS вроде как позволяет комбинировать различные системы с наименьшей болью. Посмотрим как оно может получиться
Использование Луа Аноним 09/07/22 Суб 15:33:24 815959 268
всем здраствуйте, какого ваше мнение об использовании Луа в качестве основного объекта data driven дизайна? Ну скриптики там делать, кастомные данные для объедков и тд. Есть тут те, кто испытывал эту практику? Какие подводные?
Аноним 10/07/22 Вск 01:01:27 816166 269
>>815959
Был опыт по впиливанию лисп в проект, но это не тоже самое. Вообще, в таких проектах скриптовый язык просто необходим
Аноним 10/07/22 Вск 16:52:18 816445 270
>>816166
спасибо за отклик
вчера как раз начал Луа учить по их книженке
Аноним 11/07/22 Пнд 11:24:56 816686 271
ебана, где тот чел из начала треда который свою игру пилил? где он сейчас? он уже ее закончил?
Аноним 22/09/22 Чтв 10:08:37 832322 272
Я полтора года назад пытался пилить свой рогалик на юнити >>710597, но после этого меня плотно занесло в 3Dшку, да так что я в ней теперь работаю частично и собираюсь переходить на фултайм.
Но душа все равно очень просит пилить рогалик, поэтому собираюсь возвращаться к проекту. Скорее всего все буду переделывать с нуля, чтобы вспомнить хотя бы то немногое о кодинге и алгоритмах, что успел изучить тогда. Но на этот раз хочу поступить более умно и с самого начала следовать какому нибудь паттерну программирования, чтобы проект не превратился в хаос. Что посоветуете по этому поводу, бывалые рогаликодевелоперы?
Сам я нашел и более менее осознал паттерн Model-View-Controller, где как я понимаю один большой скрипт будет содержать в себе все данные и всю логику, типа алгоритмов построения данжа, поля видимости, статов, массивы с координатами элементоа уже сгенерированных левелоа подземелья и тп, второй скрипт будет содержать всю оьрисовку этого добра обращаясь к первому, а третий будет собственно менеджером игры, использующим и первый и второй в зависимости от действий игрока и ситуации в игре.
Аноним 22/09/22 Чтв 11:10:16 832328 273
Vaults Mutants Аноним 23/10/22 Вск 15:58:27 835699 274
Сап, рогаликач, сёдня я оживу этот тред, так как решил сделать рогалик по вселенной, похожей на фоллаут. Суть токова: а сути нет, я кроме "A post-nuclear roguelike game inspired by the Fallout series" ниче и не придумал, но всё будет придумываться на ходу. я не видел чтобы в духе фоллаута кто-то че-то делал (в среде рогаликов). Конечно, есть небезызвестный КДДА, но там немного другое, хотя некторые элементы, вроде роботов, вполне вписываются в лор фолыча. Ну в общем, можете поспорить, доделаю я эту хрень или нет.
Аноним 23/10/22 Вск 15:59:37 835701 275
текстовый файл - прожект докьюмент

Vaults & Mutants.
A post nuclear roguelike game inspired by the Fallout series.


() Game Structures:
Creatures:
|->Player,
|->Humanoids,
L->Beasts

Items:
|->Weapons,
|->Armor,
|->Food,
|->Drugs,
|->Info Items (books, notes, cassettes, etc.),
L->Other

Fractions

# maybe more


(
) World Structures:
Overworld
|
V
Realms
|
V
Chunks
|
V
Tiles

The Overworld contains a matrix of realms.
A realm can be a village, a city or another local place. Realms are not always of the same size, but in the global map every one of them is a square cell.
A realm is divided into chunks.
A realm is either procedurally generated at every entrance or saved in a file


(*) Tools of Development:
C++ as a main programming language,
Curses lib for terminal graphics,
Some other utils written by myself,
Lua as an in-game script language
Аноним 23/10/22 Вск 16:11:08 835706 276
в общем-то хочу чтобы было как-то так: игрок бродит по пустошам и пиздится с мутантами-рейдерами, грабит корованы и вообще делает что хочет - песочница рогулич хуле

а еще хочу сделать модабельность: не просто добавление кастомных мобов, но и написание скриптов, которые управляют окружением и миром в целом.

механики которые щас всплыли у мене в голове:
() социоблядство - отношения с отдельными персонажами, диалоги всякие и другое
() фракции - могут управлять какими-то объектами глобальной карты типо городов или не знаю, рудников всяких там. а еще конечно чтобы они пиздилися друг с другом и чтоб игрок мог прильнуть к одной из них (а может не только одной)
() крафтинг, причем для различных вещей нужны определенные верстаки (как в майнкрафте) и различные значения статов перса
() разрушаемость мира и строительство
Аноним 23/10/22 Вск 16:26:51 835712 277
>>835706
ставим мод на пустоши на CDDA, отключаем спавн зомби, подкручиваем спавн рейдеров = твоя игра
Аноним 23/10/22 Вск 16:30:05 835714 278
>>835712
придумываем кучу вопросов, приглашаем трех участников, за каждый правильный ответ +очки, за неправильный -очки = твоя игра
Аноним 23/10/22 Вск 16:46:06 835719 279
>>835712
и кстати в кдда много ненужного говна, я хочу чтобы моя игра была направленна в более аркадную сторону
Аноним 23/10/22 Вск 21:46:02 835780 280
>>835719
> и кстати в кдда много ненужного говна
согласен, но все довольно удобно настраивается, плохо только что Lua выпилили
Аноним 24/10/22 Пнд 15:11:30 835849 281
>>835780
а он там изначально был? тоесть прям скриптинг-скриптинг всего? и, соответственно, ультра модифицируемость?
гитхаб моей хуйни Аноним 26/10/22 Срд 19:06:44 836239 282
Аноним 26/10/22 Срд 19:07:16 836240 283
мои оправдания Аноним 28/10/22 Птн 16:18:30 836466 284
крче ананасы, дело такое: я щас готовлюсь к игэ (сам в 11 классе сейчас), и поэтому разработка будет приостоновлена до зимних каникул; до этого времени буду дрочить курс по физике, т.к. уроки в школе были бесполезные.
Аноним 21/03/23 Втр 14:09:58 871648 285
Hy че, ну как успехи? Небось все бросили?
Аноним 14/05/23 Вск 09:08:31 878727 286
Аноним 20/05/23 Суб 15:36:53 879471 287
Есть ли смысол кириллить бродягу на АСКЕЕ?
Я впринципе готов ботать за идею, но всё-таки интересно, перепадёт ли чего за это в Стиме?
Я раньше наворачивал рабов армока, вроде всё заебок если ты готов отречься солнца на недели, но понимаю, что нормиса или просто маменого рогалолюбителя такое просто отпугнёт, ну нахуй эту кабину звездолёта.
Аноним 20/05/23 Суб 17:55:21 879485 288
>>879471
Не-мастодонты рогаликов с Аски могут выжить только на донатах на условном патреоне/кофе. Либо же на крутом подходе к Аски типа cogmind. Для остального нужен графониум и мышка.
Аноним 21/05/23 Вск 09:39:35 879523 289
Ладно. Раз уж мёртвый тред мёртвой доски, можно и шабить. Роадмап насрамныйуд
Проджектс нэйм: История со стёртых полей
Дженре: классический бродяга с нитью сюжета
Феачурес: процедурная генерация, возможно подключение апишника чат-гопоты для большей интерактивности неписи, временные линии, управление с мышом
Графикс: я испытываю движение в штанах при виде АСКЕЕ, а потому 0.1 будет такова. В неясном будущем - попытка сделать что-то менее отвратное чем что?
Термс: неясно. Скажем, три года. Больше не ручаюсь, пушто спиваюсь потихонечку.
Скиллы: сишечка, немного вышмата, скриптов на пыхпыхе, и к стыду моему жабескрипта работаю вообще в другой степи

Аноним 21/05/23 Вск 09:43:23 879524 290
>>879523
Могу помочь сделать.
По внешнему виду могу сказать что идеал это - Тайлы графики как ты хочешь, но с возможностью в настройках их менять допустим на читаемые для большинства.
Аноним 21/05/23 Вск 13:17:57 879545 291
>>879524
>>879524
Ты больше кодер или в построение графики?
Аноним 21/05/23 Вск 13:47:06 879546 292
>>879545
И то и то, мастер на все руки.
Аноним 22/05/23 Пнд 00:46:42 879607 293
1534412559807.png 368Кб, 1376x1964
1376x1964
1609298888120.png 616Кб, 1394x2952
1394x2952
Снова вернулся к идее своего рогалика
На этот раз решил поизучать ЕЦС
Аноним 22/05/23 Пнд 03:31:24 879611 294
Аноним 22/05/23 Пнд 03:31:35 879612 295
4642112348.jpg 59Кб, 1216x1280
1216x1280
>>879607
Блядь, сука, почему знаю только ебаный JS. Так хочется сделать свою игру, а учить дохуя. Я уже умру к тому моменту, когда выучу.
Аноним 22/05/23 Пнд 04:05:17 879613 296
>>879612
веб рогалики люди тоже делали, rot js вроде, не помню
Аноним 22/05/23 Пнд 14:16:59 879637 297
>>879612
Так делай на JS.
Ты не знаешь критерий: лучший язык программирования для решения задачи - тот, который ты знаешь.
Аноним 22/05/23 Пнд 15:47:31 879650 298
>>879611
Я думал это сборный тред рогаликов, разве посты выше от ОПа?
Аноним 22/05/23 Пнд 19:11:34 879665 299
>>879650
ну в начале треда - да
Аноним 24/05/23 Срд 16:50:22 879872 300
>>879523
Продолжение.
Изначальная идея появилась после банки-девятки на выходных.после чего я насрал об этом в гд
После опохммела идея показалась мне пиздец какой нездоровой, а потому достойной воплощения аки господь трахнул деву Марию и пошло и покхехало.

Итак, сеттинг: мир меча, магии и коммерции. Боги есть, но население в целом секулярное.
Мир ещё не пережил большой пиздец о котором будут слагать легенды. Мир который ещё нахолится в невинности незнания. Мир-девственнтк короче, что тут скажешь. Меня вдохновило видение писателей на боевые действия до первой мировой войны.
Пять основных рас, их производные, мутанты рас и их производных, и отдельная ветка - полиморф.
а ещё я спиздил ездовых пауков из Мензоберранзана.
Основная нить квест сюжет - вы несёте весточку в великий город Пабралатт, к которому ведёт сеть т н. имперских дорог - магическое сооружение, невилимое позволяющее пользователю оставаться невидимым находясь на ней дорога естественно растащена местными на металлолом ебаьь.

Ладно. Теперь уйдём от фантазий к настоящей дрочке.
Я так прикинул, сишечка слишком куцая даже для дефолтных рагулей. Итак, я буду мастерить небольшой диалект, на котором дело пойдёт наверное но зачем?
Появилась также менее хтоническая идея использовать псевдо Аску, отрисовывать забуглины каким-то двиглом нахуй.
Чат-гопота страдает деменцией пока его не излечить двадцаткой, а потому мой взор пал на доступные исходники гопоты-2.
Время. Нелинейность времени оче интересная вещь, с реализацией обосраться - как два пальца об асфальт. Пока что идея выглядит как разбить мир на т.н. пределы видимости, и для каждого ввести локальное время а затем хватать Кондратия от происходящего[/spoiler
Главное чтоб на защиту рубежей не забрали.
Хава нагила!
Аноним 24/05/23 Срд 16:53:52 879873 301
>>879872
Давай помогу сделать.
Аноним 24/05/23 Срд 20:50:46 879892 302
>>879872
я ваще нихуя не понял что ты написал, но выглядит интересно
Аноним 25/05/23 Чтв 12:04:12 879942 303
>>879873
Я бы и рад с кем-то ботать, две головы как никак.
Но моя работа над сим поделием носит очень эпизодический характер, и к тому же я пока что не смогу достойно оплачивать чей-то труд.
Аноним 25/05/23 Чтв 12:18:32 879944 304
>>879942
>Но моя работа над сим поделием носит очень эпизодический характер, и к тому же я пока что не смогу достойно оплачивать чей-то труд.
Во первых это бесплатно. Во вторых, даже если ты внезапно пропадёшь всё ок, у меня было много опыта кооперации с двача и гейсру. Наши желания сходятся и я не против попыхтеть над такой игрой. Как говорится, бери пока горячее.
Аноним 25/05/23 Чтв 21:36:09 879998 305
floore.png 4Кб, 573x402
573x402
>>879944
Хорошо. Я могу стабильно выходить на связь после пяти по Москве.

Начать решил издалека, так сказать СОСНОВ. Техзадача состоит в оживлении данного пикрил изображения. Литера Ж должна обладать способностью к перемещению внутри коробки. Также функция должна возвращать данные о совершённом ходе - перемещение или стей хоум.

В дальнейшем хотелось бы несколько автоматизировать процесс постройки подземелий и просторов звучит как протодвижок?
Аноним 26/05/23 Птн 04:56:56 880011 306
>>879998
не хочешь сделать гитхаб под это дело?
Аноним 26/05/23 Птн 08:59:32 880017 307
>>879998
Мне кажется с основ это придумать простую архитектуру, и далее навешивать код.
К примеру вот на твоем пике простой двухмерный массив с заполнением тайлом.
Карту хранишь в двумерном массиве типа int[,], каждый тайл это одна цифра обозначающий тип тайла.
Далее в отдельной часте кода есть данные о персонажи, в том числе его координаты на карте.
При попытке передвижения в любую сторону происходит проверка тайла куда хочет передвинуться персонаж на возможность прохода на него, плюсом на лимит карты.

Про автоматизацию это надо сделать простой редактор поверх игры, либо отдельно, и тут же идёт уже хранение данных карты.
Аноним 26/05/23 Птн 14:15:54 880030 308
>>880017
>происходит проверка тайла куда хочет передвинуться персонаж на возможность прохода
Я создал массив из двадцати значений, к которым в дальнейшем подвяжутся непреодолимые препятствия. Ну и если значение - 20 <=0, то ход стопорится.
Хотя можно через свищ умнее сделать, типа стопор, проход, и интерактивная единица (со своим свищом: нейтрал-взаимодейсвтие, обязательное взаимодействие).

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

>>880011
Гуд айди. Отличный выход на случай потери связи. Вот бы поскорее с работки
Аноним 26/05/23 Птн 14:44:13 880031 309
>>880030
Тебе в любом случае понадобится редактор или его подобие, очень быстро упрёшься в сложность создания карты в блокноте.

И не очень понял что за массив у тебя, и как это работает.
То что я написал это так во всех играх по аналогии где есть тайлы, это так сказать база картостроения. Нужны тайлы содержащии инфу о себе, и массив где хранятся они.
Аноним 26/05/23 Птн 20:05:00 880053 310
>>880031
тайлам еще хорошо бы хранить ссылки на объекты, которые на нëм находятся - существа, предметы.
Так же битовые флаги - можно ли проходить через этот тайл, загораживает ли он обзор, етц.
Аноним 30/05/23 Втр 14:05:07 880262 311
image.png 538Кб, 1067x661
1067x661
Актуален ли пошаговый рогалик от первого лица?
Аноним 30/05/23 Втр 15:23:26 880264 312
Аноним 31/05/23 Срд 12:15:53 880321 313
Аноним 31/05/23 Срд 14:19:34 880328 314
>>880262
> Актуален ли пошаговый рогалик от первого лица?

Я в муншадоу на планшете играю. В какой нибудь порт Меча и Магии тоже сыграл бы, или Данжион Мастер.

Если там будет много головоломок, и они далеко не однообразны, с удовольствием сыграл, но врятли такие игры популярны. Тут люди над замками в Атомик Хеарт ломали моск, особенно пориджи
Аноним 01/06/23 Чтв 20:31:48 880439 315
>>880321
> Dungeon Crawler
Там вроде уровни более лабиринтоподобные и перманентная смерть не обязательна, больше отличий не знаю.

>>880328
> Если там будет много головоломок
А если какой-нибудь каноничный оперсурс рогалик в 3д портануть. Мне самому разнообразные головоломки придумывать не охота.
Аноним 02/06/23 Птн 12:18:59 880479 316
ОП, вернись в тред пожалуйста. мне очень интересно что у тебя там с той хуйней сейчас происходит, ради которой ты создал эту нить...
Аноним 02/06/23 Птн 12:23:03 880480 317
>>712711
последний пост опа
Аноним 02/06/23 Птн 12:54:13 880482 318
>>880480
>03/12/20
Как же это было давно... Интересно что сейчас с ним.... Сколько игр он сделал...
Аноним 02/06/23 Птн 15:02:35 880491 319
>>880482
наверное он нашел работу
Аноним 07/06/23 Срд 13:01:19 880889 320
>>879471
Если хочешь быть _успешным_, то однозначно - нет. В крайнем случае у тебя будет какая-то охуенная идея, которая не приходила в голову сотням тысяч людей за последние 40 лет. Но и в этом случае, если ты сосредоточишься на аски, то заработает на этом тот, кто сделает клон твоей игры без аски

>>879485
Так когмайнд это не аски, это скорее аскипанк. Сейчас делают даже платформеры в такой стилистике, но принцип действия совсем другой, чем у аски или тайловой графики

>>879872
Я делал рогалик на чистой сишке. Все равно приходится имитировать классы через структуры, проще взять язык с объектами, как по мне. Хотя язык неважен, конечно. Многие сейчас отрисовывают двиглом аски, но лично я не понимаю зачем

>>880262
Если есть хорошая идея, то почему бы и нет. И да, это не рогалик, ведь олдскульные рпг такими и были как ты описываешь
Аноним 07/06/23 Срд 13:50:54 880893 321
1635458990366.png 738Кб, 804x626
804x626
>>880439
>А если какой-нибудь каноничный оперсурс рогалик в 3д портануть.
Было острое желание освежить 3д порт Нетхака и перенести на Годот. Видел что был только какой то древний вариант под Мак.
Правда в нетхаке придется знатно в лапше покопаться. И он GPL, так что придется клиент как то отделно пилить клиент если захочется продавать. И там вроде не так все просто будет с интерфейсом, ведь так мы не получаем инфу об объектах в памяти, а видим только значок @ в терминале и как то должны различать игрока, продавцов и так далее.
Аноним 07/06/23 Срд 15:30:22 880903 322
>>880893
мб как-то заюзать '/', которая пишет что на карте какой объект
Аноним 07/06/23 Срд 15:33:00 880904 323
>>880889
> Многие сейчас отрисовывают двиглом аски, но лично я не понимаю зачем

лень рисовать спрайты мб
Аноним 07/06/23 Срд 19:26:02 880926 324
>>880903
Может быть, сейчас производительности должно хватать хоть всю карту просканить. А может уже появились какие-то вменяемые "ооп"-обертки. Я вспомнил что когда возился несколько лет назад, нейрошизики что то подобное делали, но я не знаю насколько там проработано. https://github.com/facebookresearch/nle/blob/main/nle/env/base.py
Аноним 07/06/23 Срд 20:09:49 880933 325
крче пилю свою стори о том как пытался делать рыгалик аля нетхак-ангбанд.

писал я эту хуйню на Си, потому что считал это базой, преемственностью старых традиций. крче, писал-писал, кириллил архитектуру игры: структуры там, устройство игрового мира и т.д. Мало того, что пытался копать слишком глубоко, из-за чего повысерал всякого в эти struct-ы, так еще и задумался о дата-дривен дизайне. ну знаете, чтобы можно было вообще всё в игре можно было программировать кастомными скриптами, и вообще чтобы игра была модульной как маунт энд блэйд. провозился со всеми этими маня-идеями, мало по малу претворяя их в код, целый месяц лета. целый месяц я сидел за пекой и прогроммировал всякую хуйню (сейчас самому смешно), получив в итоге лишь маленькую демку, где можно было только ходить, любуясь тем, как хорошо работает FOV (за камнем ниче не видно, просто бля черный угол). вот блядь и наметался бисером, спасибо тебе, я.

В общем, могу выделить следующие вещи, которые были насраны у меня в голове тогда:

1) Осознанный выбор плохого для этих целей инструментария. Всё таки, если бы вместо "си плюс луа" я выбрал для себя си шарп какой-нить или питон, на крайняк "луа с примесью си", то было бы меньше пердолинга и больше конечного продукта

2) Думанье слишком наперёд, которое мешает деланью сейчас. Пример - опять же, раздумья над скриптабельностью всего и вся в игре. Прикол в том, что я больше думал об этой хуйне, чем писал код

3) Слишком долгое выстраивание архитектуры при не имении прототипа. Когда ты планируешь свою систему, не видя ее в действии, то вводишь себя в глубокое заблуждение относительно того, как работает твоя игра.
Аноним 07/06/23 Срд 20:12:52 880934 326
фух бля, законтрибьютил в тред, называется
Аноним 07/06/23 Срд 20:17:05 880935 327
>>880933
Да не, норм подход на самом деле. И с Си особых проблем нет, там есть flecs ECS например. Просто еще пару раз сделаешь такой проект и понимание архитектуры уже появится.
Аноним 07/06/23 Срд 20:25:41 880936 328
>>880935
в следующий раз наверное уже за годот засяду и начну пилить что-то вроде streets of rogue. мне самому аски рогалики че-то не заходят. хотя если рогалик сделать такого плана, чтобы чисто меджду задачами в терминале поиграться, то в принципе норм, такой тоже в кайф будет запилить. только уже будет стоять вопрос о том, стоит ли пилить для такой игры скриптабельность помимо дефолтной для меня кастомной генерации уровней. всё таки скрипты для мобов первое время кроме как тебе писать будет некому. ну или просто всё это на си писать, чтобы не заморачиваться с созданием API
Аноним 07/06/23 Срд 21:00:46 880941 329
>>880936
Я сейчас совмещаю, сам рогалик на flecs (в моем случае с++ API), это собирается в so/dll и через gdnative запускается внутри годота, а там уже рисование происходит.
Аноним 07/06/23 Срд 21:05:23 880943 330
i.jpg 71Кб, 684x1024
684x1024
>>880941
покажешь скриншоты?
Аноним 07/06/23 Срд 21:32:06 880953 331
>>880943
Пока нечего интересного показывать. Начальный код был тут >>879607
Аноним 13/06/23 Втр 23:57:31 881476 332
>>880893
>GPL
Все таки стремаюсь этой штуки.
https://www.gnu.org/licenses/gpl-faq.html#GPLPlugins
Вот они пишут
>and they establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth
А клиент и рогалик явно будут гонять взад вперед комплексные структуры данных
И даже простой случай
>If the main program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case.
Они уже считают на грани, а там всего лишь одну опцию ждут, а не комплексные данные.
Может быть тогда делать клиент тоже GPL а продавать скины и обои на стены. Хотя конечно их тоже легко сопрут, просто перепишут скачивать картинки с локалхоста, лол.
Аноним 17/06/23 Суб 15:55:58 881829 333
>>879998
>Начать решил издалека, так сказать СОСНОВ. Техзадача состоит в оживлении данного пикрил изображения.
Ну, как прогресс? Забил уже? Или сделаль что-то?

>автоматизировать процесс постройки подземелий
Это называется "процедурная генерация", гугли procedural generation, там полно алгоритмов.

Обзорное видео по разным алгоритмам генерации:
https://youtu.be/TlLIOgWYVpI

>>880031
>Тебе в любом случае понадобится редактор или его подобие, очень быстро упрёшься в сложность создания карты в блокноте.
Рогалику в общем случае не нужен редактор карт. Максимум редактор отдельных локаций, которые случайно размещаются внутри процедурной карты.

Можно взять готовый редактор типа Tiled:
https://mapeditor.org/
Аноним 22/06/23 Чтв 23:46:28 882413 334
>>881829
>Или сделаль что-то?
Пока только букву гоняющую по коробке. и простейший ии для моба. Писать стандартные библиотеки с нуля та ещё залупа иваныча.
Аноним 23/06/23 Птн 16:02:25 882461 335
>>882413
>Писать стандартные библиотеки с нуля та ещё залупа иваныча.
Не понял, какие стандартные библиотеки и зачем?

Если у тебя реально ASCII в консольке, там вроде максимально просто - нужно получить доступ к экранному буферу и писать в него как в обычный массив. Вот только будет ли это работать в современных консолях - не знаю, на Windows консоль cmd.exe регулярно резали и вроде бы собираются совсем убрать.

Если у тебя "псевдо ASCII", то возьми SDL2 и юзай его графические возможности. Можно взять SDL_ttf, чтоб сразу буквы выводить, а не спрайты.
Аноним 25/06/23 Вск 20:34:25 882655 336
>>882413
Зато весело. Я вот на днях printf писал.
Аноним 28/08/23 Пнд 21:06:35 895679 337
Ох, блять, ну и наебался же я с этой консольной графикой. Казалось бы: ничего проще не бывает, просто берешь и выводишь. Но хуй там плавал, проблемы поджидают на каждом шагу: начиная от невозможности поставить bitmap шрифт в нормальной кодировке и заканчивая общей хуёвой документированностью консольного API. Работать с этим, конечно, можно, если вы хотите реализовывать каждое действие через жопу, но я пас. Буду делать то же самое с помощью SDL.
Аноним 29/08/23 Втр 15:08:21 895755 338
>>895679
про либу curses слышал?
Аноним 29/08/23 Втр 17:48:42 895773 339
>>895755
Я конкретно под win10 консоль хотел, там возможностей побольше, чем с curses.
Аноним 29/08/23 Втр 17:56:21 895774 340
>>895773
Под винду был какой то вариант PDCurses. Алсо там вроде уже обертка над SDL есть для граф версии проги.
Аноним 29/08/23 Втр 19:19:36 895787 341
>>895774
да этих оберток над SDL пруд пруди: от чуть более высокоуровневого SFML до целых фреймворков вроде Löve2D
Аноним 29/08/23 Втр 20:08:36 895794 342
>>895787
Непонятно написал - не обертка над SDL, а обертка curses в SDL.
Аноним 30/08/23 Срд 00:56:38 895815 343
>>895774
Спасибо за наводку, но я уж решил делать через SDL, чтоб при желании можно было добавить какую-нибудь фичу без плясок с бубном. А ascii графику оставлю ради стиля и экономии своих временных ресурсов.
Аноним 06/09/23 Срд 19:30:28 896647 344
>>880479
ОП тута. Случилась классика: пока изучал как пилить свой рогалик, прокачался до мидла, устроился на норм работу, потом родил ребенка, а потом меня релоцировали. С тех пор много разного произошло, но именно то что тут обсуждалось, так и осталось не сделанным. Вот думаю освежить тред немного. Надо только вспомнить на чем остановился
OP 06/09/23 Срд 19:36:11 896648 345
image.png 107Кб, 2576x246
2576x246
image.png 165Кб, 2568x608
2568x608
Смотрим на изначальную идею через призму произошедшего:
>Писать планирую на C# с оглядкой на многочисленные библиотеки со вспомогательными функциями для создания roguelike игр (там тебе и генерация карт и игровые сущности). В общем, есть куда подсмотреть в случае чего
C# я уже использовать не буду, так как сменил рабочий ПК на мак, а специализацию на typescript

Далее посты с задумкой: пикрил
Сейчас понимаю, что там написано все и ничего. Имею в виду, что тут именно про всю игру сразу как бы, а это слишко большой масштаб. Нужно взять что-то одно и расписать подбробнее
OP 06/09/23 Срд 19:48:23 896649 346
Пока тред находился в свободном плавании, я все же не терял время зря, а находился в маняфантазиях и вот главное к чему я пришел: модульность к которой я стремился, это всего лишь эффекты на некоторые свойства и чем больше свойств мы выделяем, тем сложнее оказывается эффект.

Что это значит!?

Например, мы имеем условный меч и персонажа в игре. Накладываем на меч условный эффект кислоты и далее уже все зависит насколько точно мы можем влиять на составляющие игры. Опишу два крайних случая:
1. Самый простой, там где мы выделяем только урон меча. То есть наложенный эффект увеличивает его урон
2. Самый сложный:
- урон меча
- хп меча, которое страдает из-за кислоты на нем
- хп персонажа
- ментальное настроение персонажа
- временные дебафы на персонажа
- окружение, которое, может быть тоже как-то повреждается от кислоты

Предположим, персонажа ебнули этим мечом и он начал страдать физически и ментально, так как это причиняет много боли и деморализует

Это все крайне условно и призвано просто продемонстрировать то как могут различаться разные варианты реализации. То насколько глубоко можно прописать взаимодействия, должно зависеть только от фантазии

Офк у меня всего лишь две руки и нужно что-то более универсальное, чем прописывание всего этого руками
OP 06/09/23 Срд 19:52:53 896650 347
image.png 1239Кб, 1920x1080
1920x1080
image.png 994Кб, 1920x1080
1920x1080
Как пример правильного выбора характиристик, которые могут влиять на геймплей, я бы привел айзека. Вот тут все на своем месте находится
OP 06/09/23 Срд 20:02:14 896652 348
Но здесь я предлагаю думать только о построении системы, а не конкретной реализации и геймплее

Вижу два варианта логической разбивки приложения:
1. Объекты и их свойства
2. Объекты, свойства, модификаторы (?)

Объект в обоих случаях - это владелец свойств

Свойства в первом случае - это все что может принадлежать объекту. Также эти свойства могут влиять друг на друга

Во втором случае я просто выделил модификаторы в отдельную группы. Может быть так будет лучше

Из того, что на поверхности:
1. Нужно как-то определить порядок того в какой последовательности применяются модификаторы
2. Могут ли модификаторы влиять на другие модификаторы?
Аноним 06/09/23 Срд 20:03:48 896653 349
>>896649
>>896648
Очень похоже на мой первоначальный вариант, только сейчас проще и вроде как понятнее. Это ли не признак мастерства!
OP 06/09/23 Срд 21:25:14 896671 350
image.png 179Кб, 1422x1136
1422x1136
image.png 152Кб, 1850x762
1850x762
image.png 8Кб, 204x180
204x180
Собрал на коленке простенькую ECS и из нее собрал Итератор

Суть: понять как могут сочетаться все эти части приложения на примере совсем простой логики
OP 06/09/23 Срд 22:10:30 896684 351
image.png 213Кб, 1832x958
1832x958
Скорее всего колхоз, но: у каждого свойства есть дефолтное значение, заданное при инициализации и второе, уже реальное, которое будет использоваться в работе. Модификатор его модифицирует, а основная система использует для работы
Аноним 06/09/23 Срд 23:57:01 896691 352
image.png 276Кб, 1326x1372
1326x1372
image.png 9Кб, 204x256
204x256
>>896684
Теперь намного лучше читается. Такая система покрывает множество случаев где используется только одна сущность. Что делать, если у нас их много?
OP 07/09/23 Чтв 00:56:29 896695 353
chrome-capture-[...].gif 73Кб, 130x119
130x119
Добавил рендер. С одной сущностью и множеством свойств для нее - все ок
OP 07/09/23 Чтв 13:51:00 896741 354
Screen Recordin[...].mov 149Кб, 668x334, 00:00:03
668x334
image.png 318Кб, 1246x1154
1246x1154
Небольшой рефакторинг, чтобы система могла работать с несколькими объектами
Аноним 07/09/23 Чтв 15:01:59 896745 355
>>896647
ахуеть бля чел, это возвращение легенды получается
Аноним 07/09/23 Чтв 15:08:06 896747 356
>>896745
Ну теперь то я точно закончу начатое!
Аноним 07/09/23 Чтв 15:09:19 896748 357
>>896747
давай братишка, заканчивай. а потом заливай на стим и обязательно поделись ключиком с твоим верным аноном
Аноним 07/09/23 Чтв 15:12:44 896750 358
Screen Recordin[...].mov 102Кб, 668x334, 00:00:02
668x334
image.png 317Кб, 1072x1280
1072x1280
>>896741
Теперь движение по кругу - это вертикальное + горизонтальное движение (как это и должно быть)

Далее попробуем усложнить: добавим контроль мышкой и клавиатурой
Аноним 07/09/23 Чтв 17:08:56 896755 359
Screen Recordin[...].mov 272Кб, 1014x660, 00:00:13
1014x660
image.png 174Кб, 1070x712
1070x712
>>896750
It's alive!

ECS очень удобен (пока)
Аноним 07/09/23 Чтв 17:18:41 896756 360
>>896755
Раз уж мы сделали самоходный квадрат, давайте попробуем сделать модульный объект. Что-то типа танка с башней
OP 07/09/23 Чтв 20:59:56 896770 361
image.png 13Кб, 696x536
696x536
Давайте немного порассуждаем. Допустим, у нас есть танк: пикрил. И он состоит условно, из двух частей: куб-движитель и ствол

Логично предположить, что ствол некоторым образом привязан к кубу. Выделяю два типа привязки:
- жесткая
- мягкая

Также привязка может быть как для координат, так и для угла поворота (пока не понятно стоит ли их разделять, но вообще надо полагать, что да, так как это разные свойства)

Могу ли я оформить привязку как одно из свойств или для этого нужен новый механизм?

Также по аналогии с жесткой привязкой ствола, могу представить себе мягкую, где идет просто следование за целью по любому из выбранных алгоритмов
Аноним 07/09/23 Чтв 21:15:52 896774 362
Screen Recordin[...].mov 418Кб, 1014x660, 00:00:12
1014x660
>>896770
Анончики, я просто в шоке как все просто пишется
Аноним 07/09/23 Чтв 21:22:53 896775 363
image.png 280Кб, 1782x1142
1782x1142
image.png 10Кб, 225x225
225x225
>>896774
Вот код системы. Самое удивительное, что ее написал не я, а сраный (других слов подобрать не могу) github copilot

Я объявил свойства, потом пару раз нажал Tab и готовый на 99% код появился на экране. После того как он мне его предложил, я только добавил от себя то, что угол тоже должен дублироваться

Немного не по себе становится
OP 07/09/23 Чтв 21:24:42 896776 364
image.png 11Кб, 370x60
370x60
Следующее что хочу сделать - это приведение типов. Не зря же я пишу на ts
Пикрил хвосты расползаются по коду и в будущем могут стать проблемой
OP 08/09/23 Птн 22:00:47 896860 365
image.png 90Кб, 1216x224
1216x224
Сделал типизацию для свойств. Получилось КРАСNВО
OP 08/09/23 Птн 22:15:48 896862 366
Попробую прикрутить выстрелы
OP 08/09/23 Птн 23:06:30 896865 367
Screen Recordin[...].mov 724Кб, 1032x1036, 00:00:15
1032x1036
Получается довольно интересно. Дальше нужно думать что поверх этого можно навернуть
OP 08/09/23 Птн 23:52:56 896872 368
Screen Recordin[...].mov 711Кб, 1032x1036, 00:00:16
1032x1036
Думаю, поставить эксперименты на паузу и подумать как с этим работать
Аноним 10/09/23 Вск 16:10:59 897064 369
getty1374473273[...].jpg 491Кб, 1920x1080
1920x1080
>>671018 (OP)
А на конструкторе можно сделать рогалик? Например на рпгмейкере?
Аноним 10/09/23 Вск 18:25:09 897078 370
>>897064
Да, можно. Рогалик - это жанр. Никаких технических ограничений обычно не должно возникать в этом плане
Аноним 11/09/23 Пнд 01:49:01 897114 371
>>897064
Fear and hunger, как пример
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов