image.png46 Кб, 1115x1003
Говорят рогалики можно кирилить десятилетиями. #2 Поехали! https://arhivach.ng/thread/441819/ #1 # OP 671018 В конец треда | Веб
Говорят рогалики можно кирилить десятилетиями. #2

Поехали!

https://arhivach.ng/thread/441819/ #1
2 671022
Предыдущий >>558349 (OP)
sage 3 671077
>>671022

>Говорят рогалики можно кирилить десятилетиями. #2


>Поехали!


>https://arhivach.ng/thread/441819/ #1


>Предыдущий >>558349 (OP) (OP)


Говорят, тред нелегитимен, а ОП - хуй.
4 671084
>>671077
Нихуя ты вспыхнул
16pixel 5 672474
Такс, что тут у нас за неделю:

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

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

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

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

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

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

А ваши дела как?
6 672545
>>672474

>А ваши дела как?


хуже твоих
progress4.gif2,2 Мб, 1113x630
16pixel 7 673652
Вопрос бывалым - чем вообще занять себя в данже? У меня какой-то блок наступил, после того, как я ловушки сделал. Есть какие-то интересные механики кроме "пизди монстров - собирай голду"? inb4 можно трупы жрать
8 673660
>>673652
Качаться же. У тебя какая система ролевая (есть ли вообще)?
Сделай стрельбу, смену оружия, разных монстров.
Вообще, хорошо делаешь, надо разгребать работу и тебя догонять.
>>669124 →-кун
9 673661
>>673652

> Вопрос бывалым - чем вообще занять себя в данже?


Секретные комнаты

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

Какая-нибудь скрытая последовательность которая приведёт к некоему эвенту
Например потушить все факелы (или зажечь) в подземелье откроет куда-то проход
10 673664
>>673652
сделай чтоб можно было монстров насиловать
progress5.gif18,8 Мб, 1113x630
16pixel 11 673711
>>673664
Лол, как только я написал прошлый пост, я подумал что вот это самое мне и насоветуют в первую очередь. Если объяснишь как это геймплейно оправдать, попробую ебануть

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

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

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

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

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



Давай конечно! А то я себя чувствую Семеном в треде. Нужно больше рогаликов.
.png254 Кб, 642x600
12 673725
>>673711
Можешь какой-нибудь такой шестиугольник сделать для света
Для углов ромб подойдёт наверное
А вот факел https://opengameart.org/content/lpc-animated-water-and-fire
13 673727
>>673725
Или просто спрайт круга рисовать который чуть мерцает
14 673748
>>673711

>Все налеплено от балды - от хп монстров до дамага оружия. Есть чего посоветовать почитать на тему?


У меня вот такая ссылка в закладках по этому поводу: https://www.redblobgames.com/articles/probability/damage-rolls.html
15 673778
>>673711

>Если объяснишь как это геймплейно оправдать, попробую ебануть


Это и есть геймплей. Подкрадываешься к монстрам и ебёшь их.
was-is.png32 Кб, 669x760
16pixel 16 673831
>>673748
Познавательно, почитал. Переделал расчет урона. Хотя я не сильно испытывал неудобство с предыдущим, нормальное распределение выглядит получше.
Но когда ты говорил про прокачку, я думал ты про левелинг какой-нибудь - на каком уровне как происходит прирост хп и статов, и т.д.
17 674137
>>673778
Или они тебя, как в старой, доброй и классичееской «Watch out you behind hunter!» Вообще можно было бы развить идею той игры. А лор, что это силы тьмы масоны педофилы и тебе надо как воину альянса спасти детей от педофилов - рептилоидов из подземелий. Уф бля! Адренохрома ебануть надо.
18 674220
>>674137
>>673778
Если ОП не хочет делать такую игру, я сам сделаю. Или нет
progress.gif255 Кб, 1113x631
16pixel 19 674584
Такс ну короче сделал возможность иметь разные тайлсеты на разных уровнях и возможность бросать предметы. Та же механика будет использоваться для стрельбы, спеллкастинга и хз чего еще, потенциально даже ходить можно через нее.

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

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

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

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

Как такие вещи по нормальному делать?
20 674639
>>674584
А щас-то чё на по нормальному? Работает - значит норма.

>Еще сделал новый класс pointer, который создается, когда игрок входит в стейт "выбираю_цель_для_броска" и удаляется, когда игрок из него выходит. Для pointer сделал отдельный move, который позволяет перемещать его


Делал также. Только перемещение не ограничивал.
А ты зачем? У тебя же FOV и FOW. Всё равно чего не надо не увидит. У кидать предметы/стрелять в пустоту иногда нужно или весело. Помнишь как в UFO было?
21 674640
>>674584
Алсо, посмотри Doom Roguelike. Там идеальная стрельба и вообще боёвка. Но, насколько я помню, там +- так же как у тебя механика стрельбы реализована.
16pixel 22 674703
>>674639
Ну, на самом деле перемещение по fov это костыль, потому что по сути происходит не бросок предмета а удаление его из инвентаря и добавление на выбранный тайл. Если не ограничивать, то легко можно, например, в соседнюю комнату телепортнуть предмет.

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

>>674640
Не знал что Doom RL с открытыми исходниками лежит, кстати. Ознакомлюсь обязательно.
16pixel 23 674977
Такс, во-первых, отлично задрочил DoomRL. Нраица.

Во-вторых - про

>кастить прямой луч с позиции игрока до выбранного тайла


я сделяль. Подход использовал с https://www.redblobgames.com/grids/line-drawing.html. Код на питоне и гифон процесса - на скринах. Как будто змею выпускает, лол, збс
24 674987
>>674137
Ещё можно сделать, чтоб можно было перейти на сторону педофилов.
16pixel 25 675159
Пофиксил броски и управление прицелом. Теперь бросок остановится перед закрытой дверью или стеной, а прицел можно перемещать как угодно вокруг, в рамках +-8 тайлов.
Еще сделал запоминание последней цели, если бросок был не просто в тайл, а в монстра - также в DoomRL происходит при стрельбе. Собственно, похоже у меня готова стрельба. Осталось пушку добавить.
26 675184
>>675159
Красавчик, что тут ещё можно сказать?
progress.gif1,3 Мб, 1047x637
16pixel 27 675438
>>675184
Спасибо!
Буду пореже постить, а то весь тред засрал.

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

Кстати, 16 числа на r/roguelikedev будет очередной tutorial series - https://www.reddit.com/r/roguelikedev/comments/grccvt/roguelikedev_does_the_complete_roguelike_tutorial/
28 675492
Допустим, хочу написать рогалик, кодить не умею. Начинаю гуглить и нахожу миллион туториалов по написанию рогалика на питоне. Но анон о питоне отзывается с насмешкой. Тогда встает вопрос, на чем же писать, какой язык учить. Мне важен сам процесс создания чего-то типа своей dwarf fortress. Чтобы она быстро работала, мало весила, легко расширялась. Ни для чего другого кодить не собираюсь, только вот такую игру, типа рогалик, но с глобальной симуляцией. Чего анон посоветует?
29 675507
>>675492

> какой язык учить


> Мне важен сам процесс создания чего-то типа своей dwarf fortress


Тогда учи язык, а не игру делай
30 675529
>>675492

>анон о питоне отзывается с насмешкой


О БОЖЕ, КАКОЙ УЖОС!!!

>быстро работала, мало весила


C++, asm
31 675530
>>675438

>Буду пореже постить, а то весь тред засрал.


Нет. Это называется "годный контент".
progress.gif4,2 Мб, 1046x637
16pixel 32 675532
>>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... Ну ты понял.

И в тред пиши. Особенно про прогресс. Будешь семеном, как я.
progress.gif4,2 Мб, 1046x637
16pixel 32 675532
>>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... Ну ты понял.

И в тред пиши. Особенно про прогресс. Будешь семеном, как я.
33 675553
>>675529
Rust забыл
34 675615
>>675529
>>675532
Ок. Вы одно не поняли: мне неважно, какой язык анон считает самым лучшим - важно только то, на каком, по его прикидкам, оптимально делать такой рогалик. И не как первый блин, а вообще, потому что для меня не стоит никакого дедлайна и я не стремлюсь зарабатывать 300кк в наносекунду кодигом никогда. Вот буду сидеть и ковырять плюсы, например, несколько лет, пока простейшую генерацию пещер сделаю - меня это устраивает, если в итоге это пойдет на пользу игре.
>>675507

>учи язык


>какой не знаю

36 675622
>>675620
Скобку с точкой убери
37 675628
>>675622
Пчел, специально без скобочки с точкой зацитировал же.
38 675637
>>675628
У меня открылось. Попробуй зарегаться.
Или зайти на https://repl.it/student и поискать Auto-Graded Course with Solutions (python)
87654876549764.gif263 Кб, 512x288
39 675639
>>675637

>https://repl.it/student


Нет такой страницы.

>Auto-Graded Course with Solutions (python)


Находится по адресу https://repl.it/community/classrooms/17929
40 676081
>>675615
Предлагаю тебе язык Rust. Сам горю такой же идеей как и у тебя. Но покатолько много накириллил
progress.gif4,4 Мб, 1047x636
16pixel 41 676162
Сделал освещение и факелы. Анон, который это предложил - респект тебе, отличная идея была, да и получилось даже лучше, чем я ожидал. Правда фреймрейт падает чем больше карты отрисовано, так что надо оптимизировать, да.

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

Еще переделал анимацию - сделал отдельную функцию, которая по тику в игровом цикле сменяет кадры каждому энтити. Следовательно, начал потихоньку вкуривать в системы, которые S в ECS. Отслеживание уровня освещения тут же засунул во вторую систему.
.png38 Кб, 552x486
42 676515
>>676162
У тебя как-то странно факелы освещают через стенку?
43 676543
>>676515
Вангую, что это отражённые лучи через дверь. ВАУ, РТХ!!!
44 676547
>>676543
Просто в той комнате тоже могут быть факелы.
progress.gif2,8 Мб, 1046x637
16pixel 45 676683
Просто лучи света проходят сквозь стены и двери. Согласен, так себе решение, но если их останавливать стенами - выглядит это еще хуже.

Может можно накостылить кастинг лучей света только в одну комнату, но комнаты часто генерятся как на пикрил - когда разделение одной стеной - так что хз что с этим делать
46 677421
>>676683

Какие пакеты-фреймворки?
Тоже хочу на питоне рогалик писать, ты меня замотивировал.
47 677426
>>677421
Он же вроде писал, что PyGame.
16pixel 48 677601
Все так, без пакетов и фреймворков, чистый питон + pygame
49 678164
>>677601
Покажи код.
16pixel 50 678332
>>678164
Вообще без проблем, а цель какая? Там такая содомия, что хоть санитаров вызывай мало что понятно, если ты не я.

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

Ссылку на код кину, как с компа зайду и залью в гит какой-нибудь
51 678467
>>678332

>цель какая?


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

>Надо?


Давай.
52 683762
почему тред умер?
неужели рогалики больше никому не интересны?
progress.gif1,7 Мб, 1047x637
16pixel 53 693910
Я немного сгорел.

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

Вчера пришла в голову мысль, что можно просто на каждый тайл натягивать отдельным слоем черный квадрат, делая этот квадрат прозрачным, в зависимости от уровня освещения тайла.
54 693934
>>693910
А в чём проблема? в производительности или в том что ты не можешь нормально алгоритм придумати?
55 694171
>>693910

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



Это же почти как лайтмапа
progress.gif2,7 Мб, 1046x637
16pixel 56 694446
>>693934
Наверное и то и другое.

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

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

>>694171
Похоже, что все хорошее уже придумано)
57 694497
>>694446

>Фпс просаживался


Так а хули ты хотел-то, тебе сколько раз говорили что питон ОЧЕНЬ БЛЯДЬ медленный, потому что вообще не сделан для производительных приложений совершенно. У него дичайший оверхед во всём. А любая игра, даже такая простая с виду может требовать некоторых ресурсов. Я советую тебе поискать готовую либоу для работы с 2д графикой на каком нибудь С++ или иже с ними, которую можно будет заюзать в питоне, хоть какая-то отдушина.
58 694509
>>694497

>оверхед


Двачую. Лучше брать какой-нибудь шарп для этих целей, ибо даже по сравнению с питоном он более мощный.
progress.gif1,3 Мб, 1046x637
16pixel 59 694739
Конечно более мощный.

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

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

Алсо, я сделал газы.
60 694836
>>694509
Хуйню несёшь, томозной питон менять на тормозную сирешётку - это шило на мыло.
61 694844
>>694836
Дефрагментатор стека, ты? Узнал тебя по твоим шизоидным высерам.
Тебя недостаточно обоссали в движкосраче?
Шарп от плюсов по перфомансу незначительно отличается.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharpcore-gpp.html
62 694890
>>694844
Нет.
Честно говоря, удивлён, что мочератор ещё не забанил меня за критику сирешётки.
progress.gif1,6 Мб, 1046x637
16pixel 63 696703
Бамп. Относительно продуктивная выдалась неделька.

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

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

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

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

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

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

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


Надо уже финализироваться как-то.
64 696707
>>696703

>Почему рендеринг стал быстрее: чанк это отдельный класс, которому я приделал атрибуты


Вот это ты маладца. хорошо зделал. Алогритмы оптимзиации нужно понимать туда сюда. Понимать когда где и что можно оптимизировать тама. Допустим я сейчас пилирую мод на кубаче, там система труб есть. по сути в каждом сегменте трубы есть количество какой-то жидкости или предметы. постоянно перемещать это говно, особенно если труб очень много смысла вообще не имеется, поэтому я придумал вот такую хуйню -> Для оптимизации любые коммуникации будут трансформироваться в snakeChunks. У каждого snakeChunks есть длина и скорость прохождения единиц. Если участки пути различаются по скорости, например разные конвйеры, они собираются в разные снейки. Пока snaked инфраструктура загружена в игру, существующие предметы имеют в ней параметр пройденного пути. Он позволяет рендерить внешнее изменение снейка. В случае если снейк был изменён, все предметы внутри него пересчитывают свое местоположения на кусках снейка для того чтобы дропнуться с него если сегмент отсутствует или переместиться в новый снейк, созданный из предыдущего.

Тоесть надо научиться видеть в общем сам процесс работы алгоритма, чтобы находить моменты которые можно аппроксимизировать, упростить с минимальными потерями внешего качества или вообще без, ну и конечно же наблюдать за теми участками которые выполняют лишнюю для текущего масштаба работу.
Позде можно попробовать соединить эти снейки с machines (любыми блоками которые что то делают и существуют в системе по отдельности), и создавать по ним своего рода карты прогноизруемых вычислений, чтобы только по количеству пройденых при выгрузке из чанка тиков можно было одним махом исполнить всю работу. Сим образом допустим фабрики по производству какой-то хуйни будут "работать" и в выгруженых чанках. Хотя сам процесс создания карт вычислений это опиздейшняя залупа крайне сложная в исполнении. Но я верю что смогу этот момент разрулить.
progress.gif2,2 Мб, 1047x637
65 696809
>>696707
Неожиданно для себя, понял вообще все, что ты написал. Согласен полностью.

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

Потом отпишу как сделал, а то чето устал
66 696920
>>696809
Так а эволюционруешь хули!
нудзфл76 67 697009
ytltk. неделю курю пайгейм - ждите
15870364653500.png91 Кб, 250x250
68 697069
>>697009
Смотри насмерть не накурись долбоёб
16pixel 69 697225
Апдейт для упоротых использующих pygame - существует pygame 2.
https://github.com/pygame/pygame/releases

ставить через pip install pygame==2.0.0.dev10
progress.gif1,3 Мб, 1286x637
16pixel 70 697950
Сделал статусы (отравлен, горишь, оглушен и т. д.).

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

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

Попозже еще напишу.
71 697991
>>697950
Ну делаешь и то хорошо
72 698041
>>697950

>самовоспламенение и опаление


туши пукан пока не поздно
74 698240
>>698196
И шо это такое с вашего позволеня
75 698345
>>694446

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


Погоди - в питоне нельзя менять графику на лету? Серьёзно? Даже в гамаке этот вопрос решался одним из первых. Тайлы там точно могли менять цвет, свет и прочее-прочее. Неужели с буфером графики такие проблемы?
76 698499
>>698345
Да все там можно, если ты не жопорук как я
77 698630
>>698240
yx ya i molodec, nu i vce takoe
ya, tipa, tozhe, kirillu vashy "rogalike"
78 698680
>>698630
Ну тогда маладца, кирилль
79 698833
Уважаемые господа ECS-ники, как вы карту делаете? Если каждый тайл делать entity, это же дичь получается
80 698842
>>698833
Делю карты на фрагменты по NxM тайлов, каждый фрагмент - entity. Потом генерю всю карту рандомно из фрагментов. Это в теории, я пока ещё с перемещением перса разбираюсь
81 698942
>>698833
Делал бы карту статичным мешем (ну или чанками какими), а в тех местах должен срабатывать триггер или заспавниться противник, делал невидимую сущность. К примеру входишь в комнату и должна появиться надпись какая-то. Делается это просто пересечением невидимого прямоугольника и bbox игрока.
image.png3 Кб, 295x288
82 701877
Только недавно открыл для себя мир рогаликов. Вдохновился на свой. Начал выполнять туториал по python 3, но потом переобулся на юнити. Что в питоне, что в сишарпе я нубас, но со вторым я работал хотя бы немного, с юнити тоже, плюс возможности отрисовки выше. Все правильно делаю, посоны?
83 701959
>>701877
Да, конечно.
84 702094
Возник вопрос по генерации уровней/карт
Понятно что сейчас самый популярный способ даже не в васянских играх, а в $60 васянском говне это

>генерить комнату


>генерить нное колличество коридоров из нее


>генерить комнаты в конце коридора(или иногда один тупик если хочешь выделиться)


>повторить шаг два пока не закончится "н"


Метод простой, верный и рабочий, даже в сеговской fatal labyrinth использовали

Но вопрос в том, а есть ли рабочие методологии, или игры, где сначала генериться большая комната, и в ней уже генерятся стены и прочая мишура для коридоров и прочей радочти? Интересует из-за того что таким способом можно наверное получить не совсем квадратные/прямоугольные комнаты
Есть игры где использовалось что-то подобное чтобы посмотреть как делалось?
85 702321
>>702094
Вообще не знаю наскольоко это подходит, но на.
https://m.habr.com/ru/company/mailru/blog/497590/
86 702357
А я пока только тайлы стены и пола нарисовал, несколько раз пересмотрел видеотутор по рогалику на юнити, чтобы когда начну его выполнять не тупо строчки копировать а хоть одуплять что и почему делаю. Завтра начну, может даже немного модифицирую под себя алгоритм генерации мапы. Чтобы не забить обещаю анонам скрин результата выложить.
image.png163 Кб, 1440x900
87 702494
>>702357

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

Хотфикс. Размуровали, демоны!
89 702551
>>702494
>>702495

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

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

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

Идея как сделать совсем случайное подземелье у меня уже есть, реализуется небольшим переписыванием текущего кода. Но сначала я хотел бы научиться реализовывать другие базовые вещи. Когда у меня будет два случайных этажа подземелья, между которыми будет перемещаться персонаж с инвентарем и статами, имеющий ограниченную видимость и способный драться с мобами тогда и начну развиваться. Идей то у меня куча.
Clipboard02.png147x138
91 702572
Сегодня без кода, только скелет на будущее.
92 702574
>>702553
Чем меньше ты превозмогаешь, тем более мутроным процесс будет и быстрее ты дропнешь без видимого результата. делай как знаешь кароче, похуй.
93 702575
>>702574

Окей, в твоих словах есть смысл. Попробую сделать более интересную генерацию, как сделаю - выложу результат.
94 702576
>>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/
95 702579
>>702553
Да не слушай никого, делай как хочешь. Или слушай и делай как хочешь. Главное делай, а то пиздоболов развелось, на анонимных имиджбордах пишут а рогалики - нет
96 702580
>>702579
просто занят модом на кубоч, потому и не пилю
97 702586
>>702579

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

Но перед этим всем я все таки хочу побегать персонажем по уже имеющемуся.
98 702601
>>702551

>придумай что-то реально новое


Самое дебильное что ты только мог сказать
Зачем изобретать велосипед? Если в итоге выйдет в разы хуже чем от проверенных дедовских методов?
99 702602
>>702601
Ебать, долбоёб ты сука за что нахуй, у меня слёзы от тебя на глазах выступили. С таким подходом иди нахуй шестой клон ADOM делать, всё сука, весь игрострой засрали однотипным говном бездари ебаные нахуй. Так мало того что вы срёте сука, вы в своём говне посредственном топите реально интересные идеи, про которые не могут узнать люди, потому что блять тонут в говне блять посредственности блять.

Не разговаривай со мной больше пожалуйста.
100 702603
Надеюсь теперь Анон скажет "маладца".
101 702604
>>702603
ну маладца конечно, хоть что-то делаешь, но умоляю тебя, не останавливайся на таких тривиальных способах. Всегда есть более интересное, и лучшее решение. В тред кстати информации достаточно я выложил
102 702605
>>702604

У меня по плану сегодня было ходить начать, а из за тебя, демон, я вышел за свои пределы полного нуля в геймдеве и кодинге и перепилил генератор данжа спасибо за мотивирующий пинок, анонче. Что то менее тривиальное буду пробовать позже, сейчас нужно базовый функционал научиться делать.
image.png258 Кб, 512x288
103 702606
>>702605
ГЛАВА ДОЛБОЁБОВ, ИЗВЕСТНОЙ БАНДЫ ИМИДЖБОРДЫ ДВОЩ! СИМВОЛ БИТАРДСКОГО НАЧАЛА! ДЕМОН СОРСЦОВОГО МИРА И ОКРЕСТНОСТЕЙ! ИЛИ ПРОСТО АНОНЧИК, СОБСТВЕННОЙ ПЕРСОНОЙ!
104 702609
>>702602
Таблетки прими
На интересные идеи всем похуй если ты не можешь их по человечески реализовать, поскольку лично у тебя все твои "интересные идеи" заканчивались не играбальным говном, а вот у чэдов вроде меня всегда получались годные игры которые нравятся людям, поскольку знаем как делать
105 702626
>>671018 (OP)
Тут конечно шизик завёлся, но вообще он правильно сказал - чем необычнее задумка, тем круче костыли, и тем больше универсальной экспы. Я вот неожиданно для себя начал делать мод про необычную (японскую) армию для одной игори, и за год от нуля в тридэ играх дошёл до того, что начал импортировать простенькие модельки военной техники, которую сам слепил на коленке.
Хотя против рогаликов ничего не имею - спеланки и айзек жутко доставили - но нужно признать что без интересных и необычных идей он нахуй не нужен.
24 года-с нyльчика-кун
106 702627
>>702626
Почему я шизик? Может просто шибко эмоционально выражаюсь.
107 702628
>>702626
Прежде чем делать необычные задумки надо знать как делают взрослые дяди. А уже потом добовлять что-то свое
Это как кино, сначала нормальные режисеры хуярили рекламу и говно по шаблону, а уже потом ивил дедов
А арт хаусники которые хотели выебнуться и снять не так как все, как правило снимают говно которое никому не нужно. И в итоге ничего стоящего так и не снимают
108 702629
>>702626

>24 года-с нyльчика-кун


А это правда, что фокусник с ньюсача - это ты?
109 702632
>>702628
99% "нормальных" нихуя не сняли толкового. От жанра мало зависит. Линч и Джексон снимали артхаус и не померли.
>>702629
Понятия не имею, о чём ты. На ньюсаче вообще не сижу, там ольгинцы и крымодебилы спамят хуйнёй про украину.
110 702633
>>702632

>Линч снимали артхаус и не померли.


Ну да, во время учебы он нихуя не узнал о том как снимать фильмы, и сразу начал с артхауса
То что игнорируешь то что его первые короткометражки на артхаус никак не тянули комментировать даже не стоит
>>702632

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


Еще и хохлина, ясно почему такой долбанутый и орешь что похуй на готовые методики наджо эксперимниторавть, у вас вся страна такая ебанутая
111 702634
>>702633

>готовые методики наджо эксперимниторавть


Ты с кем общаешься? это вообще другой человек.
Проснись, ты в психотронной тюрьме серишь.
112 702637
Я уже всех заколебал наверное, но еще немного пошлифовал свой алгоритм чтобы получше выглядели результаты.
Анон, топящий за нестандарт: я тебя понимаю и согласен с тобой. Но для меня надеюсь пока что это и есть нестандарт и выход за пределы, потому что я вообще в туторах не встречал такого подхода к генерации, обычно все наоборот, делаются комнаты, а потом вырезаются проходы. То, что я слепил может криво-косо, но мое, ни у кого не подсмотренное и это вдохновляет.
113 702640
>>702634
Если ты другой человек, нахуй ты в разговор влез? Я нульчика спрашивал. "Фокусник" это шизик который фото своего хуя постоянно постит, есть мнение, что это нульчик.
114 702641
>>702637

> обычно все наоборот, делаются комнаты, а потом вырезаются проходы


Может блядь из-за того что это самый лучший способ который только можно придумать?
Делаешь комнату, потом из неё рандомное число коридоров(не больше чем остаточное число комнат которые ты хочешь еще добавить) в рандомных местах. Если совсем не хочешь паритсья то не больше коридора на сторону комнаты, так даже не надо страховатсья чтобы комнаты не пересекались
115 702643
>>702637
Данжоны не оче реалистичные. Такие кишки-коридоры в бункерах есть, но не в данжонах. Тебе нужно сделать одну большую комнату, которую пересекают вертикальные и горизонтальные стены, в которых случайно сделаны прорези - двери. Ну или сделать один большую квадратную-комнату, в котором внутри случайно будет вырезаться квадрат поменьше
116 702644
>>702637
Пожалуйста, если хочешь чтобы твоя игра работала, не слушай его >>702643
Всё у тебя нормально для рогалика
Я сам спрашивал что-то подобное поскольку тема интересная>>702094
Но то что тебе написал анон полная хуйня и ничего годного из этого не выйдет
Clipboard03.png22 Кб, 666x664
117 702958
Тот-самый ньюфаг репортинг ин.
Теперь персонаж умеет двигаться и биться в стенки, а еще к нему привязалась камера, ура. Правда, мой метод проверки на возможность пройти не подразумевает что нельзя ходить там, где ничего нет, ведь вселенная не любит пустоты. Поэтому немного перепилю генератор данжа. Будет огромная комната Х на Y тайлов, в которой будут выбираться рандомные точки как корни областей. Для каждого корня будет рандомно выбираться какой тип области вокруг нее вырастет: для начала думаю это будут просто прямоугольные комнаты огражденные стенами со случайным количеством входов или залы, просто пустые пространства. Потом в список областей на выбор можно будет добавить пропасти, озера, грибные поля, библиотеки и прочее, с разной вероятностью возникновения. А пока вот скриншотец, чтобы пост не был без картинки.
118 703087
>>702958

>Будет огромная комната Х на Y тайлов, в которой будут выбираться рандомные точки как корни областей.


Нормас. Всё лучше чем кубы соединённые длинными корридорами.
119 704132
Маленькая, но победа. Реализовал свой алгоритм, пока генерируются только комнаты, но потом пропишу функции для других видов областей, конфигурация кода позволяет легко это сделать и даже регулировать вероятность возникновения области (пока что для простой комнаты стоит 100% вероятность появления). Камера следует за игроком, игрок не проходит сквозь стены, вроде бы все работает корректно.

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

P.S. Дико вдохновился визуальным стилем Infra Arcana, думаю переезжать на однобитовую графику. Намалевал на досуге спрайтец, пикрил 3.
120 704344
Я посидел на работе, подумал, и понял, что старый алгоритм хуйня, кубы в кубе. И написал сначала в блокноте ручкой, а потом дома в монодевелопе новый. Все, обещаю на этом остановиться с задрачиванием генератора данжа и начать работать над боевкой.
121 704346
>>704344

>Я посидел на работе, подумал, и понял, что старый алгоритм хуйня, кубы в кубе.


тебе это с самого начала говорили
Вот новый да, так и надо. Все так делают по хорошей причине
122 704347
>>704346

В самом начале я бы такой алгоритм не написал, пришлось много почитать/посмотреть.
123 704429
>>704344
ну весьма НЭПЛОХА.
124 704434
>>672474
Забавно, энтерпрайзерский разраб сразу бы вынес в отдельный класс.
А на чем пишешь?
125 705913
>>704344
Аноны, а что, никто разве не слышал про wave function collapse. С помощью этой штуки можно же что угодно сгенерировать.
126 705918
>>705916
Да, у этого алгоритма есть недостатки, но они фиксятся. Можно ещё клеточные автоматы попробовать, там вообще никаких проблем нет.
127 705979
>>705921
Точно! Все алгоритмы, оказывается, говнище и не работают.
128 706052
>>705913

Я запилил свой алгоритм на основе drunkard's walk, результат меня устраивает. Клеточные автоматы создают пещеры, а мне нужен был данж.
129 706078
>>706052
Разве drunkard's walk не создаёт пещеры?
FOV.gif1,5 Мб, 800x600
130 706080
Кодил на этой неделе один день. Остальное время с блокнотом и ручкой изучал всех этих Брезенхемов, алгоритмы FOV, кэширование и инкапсуляцию в юнити и т.п. Но FOV таки запилил.
131 706086
>>706078

Может и пещеры. А может коридоры, в ключевых точках которых я ставлю комнаты.
progress.gif1,1 Мб, 884x631
132 706585
Бамп треду, привет вкатившимся.

Я наконец разобрался с плавной отрисовкой кадров в pygame, такая-то красота теперь. Вот не шучу, 4 недели ебался
133 706586
>>706585
Прикольно, будет 1я игра на питоне и при этом не ВН-ка!
134 706592
>>706585
Надеюсь добавишь скин тяночки на гг.
135 706958
Есть годные туториалы для юнити по рогулькам?
136 707008
>>706958

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

Геймдев это творчество, в творчестве ничего не "принято". На юнити уже достаточно годных рогаликов, можешь на том же рогбазине чекнуть.
138 707045
>>707040
Demon, Ganymede Gate, Axu, Rogue Empire, Emergence, Ruins of Marr
139 707047
>>707032
кстати да поддержу, в юнити и грид давно встроили и слои для фова
Охуенная вещь же для рогаликов
140 707056
>>707054
Когда ты играешь в игру, тебе все равно, какие инструменты использовались, все, что тебя волнует это интересно играть или нет. Настоящий извращенец тот, кто сознательно ограничивает себя в выборе инструментов. Я пикнул юнити потому, что заведомо лишаю себя всех проблем, связанных с визуализацией, а все что касается реализации алгоритмов было бы мне одинаково сложно вне зависимости от того, какой язык или движок я бы выбрал.
141 707073
>>707059
Окей, закончим. Но мне было бы интересно почему тебе не все равно на чем написана игра.
142 707087
>>707040
Топовый рогалик на юнити - caves of qud, каждому любителю рогаликов советую ознакомиться, кто еще не играл, годный сеттинг, лор и по фичам довольно необычно.
Римворлд на юнити, не совсем рогалик, но как и df, обычно считается околорогаликовой темой.
А вскудахты "ряя принято свои движки писать" - это просто снобизм от того, что в голове насрано желанием ощущать превосходство над кем-то за счет того, что твои инструменты круче и илитнее.
Но на самом деле, важен только конечный результат, хорошую игру можно практически на чем угодно сделать.
143 707095
>>706958

>юнити


Иди нахуй.

>>707056

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


Неправда.

>>707087

>caves of qud


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

>хорошую игру можно практически на чем угодно сделать


Еще один аргумент в пользу того, что юнитиговно ненужно.
144 707098
>>707095

Ебать ты сноб. Много игр написал уже?
145 707152
progress.gif2,9 Мб, 885x630
16pixel 146 707187
Развели срач. Рогалики где?

На правах бампа - на гифке мои успехи работы с A*-search.
147 707202
>>707187

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

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

Да я уже сохранил себе несколько ссылок, которые мне наиболее понятны были. На следующей неделе буду разбираться. Но твое гляну, спасибо.
Надо бы в качестве отвлечения подумать об итоговом концепте игры. Может диздок запилить.
150 707293
https://www.youtube.com/watch?v=WO4mfCaCmzQ
Всем создателям рогулек советую ознакомится
Хорошо разложил как делать годные и приятные
151 707298
>>707293

Судя по гифкам/скринам тут всего двое рогалики делают.
152 707329
>>707293
видео не про рогалики
cogmind вотт збс сделали, блог kyzrati хороший ресурс
153 707935
>>707293
- видео не имеет никакого отношения к рогаликам, не упомянут ни один рогалик
- видео не имеет никакого отношения к итт разделу
- уноси свою хуиту на /vg

>>707329
Двачую. Надо кстати добавить его в подписки.
pathfind.gif132 Кб, 800x600
154 710597
На самом деле сам алгоритм поиска пути я реализовал две недели назад. Но у меня некорректно работала функция определения свободной клетки для него, что я пофиксил только сегодня.
155 710622
Бамб
156 710629
>>710597
Молодец ваще)

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

Основной код в файле playtesting.py.
progress.gif1,1 Мб, 849x693
16pixel 157 711286
Бамп лучшему тредику на двоще.
Играюсь с анимациями и генерацией ландшафта по шуму Перлина.

>>710629 это я, кому была интересна реализация камеры, pathfindingа, анимации - это всё там.
158 711385
Спасибо, почитал ваш тред и понял что писать свой движок не стоит а лучше пойти и юзать чужие костыли, пусть и с огромным просером по ФПС.
159 711387

>а лучше пойти и юзать чужие костыли, пусть и с огромным просером по ФПС.


А еще лучше юзать чужие костыли, но разобравшись фиксить там возникшие траблы. Профит в виде экономии времени.
160 711533
>>711385
ФПС в рогалике же так важен.
16pixel 161 711716
Ебусь с освещением. Все как я люблю.
Кажется нащупал норм вариант, чтобы без рывков и не охреневать от проседания ФПС. Что скажете?
.gif37 Кб, 449x445
162 711723
>>711716
3 вариант хорош. Может быть стоит сделать туман войны как в варике?
Игроку будет понятно где он ещё не побывал
163 711785
>>711533
Я хуй знает, но если современный движок на современном железе не выдает 60 фпс исключая всякие там ретрейсинги и 4 кто это очень хуевый движок.
164 711797
>>711785
Любой популярный движок выдаст тебе стабильные 60 фпс на игре уровня 2д рогалика.
165 711811
>>711797

>Годотя

166 711953
>>711811
Движкосрачя, ты тредом ошиблась. Пропукивайся обратно в свой загон одебилевших пуконюхов, пока цела.
167 712016
Я застрял на размышлениях о том, как реализовать то, что называется schedule или timesystem, одним словом пошаговость. Когда я реализовывал генерацию данжа, FOV, pathfinding то просто разбирался с алгоритмами с roguebasin'а и имплиментировал их в юнити. А тут прям что то много вариантов разной степени понятности.
При том что еще нужно разобраться с такой штукой как полиморфизм, чтобы все существа обладали одинаковым набором свойств и одинаково взаимодействовали со всем вокруг. Плюс нужен скрипт, управляющий мобами, причем определяющий что моб может: стрелять, колдовать, бить в ближнем бою, что из этого сейчас делать лучше. И все это нужно вводить примерно одновременно. Комплексная задачка в общем.
turns.png2 Кб, 169x142
16pixel 168 712048
Могу рассказать, как я делал.
Для нормального понимания, лучше наверное представить, что ты не мышью ходишь, а с клавиатуры. Ну типа кнопку нажал - ход сделал.

Итак, шаг первый: мобы и игрок унаследованы от одного класса и имеют метод 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()
turns.png2 Кб, 169x142
16pixel 168 712048
Могу рассказать, как я делал.
Для нормального понимания, лучше наверное представить, что ты не мышью ходишь, а с клавиатуры. Ну типа кнопку нажал - ход сделал.

Итак, шаг первый: мобы и игрок унаследованы от одного класса и имеют метод 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()
169 712056
>>712048

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

> как реализовать то, что называется schedule или timesystem, одним словом пошаговость


В начале партии составляешь список игроков и раздаёшь номера участвующим в партии сущностям. Пошаговая система переключает по порядку (согласно правилам) переключает одну из записей в режим "current". Все игровые сущности, участвующие в партии могут становиться на паузу и могут получать current и сравнивать со своим уникальным номером. И собственно всё. Вот тебе и шедулинг.

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


Значит, смотри. В играх гораздо удобнее композиция, а не наследование. Через композицию полиморфизм выходит на новый уровень, недостижимый наследованию. Суть токова: У тебя есть простые классы с одним уровнем наследования. Больше уровней нет. Их класс-родитель даёт им только один функционал: хранить в себе список компонентов и обрабатывать их по списку (в простейшем случае) каждый фрейм. У компонентов тот же самый общий предок. То есть, сущности сами могут быть компонентами, состоять в списке компонентов у другой сущности, но при этом сами могут иметь список компонентов.
171 712108
>>712106
Не дописал:
У компонентов уже может быть сколь угодно сложная иерархия наследования, но всегда их функционал опирается на дерево компонентов:
1) можно работать с парентом, искать у него в компонентах требуемый тип и выкидывать исключение, если не найден.
2) можно работать с потомками, искать у себя в компонентах требуемый тип и выкидывать исключение, если не найден.
3) можно работать со своими колбэками, реализующими нужный функционал.
lights4.gif2,1 Мб, 915x727
16pixel 172 712367
Теперь оптимизировать это добро.
16pixel 173 712711
Такс, ну короче, мои успехи:
Пофиксил артефакты при освещении - мне кажется, на этом варианте остановлюсь. Нраица.
Переделал игровой цикл в формат "сначала все ходят - потом проигрываются анимации - потом по новой".
Этот подход вносит коррективы в FPS - см. гифы - но в целом норм. 100 спрайтов на карте 100х100 тайлов норм отрабатывают, и ладно.
Сделал проигрываемые анимации. Бросок - на гифках.
От нечего делать, сделал персу рандомно генерируемую прическу, а то чего он лысый бегает.
174 712755
>>712711
Крутой, крутой.Уже год почти слежу за твоими поделками.Жаль, что я слишком ленивый, чтобы сделать свой рыгалик.
16pixel 175 712956
>>712755
А я уже год игру никак не сделаю. Нет игры! Есть какой-то дроч на тему "это хочу сделать, то хочу сделать".

Хотя может в этом суть разработки рогаликов, кто знает
176 713068
>>712956
Начни с малого. Придумай систему спелов, бафов, дебафов.
177 713847
Что на счёт сетевых рогаликов?
178 713946
>>713847
io игры - это они и есть (только казуальные)
179 713954
>>713907
Ну а как тогда работают другие пошаговые игры? Те же герои, к примеру.
180 713956
>>713954
В них ходы долгие, при этом очередность ходов строго определена. В рогаликах же как правило ходы очень короткие, и логически действия всеми акторами выполняются одновременно.

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

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

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

Типа там очки действий восстанавливаются через фиксированные промежутки времени, но тратить их можно как угодно быстро? Или в чем суть, как относится к теме обсуждения?
183 714897
>>713847
Как в играх 2000 годов. У каждого есть показатель скорости, который влияет на частоту ходов и очередность. На ход даётся 2 минуты . Поочередность только в боях, вне боя риалтайм.
184 716225
>>713845
Поясни зачем ты пишешь на ECS архитектуре? Типо потому что это модно ?
185 716501
>>716435
К рогаликам екс не очень подходит
186 716525
>>716502
https://youtu.be/JxI3Eu5DPwE
Твое дел конечно, но глянь вот это видео
187 716530
>>716501
Ты о чем вообще? Все топовые рогалики на ecs работают, от cataclysm dda до caves of qud.
188 716605
>>716501
>>716525
Съеби с треда в движкосрач-тред, или где там все школьники сидят.
189 716630
>>716605
Причем тут движки даун. Это архитектура кода. паттерны программирования
190 716650
>>716630
Школьник, что тебе неясно? Брысь.
191 716652
>>716651
Видос уже вкидывали, а началось все с поста "а зачем, тИпА ПаТаМуШта эТа мОдНа?". Можете оба съебать в движкосрач (или любой аналогичный школотред), если тебе тоже нравятся неаргументированные и не несущие никакой познавательной ценности выпады в сторону других анонов.
192 716653
>>716652
аноны обсуждают архитектуру рогаликов, а ты третий пост корчишь из себя модеоатора. иди нахуй лучше из этого треда
193 716655
>>716653

>аноны обсуждают архитектуру рогаликов


Где?

>иди нахуй лучше из этого треда


Нет ты.
194 716665
>>716660
"К рогаликам екс не очень подходит" и "Типо потому что это модно ?" - не несет, я решил. Можешь прекратить обсуждать меня и начать обсуждать рогалики.
195 716674
>>716666
Сочувствую.

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

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

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

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

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

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

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

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

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

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

Через 5 лет от начала учёные начали поставлять продукты в замена на работую силу так как добыра руды в глубе острова невозможна со стороны других людей кроме как их обитателей, так как у них существует имунитет в этому. Они обучили их элементарным словам из рууского обихода для того что бы иметь возможность с ними контактировать. Ученые не могли понять почему при пробах добыть местные руди рабочие умирали по непонятным обстоятельствам и решили заручиться помошью местного населения.Но после 30-ти лет не особо успешных опытов глава понял что население деревни очень медленно стареет и ето подвигло его на попытки изучения генома этих людей и сути их долголетия, его перемнкуло он понял что 30 лет изучения растений были безсмысслены когда была возможноть открыть секрет долголентия а может и безсмертия. Он начал много времени проводить с одним из жителей (45лет) что бы понять в чём заключаеться секрет, плавно обучая его большему словарному запасу (это наш 170-ти летний дед Ратибор), Олег начал присыплять бдительность психотропами, но Ратибор начал что-то подозревать и когда понял что в еду начали что-то подмешивать и люди стали ходить как безсознанные тела решил перестать общаться с Олегом, нчав выстраивать теории заговора по поводу всех этих учёных и поехал кукухой."
God me 196 717387
Привет ребята, решили мы с другом как-то сделать игру, знания в программировании имелись и мы незамедлительно приступили к исполнению нашей идеи. сперва решили начать с сюжета, так сказать основы всего мировоздания, скажем так сюжет а точнее идею что это будет и где происходить у нас удалось создать, но вчитываясь мы находили все больше и больше необъяснимых деталей которым нужно было это объяснение соответственно. Ладно ближе к сути, помогите развить сюжет что бы как хотелось бы в идеале небыло ничего что нельзя объяснить. Далее я приложу наш набросок. "???

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

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

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

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

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

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

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

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

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

Через 5 лет от начала учёные начали поставлять продукты в замена на работую силу так как добыра руды в глубе острова невозможна со стороны других людей кроме как их обитателей, так как у них существует имунитет в этому. Они обучили их элементарным словам из рууского обихода для того что бы иметь возможность с ними контактировать. Ученые не могли понять почему при пробах добыть местные руди рабочие умирали по непонятным обстоятельствам и решили заручиться помошью местного населения.Но после 30-ти лет не особо успешных опытов глава понял что население деревни очень медленно стареет и ето подвигло его на попытки изучения генома этих людей и сути их долголетия, его перемнкуло он понял что 30 лет изучения растений были безсмысслены когда была возможноть открыть секрет долголентия а может и безсмертия. Он начал много времени проводить с одним из жителей (45лет) что бы понять в чём заключаеться секрет, плавно обучая его большему словарному запасу (это наш 170-ти летний дед Ратибор), Олег начал присыплять бдительность психотропами, но Ратибор начал что-то подозревать и когда понял что в еду начали что-то подмешивать и люди стали ходить как безсознанные тела решил перестать общаться с Олегом, нчав выстраивать теории заговора по поводу всех этих учёных и поехал кукухой."
197 717709
>>717387

>знания в программировании имелись


Судя по тексту, тебе не больше 12 лет. Иметь какие-то познания в программировании уже в таком возрасте очень похвально! Удачи в твоих начинаниях.
198 718049
>>717719
О комплексе! Не видишь штоле?
199 718050
>>717719
>>717709
Это какой-то ньюфаг серит пастами с геймдевелоперских форумов во все треды, хотя у нас для сранья кириллопастами есть специальный тред (который, увы, кроме меня никто не ценит). >>605406 (OP)
VXsjGC3TJs.jpg8 Кб, 294x107
200 719550
>>671018 (OP)
Так, ну вот почитал я инфу по этой ссылке https://habr.com/ru/post/354826/ и... Что дальше то? Тут описываются разные алгоритмы, но нет никаких примеров работы с ними. То есть нет кода. Вот допустим хочу сделать пещеры на Drunkard's Walk. А код где? Как писать? С чего вообще начинать то блеать?
201 719573
>>719550
Как ты вообще до сегодняшнего дня дожил игру делать собираешься, если не смог на "(источник)" нажать?
https://forums.roguetemple.com/index.php?PHPSESSID=g8n6pacb5kfrtf13o0hr07o552&topic=4128.msg37233#msg37233
Потом, ты что хочешь? Игру сам написать или скопипастить готовый код? Если сам - так пиши сам, принципы ты понял.
202 719574
>>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-символами...
16059745702320.png301 Кб, 819x827
203 720661
>>719573
>>719574
Спасибо!
preprototype.mp4352 Кб, mp4,
1920x1080, 0:22
204 721634
После Нового Года тоже начал кириллить рогалик. Пилю на python с libtcod и esper для ECS.

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

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

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

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

В геймдеве полный ноль
206 721716
>>721634
Прикольно. Только бы графон интерфейс запилить, чтобы отображать части тел, статы и т.д.
>>721661
А че не под мобилки? Вполне подошло бы
207 721884
>>721716

> А че не под мобилки?



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

Алсо сделать по мобилку было бы круто, но я не понимаю какое сделать управление, чтобы это не выносило мозг. Типа «джойпад» слева? Или стрелки? Мало играю на мобильнике большие пальцы
208 721978
>>721884
Если персонаж у тебя двигается по двум осям, то стрелок достаточно, а если еще и по диагоналям ходит, то пили джойпад, имхо
image45 Кб, 600x578
209 722101
>>721634

>получать от них пизды


А на видео получаешь пенисы...
210 722103
>>721884
Pixel dungeon посмотри. Просто без задней мысли кликаешь по целевой клетке и все.
211 726093
Загорелся идеей сделать рогалик бота для телеги. Кто-нибудь играл в подобные?
212 726131
>>726093
Это будет не рогалик, а текстовая адвенчура\рпг.
213 726909
>>726131
Разве рогалик не может быть текстовой игрой?
Для рогалика ведь главное:
- подземелья, монстры, лут;
- все помещения, объекты и мобы случайно генерируются;
- смерть игрока уничтожает мир, заново играть в новом мире.
А будет ли это реализовано ASCII-/2D-/3D-графикой или текстом - имхо, не важно.
214 727019
>>726909

>Разве рогалик не может быть текстовой игрой?


Зависит от определения.
215 727040
>>726909
Оригинальный rogue вдохновлялся тогда текстовыми адвенчурами, но по причине сложной генерации осмысленного текста стал безтекстовым
216 727186
Как лучше реализовать такую штуку как донжонкравлин от первого лица (как это было в первой ультиме, мече и магии и гримроке)?

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

Как это адекватней всего интерпретировать в игре? Я честно не очень представляю как отрисовывать сгенерированную карту в 3д...
217 727369
И сюда закину, чо уж

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

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

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

Мне кажется, что взлетело бы.
Жаль я гуманитарий и время посвящаю философской и художественной хуите.
Но мб на кого-то повлияет. Тогда обязательно зовите посмотреть и дать ненужных советов. Я больше по механикам настолок, тем не менее.
218 727395
>>727369
В дф в общем-то все это есть. Алсо, с механиками настолок у тебя все тоже хуево, потому как видно по твоему тексту, что игровые механики описывать не умеешь (для этого нужно как раз математическое мышление, мимо капитан очевидность).
220 727411
>>727369
В графон и анимацию могешь?
221 727419
>>727395
Я механики даже не пытался здесь какие-то собачить. Просто сказал в какую бы игру хотел поиграть.
222 727420
>>727411
Нет.
223 727499
>>727419
Ну прост обычно гейдизайнеры, особенно которые занимаются настолками, видят игры через свою профедеформационную призму, поэтому их описания (допустим для презентации идеи кодерам\пмам) имеют немного другую структуру и форму+содержание изложения, что ли, более отличную от "суть токова...". Ну и это, ты как бы игровые механики в посте таки описывал.

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

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

А что у меня стиль письма ебанутый, так я знаю. И пофиксить моментально сложно.
Тем не менее, сталкивался я с идеями и темами для игр у местных - лютая тривиальщина.
225 727544
>>727505

>Мой кириллопост вообще без механик, если с точки зрения настольщика


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

>Тем не менее, сталкивался я с идеями и темами для игр у местных - лютая тривиальщина.


Ну да, а "дф и шоб как в аиданже и левелы шарить как в кипер-рл и чтоб чоловик-павук был" - это другое дело. :3

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

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

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

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

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

Да и идея о мультиплеерном данжн кипере не основная.
228 728080
>>727651

>А если правда хочешь что-то спиздить, лол, дай контакты, буду хоть следить.


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

>Может потом смогу нормально объяснить.


Да тут и пиши, правда лучше отдельный тред создать имхо.
229 728443
>>728080
Я и этого не сумею. Ну, кому-то впарить.
230 728918
>>727369

>Простейшая графика. Тайлы, мб типа как пешки


Это, а что если совсем без графики? Смысл в графике, если она всё равно примитивная? От тайла 32х32 пользы гораздо меньше, чем от описания "здесь лежит древняя броня воина, на ней видны вмятины, один фрагмент отсутствует". Конечно, есть малый процент людей с афантазией, которые не смогут мысленно представить себе описанную сцену, однако людям с афантазией и тайлы 32х32 ничем не помогут, они не смогут представить себе ту же броню по нескольким корявым пикселям.

>Потом всю утварь он может красиво расставить в особняке.


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

>>727544

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


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

>>728443
Смысла впаривать эту идею как есть - нет. Нужно развивать, дорабатывать и упрощать, а пока у тебя только сырая хотелка "хочу набигать на случайные данжи и базарить с ботами". Кстати, я тоже хочу с ботами базарить и всякое разное генерировать, но пока ничего не получается - я депрессивный прокрастинатор.
230 728918
>>727369

>Простейшая графика. Тайлы, мб типа как пешки


Это, а что если совсем без графики? Смысл в графике, если она всё равно примитивная? От тайла 32х32 пользы гораздо меньше, чем от описания "здесь лежит древняя броня воина, на ней видны вмятины, один фрагмент отсутствует". Конечно, есть малый процент людей с афантазией, которые не смогут мысленно представить себе описанную сцену, однако людям с афантазией и тайлы 32х32 ничем не помогут, они не смогут представить себе ту же броню по нескольким корявым пикселям.

>Потом всю утварь он может красиво расставить в особняке.


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

>>727544

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


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

>>728443
Смысла впаривать эту идею как есть - нет. Нужно развивать, дорабатывать и упрощать, а пока у тебя только сырая хотелка "хочу набигать на случайные данжи и базарить с ботами". Кстати, я тоже хочу с ботами базарить и всякое разное генерировать, но пока ничего не получается - я депрессивный прокрастинатор.
231 729138
>>728918

>Есть/была такая ММО, не помню, как называется


Я кстати пока читал твой пост вспомнил, что была и еще одна инди-хуинди на эту тему, с пикселяч-графикой, там надо было строить свой дом - свою крепость и защищать кошачью деву и сына от вторжения выживальщиков (постапок типа). Правда не помню, ммо или нет (вроде ммо). И вроде она популярная была.
88d3cc15673fc80f0c289457ea6fb6a8.png5 Кб, 400x400
232 729176
Есть где-то подробный туториал по алгоритму туннелирования?
Откопал такой сайт http://dungeonmaker.sourceforge.net/DM2_Manual/index.html, но хотелось бы более подробную инфу
map1.png8 Кб, 1000x320
233 729214
>>729176
Норм, рас и карту сгенерил
234 729216
>>729214
Осталось понять, как работает код, чтобы перенести на в свой движок
235 729232
>>729216
Ну там перл, есть сырцы, если у тебя другой язык ищи по нему
236 729247

>Осталось понять, как работает код


Ты рофлишь чтоли, генерируются квадраты, потом рисуются линии рандомной толщины от одного к другому.
237 729252
>>729247
Он наоборот сначала прокладывает туннели
238 746129
>>727369

>Тайлы, мб типа как пешки Римворлда, похер.


Я вот уже видел игр десять, с дизайном практически один в один. Мне вот интересно - никакие комирастодрамы на эту тему не происходили? Ну или хотя бы срача вида - что это всё плагиат.
239 754005
Ньюфаг, не программировал ни разу. Накидайте каких-нибудь годных статеек, где рассказывают как свой рогалик написать.
240 754015
>>754014
спс, читну.
241 755911
Так, начинаю писать первый в жизни рогаль, который будет первой же нормального размера программой. Держу в курсе. Буду писать исключительно в телефоне (если получится) - в сидроиде, джаванайд или кьюпитоне. Никакой графики не будет до последнего(чтобы не распылять силы, потому что если графика и будет, то только собственного изготовления). Хотелось бы портирования на 8-битные платформы, но пока думать об этом явно рано. Уже почти неделю время от времени на досуге разбираю исходники оригинального rogue и moria из 80-х, и только сейчас начинаю что-то понимать. Сам уже довольно давно написал какой-то небольшой задел, но теперь понимаю, что это тупик. А сейчас застопорился на генерации мира, читаю все доступные материалы по теме. На телефоне набирать код очень неудобно, но я сквозь боль продолжаю есть кактус
242 757727
>>755911

>Буду писать исключительно в телефоне



Зачем?
243 759474
>>755911
Так, на данный момент дописано куча всяких фич: появилась нормальная генерация пещеры, можно ходить, можно есть грибы и получать за это хп. Можно даже драться с нпц и умирать. Правда, нпц ничего не делают, пока игрок не подойдет в их "поле зрения", после чего они тупо прут на него, даже если между ними стена. Я прикрутил инвентарь, в который можно собирать грибы и трупы. Ах да, после убийства любого нпц появляется труп.

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

>>757727
Да не могу уже за компьютером сидеть, стараюсь минимизировать время сидения за ним. Короче, причины сугубо личные. К тому же, телефон сам по себе полноценный компьютер - почему бы не задействовать его на полную? Да, клавиатуры не хватает. Возможно, куплю клавиатуру для телефона. В портативности превосходит ноут, особенно для таких безработных нищебродов как я
244 759651
>>759474
Придумал как можно использовать трупы. Теперь рядом с игроком на старте генерируется посадочная капсула, в которую можно таскать трупы врагов и получать с каким-то шансом за это некоторый постоянный бонус к атаке. Пока хз что это значит.
Больше пока никаких идей. Возможно, скоро запилю возможность обозревать окрестности, т.е. получать возможность прочитать название всего того, что лежит на видимых клетках
245 769842
Ананасы, делал ли кто на луа рогалики? Хочется отвлечься от работы и запилить себе что-то вроде рогалика\рпг, но на луа т.к. это будет значительно проще и быстрее.
246 770785
247 771049
>>770803

>Ну как, много сделал рогаликов на луа?


Пускай доделает человек, не отвлекай его.
248 771051
>>769842
Зачем на lua, когда можно на джаваскрипте? В браузере бы работало.
249 771101
>>755911
присмотрись к дройдскрипт
я в нем рогалик писал
250 780026
>>678467
Не надо ничего никуда сдвигать. Есть карта тайлов с фиксированными координатами, заданная массивом, например. Есть подвижная камера, центр которой может иметь координаты любого тайла. В зависимости от положения камеры отображаешь соответствующий подмассив на экране. Никакого влияния на алгоритмы взаимодействия с картой (поиск пути итд) нет, так как функция отрисовки куска карты никак не влияет на координаты самой карты.
251 784897
>>783902
Именно поэтому я подключил физическую клаву через отг, лол. А если более серьезно, я сейчас пишу и на компе, и на телефоне

С рогаликом в классическом варианте все застопорилось. Стало ясно с одной стороны, что движок расширять и дописывать-переписывать я могу вечно без всякого толка. С другой стороны, чего-то моей недоделке очень сильно не хватает. Геймплей куцый, потому что ничего нет или сделано крайне примитивно, но не в этом даже дело. Нет идей насчет того как объяснить происходящее. Просто брать классические варианты неинтересно, а кроме бессвязных шизофреничных идей ничего в голову не приходит. Так что я пока начал пилить совершенно другую асции-игру на более скайфайную и космическую тему, а с этим рогаликом пока нужно повременить - просто на досуге тщательно продумать концепции, а не прикручивать все подряд не зная зачем
252 786726
>>671018 (OP)
Реально ли сделать игру с чисто текстовой графикой с выводом через простую консоль? Чтобы не в одну строку а в несколько формирующих 2d символами вид сверху например?
253 794598
>>673711
>>673711

> Геймплейно оправдать ёблю


В Nethack'е это реализовано через суккубов. Секс с суккубами повышает или понижает статы (в зависимости от уровня харизмы)
https://nethackwiki.com/wiki/Foocubus#Seduction
image.png650 Кб, 1280x720
254 804223
Какой движок потыкать для моего наброска? Основные отражения взаимодействия в текстовуху уходит.

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

Что-то типа mude или симулятора бога, т.е управление персонажем не прямое, а через команды с некоторым рандомом на действия и прохождение проверок и автобоем по умолчанию выбранной тактики.
255 804452
>>786726
Как уже говорил тот анон, можно рисовать псевдографику при помощи Curses и подобных.

ReGIS и Sixel так вообще терминальная графика, но это уже не просто псевдографика.
https://en.wikipedia.org/wiki/Sixel
https://en.wikipedia.org/wiki/ReGIS
256 804512
>>804223

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


О, у меня тоже был похожий концепт. Берёг его как зеницу ока, никому не рассказывал, думая, что изобрёл оригинальный геймплей. А оказалось, у меня банальный симулятор бога, коих миллионы.
image.png1 Мб, 1900x1200
257 806314
Просто укажите мне путь.

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

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

2) Рогалик на Racket. Мне нравится что я могу сразу в среде копипастить спрайты прямо в код и писать к ним логику и анимацию.
258 806316
>>806314
я бы на питоне хуячил
259 806353
>>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 в "сервер" для своего графического клиента.
259 806353
>>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 в "сервер" для своего графического клиента.
260 810291
Вернулся в тред. Начинаю писать свою ECS систему. Потом уже наверчу на нее что-нибудь

мимо ОП
261 810466
>>810291
Набросал за пару часов первую версию системы, где нет ничего, кроме базовых понятий из ECS и нескольких вспомогательных сущностей. Держу в курсе. Далее надо допилить систему запросов к компонентам, потому что сейчас они совсем простые, далее подумать над циклом выполнения (который сейчас тупо по таймеру дергает метод перерасчета данных). Тогда появится некоторая плавность и гибкость в работе системы

держу в курсе
test.mov3,8 Мб, mp4,
1618x708, 0:13
262 810758
>>810466
Запилил систему запросов к сущностям и "номральный" рендеринг на канву вместо dom
263 811069
>>810291
Может лучше игру писать начнешь?
264 811080
>>811069
Игра называется "приключение большого квадрата и маленьких кружочков в мире белых пикселей". В наш век искусство, в том числе в форме игр, становится настолько абстрактным, что искать в нём привычные концепции просто бесполезно.

>>810466

>базовых понятий из ECS


>>810758

>"номральный" рендеринг на канву


>>671018 (OP)

>рогалики


Напомни, что ты собираешься сделать?
265 811342
>>811080
>>811069
Это же рогалик-тред, следовательно его я пилить и буду
Но для начала я создам инструмент для создания рогалика

Неизвестно, дойду ли я когда-то до создания игры. Мне больше доставляет создавать инструменты
bullets.mov2,4 Мб, mp4,
1622x1226, 0:20
266 812104
>>811342
Теперь это тред создания стрелялок!

А если серьезно, попробовал организовать стрельбу и, внезапно, довольно просто получилось ее реализовать с помощью ECS. Каждая выпущенная пуля - это отдельная сущность с которой можно делать все что угодно. По хорошему, нужно организовать движение по заданному вектору, а не просто по сторонам света. Этим и займусь дальше
image.png1 Мб, 1280x720
267 812123
>>812104
А для чего это все, собственно? А вот для чего!

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

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
275 835701
текстовый файл - прожект докьюмент

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
276 835706
в общем-то хочу чтобы было как-то так: игрок бродит по пустошам и пиздится с мутантами-рейдерами, грабит корованы и вообще делает что хочет - песочница рогулич хуле

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

механики которые щас всплыли у мене в голове:
() социоблядство - отношения с отдельными персонажами, диалоги всякие и другое
() фракции - могут управлять какими-то объектами глобальной карты типо городов или не знаю, рудников всяких там. а еще конечно чтобы они пиздилися друг с другом и чтоб игрок мог прильнуть к одной из них (а может не только одной)
() крафтинг, причем для различных вещей нужны определенные верстаки (как в майнкрафте) и различные значения статов перса
() разрушаемость мира и строительство
277 835712
>>835706
ставим мод на пустоши на CDDA, отключаем спавн зомби, подкручиваем спавн рейдеров = твоя игра
278 835714
>>835712
придумываем кучу вопросов, приглашаем трех участников, за каждый правильный ответ +очки, за неправильный -очки = твоя игра
279 835719
>>835712
и кстати в кдда много ненужного говна, я хочу чтобы моя игра была направленна в более аркадную сторону
280 835780
>>835719

> и кстати в кдда много ненужного говна


согласен, но все довольно удобно настраивается, плохо только что Lua выпилили
281 835849
>>835780
а он там изначально был? тоесть прям скриптинг-скриптинг всего? и, соответственно, ультра модифицируемость?
гитхаб моей хуйни 282 836239
283 836240
>>836239
(я не ОП)
мои оправдания 284 836466
крче ананасы, дело такое: я щас готовлюсь к игэ (сам в 11 классе сейчас), и поэтому разработка будет приостоновлена до зимних каникул; до этого времени буду дрочить курс по физике, т.к. уроки в школе были бесполезные.
285 871648
Hy че, ну как успехи? Небось все бросили?
286 878727
>>871648
дыа)))
287 879471
Есть ли смысол кириллить бродягу на АСКЕЕ?
Я впринципе готов ботать за идею, но всё-таки интересно, перепадёт ли чего за это в Стиме?
Я раньше наворачивал рабов армока, вроде всё заебок если ты готов отречься солнца на недели, но понимаю, что нормиса или просто маменого рогалолюбителя такое просто отпугнёт, ну нахуй эту кабину звездолёта.
288 879485
>>879471
Не-мастодонты рогаликов с Аски могут выжить только на донатах на условном патреоне/кофе. Либо же на крутом подходе к Аски типа cogmind. Для остального нужен графониум и мышка.
289 879523
Ладно. Раз уж мёртвый тред мёртвой доски, можно и шабить. Роадмап насрамныйуд
Проджектс нэйм: История со стёртых полей
Дженре: классический бродяга с нитью сюжета
Феачурес: процедурная генерация, возможно подключение апишника чат-гопоты для большей интерактивности неписи, временные линии, управление с мышом
Графикс: я испытываю движение в штанах при виде АСКЕЕ, а потому 0.1 будет такова. В неясном будущем - попытка сделать что-то менее отвратное чем что?
Термс: неясно. Скажем, три года. Больше не ручаюсь, пушто спиваюсь потихонечку.
Скиллы: сишечка, немного вышмата, скриптов на пыхпыхе, и к стыду моему жабескрипта работаю вообще в другой степи
290 879524
>>879523
Могу помочь сделать.
По внешнему виду могу сказать что идеал это - Тайлы графики как ты хочешь, но с возможностью в настройках их менять допустим на читаемые для большинства.
291 879545
>>879524
>>879524
Ты больше кодер или в построение графики?
292 879546
>>879545
И то и то, мастер на все руки.
293 879607
Снова вернулся к идее своего рогалика
На этот раз решил поизучать ЕЦС
294 879611
>>879607
ты не ОП?
4642112348.jpg59 Кб, 1216x1280
295 879612
>>879607
Блядь, сука, почему знаю только ебаный JS. Так хочется сделать свою игру, а учить дохуя. Я уже умру к тому моменту, когда выучу.
296 879613
>>879612
веб рогалики люди тоже делали, rot js вроде, не помню
297 879637
>>879612
Так делай на JS.
Ты не знаешь критерий: лучший язык программирования для решения задачи - тот, который ты знаешь.
298 879650
>>879611
Я думал это сборный тред рогаликов, разве посты выше от ОПа?
299 879665
>>879650
ну в начале треда - да
300 879872
>>879523
Продолжение.
Изначальная идея появилась после банки-девятки на выходных.после чего я насрал об этом в гд
После опохммела идея показалась мне пиздец какой нездоровой, а потому достойной воплощения аки господь трахнул деву Марию и пошло и покхехало.

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

Ладно. Теперь уйдём от фантазий к настоящей дрочке.
Я так прикинул, сишечка слишком куцая даже для дефолтных рагулей. Итак, я буду мастерить небольшой диалект, на котором дело пойдёт наверное но зачем?
Появилась также менее хтоническая идея использовать псевдо Аску, отрисовывать забуглины каким-то двиглом нахуй.
Чат-гопота страдает деменцией пока его не излечить двадцаткой, а потому мой взор пал на доступные исходники гопоты-2.
Время. Нелинейность времени оче интересная вещь, с реализацией обосраться - как два пальца об асфальт. Пока что идея выглядит как разбить мир на т.н. пределы видимости, и для каждого ввести локальное время а затем хватать Кондратия от происходящего[/spoiler
Главное чтоб на защиту рубежей не забрали.
Хава нагила!
301 879873
>>879872
Давай помогу сделать.
302 879892
>>879872
я ваще нихуя не понял что ты написал, но выглядит интересно
303 879942
>>879873
Я бы и рад с кем-то ботать, две головы как никак.
Но моя работа над сим поделием носит очень эпизодический характер, и к тому же я пока что не смогу достойно оплачивать чей-то труд.
304 879944
>>879942

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


Во первых это бесплатно. Во вторых, даже если ты внезапно пропадёшь всё ок, у меня было много опыта кооперации с двача и гейсру. Наши желания сходятся и я не против попыхтеть над такой игрой. Как говорится, бери пока горячее.
floore.png4 Кб, 573x402
305 879998
>>879944
Хорошо. Я могу стабильно выходить на связь после пяти по Москве.

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

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

Про автоматизацию это надо сделать простой редактор поверх игры, либо отдельно, и тут же идёт уже хранение данных карты.
308 880030
>>880017

>происходит проверка тайла куда хочет передвинуться персонаж на возможность прохода


Я создал массив из двадцати значений, к которым в дальнейшем подвяжутся непреодолимые препятствия. Ну и если значение - 20 <=0, то ход стопорится.
Хотя можно через свищ умнее сделать, типа стопор, проход, и интерактивная единица (со своим свищом: нейтрал-взаимодейсвтие, обязательное взаимодействие).

>Про автоматизацию это надо сделать простой редактор поверх игры


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

>>880011
Гуд айди. Отличный выход на случай потери связи. Вот бы поскорее с работки
309 880031
>>880030
Тебе в любом случае понадобится редактор или его подобие, очень быстро упрёшься в сложность создания карты в блокноте.

И не очень понял что за массив у тебя, и как это работает.
То что я написал это так во всех играх по аналогии где есть тайлы, это так сказать база картостроения. Нужны тайлы содержащии инфу о себе, и массив где хранятся они.
310 880053
>>880031
тайлам еще хорошо бы хранить ссылки на объекты, которые на нëм находятся - существа, предметы.
Так же битовые флаги - можно ли проходить через этот тайл, загораживает ли он обзор, етц.
image.png538 Кб, 1067x661
311 880262
Актуален ли пошаговый рогалик от первого лица?
312 880264
>>880262
наверное нет
313 880321
>>880262
Знаешь про Dungeon Crawlerы?
https://www.youtube.com/watch?v=K8fp2YEhHb8
314 880328
>>880262

> Актуален ли пошаговый рогалик от первого лица?



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

Если там будет много головоломок, и они далеко не однообразны, с удовольствием сыграл, но врятли такие игры популярны. Тут люди над замками в Атомик Хеарт ломали моск, особенно пориджи
315 880439
>>880321

> Dungeon Crawler


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

>>880328

> Если там будет много головоломок


А если какой-нибудь каноничный оперсурс рогалик в 3д портануть. Мне самому разнообразные головоломки придумывать не охота.
316 880479
ОП, вернись в тред пожалуйста. мне очень интересно что у тебя там с той хуйней сейчас происходит, ради которой ты создал эту нить...
317 880480
>>712711
последний пост опа
318 880482
>>880480

>03/12/20


Как же это было давно... Интересно что сейчас с ним.... Сколько игр он сделал...
319 880491
>>880482
наверное он нашел работу
320 880889
>>879471
Если хочешь быть _успешным_, то однозначно - нет. В крайнем случае у тебя будет какая-то охуенная идея, которая не приходила в голову сотням тысяч людей за последние 40 лет. Но и в этом случае, если ты сосредоточишься на аски, то заработает на этом тот, кто сделает клон твоей игры без аски

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

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

>>880262
Если есть хорошая идея, то почему бы и нет. И да, это не рогалик, ведь олдскульные рпг такими и были как ты описываешь
1635458990366.png738 Кб, 804x626
321 880893
>>880439

>А если какой-нибудь каноничный оперсурс рогалик в 3д портануть.


Было острое желание освежить 3д порт Нетхака и перенести на Годот. Видел что был только какой то древний вариант под Мак.
Правда в нетхаке придется знатно в лапше покопаться. И он GPL, так что придется клиент как то отделно пилить клиент если захочется продавать. И там вроде не так все просто будет с интерфейсом, ведь так мы не получаем инфу об объектах в памяти, а видим только значок @ в терминале и как то должны различать игрока, продавцов и так далее.
322 880903
>>880893
мб как-то заюзать '/', которая пишет что на карте какой объект
323 880904
>>880889

> Многие сейчас отрисовывают двиглом аски, но лично я не понимаю зачем



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

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

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

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

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

3) Слишком долгое выстраивание архитектуры при не имении прототипа. Когда ты планируешь свою систему, не видя ее в действии, то вводишь себя в глубокое заблуждение относительно того, как работает твоя игра.
326 880934
фух бля, законтрибьютил в тред, называется
327 880935
>>880933
Да не, норм подход на самом деле. И с Си особых проблем нет, там есть flecs ECS например. Просто еще пару раз сделаешь такой проект и понимание архитектуры уже появится.
328 880936
>>880935
в следующий раз наверное уже за годот засяду и начну пилить что-то вроде streets of rogue. мне самому аски рогалики че-то не заходят. хотя если рогалик сделать такого плана, чтобы чисто меджду задачами в терминале поиграться, то в принципе норм, такой тоже в кайф будет запилить. только уже будет стоять вопрос о том, стоит ли пилить для такой игры скриптабельность помимо дефолтной для меня кастомной генерации уровней. всё таки скрипты для мобов первое время кроме как тебе писать будет некому. ну или просто всё это на си писать, чтобы не заморачиваться с созданием API
329 880941
>>880936
Я сейчас совмещаю, сам рогалик на flecs (в моем случае с++ API), это собирается в so/dll и через gdnative запускается внутри годота, а там уже рисование происходит.
i.jpg71 Кб, 684x1024
330 880943
>>880941
покажешь скриншоты?
331 880953
>>880943
Пока нечего интересного показывать. Начальный код был тут >>879607
332 881476
>>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 а продавать скины и обои на стены. Хотя конечно их тоже легко сопрут, просто перепишут скачивать картинки с локалхоста, лол.
333 881829
>>879998

>Начать решил издалека, так сказать СОСНОВ. Техзадача состоит в оживлении данного пикрил изображения.


Ну, как прогресс? Забил уже? Или сделаль что-то?

>автоматизировать процесс постройки подземелий


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

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

>>880031

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


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

Можно взять готовый редактор типа Tiled:
https://mapeditor.org/
334 882413
>>881829

>Или сделаль что-то?


Пока только букву гоняющую по коробке. и простейший ии для моба. Писать стандартные библиотеки с нуля та ещё залупа иваныча.
335 882461
>>882413

>Писать стандартные библиотеки с нуля та ещё залупа иваныча.


Не понял, какие стандартные библиотеки и зачем?

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

Если у тебя "псевдо ASCII", то возьми SDL2 и юзай его графические возможности. Можно взять SDL_ttf, чтоб сразу буквы выводить, а не спрайты.
336 882655
>>882413
Зато весело. Я вот на днях printf писал.
337 895679
Ох, блять, ну и наебался же я с этой консольной графикой. Казалось бы: ничего проще не бывает, просто берешь и выводишь. Но хуй там плавал, проблемы поджидают на каждом шагу: начиная от невозможности поставить bitmap шрифт в нормальной кодировке и заканчивая общей хуёвой документированностью консольного API. Работать с этим, конечно, можно, если вы хотите реализовывать каждое действие через жопу, но я пас. Буду делать то же самое с помощью SDL.
338 895755
>>895679
про либу curses слышал?
339 895773
>>895755
Я конкретно под win10 консоль хотел, там возможностей побольше, чем с curses.
340 895774
>>895773
Под винду был какой то вариант PDCurses. Алсо там вроде уже обертка над SDL есть для граф версии проги.
341 895787
>>895774
да этих оберток над SDL пруд пруди: от чуть более высокоуровневого SFML до целых фреймворков вроде Löve2D
342 895794
>>895787
Непонятно написал - не обертка над SDL, а обертка curses в SDL.
343 895815
>>895774
Спасибо за наводку, но я уж решил делать через SDL, чтоб при желании можно было добавить какую-нибудь фичу без плясок с бубном. А ascii графику оставлю ради стиля и экономии своих временных ресурсов.
344 896647
>>880479
ОП тута. Случилась классика: пока изучал как пилить свой рогалик, прокачался до мидла, устроился на норм работу, потом родил ребенка, а потом меня релоцировали. С тех пор много разного произошло, но именно то что тут обсуждалось, так и осталось не сделанным. Вот думаю освежить тред немного. Надо только вспомнить на чем остановился
OP 345 896648
Смотрим на изначальную идею через призму произошедшего:

>Писать планирую на C# с оглядкой на многочисленные библиотеки со вспомогательными функциями для создания roguelike игр (там тебе и генерация карт и игровые сущности). В общем, есть куда подсмотреть в случае чего


C# я уже использовать не буду, так как сменил рабочий ПК на мак, а специализацию на typescript

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

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

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

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

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

Офк у меня всего лишь две руки и нужно что-то более универсальное, чем прописывание всего этого руками
OP 347 896650
Как пример правильного выбора характиристик, которые могут влиять на геймплей, я бы привел айзека. Вот тут все на своем месте находится
OP 348 896652
Но здесь я предлагаю думать только о построении системы, а не конкретной реализации и геймплее

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

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

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

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

Из того, что на поверхности:
1. Нужно как-то определить порядок того в какой последовательности применяются модификаторы
2. Могут ли модификаторы влиять на другие модификаторы?
349 896653
>>896649
>>896648
Очень похоже на мой первоначальный вариант, только сейчас проще и вроде как понятнее. Это ли не признак мастерства!
OP 350 896671
Собрал на коленке простенькую ECS и из нее собрал Итератор

Суть: понять как могут сочетаться все эти части приложения на примере совсем простой логики
image.png213 Кб, 1832x958
OP 351 896684
Скорее всего колхоз, но: у каждого свойства есть дефолтное значение, заданное при инициализации и второе, уже реальное, которое будет использоваться в работе. Модификатор его модифицирует, а основная система использует для работы
352 896691
>>896684
Теперь намного лучше читается. Такая система покрывает множество случаев где используется только одна сущность. Что делать, если у нас их много?
chrome-capture-2023-8-7.gif73 Кб, 130x119
OP 353 896695
Добавил рендер. С одной сущностью и множеством свойств для нее - все ок
OP 354 896741
Небольшой рефакторинг, чтобы система могла работать с несколькими объектами
355 896745
>>896647
ахуеть бля чел, это возвращение легенды получается
356 896747
>>896745
Ну теперь то я точно закончу начатое!
357 896748
>>896747
давай братишка, заканчивай. а потом заливай на стим и обязательно поделись ключиком с твоим верным аноном
358 896750
>>896741
Теперь движение по кругу - это вертикальное + горизонтальное движение (как это и должно быть)

Далее попробуем усложнить: добавим контроль мышкой и клавиатурой
359 896755
>>896750
It's alive!

ECS очень удобен (пока)
360 896756
>>896755
Раз уж мы сделали самоходный квадрат, давайте попробуем сделать модульный объект. Что-то типа танка с башней
image.png13 Кб, 696x536
OP 361 896770
Давайте немного порассуждаем. Допустим, у нас есть танк: пикрил. И он состоит условно, из двух частей: куб-движитель и ствол

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

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

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

Также по аналогии с жесткой привязкой ствола, могу представить себе мягкую, где идет просто следование за целью по любому из выбранных алгоритмов
Screen Recording 2023-09-07 at 22.15.14.mov418 Кб, mp4,
1014x660, 0:12
362 896774
>>896770
Анончики, я просто в шоке как все просто пишется
363 896775
>>896774
Вот код системы. Самое удивительное, что ее написал не я, а сраный (других слов подобрать не могу) github copilot

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

Немного не по себе становится
image.png11 Кб, 370x60
OP 364 896776
Следующее что хочу сделать - это приведение типов. Не зря же я пишу на ts
Пикрил хвосты расползаются по коду и в будущем могут стать проблемой
image.png90 Кб, 1216x224
OP 365 896860
Сделал типизацию для свойств. Получилось КРАСNВО
OP 366 896862
Попробую прикрутить выстрелы
Screen Recording 2023-09-09 at 00.03.26.mov724 Кб, mp4,
1032x1036, 0:15
OP 367 896865
Получается довольно интересно. Дальше нужно думать что поверх этого можно навернуть
Screen Recording 2023-09-09 at 00.51.58.mov711 Кб, mp4,
1032x1036, 0:16
OP 368 896872
Думаю, поставить эксперименты на паузу и подумать как с этим работать
getty137447327345632.jpg491 Кб, 1920x1080
369 897064
>>671018 (OP)
А на конструкторе можно сделать рогалик? Например на рпгмейкере?
370 897078
>>897064
Да, можно. Рогалик - это жанр. Никаких технических ограничений обычно не должно возникать в этом плане
371 897114
>>897064
Fear and hunger, как пример
Обновить тред
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее