Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.5D Лесенки и Бордюры #2445

Merged
merged 5 commits into from
Jan 6, 2025

Conversation

MIXnikita
Copy link

Описание PR

Добавлены новые текстуры лестниц, для создания большего эффекта глубины
Добавлен новый объект "Бордюр" специально для новых текстур лестниц, что бы подчеркнуть высотные уступы + это помогает создать иллюзию нескольких уровней высоты

Медиа
https://www.youtube.com/watch?v=pr5Sa1p-0LY

Проверки

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

Изменения
🆑 MIXnikita

  • add: Добавлены Бордюры!
  • tweak: Изменены спрайты лестниц

@github-actions github-actions bot added Changes: Sprites Изменение затронуло файлы ".rsu / .png" Changes: Prototypes Изменение затронуло файлы ".yml" кроме неймспейса "maps" labels Jan 2, 2025
Copy link

github-actions bot commented Jan 2, 2025

RSI Diff Bot; head commit 3b08663 merging into f423137
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/SS220/Structures/Floor/Stairs/dark_steel.rsi

State Old New Status
left Modified
middle Modified
right Modified
solo Modified

Resources/Textures/SS220/Structures/Floor/Stairs/steel.rsi

State Old New Status
left Modified
middle Modified
right Modified
solo Modified

Resources/Textures/SS220/Structures/Floor/Stairs/wood.rsi

State Old New Status
left Modified
middle Modified
right Modified
solo Modified

Resources/Textures/SS220/Structures/Walls/curb.rsi

State Old New Status
curbdarksteel Added
curbdarksteel_corner Added
curbdarksteel_round Added
curbdarksteel_small Added
curbsteel Added
curbsteel_corner Added
curbsteel_round Added
curbsteel_small Added
curbwood Added
curbwood_corner Added
curbwood_round Added
curbwood_small Added

Edit: diff updated after 3b08663

@UrPrice
Copy link
Collaborator

UrPrice commented Jan 3, 2025

Как решена проблема лестницы, что в длину больше чем в 1 тайл?
Мешает ли бордюр пройти по лестнице расам большого роста, например унатхам или арахнидам?

@MIXnikita
Copy link
Author

MIXnikita commented Jan 3, 2025

Как решена проблема лестницы, что в длину больше чем в 1 тайл? Мешает ли бордюр пройти по лестнице расам большого роста, например унатхам или арахнидам?

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

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

@UrPrice
Copy link
Collaborator

UrPrice commented Jan 3, 2025

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

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

Вероятно, сама задумка бордюров не ясна изометрически, если бордюр не видно. Например когда он стоит вертикально, то его не видно. Понимание бордюра тебе даст только перила. Но если перила нет - то ты не поймёшь что тут есть бордюр. Как итог, банально геймдизайн ошибка конструкции. Если у бордюра нет перила, игрок сталкивается с невидимой стеной:
opera_jFfdwWfBwT

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

  • Визуальная проблема отличить среди разнообразия тайлов пола, что это уже не тайл, а бордюр и почему игрок сталкивается с невидимой для его понимания стеной
  • Проблема взаимодействия с двумя объектами преграды, из-за чего:
    1. Залезая на бордюр с перилом, вроде бы логично да, сначала залезь на бордюру, а потом перелезь через перила - но, это просто не удобно в том виде. в котором реализовано (через костыли), а соответственно не имеет права на жизнь
    1. Перелезая наоборот вниз, ещё большим отсутствием логики дополняет, что слезая с бордюры, я должен её "перелезать".
  • Банальное непонимание игрока, почему ему не удаётся перелезть через перила, так как бордюра, это не такой уж и акцентный предмет, чтобы становиться загородительным объектом.

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

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

@MIXnikita
Copy link
Author

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

Вероятно, сама задумка бордюров не ясна изометрически, если бордюр не видно. Например когда он стоит вертикально, то его не видно. Понимание бордюра тебе даст только перила. Но если перила нет - то ты не поймёшь что тут есть бордюр. Как итог, банально геймдизайн ошибка конструкции. Если у бордюра нет перила, игрок сталкивается с невидимой стеной: opera_jFfdwWfBwT

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

* Визуальная проблема отличить среди разнообразия тайлов пола, что это уже не тайл, а бордюр и почему игрок сталкивается с невидимой для его понимания стеной

Визуально можно это исправить, но для сохранения эффекта не получится сделать вид сбоку сильно толще

* Проблема взаимодействия с двумя объектами преграды, из-за чего:

* 1. Залезая на бордюр с перилом, вроде бы логично да, сначала залезь на бордюру, а потом перелезь через перила - но, это просто не удобно в том виде. в котором реализовано (через костыли), а соответственно не имеет права на жизнь

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

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

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

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

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

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

Ответил выше - не уверен, что такой объект вообще нужен

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

Я ещё в тот раз не до конца понял о чем ты.
Если ты о том, что бы сделать бордюры отдельным объектом, а лестницу (сами ступени) отдельно - это вызовет у тебя ЕЩЁ больше проблем и с визуалом и с механиками. Тут легче уже просто нарисовать лестницу цельную в несколько тайлов "глубиной" как отдельный объект (к сожалению). Ибо у тебя не получится сохранить угол спуска ступений между 2 тайлами использую тайл-сет. Только видом top-down (что сейчас)

Copy link
Collaborator

@UrPrice UrPrice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Обсудили всё в дс'е. В принципе ок, только ждём улучшений по спрайтам лестниц и бордюр.

@github-actions github-actions bot added the Changes: Localization Изменение затронуло файлы ".ftl" label Jan 6, 2025
@UrPrice
Copy link
Collaborator

UrPrice commented Jan 6, 2025

Перенёс текст в meta по запросу
Удалил заменения спрайта офов, лишний спрайт добавлять не стал
Добавил локализацию

@UrPrice UrPrice requested a review from stalengd January 6, 2025 05:28
@stalengd stalengd merged commit 333198f into SerbiaStrong-220:master Jan 6, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Localization Изменение затронуло файлы ".ftl" Changes: Prototypes Изменение затронуло файлы ".yml" кроме неймспейса "maps" Changes: Sprites Изменение затронуло файлы ".rsu / .png" Status: Needs Review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants