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

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 568 87 133
Unity 3D #21 Аноним 29/07/22 Птн 07:03:11 824236 1
unity.jpg 21Кб, 1200x630
1200x630

Добро пожаловать в тред Unity - лучшего 3D и 2D игрового движка современности!

Прошлый тред: https://2ch.hk/gd/res/809329.html#824166

Официальный сайт: https://unity3d.com/ru
Документация: https://docs.unity3d.com/ru/current/Manual/index.html
Уроки: https://unity3d.com/ru/learn/tutorials
Форум: https://forum.unity3d.com/
Магазин ассетов: https://unity3d.com/ru/asset-store
UnityWiki: http://wiki.unity3d.com/index.php/Main_Page

На Unity сделано много замечательных игр - Valheim, Genshin Impact, Subnautica, Albion Online, Endless Space, Beat Saber, Boneworks, Rust, Блицкриг 3, Pillars of Eternity, Tyranny, Kerbal Space Program и многие другие. Главным преимуществом Unity перед другими движками является его простота для одиночной разработки. Не нужно иметь целую компанию девелоперов, чтобы сделать хорошую игру. Если ты один или имеешь небольшую команду и хочешь сделать хорошую игру без претензий на ААА, то Unity станет лучшим выбором. Тем не менее, даже крупные корпорации зачастую выбирают для своих игр именно Unity.

FAQ

- Какие у Unity сильные стороны?
- Простота разработки, удобный инструментарий, кроссплатформенность, богатая документация, огромное сообщество.

- Какие у Unity слабые стороны?
- Сложность в создании фотореалистичной графики. Для графики "как в Crysis" рекомендуется взять другой движок. Хотя Unity вполне способен выдавать не уступающую любым другим движкам картинку, это требует определённого навыка от разработчика.

- На каких языках я могу писать скрипты для Unity?
- На выбор два языка - C# и UnityScript. UnityScript - это что-то среднее между JavaScript и ActionScript. Выбирай язык по своему вкусу, они оба вполне удобны, но помни, что большинство примеров написано на C#.

- Для каких жанров подходит Unity?
- Для абсолютно любых! Жанр ограничивается лишь фантазией разработчика (и его умением писать скрипты, разумеется). Можно создавать и РПГ, и стратегии, и слэшеры. Можно делать VR-проекты или Minecraft-подобные песочницы.

- На каких платформах работают созданные с помощью Unity игры?
- Windows, Linux, MacOS, SteamOS, Android, iOS, Windows Phone, PlayStation4, Xbox One, WebGL, Oculus Rift и многие другие. Полный список можно найти на официальном сайте. Таким образом, игры Unity работают на десктопах, на смартфонах, планшетах, приставках, в браузерах, VR-очках и некоторых других системах.

- Часто вижу скриншоты с красивой природой на Unity. Как такое создать?
- Очень просто! В Unity встроены удобные инструменты для создания террейна и SpeedTree для создания деревьев и готовая реализация ветра - не нужно ничего писать или скачивать и подключать плагины - ландшафт в Unity создаётся в пару кликов.

- Что такое стартер киты?
- Starter Kit - это набор скриптов и префабов, а зачастую и графических элементов для игры. Они призваны облегчить разработку игры определённого жанра и как правило разбиты по жанрам (Action-RPG Starter Kit, RTS Starter Kit, 3D Shooter Starter Kit, Space Game Starter Kit, VR Starter Kit и так далее). Также бывают стартер киты различных игровых элементов, не связанных с геймплеем (Nature Starter Kit с дополнительными природными объектами, Medieval Starter Kit со средневековыми объектами и так далее). По сути, стартер киты выполняют в разработке игры ту же роль, что и фреймворки в программировании. Однако стоит отметить, что использование геймплейного стартер кита принуждает разработчика изучать большое количество чужого кода и чужой структуры для внесения своих изменений и полноценного использования. В связи с этим большинство разработчиков предпочитает писать почти всё с нуля, получая полное понимание работы своей игры. Новичкам крайне не рекомендуется начинать знакомство с Unity со стартер китов.

- Что нужно уметь делать для создания полноценной игры, кроме Unity-разработки?
- Кроме непосредственной разработки игры на Unity, требуется также уметь создавать 3D модели (3ds Max, Blender, ZBrush), 2D рисунки (GraphicsGale, Aseprite, Piskel), текстуры (Substance Designer, NeoTextureEdit), музыку (FruityLoops, Ableton). Не обязательно учить это всё - например, в 2D играх не нужны 3D модели, а музыка необходима далеко не всегда. Также вы можете скачивать элементы для ваших игр на бесплатных сайтах. Если у вас есть деньги, то все необходимые элементы можно заказать у фрилансеров на https://www.fl.ru/ (русскоязычный) или https://www.upwork.com/ (англоязычный).

- Бесплатен ли Unity?
- Можно свободно скачивать, использовать и продавать готовые игры на Unity с лицензией Personal - это абсолютно бесплатно! Но на бесплатной версии при запуске игры будет появляться короткий стартовый ролик "Made with Unity", а также ваши доходы ограничены 100 000 долларов в год. Для снятия этих ограничений нужно приобретать платные версии лицензий Unity. В конечном итоге, платные варианты используются лишь крупными компаниями с огромными доходами, тогда как обычные разработчики в большинстве своём используют бесплатную Personal лицензию.

Обучение

- Язык
Итак, с чего же начать изучение этого замечательного движка? Прежде всего, с изучения языка. Самые основы C# можно узнать на интерактивных курсах здесь:
https://dotnetcademy.net/CSharp/Beginner
или в текстовом туториале здесь:
https://www.tutorialspoint.com/csharp/csharp_quick_guide.htm
Для изучения основ UnityScript выучи вначале основы JavaScript:
https://learn.javascript.ru/
Помни, что далеко не все элементы JS есть в US. Чтобы понять, в чём разница между этими двумя языками, прочти эту статью:
http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript
Помни, что тебе достаточно одного языка из двух и учить их оба одновременно не нужно.

- Движок
Если ты уже умеешь использовать язык, то можно приступать непосредственно к изучению движка. Крайне рекомендется купить/скачать книгу Unity in action (Unity в действии). В ней подробно описываются множество возможностей движка.
http://www.ozon.ru/context/detail/id/34792570/
Также посмотри на видеотуториалы с официального сайта:
https://unity3d.com/learn/tutorials
Если же ты не любишь видеотуториалы (или не понимаешь разговорный английский) и предпочитаешь текст, то посмотри здесь:
http://catlikecoding.com/unity/tutorials/
Тут крайне подробно описан процесс разработки и приведены примеры кода. Эти туториалы универсальны и описывают множество различных частей игры, от работы с текстурами до генерации карты мира. А вот в этом туториале описыватся разработка двухмерной игры с видом сверху:
https://www.raywenderlich.com/61532/unity-2d-tutorial-getting-started
Это будет полезно, даже если ты планируешь разрабатывать трёхмерную игру. Ни в коем случае нельзя обойти вниманием этот сборник туториалов:
https://noobtuts.com/unity
В нём подробно описывается процесс пошагового создания разных игр - двухмерных и трёхмерных.

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

Шапка: https://www.writeurl.com/publish/qzgktisltkskaitem6aa

Аноним 29/07/22 Птн 07:03:31 824237 2
Отчетный
29/07/22 Птн 07:25:43 824239 3
Сажи раковому треду
29/07/22 Птн 07:35:24 824240 4
Чатик олигофренов и нубов с IQ не позволяющим пользоваться гуглом
ОП-пост с дохлыми ссылками уже копируют 10 лет
Аноним 29/07/22 Птн 07:47:45 824242 5
Аноним 29/07/22 Птн 07:57:31 824243 6
>>824242
Пусть бампает, может и ссылки сам обновит, которые ему не нравятся
Аноним 29/07/22 Птн 10:36:35 824249 7
>>824236 (OP)
Да как вы заебали делать перекат с 60% протушхей пастой по юнити. Там уже больше половина не актуальна сука!
Дайте я сделаю актуалочку блядь! Куда ты блядь летишь перекатывать!?
У нас старше блять доски уже.
Аноним 29/07/22 Птн 10:37:26 824250 8
И перекат разве не на 1к постов делается?
Аноним 29/07/22 Птн 11:13:06 824253 9
>>824249
Сделай свой перекат, этот игноририруем
Аноним 29/07/22 Птн 12:13:07 824259 10
>>824249
Ну так че не сделал за столько перекатов, а смотрел на 60% протухшую пасту?
Аноним 29/07/22 Птн 12:31:38 824262 11
>>824253
Могу сделать свой перекат в обновлённой шапкой, где будет актуалочка, но думаю что без одобрения модера без смысла, его потрут как дубль из-за того что по дате будет создан позже.

>>824259
Потому что было лень и похер? И надежда что уж следующий наконец кто-то сделает нормально. Честно не представляю почему среди столько анонов пользующихся юнькой не нашлось одного кто шапку бы переделал.
Аноним 29/07/22 Птн 12:44:35 824264 12
>>824259
Ваши чатики вообще не нужны. Эхо-комнаты, где одни и те же дегроды пишут одно и то же.
Все потенциально годные идеи тредов канализурются в этих чатиках.

Что за поколение уебков с чатиками.
Зашел в "анимач", там одни чатики - половина оФФициальных закрепленных. Блять.
Перетирание одного и того же кала.
Аноним 29/07/22 Птн 12:48:38 824265 13
>>824259
Я тут как-то сказал, что вышло новое издание юнити ин экшон, так местный перекатчик все стены говном измазал патамушта нинарусском книга.
Аноним 29/07/22 Птн 12:52:32 824266 14
>>824264
>Ваши чатики вообще не нужны
Так уебывай отсюда, хули ты тут сидишь?
Аноним 29/07/22 Птн 12:53:28 824267 15
>>824264
>Потому что было лень и похер? И надежда что уж следующий наконец кто-то сделает нормально. Честно не представляю почему среди столько анонов пользующихся юнькой не нашлось одного кто шапку бы переделал.

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

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

Делай новую шапку, ее в любом случае учтут
Аноним 29/07/22 Птн 12:56:06 824268 16
>>824267
Ну и получишь репорт пидор.
Аноним 29/07/22 Птн 13:03:32 824269 17
>>824262
>Честно не представляю почему среди столько анонов пользующихся юнькой не нашлось одного кто шапку бы переделал.

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

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

Какой же ты пидор, как же ты бесишь.

Хуй соси. Но шапку исправь. <3
Аноним 29/07/22 Птн 13:09:24 824271 18
Вот и скатили и без того неудачный тред
Аноним 29/07/22 Птн 13:14:29 824273 19
>>824250
>И перекат разве не на 1к постов делается?
Нет, на 500. Потом тред тонет.
Аноним 29/07/22 Птн 13:18:04 824275 20
Открываешь доску. Видишь одни и те же треды на протяжении 10 лет. Вопросов-тред, юнити-тред, годот-тред, скриншоты-тред. Закрываешь нахуй и больше не возвращаешься.
А ведь это форсится самой мочой. Блять, этот такой тотальный маркетинговый проеб, что я даже не знаю что в голове у админов двача.
Аноним 29/07/22 Птн 13:24:36 824276 21
>>824275
Критикуешь - предлагай

но ты же ныть пришел,предположительно
Аноним 29/07/22 Птн 13:37:37 824277 22
>>824275
>одни и те же треды на протяжении 10 лет
Сделай другие треды.
Аноним 29/07/22 Птн 13:57:27 824281 23
>>824267
>А вообще перекатывал этот тред я лично
Всего один вопрос. Куда ты так спешил перекатывать? Тред может хоть месяц лежать и тонут, но нет же, тебе надо прям срочно перекатить, зачем? Ты ебанутый? Или думаешь без тебя всё бы пропало?
Аноним 29/07/22 Птн 14:14:39 824282 24
>>824281
>Тред может хоть месяц лежать и тонут

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

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

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

Еще вопрос?
Аноним 29/07/22 Птн 14:18:28 824283 25
>>824277
>Сделай другие треды.
Делал. Его удалили
Писал посты. Их удаляли. Зарекся создавать контент на двачепомойке после этого
Аноним 29/07/22 Птн 14:22:12 824284 26
>>824283
По-человечески, жаль. Тебе не повезло, но мазать стены говном, как это делали до тебя не лучше. Проблемы ты так не решил
Аноним 29/07/22 Птн 14:30:06 824285 27
Какую игру сделать чтобы завоевать сердце тяночки
Аноним 29/07/22 Птн 14:31:24 824286 28
>>824285
во что играет, то и делай
Аноним 29/07/22 Птн 14:47:41 824288 29
>>824285
Если не хочешь стать подкаблучником, то никакую не делай.
Аноним 29/07/22 Птн 14:51:40 824289 30
>>824269
>Какой же ты пидор
>Хуй соси
Ахуенно. Пишешь ты, а пидор якобы я. Охуенная логика.

>Но шапку исправь.
Ради всех нас юнитибогов, а не потому что ты написал, так и сделаю к следующему перекату.
Аноним 29/07/22 Птн 15:10:46 824293 31
image 28Кб, 620x470
620x470
Аноним 29/07/22 Птн 15:55:49 824308 32
>>824284
Лол. Ты даже не понял суть моего высера.

Не повезло анонам, которые не увидят нового контента на доске и ответов на их вопросы

Аноним 29/07/22 Птн 17:22:55 824324 33
На сайте Юнити куча версий.
Какую качать? Там вообще один и тот же установщик для 2D и 3D?
И можно как-то уменьшить размер готовой папки с игрой, если у меня только 2D? Удалить может какие-то ненужные элементы?
Аноним 29/07/22 Птн 17:23:45 824325 34
Аноним 29/07/22 Птн 17:30:58 824327 35
изображение.png 204Кб, 1547x1218
1547x1218
un.png 114Кб, 2560x1440
2560x1440
>>824324
Вон персональная версия универсальная для начала, ее можешь скачать. 2D и 3D создаются в одной программе, но в разных режимах. На счет уменьшения размера папки не знаю
Аноним 29/07/22 Птн 17:37:32 824329 36
Что будет с авторскими правами если я создам игру из блоков lego microgame?
Аноним 29/07/22 Птн 17:48:08 824332 37
>>824329
Предположительно тебе прилетит от Лего.

Тут пдф на Lego Microgame, который идет щас с юнити хабом вместе:
https://images.response.unity3d.com/Web/Unity/%7B3d254713-049e-4de2-a0da-dfed89d56c70%7D_LEGO_Microgame_Terms_of_Service.pdf

Либо просто вбей в гугл LEGO® Microgame Terms of Service и найди.

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

By designing in the Unity editor or elsewhere and/or uploading your LEGO
Designs, you agree that you and all aspects of your LEGO Designs comply with these
Terms, and that any such LEGO Designs shall not be used for commercial purposes,
in any manner whatsoever.
Аноним 29/07/22 Птн 17:49:07 824334 38
>>824327
Не на разных режимах, а с разными предустановками (модулями которые можно вручную поменять, убрать, добавить на любой стадии работы с проектом)
Аноним 29/07/22 Птн 17:50:02 824335 39
Аноним 29/07/22 Птн 17:50:41 824336 40
>>824285
никакую не делай, запили шейдор, который бы рисовал всякие ёбнутые спирали, мандельброты и она такая подумает НИХУЯ ОН УМНЫЙ
Аноним 29/07/22 Птн 18:20:29 824342 41
>>824332
>в коммерческих целях.

Но я могу сделать бесплатную игру и выложить ее в плеймаркет?
Аноним 29/07/22 Птн 19:37:20 824358 42
>>824342
>shall not be used for commercial purposes,
in any manner whatsoever.

Я не силен в юриспруденции вообще, но мне кажется, что "не в коммерческих целях во всех смыслах" мой вольный перевод относится и к бесплатной игре, с которой ты будешь выкачивать бабки по рекламным банерам. Если не будешь интегрировать рекламу, а реально сделаешь бесплатную игру, наверное, не будет проблем.
Аноним 29/07/22 Птн 19:38:29 824359 43
>>824358
Возможно стоит уточнить на форумах юнити, там девелоперы отвечают
Аноним 30/07/22 Суб 07:42:03 824441 44
Как в шейдер графе сделать чтобы unlit принимал и отбрасывал тень, не понимаю. Везде гайды только с кодом. Нахуя тогда шейдер граф?
Аноним 30/07/22 Суб 11:12:22 824467 45
>>824285
Романтическую вн короткую. Картинки укради в гугле.
Аноним 30/07/22 Суб 14:23:09 824513 46
>>824441
Да забей на эти шейдеры, нормальных туторов толком нетвезде какя то рванина, лучше уже дефолтными материалами обмазываться и хендпейнт текстурами.
Аноним 30/07/22 Суб 16:24:05 824568 47
dd.JPG 94Кб, 905x657
905x657
tr.JPG 28Кб, 963x554
963x554
1. Как сделать освещение в стиле Диабло. Игрок является центром света ( достигается Spot Light сверху), при этом тень падает в сторону, для чего нужно добавить еще один источник света, что поменяет освещение, а это не нужно. Как решить эту задачу?

2. Не могу добиться однородной прозрачности стен. Частично проблема в том, что текстуры накладываются одна на другую, как в случае швов. Пожалуй, там можно просто убрать текстуру. Но это не решит проблему полностью. Можно поиграться с разной прозрачностью.

Тут, конечно, дело в том, что в оригинале использовались не 3д модели, а спрайты, где легче было добиться прозрачности. Потому в 3д точно такого эффекта можно и не добиться.
Аноним 30/07/22 Суб 17:02:56 824581 48
Аноним 30/07/22 Суб 17:10:52 824591 49
>>824581
Всё, что я сделал, только на экране. Никогда раньше изометрией не занимался.

Насчет своей проблемы, то такие мысли:
1) В Д3 просто заставляют пропадать стены.
2) В ПОЕ не изометрия, а камера сверху.
3) Скорее всего нужно делать 2д, парень по ссылке добился нужного освещения, и стены у него становятся прозрачными, но это ГМ, а не юнити.
https://www.youtube.com/watch?v=Q5P23eI0SqU
Аноним 30/07/22 Суб 22:38:37 824669 50
Сколько же я намучился с расположением изометрических тайлов.
1) Не могу понять, в каком разрешении создавать спрайты.
2) Как эти спрайты точно подогнать в блендере под камеру.
3) После импорта в тайлсет, я не могу их выделить нормально, приходится выбирать по очень большой площади.

И самая главная проблема, что мне их нужно очень точно располагать, чтобы не было ни накладок, которые будут видны при прозрачности, ни пробелов между тайлами, которые часто встречаются даже в квадратных тайлах
Аноним 30/07/22 Суб 22:44:54 824670 51
>>824669
>Не могу понять, в каком разрешении создавать спрайты.
Здесь два подхода. Либо делаешь любые размеры и руками подгоняешь в юньке. Или же имеешь весь тайлсет в одной палитре дабы чётко видеть размеры.

>Как эти спрайты точно подогнать в блендере под камеру.
В смысле точно? По карте у тебя они идеально ложаться, разве что размеры надо соблюдать. Если ты про камеру, то она опять же зависит от размеров, обычно 3-4.

>После импорта в тайлсет, я не могу их выделить нормально, приходится выбирать по очень большой площади.
Зажимаешь шифт и выделяешь все, потом переносишь, это старый способ. Новый это тупо всю картинку порезаную кидаешь в палитру, оно само всё вносит.
Аноним 31/07/22 Вск 11:06:59 824755 52
3PerfectCut.png 283Кб, 512x1024
512x1024
Разобрался. Тайлы нужно нарезать в фотошопе. И они должны быть пиксель перфектными. В юнити в настройках фильтр Поинт.

>>824670
>В смысле точно?
Там был глюк. Я пересоздал сетку и все норм.
Аноним 01/08/22 Пнд 14:24:36 825084 53
изображение.png 3143Кб, 2560x1440
2560x1440
изображение.png 3014Кб, 2560x1440
2560x1440
Двач, а как вы создаете полы в 3д? Растягивать plane тупо, текстура тянется, если дублировать (2 пик), то швов не видно, но я не уверен, что это эффективно или правильно. А если у меня коридоры и углы, мне же новый plane делать разных размеров, текстура опять будет тянуться. Плюс я параноик по части нагрузки любого предмета на систему, потому что я не знаю сколько предметов много, сколько допустимо.

Как правильно делать полы?
Аноним 01/08/22 Пнд 14:44:12 825096 54
>>825084
Есть несколько подходов.
Самый популярный это комнаты-блоки. Ты собираешь уровень из разных блоков, а швы на сходе между ними маскируешь любым мусором/другими объектами.
Другой вариант делаешь уровень в 3д редакторе, в конце режешь его чтобы текстуры не расплылись и смотрелись ок.
Вариант же который у тебя на пике тоже допустим и применим, но только в масштабах маленькой игры, или в комбинации с вышеперечисленными методами.
Аноним 01/08/22 Пнд 14:55:44 825103 55
>>824755
Если тебе нужен пиксель пёрфект то используй для нарезания aseprite.
Аноним 01/08/22 Пнд 14:57:54 825106 56
>>825084
Не пробовал, но по идее можно генерировать повторяющиеся элементы с плавающим рандомом геонодами блендера.
Умельцы так камни, траву, облака и прочее делают на ютубе.
Аноним 01/08/22 Пнд 15:06:14 825110 57
>>825096
>Ты собираешь уровень из разных блоков, а швы на сходе между ними маскируешь любым мусором/другими объектами.

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

>Другой вариант делаешь уровень в 3д редакторе
А это не дорого по ресурсам компа выйдет? Я просто реально хз как рассчитывать нагрузку того или иного объекта на систему. В бледнере я могу сделать целый левел, вылепить деталей, но будут тысячи точек, которые жрут прилично.

>Так ты включи репит текстуре и управляй UV.
Это попробую.

>по идее можно генерировать повторяющиеся элементы с плавающим рандомом геонодами блендера.
можно, но по факту любой пол надо будет делать в блендере под размер комнаты
Аноним 01/08/22 Пнд 16:21:35 825135 58
изображение.png 3202Кб, 2560x1440
2560x1440
Ну количество тайлов я увеличил, но выглядит все равно хуево, даже для практики. В одном месте мне надо повышать plane на пару метров, но юнити так не умеет. Если делать куб и оборачивать его текстурой, то вообще говнище будет. Видимо вообще все надо делать в блендере, а юнити нихуя не умеет, кроме скриптов и шейдеров
Аноним 01/08/22 Пнд 16:28:36 825143 59
>>825096
А, под блоками ты имеешь в виду просто разные модельки стен, потолка и пола, из которых комнату собирать можно? Такое я себе сделал, ими комнату собирал, но я думал пол иначе делается.
Аноним 02/08/22 Втр 07:11:41 825281 60
а как версионирование по крутому делать? вручную в файле менять цифры каждый раз как-то тупо
Аноним 02/08/22 Втр 12:28:01 825368 61
>>824236 (OP)
Почему синглотонннее в унити так уебански делается? Почему не как в годо?

Для ясности, в годо нужный скрипт добавляется в автозагрузку проекта и во всех скриптах доступен

В унити же какая-то блядская пляска, ещё и объект добавлять надо и чую, что на каждый уровень

Если я ошибаюсь, то объясните КАК?
Мне нужно для глобальной громкости звука, искал, но не нашёл ничего адекватного
Аноним 02/08/22 Втр 12:34:22 825374 62
>>825368
Просто заебашь файл со статичным классом, в нем статические переменные хуячишь. И все.
Этот класс будет виден везде.
Аноним 02/08/22 Втр 12:39:35 825379 63
>>825374
Вот прямо так?

Однако мне нужно ещё уточнить.

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

Просто хренинглтонн предлагают вешать на пустышку, потом префоб и его пихать на каждый уровень, мне такой план не нравится.
Аноним 02/08/22 Втр 13:12:09 825400 64
>>825379
Вопрос снят, проверил в лоб первый вариант, заработало.

Правда непонятно чего тогда с синглотонном носятся, ибо по умолчанию такой подход и использовал
Аноним 02/08/22 Втр 13:17:23 825402 65
>>825379
> вешать на объект пустышку в каждой сцене?
C# и .NET - самостоятельная платформа. Можешь "отдельно" от api юнити создать хоть синглтон, хоть сервис локатор, хоть что угодно.
https://gameprogrammingpatterns.com/contents.html

Если тебе нужен синглтон на основе именно игрового объекта юнити, то можешь сделать например так:
https://gamedevbeginner.com/singletons-in-unity-the-right-way/

Можешь при помощи ScriptableObject хранить списки конфигов и ссылки на префабы с менеджерами/сервисами, которые будут создавать при старте игры или по запросу. Вариантов очень много.
Аноним 02/08/22 Втр 13:18:16 825403 66
>>825400
>Правда непонятно чего тогда с синглотонном носятся
Потому что тебе пиздюлей на работе не выписывали за статические классы.
Аноним 02/08/22 Втр 13:31:32 825410 67
Аноним 02/08/22 Втр 13:35:35 825412 68
>>825368
>и чую, что на каждый уровень
Object.DontDestroyOnLoad
Статичные классы коварны
Аноним 02/08/22 Втр 13:36:23 825413 69
>>825403
>>825410

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

>>825402
> ScriptableObject

Вот это интересная тема
Аноним 02/08/22 Втр 13:37:39 825414 70
>>825412
Я просто создал скрипт со статичным классом, который ни к какому объекту не привязывал.

Хочешь сказать, что при загрузке каждой сцены будет создаваться новый?
Аноним 02/08/22 Втр 13:48:39 825423 71
И ещё тогда вопрос.

Как включить AA, оно же антиализинг? То, что находил в нете в собранной игре не работает.

Я знаю, что лесенкоубиралок много видов
Аноним 02/08/22 Втр 13:54:52 825427 72
>>825413
>> ScriptableObject
> Вот это интересная тема
Тема крутая. У меня на них хранятся все игровые конфиги. Все игровые предметы (их описание, иконки, редкость и прочая информация). Есть совсем уж безумные примеры использования SO от самих юнитеков:
https://www.youtube.com/watch?v=6vmRwLYWNRo

То есть через MonoBehaviour (компоненты) ты пишешь обычную логику, без данных. А сами данные передаёшь через ScriptableObject. У тебя есть логика какого-то моба, но сам компонент при этом не хранит информацию о его уроне, количестве жизней, баффах/дебаффах и т.п. Всё это передаётся через ссылку на SO. Можно использовать interface C#. Можно таким же образом передавать поведение (паттерн strategy).
Аноним 02/08/22 Втр 14:08:50 825429 73
>>825427
Смотрю, интересная штука, но как же хочется закатить истерику - я хочу статические классы использовать как чэд, это просто и понятно, аррряяяя
Аноним 02/08/22 Втр 15:09:28 825439 74
16437370918853.mp4 441Кб, 480x480, 00:00:11
480x480
Саунд-дизайнера ищет кто-нибудь? Работаю в стэке Reaper + Wwise + Unity, делаю ассеты и встраиваю изи. Наймите кто нить умоляю
Аноним 02/08/22 Втр 15:18:40 825443 75
1641798895024.png 18Кб, 578x396
578x396
Блять, опять на новый движок UI переходить. Прошлый UI перешёл в легаси говно. Теперь в моде UI Toolkit.
Аноним 02/08/22 Втр 19:24:59 825465 76
изображение.png 30Кб, 578x224
578x224
Это единственно верный способ использования Scriptable object? В смысле именно так надо передавать ссылку или есть иной способ?
Аноним 02/08/22 Втр 20:20:17 825472 77
суп юнитибоги
я хочу подменить кости одного рендерера(куртка) костями другого(тело), этакая модульность
вот сделал такую хуйню:
https://rentry.co/rtmsv
поясните мне где я объебался (кроме проверок в подмене костей рендерера)
протестировал, вроде работает, кости заменяются, куртка сразу на старте прыгает на персонажа, но обе модели пока еще не анимированы, может ли это проблем навалить потом?
Аноним 02/08/22 Втр 21:12:06 825488 78
>>825465
Их можно загружать с ресурсов через код.
Аноним 02/08/22 Втр 21:25:26 825491 79
>>825472
>может ли это проблем навалить потом?
Нет, всё так и делается.
Аноним 02/08/22 Втр 21:41:13 825495 80
>>825465
У меня на проекте был статический класс который подгружал скриптеблы по запросу из ресурсов, по типу. Очень удобно
Аноним 02/08/22 Втр 21:42:38 825496 81
>>825439
Дай свой контактик, если руки дойдут допилить пет прожект обязательно обращусь
Аноним 02/08/22 Втр 23:22:38 825535 82
>>825491
отлично
но я внезапно осознал что хочу еще и плащ потом добавить, а у персонажа костей плаща нети не будет и у меня затык ведь если я подменю кости плеч и шеи плаща на кости персонажа то костяшки самого плаща(потомки шеи) не будут им следовать
Аноним 03/08/22 Срд 02:47:42 825558 83
>>825403
Не обязательно, если на сцене есть какой-нибудь объект, который все их проинициализирует(чтобы они сбросили или подгрузили данные из файла)
Аноним 04/08/22 Чтв 15:15:17 825895 84
Аноним 04/08/22 Чтв 16:41:56 825909 85
15294393647140.jpg 501Кб, 1620x810
1620x810
Там сегодня вселенский долгострой рувн на юнити релизнули.
8 лет разработки! Слабо так же?
Аноним 04/08/22 Чтв 18:13:21 825957 86
>>825909
если бы мне всякие куколдычи и симпычи донатили, чтобы я не сдох с голоду - не слабо
Аноним 04/08/22 Чтв 18:27:21 825963 87
>>825909
> рувн на юнити
Что это такое?
Аноним 04/08/22 Чтв 19:35:55 825974 88
>>825909
Ту новеллу от создателей Бесконечного лета про рокенрольщиц в советском посольстве в Японии? Неужели вышло?
Аноним 04/08/22 Чтв 19:51:17 825975 89
Посоны, есть долгострой - хоррер в стиле clocktower. Есть смысл отдельный тред запиливать шоб сове ов мудрых получить, или нахуй надо?
Аноним 04/08/22 Чтв 19:56:58 825977 90
Аноним 04/08/22 Чтв 20:17:57 825980 91
>>825977
Спасибо! Тогда переделаю спрайт персонажа и запилю!
Аноним 04/08/22 Чтв 20:50:48 825991 92
>>825909
>8 лет разработки!
Да как нехуй. За 7-8 лет разработки обычно посредственная хуйня выходит, которую еще после релиза 2-3 года надо допиливать, так что я справлюсь идеально. Ну а раз платят, то еще и с удовольствием
Аноним 06/08/22 Суб 17:54:00 826046 93
abilities.OnAbilityValueChange += (int x) => text.GetComponent<TextMeshProUGUI>().text = $"{x.ToString()} ({x/2-5})";

если я дестройну этот подписавшийся на эвент объект, что будет при инвоке? Попытается вызвать и пукнет нуль референсом?
Аноним 06/08/22 Суб 17:59:31 826048 94
>>826046
>пукнет нуль референсом
this.
Аноним 06/08/22 Суб 20:14:17 826055 95
В ЛМР для того чтобы сохраниться/загрузиться, вообще любое действие в меню совершить надо ЖДАТЬ, в БЛе всё моментально откликивалось. Это ведь всё из-за юнити да? Почему юнити такой тормозной?
Аноним 06/08/22 Суб 20:44:00 826059 96
>>825909
>долгострой рувн
Vital Flaunt?
Аноним 06/08/22 Суб 20:56:37 826064 97
>>826055
как сделали игру, так она и играется. Вальхейм не тормозит в меню
Аноним 07/08/22 Вск 02:54:30 826134 98
Всем привет. Для того чтобы в ваш ассет стор выгружать всякое - мне нужен сам движок или достаточно веба?
В случае если нужен движок - насколько это сложно будет делать?

Помимо этого, есть ли там верификация и что просят для подтверждения?

*Всякое - это в основном 3д ассеты окружения
Аноним 07/08/22 Вск 05:40:31 826139 99
Эй, юнитисты!))) 😅😅😎🤜🤡 Годот сила йоу😝😝😝
Аноним 07/08/22 Вск 06:56:14 826140 100
>>826139
юнити сила годотя могила 😎 💪
всем нашим респектулечка плотная 🤙
😂 😂 😂
Аноним 07/08/22 Вск 09:28:33 826144 101
>>826134
Ассет ты можешь сделать только в самом юнити.
Для того чтобы выложить что либо в сторе нужно пройти анальную регистрацию.
Для того чтобы получать бабки еще 100500 кругов ада.
Аноним 07/08/22 Вск 12:40:41 826161 102
video2022-06-30[...].mp4 932Кб, 288x360, 00:00:15
288x360
Аноним 07/08/22 Вск 12:50:30 826162 103
Дано: Игра в принципе похожая на Космических Рейджеров 2, топ даун в космосе с корабликами. Но деталей на них будет больше.

Вопрос: Делать ли игру в 2D полностью и заказывать полуспрайтерные ассеты, или бекраунды в 2D а корабли в 3D, потому что может потребоваться смена их деталей на лету и идл анимации разных корпусов, как в КР2?
Аноним 07/08/22 Вск 12:51:23 826163 104
2.webm 534Кб, 612x1258, 00:00:12
612x1258
Есть два клипа анимации, один анимирует позицию меча, другой руку, можно их объединить в один клип? Я так понимаю, что можно в контроллере их одновременно воспроизводить, но это неудобно
Аноним 07/08/22 Вск 12:57:48 826165 105
>>826162
Больше всего зависит от того кто это дело делает (Какой у него опыт в 2Д и 3Д, где больше), и от того кто будет делать спрайты и 3д модели.
Если сильна 3д сторона, то выгоднее работать с ней. Если 2д художник лучше то всё в 2д.
Чтобы получилось на подобие рейнджеров, то всё делается в 3д, фоны это несколько анимированных слоёв накладываемых друг на друга.
Плюсы 3д что его можно превратить достаточно просто в 2д. Из минусов то что его надо делать.
Аноним 07/08/22 Вск 13:13:56 826167 106
screenshot703.jpg 387Кб, 1920x1080
1920x1080
>>826165
>Чтобы получилось на подобие рейнджеров, то всё делается в 3д, фоны это несколько анимированных слоёв накладываемых друг на друга.

Я не думаю что это обязательно, у того же Старсектора делают корабли сразу в 2D, хотя суть и похожая. Но там нет идл анимаций.
Аноним 07/08/22 Вск 13:26:54 826170 107
>>826167
Как я и написал, всё упирается в того кто будет делать графику. Но у 3д есть бонус, что его проще создавать, изменять, и можно превратить в 2д.
У 2д такого нету.
Аноним 07/08/22 Вск 20:52:56 826224 108
заебалужехуйнюс[...].jpg 24Кб, 868x73
868x73
Тест
Аноним 07/08/22 Вск 20:53:34 826225 109
что за ебаный спамлист вдруг появился?
Аноним 07/08/22 Вск 20:56:26 826227 110
>>826224
В общем пацаны, тут надо чтобы по результатам проверки, при нахождении совпадения в баттон.текст копировалось значение из скилл.валуе. В противном случае баттон дестроится. Можно как-то это компактно ебануть через лямбды там всякие хуямбды?
Аноним 07/08/22 Вск 21:03:48 826229 111
>>826163
Можно. В блендере
Аноним 07/08/22 Вск 21:07:29 826232 112
заебалужеикс2.jpg 36Кб, 1371x194
1371x194
>>826227
сам я только до такого додумался
Аноним 07/08/22 Вск 21:13:12 826233 113
>>826232
Мы вам перезвоним.
Аноним 07/08/22 Вск 21:16:55 826235 114
Аноним 07/08/22 Вск 21:35:37 826236 115
>>826227
>Можно как-то это компактно ебануть
Зачем? Чтобы код был максимально непонятным? Пиши код так, чтобы он был понятным. Заводи для этого лишние локальные переменные, добавляй циклы, скобки и т.п.

Вот это >>826232 вообще шок-контент.

Хотя у тебя изначально код ебанутый. Но хотя бы не делай его безумно ебанутым.
Аноним 07/08/22 Вск 21:39:13 826237 116
>>826236
> вообще шок-контент
почему?
Аноним 07/08/22 Вск 21:49:17 826238 117
>>826237
Другой сеньёр, но вставлю свои 146 копеек.
Смысл кода которого ты пишешь, что ты мог понимать что происходит и не тратить по минуте расшифровывая каждую строчку в голове, тратя силы на не нужное.
Тебе не надо стесняться кода, или прятать его, он твой, только для тебя.
За количество знаков с тебя не берут деньги, твои комменты никто не будет читать.
Аноним 07/08/22 Вск 22:11:10 826240 118
>>826238
В данном случае присутствует образовательный момент. Ну типо я могу ебануть полотно из ифов и форов с тем же результатом, а могу поковырять иенумерабл, лямбды и предикаты.
Аноним 07/08/22 Вск 23:03:03 826244 119
>>826240
>образовательный момент
В чем состоял момент, ты же насрал говна в код.
Аноним 07/08/22 Вск 23:25:42 826245 120
>>826244
Т.е. о том, что мой код нечитаемое говно, пишет дурачок, который даже простой текст на русском понять не может? Я по слогу приблизительно чувствую, что ты за пидор, я тебя запомнил еще с твоих прошлых кукареков лол. Пошел ты нахуй, пес)))
Аноним 07/08/22 Вск 23:35:12 826246 121
>>826236
>Заводи для этого лишние локальные переменные

С этим в целом согласен.
Аноним 08/08/22 Пнд 00:05:51 826249 122
>>826246
Даже завтра весь код перелопачу.
Аноним 08/08/22 Пнд 07:00:37 826265 123
>>826236
>Чтобы код был максимально непонятным?
Компактный код может быть понятным.

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

>Вот это >>826232 вообще шок-контент.
А что такого, да, у C# некрасивый синтаксис, но алгоритм простой: для каждой второстепенной кнопки ищем у 0-й группы игроков умение с названием, совпадающим с надписью кнопки, а затем пытаемся взять значение найденного умения и дописать его к надписи кнопки в виде строки; если не получится найти умение, будет попытка обратиться к полю значения в null, что вызовет исключение AccessViolationException, которое мы обработаем уничтожением кнопки. Подход странный, но ничего непонятного тут не вижу. Однако, вместо вызова исключения лучше сделать условный оператор, т.к. исключение создаёт ООП объект, который затем уничтожается после обработки, а это лишние затраты ресурсов, которых практически нет в условном операторе и одной локальной переменной, получающей ссылку на давно существующий объект. Также лучше было бы не уничтожать лишние кнопки, а создавать нужные, чтобы сэкономить ресурсы, тратящиеся на создание и уничтожение лишних кнопок. Это может показаться экономией на спичках, но если осознанно подходить к таким моментам в разработке, потом не будет лишних проблем; кто наплевательски относится к ресурсам компьютера в одном месте, склонен так делать и во всех остальных...
Аноним 08/08/22 Пнд 07:12:44 826266 124
>>826265
>Также лучше было бы не уничтожать лишние кнопки, а создавать нужные, чтобы сэкономить ресурсы, тратящиеся на создание и уничтожение лишних кнопок.
И не только на создание и уничтожение кнопок, но и на поиск умений и сравнение названий. Вместо поиска умения под каждую кнопку логичнее было бы пройтись по списку умений и создать каждому умению свою кнопку, если конкретному умению кнопка вообще нужна. А чтобы потом обновлять значения на кнопках, не создавая кнопки заново, нужно повесить на каждую кнопку скрипт, хранящий ссылку на связанное умение и по запросу обновляющий свою надпись актуальными данными об умении. Хранение "лишнего" объекта со скриптом в памяти намного дешевле, чем выделение памяти под группу объектов с последующим освобождением. Надеюсь, все здесь это понимают и не создают интерфейс инвентаря с нуля каждый раз, когда игрок пытается его открыть? А то некоторые игры особенно на юнити создают впечатление, что там не только интерфейс с нуля формируется, но даже иконки с диска повторно считываются... Вот не надо так делать, это ухудшает юзабилити многим игрокам, создавая неприятные задержки при открытии меню.
Аноним 08/08/22 Пнд 07:18:58 826267 125
>>826265
>А что такого, да, у C# некрасивый синтаксис
>это не я наговнокодил, это язык некрасивый!
Аноним 08/08/22 Пнд 08:04:23 826273 126
>>826265
> Это субъективно
Да так то любое восприятие субъективно, но так подходом далеко не уедешь.
Есть и объективные метрики(которые опять же вносят субъективный вклад в общее понятие понятности лол), просто их подсчитать нереально - типа сколько вещей надо минимально одновременно держать в голове, нужны ли знания другого фрагмента кода, нужны ли знания внутренней реализации используемых методов, есть ли побочные эффекты.
Но, разумеется, здравый смысл не дремлет и в особо запущенных случаях все, даже автор кода смогут почувствовать, что что-то не так.

> непонятными конструкциями из однобуквенных слов
> в виде длинной простыни текста на почти естественном языке.
Звучит так, будто вся разница в длине слов.
Аноним 08/08/22 Пнд 08:07:09 826274 127
SmartSelect2022[...].jpg 501Кб, 1050x1881
1050x1881
Бля да какое слово из спам листа
>>826265
> А что такого
Аноним 08/08/22 Пнд 09:28:46 826281 128
>>826265
>Алгоритм простой

И я с тобой согласен. Если взять исключительно читаемость, то я типо серьезно не понимаю, что тут нечитаемого. Типо левая часть по дефолту надпись на кнопке. В правой тоже одно действие.
Аноним 08/08/22 Пнд 09:37:51 826284 129
Запомните ньюфаги в юнити никогда не стоит уничтожать или создавать объекты.
В начале игры вы создаёте пулл, в течении игры берёте из него нужный объект и реализуете его, а как только он вам не нужен просто выключаете и снова добавляете в пулл.
ЕЩЕ раз, никогда, не надо создавать и уничтожать объекты.
Аноним 08/08/22 Пнд 09:43:24 826285 130
>>826284
умный дохуя? давай ссылки на готовые и нормальные решения, а пока иди нахуй
Аноним 08/08/22 Пнд 10:04:41 826289 131
>>826285
>на готовые и нормальные решения
Гуглить не научился? Уже столько лет, а досихпор пишешь такую глупость. Тебе дано направление, сформулированная мысль, а тебе и этого мало. Хочешь чтобы за тебя и код писали, а ты только копировал?
Аноним 08/08/22 Пнд 10:18:27 826290 132
>>826273
>Звучит так, будто вся разница в длине слов.
Если подумать, так оно и есть. Короткие идентификаторы не говорят сами за себя - нужно помнить, что они обозначают, чтобы понимать, что с ними или с их помощью происходит. К тому же их используют чаще всего для того, чтобы компактно совмещать множество операций - в итоге на одной строке может быть формула из десятка операций над десятком идентификаторов, не говорящих за себя. А оперативная память человека очень сильно ограничена, в среднем, как говорят, человек может удерживать всего 7 сущностей в этой памяти, добавление новой вызывает забывание одной из старых. Ты просто физически не можешь уместить в своей оперативной памяти десяток операций над десятком идентификаторов, а это нужно для понимания, что происходит на одной этой строчке.

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

И ещё мозг легче распознаёт длинные слова, чем короткие, потому что первичная обработка зрительной информации опирается не на буквы, а на обобщённые геометрические формы и размеры. Это маленькие дети читают по буквам, потому что у них нет достаточного зрительного опыта, а взрослые бегло воспринимают слова и выражения, не всматриваясь в буквы. По этой причине, кстати, опечатки часто остаются незамеченными, но в коде это не проблема, особенно если идентификаторы длинные и отличаются больше, чем одним символом. Короче, распознать множество длинных идентификаторов из 3-4 полноценных слов каждое мозгу проще, чем расшифровать выражение из 3-4 коротких идентификаторов, ничем не напоминающих реальные слова, т.е. требующих внимательного разбора по буквам.
Аноним 08/08/22 Пнд 10:37:03 826294 133
>>826290
Двачую этого. Всё по делу сказано.
Аноним 08/08/22 Пнд 10:52:42 826297 134
>>826290
Выходит, что нужно писать максимально неочевидные конструкции с именами функций на экзотических языках. Тут осторожно, с китайским есть проблемы в самой юнити. Обфускация, ты понял? А то в один клик весь код вскрывается, хуйня же полная.
Аноним 08/08/22 Пнд 11:09:40 826302 135
>>826297
Для тебя все кроме простыни елс ифов будет неочевидно, теперь это стандартом должно стать или что?
Аноним 08/08/22 Пнд 11:15:19 826303 136
Говнокодера обоссали теперь он пишет простыни чтоб доказать чтоб оправдать свою криворукость. Могли бы просто посоветовать ему посмотреть на свой высер через неделю и попросить объяснить что там происходит.
Аноним 08/08/22 Пнд 11:25:25 826305 137
image.png 266Кб, 1333x978
1333x978
Есть несколько книг на тему написания адекватного кода, типа "Совершенный Код".
Аноним 08/08/22 Пнд 11:37:22 826307 138
16250024156380.png 662Кб, 709x721
709x721
maxresdefault.jpg 108Кб, 1280x720
1280x720
maxresdefault ([...].jpg 114Кб, 1280x720
1280x720
>>826302
Вот как раз в простынках элс ифов будет разобраться гораздо сложнее, чем в адекватном коде. Однако это говно де-факто и есть стандарт нахуй.

>>826303
Давай сначала дойдем до экономии памяти за счёт более коротких имён переменных.
Аноним 08/08/22 Пнд 11:40:42 826310 139
>>826307
Тут важно не путать говнокод по причине того что автор гуманитарий и лентяй, и объёмный код по причине того что автор адекватно реализует архитектуру, не пряча по десятку функций в одной строчке, тратя десятки минут на разворачивания каждой.
И на моей памяти с яндере девом скорее исключение чем правило, не помню чтобы кого так яростно форсили и обсирали в кодерской тусовке за всё время.
Аноним 08/08/22 Пнд 11:42:06 826312 140
>>826297
>именами функций на экзотических языках
>Обфускация
Точно не знаю, но я слышал, что после декомпиляции C# кода из игр на Юнити все идентификаторы выглядят как рандомный набор букв и цифр. Либо это особенность C#, либо эти имена получаются после работы обфускатора Юнити/стороннего обфускатора. Какой-то обфускатор точно есть, это целый бизнес, продавать волшебную палочку от неразрешимой проблемы. Собственно, если так хочешь обфусцировать код, делай это специальным обфускатором, потому что вручную с ума сойдёшь писать "непонятно".

>неочевидные конструкции
Если нет ограничений по времени, любую неочевидную конструкцию можно разгадать. Не существует защиты, которую нельзя было бы взломать. Поэтому хорошие поддерживаемые онлайн-игры меняют код по мере его разгадывания/взлома - хак действует только до тех пор, пока не выкатят очередной патч, после чего хакеры побанятся или не смогут использовать старые хаки. Но даже гигантам рынка не всегда удаётся защититься достаточно надолго, что уж говорить об инди. Так что если делаешь онлайн-игру, полагайся на старый-добрый банхаммер и желание сидеть 24/7, чистя игру от недобросовестных игроков. А на оффлайн игру вообще забей, кому нужен твой говнокод, если с него нельзя поиметь профит в виде преимущества перед другими игроками в онлайне... Кому захочется сделать клон твоей игры - возьмёт те же ассеты с ассет-стора и напишет такой же говнокод. Но скорее всего никто не захочет, потому что большинство игр проваливаются. Без обид, это статистика.
Аноним 08/08/22 Пнд 11:46:46 826313 141
капитанВыходитН[...].jpg 51Кб, 776x200
776x200
>>826274
Объясняю. Написал я на бумаге как мне казалось охуеную идею, супер интересную и начал ее кодить. Пока кодил понял, что идея говно и переделал, раз, два, три, пять. И в итоге попал в круг, в котором я не двигаюсь дальше ни на шаг, потому что занят передумыванием и переделыванием основ и интерфейса под все этого по кругу. Сейчас я доделываю интерфейс создания персонажа в начале игры, чтобы он был независим от этих переделок и позволял создать персонажа и смотреть, и работать над тем что дальше. Кнопки выбора класса, расы и т.д. создаются через перебор имен соответствующих енамов. Но, если взять скилы, то у каждого класса свой набор, и у меня выбор, либо писать отдельный метод для спавна кнопок именно скилов, либо взять стандартный, который наспавнит вообще все скилы и удалить лишние. Причем завтра я могу решить, что скилы должны быть у всех одинаковые и просто закоменчу код с удалением кнопок и все.

этот код у меня спавнит буквально все кнопки в интерфейсе типа дндешного.
Аноним 08/08/22 Пнд 11:51:03 826316 142
>>826313
А что за SecоndaryВuttоn? Что это означает? Как ты это описал.
Аноним 08/08/22 Пнд 11:52:46 826317 143
>>826313
Что за пиздец??? Кто так делает конструкции?
Аноним 08/08/22 Пнд 11:55:57 826318 144
>>826310
>не пряча по десятку функций в одной строчке
Ну сильно-то у тебя код не распухнет из-за сворачивания трёх строчек в одну.
>с яндере девом скорее исключение
Да его просто стало модным говнить, вот и говнили. Тем более, что было за что. Если бы он собрал всё это говно на крестах, хуй бы кто и узнал, что там в игре под капотом. Лишний стимул запутывать код - никто не сможет понять, где ты реально обосрался, а где переусложнил в целях защиты.

>>826312
>после декомпиляции C# кода из игр на Юнити все идентификаторы выглядят как рандомный набор букв и цифр
Возьми илспай да проверь этот пиздёж. Юнити даже после компиляции ill2cpp сохраняет имена функций, на этом основаны разные декомпиляторы, все имена в файле global-metadata.dat
>с ума сойдёшь писать "непонятно".
А когда пизданёшься - будешь писать непонятно по дефолту. Профит!
>хак действует только до тех пор, пока не выкатят очередной патч
Да тоже хуйня, хаки работают годами из-за отсутствия проверок на сервере. А если бы запутывали изначально в должной мере, то даже фришек ммо не появилось бы.
>Кому захочется сделать клон твоей игры - возьмёт те же ассеты с ассет-стора и напишет такой же говнокод.
А зачем стор, если юнити не защищает ассеты и можно выковырять прямо из игры? Как, собственно, и код.
>никто не захочет
Это если у тебя нет персональных хейтеров, которые готовы всрать каждый вечер в течении месяца, чтобы просто насрать.
Аноним 08/08/22 Пнд 12:00:39 826321 145
>>826318
>Юнити даже после компиляции ill2cpp сохраняет имена функций, на этом основаны разные декомпиляторы, все имена в файле global-metadata.dat
А вот это пиздёшь. После компиляции в ill2cpp, а не в моно, код становится нечитабельный от слова совсем. В моно да, если вскрыть скрипты почти тоже самое что и автора будет, за исключение отсутствия комментариев.
С 99.9% вероятностью если скомпилишь игру в ill2cpp, то её не смогут вскрыть, и уж тем более разобрать. А те кто смогут, они вообще в другой области обитают, и никогда в жизни не встретятся.
Аноним 08/08/22 Пнд 12:09:41 826323 146
>>826321
>код становится нечитабельный от слова совсем
Дядь, как минимум публичные классы и публичные методы сохраняют свои названия. Можно воссоздать структуру кода.
Аноним 08/08/22 Пнд 12:20:21 826325 147
image.png 141Кб, 1184x691
1184x691
>>826313
Короче смотри, немного советов. Старайся писать такие методы, которые выполняют одно конкретное действие. В твоём случае две проблемки:
1) Метод, помимо простого создания кнопок, ещё и заполняет массив объекта. Это уже два разных действия.
2) Твой метод знает структуру компонентов на кнопках, а он не должен этого знать. Тебе нужно создать для таких кнопок отдельный компонент, который внутри себя уже будет задавать имя, текст и тому подобное. Если ты изменишь структуру кнопки, тебе не придётся переписывать код извне, тебе нужно будет лишь изменить OptiоnВuttоn.
Аноним 08/08/22 Пнд 12:31:01 826329 148
1.png 10Кб, 675x149
675x149
>>826321
>А вот это пиздёшь
А знаешь, почему имена функций сохраняются? Да потому что краш дампы, логи, коллстаки. А там везде корректные имена, вот так "неожиданность". Да даже дебаг сборка сообщает в профайлер имена, хотя с твоих слов, она их "не знает".
На пике метаданные после il2cpp сборки, мне было лень создавать странное, просто создал новый дефолтный скрипт, собрал игру и нашёл его в сборке. На основе этих имен уже какая-нибудь ида может полностью разобрать всю логику и структуру игры.
>С 99.9% вероятностью если скомпилишь игру в ill2cpp
То её разберут каким-нибудь опенсорсным ill2cpp инспектором в один клик.
Аноним 08/08/22 Пнд 12:38:25 826331 149
>>826329
Я вот недавно узнал об всех этих декомпиляциях и возник вопрос. А как прятать пароли тогда? Допустим, ты из кода подключаешься к БД или к рекламному аккаунту. Получается, у любого человека есть этот код, если он скачал игру.
Аноним 08/08/22 Пнд 12:39:13 826332 150
>>826329
>То её разберут каким-нибудь опенсорсным ill2cpp
А его нету дятел. Бесплатно ты никак не вскроешь залётышь. Только моно.
Аноним 08/08/22 Пнд 12:40:02 826333 151
>>826331
Да не слушай бредни этого мамкиного хакера. Пустой проект он вскрыл, а не готовую игру.
Аноним 08/08/22 Пнд 12:40:38 826335 152
>>826313
>у меня выбор, либо писать отдельный метод для спавна кнопок именно скилов, либо взять стандартный, который наспавнит вообще все скилы и удалить лишние.
Ну и почему ты выбрал второе? У тебя уже есть способ определить, какие кнопки нужны персонажу - вот и добавь эту проверку в свой код создания кнопок, тогда ничего удалять не придётся.

А в идеале, если твоя игра предполагает переключение между персонажами разных классов, что потребует переключение кнопок, нужно создать все возможные кнопки и затем часть из них скрыть с экрана, но не уничтожать. И при переключении персонажа останется только включать и выключать видимость кнопок.
Аноним 08/08/22 Пнд 12:45:23 826336 153
>>826331
>Допустим, ты из кода подключаешься к БД или к рекламному аккаунту
Это два разных случая.

- Работа с БД: у тебя не должно быть прямого доступа к базе данных. Ты должен написать свой REST API. Пользователь сначала аутентифицируется, после посылает запросы. Все запросы тщательно проверяются твоим кодом.
- Работа с рекламным аккаунтом: в твоей игре хранится ключ доступа, который можно легко вытащить. Но что это даст тому, кто его получит? Да ничего, в общем-то.
Аноним 08/08/22 Пнд 12:46:40 826337 154
>>826331
>>826333
Лол, речь шла о названиях функций, которые программе для штатной работы не нужны совсем. Пароль вы сохраняете как строковую константу, а такие константы попадают в исполняемый файл вообще в открытом виде, если не использовать шифрование и сжатие, которое, во-первых, не даёт абсолютной защиты, а, во-вторых, вызывает негодование антивирусов, которым хочется посмотреть на ваш код в наиболее чистом виде.

Вывод: расслабиться и принять неизбежное. Нормальная система защищена от взлома даже с известным паролем, то есть ключ-то у тебя есть, да открыть им ничего нельзя...
Аноним 08/08/22 Пнд 12:51:00 826338 155
>>826336
>Работа с рекламным аккаунтом: в твоей игре хранится ключ доступа, который можно легко вытащить. Но что это даст тому, кто его получит? Да ничего, в общем-то.
Сделать 100500 запросов в секунду, чтобы твой аккаунт забанили за накрутку. Когда ты патчем сменишь ключ, повторить снова. И так пока ты не сойдёшь с ума, не удалишь игру с маркета или не выплатишь указанную сумму на высланный с одноразового почтового ящика криптокошелёк. Но поскольку ты пытаешься заработать на рекламе в 2022, денег у тебя нет, следовательно, останется только удалить рекламу из игры или бросить геймдев.
Аноним 08/08/22 Пнд 12:53:59 826339 156
>>826338
Это всё фантазии. Реальный случай знаешь хоть один?
Аноним 08/08/22 Пнд 12:56:20 826341 157
>>826339
А он действительно описал реальную ситуацию. Бросаю геймдев.
Аноним 08/08/22 Пнд 12:57:31 826343 158
>>826331
>у любого человека есть этот код, если он скачал игру
Очевидно, что да. Ты можешь его запаковать так, что он в принципе не будет вскрываться. Ну, допустим, используешь чёрную магию. А я скачаю снифер, какой-нибудь wireshark, и просто перехвачу его в процессе передачи по сети. Либо если у тебя БД прямо в игре и она зашифрована. То какой-нибудь уёбок напишет утилиту, которая находит ключ по сигнатуре и всё проёбано. Либо ты используешь AES шифрование и окажется, что AES key finder уже существует.

>>826332
Кек. Если ты долбоёб и о чём-то не слышал, это совсем не значит, что этого не существует. Вот пример тебе бесплатной опенсорсной утилиты.
https://github.com/Perfare/Il2CppDumper
Если бы ты немного больше знал о гейдеве, то слышал бы о вскрытии зашифрованного по самый анус хонкай импакта. Или хотя бы о вскрытии покемонов.
Аноним 08/08/22 Пнд 12:58:25 826344 159
>>826341
>А он действительно описал реальную ситуацию
А ещё на улице тебе можно сверху прилететь кирпич или сосулька, и ты умрёшь на месте. Бросай выходить из дома!
Аноним 08/08/22 Пнд 12:59:01 826345 160
>>826316
>А что за SecоndaryВuttоn? Что это означает?
ну типа нажимашь примари кнопочку Class в примари секции, после этого в секондари секции спавнятся секондари кнопки с названиями классов. По названиям объектов в сцене создания персонажа там все достаточно понятно.

>>826325

Спасибо за конструктив, покумекаю.

>>826317
ну покажи как надо.
Аноним 08/08/22 Пнд 13:01:36 826347 161
>>826343
>https://github.com/Perfare/Il2CppDumper
>Если бы ты немного больше знал о гейдеве, то слышал бы о вскрытии зашифрованного по самый анус хонкай импакта.
Тупое ты животное каким местом ты читаешь? Там же я написал - 99.9% что твою игру не вскроют, и тут же приводишь пример игр-гигантов, которые как раз вксрывают, какая юы там не была защита.
Никто, никогда не вскроет твою игру если ты её запакуешь ill2cpp. Воот вообще без исключений.
Люди которые это могут сделать, не станут тратить своё время которое дороже твоей игры.
Аноним 08/08/22 Пнд 13:01:48 826348 162
>>826335
>Ну и почему ты выбрал второе? У тебя уже есть способ определить, какие кнопки нужны персонажу - вот и добавь эту проверку в свой код создания кнопок, тогда ничего удалять не придётся.

ну как вариант. ну типо у меня супер черновое уи только чтобы дойти до первой геймплейной сцены. Т.е. тут вообще не принципиально.
Аноним 08/08/22 Пнд 13:04:39 826351 163
>>826347
Почему ты такой конченый?
Аноним 08/08/22 Пнд 13:05:48 826352 164
>>826347
>Люди которые это могут сделать
Это бесконечное множество на самом деле - каждый может скачать дампер с гитхаба и распаковать. В том числе по моей ссылке. Хотя это далеко не единственный дампер. А хонкай я привел в пример потому, что там использовано дополнительное шифрование в плюс ко сборке в cpp. То есть задача была усложнена в несколько раз и всем похуй. Вскрыли не особо популярную игру просто потому что могут.
Аноним 08/08/22 Пнд 13:13:34 826353 165
>>826352
Если бы я сомневался в своих словах, я бы сказал так - давай я запакую свою игру, пришлю, и если у тебя получится хоть что-то разобрать в коде пришлю 5к.
Но я уверен что ниодин сидящий на этой доске пчелик не сможет вскрыть ill2cpp.
Те кто смогут скорее всего будут брать в долларах и с несколькими нулями. Делай выводы.

>>826351
То что я попускаю фантазёров нагугливших ссылки не способных даже прочитать что они делают? У меня в отличии от них был опыт, и скажу что это пиздец дрочь, и не на готовых решениях.
Аноним 08/08/22 Пнд 13:15:51 826355 166
налетай 1.jpg 327Кб, 1233x964
1233x964
налетай 2.jpg 91Кб, 1253x793
1253x793
Чуваки, налетай... лол
Аноним 08/08/22 Пнд 13:16:48 826356 167
Аноним 08/08/22 Пнд 13:18:32 826357 168
>>826354
Ты только анус себе можешь вскрыть пёс. Если не жалко времени сделай проект, создай один скрипт, напиши пару функций, и запакуй в ill2cpp. Потрать пару дней ебли и пойми что ты тупое чмо, но никто же не узнает что именно ты тот пиздабол, и как не в чём не бывало вернись на сосачик чатиться дальше.
Аноним 08/08/22 Пнд 13:19:53 826358 169
>>826353
>Но я уверен
Так а я уверен в том, что ты долбоёб. И выше там был скриншот с распаковкой моего проекта, собранного в il2cpp. То есть ты долбоёб слепошарый, что даже хуже. И что дальше? Опять же, повторюсь, любой может проверить, что имена функций сохраняются юнити в первозданном виде. Дебаг сборка в il2cpp, потом запускаем профайлер и смотрим. Я даже могу повториться и написать, в каком именно дат файле все имена зашиты, но чего ради, если ты слепошарый и не сможешь прочесть?
Аноним 08/08/22 Пнд 13:28:52 826365 170
>>826313
Орнул с Add(Instantiate) и потом редактирование нужных параметров по индексу.
Аноним 08/08/22 Пнд 13:31:39 826366 171
>>826365
я сам с этого орал.
Аноним 08/08/22 Пнд 15:05:52 826380 172
налетай3.jpg 108Кб, 931x474
931x474
Чисто для господ, не могущих в чтение кода.
Аноним 08/08/22 Пнд 15:15:31 826381 173
image.png 346Кб, 931x474
931x474
Аноним 08/08/22 Пнд 15:17:52 826383 174
>>826355
НУ И В ЧЁМ ОН НЕ ПРАВ НАХУЙ?
меня только бесит хуйня с 0 ? 1 : слишком непонятно для меня, никогда вообще не понимал и не мог запомнить, как это работает
Аноним 08/08/22 Пнд 15:24:37 826384 175
>>826383
>0 ? 1 : слишком непонятно для меня, никогда вообще не понимал и не мог запомнить, как это работает
Слева от знака вопроса результат от сравнения, true или false, слева от двоеточия это то что присвоится если результат == true, справа если false. x = true ? 1 : 2; -- в результате x будет равен 1.
Аноним 08/08/22 Пнд 15:26:46 826385 176
самговно.jpg 270Кб, 1472x766
1472x766
>>826381
Визгливая анскильная хуйлуша
Аноним 08/08/22 Пнд 15:32:14 826386 177
image.png 43Кб, 456x59
456x59
>>826380
Что за тип у skillName? Не понял зачем вызывать .ToString()
Аноним 08/08/22 Пнд 15:33:22 826387 178
>>826385
>твои варианты как доставить в кнопку эвент
Явно не этой хуйней долбоебина.
Аноним 08/08/22 Пнд 15:37:31 826388 179
Аноним 08/08/22 Пнд 15:44:20 826389 180
>>826386
Потому что это енам и он тут неявно не конвертится в стринг

>>826387
ясно. клоун первый раз увидел, что эвент в кнопку можно добавить не через плюсик в редакторе лол.
Аноним 08/08/22 Пнд 15:46:12 826391 181
>>826389
>юзает UnityAction
>называет кого-то клоуном
Аноним 08/08/22 Пнд 15:48:31 826392 182
Managers.PlayerGroup.playerGroup[0]

вот это я наверное даже переделаю. хардкод все равно будет дальше, но если я захочу чтобы игрок создавал не одного персонажа, а всю группу сразу, его количество не увеличится пропорционально количеству персонажей.
Аноним 08/08/22 Пнд 15:55:34 826395 183
>>826392
> Managers.PlayerGroup.playerGroup[0]
Немного сбивает с толку. Может лучше как-то так:
Game.PlayerGroupManager.GetCharacterAt(0)

Просто прямое обращение к массиву супер не интуитивное. И вот это повторение "PlayerGroup.playerGroup".
Аноним 08/08/22 Пнд 16:07:17 826397 184
>>826395
мм.

>PlayerGroupManager.GetCharacterAt(0)
возможно.
> PlayerGroup.playerGroup

согласен, самому давно режет глаз.

>>826391
чмохен, заебал визжать, серьезно. Я просто не понимаю, ради чего ты это делаешь? точнее я понимаю, что ты несчастен, но типо от того, что ты пытаешься обосрать мой код, который я сам же по рофлу выкладываю, твоя жизнь лучше не станет. Перестань быть дваче чмохой, стремись к лучшему лол. Иди прочитай про как эвенты и делегаты работают, с которыми ты уже не первый раз обкакиваешься, оно же всяко полезнее будет..
Аноним 08/08/22 Пнд 16:09:56 826398 185
Хай юнитач. Пилю систему сохранения с горем пополам сделал все через ПлауерПрефс. Вопрос, как теперь сделать, чтобы все загружалось из меню как в нормальных играх типа Свитков или Фейбла. Т.е. у меня в меню сохранения должны не переписываться одно и тоже сохранение, а чтобы создавалось много строк, которые можно выбирать кликая мышкой двойным щелчком или выбирать мышкой и нажимать кнопочку загрузка.
Аноним 08/08/22 Пнд 16:15:24 826399 186
>>826383
Двачую этого. Всегда пригрываю с этих понтарезв которые пользуются энтернал проверкой. Типо если ты можешь проверку записать в одну строку ты неибаться крут.
Аноним 08/08/22 Пнд 16:23:19 826401 187
>>826398
очевидно нужно сохранять в отдельные файлы на диске а не срать в реестр
Аноним 08/08/22 Пнд 16:24:36 826403 188
>>826398
>все через ПлауерПрефс
А через файлы не хочешь? Обычно в играх через файлы всё делают и хранят в 'Мои документы'.

В любом случае, тебе понадобится JSON:
https://docs.unity3d.com/ru/530/Manual/JSONSerialization.html

Раз ты хочешь через PlayerPrefs, то делаем следующим образом:
1) Сохраняем все сохранения по именам
PlayerPrefs.SetString("save_list", string.Join("\n", saveList));
2) Далее сохраняем сохранение
PlayerPrefs.SetString(saveName, JsonUtility.ToJson(saveData));

Как загружать думаю сам разберёшься. string.Split + JsonUtility.FromJson<SaveData>(...);

Далее можешь их отсортировать по дате сохранения. Дата должна храниться в классе SaveData.
Аноним 08/08/22 Пнд 16:28:39 826405 189
>>826399
Он тут пишет о том, что путается в том, как работает тернарный оператор, длина строки тут не при чем.
Аноним 08/08/22 Пнд 16:29:12 826406 190
>>826284
Ты скозал? Вот только в жизни такая концепция работает только у программистов, а не у юнити кодеров, пишущие скрипты.
Несколько раз пытался реализовать таким способом пули и всегда обсирался.
Аноним 08/08/22 Пнд 16:45:37 826410 191
>>826395
>GetCharacterAt(0)

У меня вообще в принципе к свойствам идет обращение просто через чистый get;. насколько я понимаю будет лучшей практикой переделать подобные вещи на функции с именами ГетПроперти?
Аноним 08/08/22 Пнд 16:57:40 826411 192
image.png 139Кб, 1423x65
1423x65
>>826410
Нет, ты меня не так понял. Тебе нужно разделять ответственность, а не просто делать обёртку над доступом к полям. У тебя в принципе не должно быть прямого доступа к внутреннему устройству класса. И работу с компонентами >>826355 желательно скрыть в отдельном классе ОptiоnButtоn как я показал здесь >>826325

Допустим, пикрелейтед код можно сделать гораздо удобнее как-то так:
оptiоnButtоn.IsМinimum = ...;
оptiоnButtоn.IsМaximum = ...;

Внутри этих свойств или методов ты уже обращаешься к чилдренам, задаёшь intеrаctаblе и тому подобное.
Аноним 08/08/22 Пнд 17:02:20 826412 193
>>826411
> оptiоnButtоn.IsМinimum = ...;
> оptiоnButtоn.IsМaximum = ...;
Можно назвать IsPlusEnabled / IsMinusEnabled, чтобы тебе ещё понятнее было. Или сделать методы SetPlusEnabled() / SetMinusEnabled(). Это уже сам смотри.
Аноним 08/08/22 Пнд 17:12:17 826417 194
>>826397
>Я просто не понимаю, ради чего ты это делаешь?
Глумлюсь над безыгорным, только и всего.

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

>Иди прочитай про как эвенты и делегаты работают
Лучше ты расскажи своими словами хочется еще посмеяться
Аноним 08/08/22 Пнд 17:13:04 826419 195
>>826403
Не-не я примерно понимаю, как работает ПлауерПрефс и Джейсон, вообще сначала хотел сделать сохранение бинарным способом, как диды на чистом шарпе. Но не суть. Мне именно не понятно, как по средством юнити сделать строку которую я создаю на экране загружая её из сохранений кликабельной. Мне нужно с новой строкой создавать компонент кнопки или как то прикреплять эвенты к строке и считывать их райкастом при наведении курсора мыши на строку?
Аноним 08/08/22 Пнд 17:22:30 826424 196
image.png 484Кб, 1196x1221
1196x1221
>>826419
Ну, анон, это совсем базовые вещи. Посмотри на ютубе туториалы, как создавать интерфейс. У тебя должен быть создан интерфейс со списком. Далее ты создаёшь префаб(либо Template), который будет представлять элемент списка. И под каждое загруженное сохранение ты создаёшь новый объект, который копирует префаб.
Аноним 08/08/22 Пнд 17:28:53 826425 197
Аноним 08/08/22 Пнд 17:39:59 826427 198
>>826411
У меня до переделки классов с разделением ответственности руки не дошли еще вообще, а начал вообще буквально с самого начала. Типо я не понимаю нахуя мне Value {get:private set} с которым получается я одно получаю с гетом, а для второго юзаю публичный метод, если, например, я могу сделать просто приватный филд и два метода к нему.
Аноним 08/08/22 Пнд 17:41:07 826428 199
uiElem.png 12Кб, 477x301
477x301
>>826424
Cовсем не трушный путь, с префабами-то.
Аноним 08/08/22 Пнд 18:04:29 826432 200
изображение.png 97Кб, 1417x640
1417x640
изображение.png 103Кб, 1221x739
1221x739
Ебать вы сегодня оживленные. У меня че-то трудность с присваиванием одного кода к двум объектам, которые должны прогонять одну анимацию.

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

Я добавил аниматор и анимации на один префаб, но второй префаб с тем же аниматором и анимацией не хочет работать, само собой. Анимирован ведь первый префаб, а не второй.

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

Код на пиках. Первый скрипт отвечает за триггер, второй за анимацию ворот.
Аноним 08/08/22 Пнд 18:11:23 826434 201
>>826432
Нормально у тебя анимации проигрываются 30 раз в секунду. Не надо такие вещи пихать в апдейты. По поводу аниматора - понятно что аниматор одинаковый, но экземпляры этого аниматора это разные объекты, так что надо на каждом запускать анимацию по отдельности. Можно это делать из одного места через какой-нибудь менеджер дверей.
Аноним 08/08/22 Пнд 18:12:56 826435 202
>>826434
А какие методы использовать? Я думал фикс апдейт самый медленный по кадрам
Аноним 08/08/22 Пнд 18:17:23 826437 203
>>826435
Ну вообще такие вещи через эвенты делаются, но ты пока хотя бы булевый флаг сделай что анимация стартовала. Типа if(bossIsDead && !gateOpenAnimationStarted), void GateOpen() { gateOpenAnimationStarted = true; бла-бла }
Аноним 08/08/22 Пнд 18:22:22 826438 204
>>826437
А зачем мне gateOpenAnimationStarted, если я запускаю анимацию сразу после смерти босса? Пока босс не мертв только единожды проигрывается закрытие ворот
Аноним 08/08/22 Пнд 18:34:36 826441 205
image.png 7Кб, 235x115
235x115
Аноним 08/08/22 Пнд 18:41:20 826443 206
>>826441
Так у меня в игре один раз проигрываются анимации закрытия и открытия. Если дело конкретно в фиксе, который внутри себя 30 раз за секунду нагружает память для одной анимации, то дело другое. Ты gateOpenAnimationStarted придумал для этого или зачем?
Аноним 08/08/22 Пнд 19:26:14 826452 207
>>826443
братик, сделай ивентом, а то кровь из глаз. Все проще чем кажется, какой либо контроллер локации где будет ивент Action<BossPrototype> OnBossDead, будешь сразу отписываться и запускать анимацию.

другой анон
Аноним 08/08/22 Пнд 21:29:06 826490 208
123321.webm 531Кб, 1920x1120, 00:00:29
1920x1120
Ну все, легчайшее меню готово. Теперь тестовая локация, система квестов, магии, инвентарь, противники, боевка, заебись.
Аноним 08/08/22 Пнд 21:57:19 826491 209
>>826490
Надеюсь игру к 2030 году доделаешь.
Аноним 08/08/22 Пнд 22:05:14 826494 210
>>826491
Завистливая чмоня
Аноним 08/08/22 Пнд 23:16:12 826512 211
>>826490
Блин, братан, ты так парился чтобы сделать плейсхолдерное меню, да еще и сделал через жопу. Освой уже MVP и не еби себе мозг.
Аноним 08/08/22 Пнд 23:20:17 826514 212
>>826490
>UI
Интересный подход, я вначале zenject, addressable, UniTask ставил и писал контроллер по загрузке ресурсов xD

сорян не удержался
Аноним 08/08/22 Пнд 23:21:30 826516 213
>>826490
Сейчас угадаю ты не использовал Toggle group? xDDDDD
Аноним 08/08/22 Пнд 23:44:41 826520 214
>>826512
Москва не сразу строилась, братишка.
Аноним 09/08/22 Втр 00:01:03 826528 215
>>826514
Понаставил новомодных костылей и рад.
Аноним 09/08/22 Втр 11:28:44 826573 216
>>826516
Сейчас угадаю ты везде используешь Toggle group? xDDDDD
Аноним 09/08/22 Втр 21:30:26 826670 217
>>826432
Недавно программируешь на юнити похоже

Класс Gate лучше назвать как-то вроде GateTrigger, чтобы понятно было, что он делает. Проверка на плеера не нужна, вместо этого можно и нужно добавить значение поля "player" в инспекторе (А ещё по-хорошему ещё заменить "public" на "[serializefield] private", но это так, на будущее) и уже это значение сравнивать с коллайдером, попавшим в триггер. Дальше вместо онТриггерСтей делаешь метод OnTriggerEnter и в нём проверяешь, является ли коллайдер коллайдером плеера. Дальше прямо от туда вызываешь метод open в классе "опен-клоз-скрипт", который как раз должен называться Gate. Можешь либо через список/массив добавить несколько ворот, либо через менеджер. А потом методы закрывающие ворота вызывает сам бот после смерти.
Аноним 09/08/22 Втр 21:49:30 826676 218
>>826516
>>826573
>Toggle group
Поясните. Никогда раньше не использовал, сейчас почитал что это, но так и не понял какой смысл в нём? Или для чего он нужен?
Аноним 09/08/22 Втр 22:15:15 826680 219
Аноним 09/08/22 Втр 22:16:06 826681 220
image 13Кб, 478x153
478x153
16472953657170.mp4 3777Кб, 720x720, 00:00:21
720x720
Аноним 09/08/22 Втр 23:12:23 826686 221
>>826676
Ну смотри. Пример использования >>826516 тоглгруппой. Видишь видео с интерфейсом на вертикал лейоут группе кнопок. Говоришь, что тут типа тоглгруппу нада использовать, с кнопками. Окружающим становится ясно, что ты, если говорить корректно, особенный.
Аноним 09/08/22 Втр 23:18:38 826687 222
Аноним 10/08/22 Срд 03:30:44 826699 223
Аноним 10/08/22 Срд 05:32:04 826700 224
>>826680
лучше бы микрософты купили
Аноним 10/08/22 Срд 12:32:08 826723 225
Ищу следующее:
Кажется несколько лет назад очень много было упоминаний одного плагина.

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

Напомните название?
Аноним 10/08/22 Срд 12:35:07 826724 226
image.png 342Кб, 1200x675
1200x675
Аноним 10/08/22 Срд 13:38:35 826736 227
>>826724
Если он действительно об этом, то не понимаю как это упрощает жизнь. Я свободно ебашу скрипты, но в этом дерьме потратил немало времени, чтобы набросать даже самый простой говнокод. Оптимизированный код без костылей через этот калл написать невозможно, как я понял. Боюсь представить, что оно генерирует, если попробовать сделать хотя бы что-то сложнее циклов и массивов.
Аноним 10/08/22 Срд 14:18:39 826742 228
>>826724
>>826736
Да, это оно. Вообще его в том же /gd и посоветовали.
Аноним 10/08/22 Срд 14:28:25 826744 229
image.png 30Кб, 772x193
772x193
Так оно же теперь по дефолту доступно? Плагин больше не нужон, можно спокойно вкатываться?
Аноним 10/08/22 Срд 14:57:55 826749 230
>>826744
>можно спокойно вкатываться?
Это бесполезное говно, ты на его изучение только время потеряешь. Существует только для того чтоб привлекать ньюфагов картиночками с лапшой, других задач у этого плагина нет.
Аноним 10/08/22 Срд 15:08:50 826755 231
>>826437
>>826452

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

void Start()
{
Action a = WritteHello();
a.Invoke();

}

void WritteHello()
{
Debug.Log("Hello");
}

У меня не работает Action. Я загуглил, это какой-то делаегат, как его добавить?
Аноним 10/08/22 Срд 15:24:39 826757 232
>>826755
всем похуй что у тебя там работает или не работает, что консоль пишет?
Аноним 10/08/22 Срд 15:29:11 826759 233
>>826757
Assets\Scripts\EventSys.cs(10,9): error CS0246: The type or namespace name 'Action' could not be found (are you missing a using directive or an assembly reference?)
Аноним 10/08/22 Срд 15:29:41 826760 234
15683921024310.webm 483Кб, 500x494, 00:00:09
500x494
>>826759
Чел, не позорься. Учи c# с нуля.
Аноним 10/08/22 Срд 15:30:46 826761 235
>>826755
>Action a = WriteHello;
или
>Action a = () => { WriteHello(); // anything else }
Аноним 10/08/22 Срд 15:37:48 826765 236
>>826761
ни о чем не говорит
Аноним 10/08/22 Срд 15:42:46 826768 237
>>826765
Тогда съеби из программирования, это не твое.
Аноним 10/08/22 Срд 15:44:08 826769 238
изображение.png 683Кб, 900x960
900x960
Аноним 10/08/22 Срд 15:44:43 826770 239
>>826755
Не понял, как ты обращаешь из разных подпространств к функции? Ты уверен что именно так и было в видео?
Аноним 10/08/22 Срд 15:47:17 826771 240
изображение.png 867Кб, 2560x1440
2560x1440
изображение.png 132Кб, 2560x1440
2560x1440
>>826770
Да вроде бы я так же пишу, как он. Первый скрин видоса, второй мой.
Аноним 10/08/22 Срд 15:48:22 826772 241
>>826755
>Action a = WritteHello();
Без скобочек надо, Action a = WritteHello;

Экшоны конечно не так юзаются. Делаешь эвент
public event Action OnMaximumZalupa;
в нужном месте инвокаешь его ... if(zalupaCount > 999) OnMaximumZalupa?.Invoke();
и эвент обработают те кто на него подписался ZalupaCheker.OnMaximumZalupa += () => zalupaUIText.text = "maximum zalupa".
Аноним 10/08/22 Срд 15:50:31 826773 242
>>826771
Ты скрипт то на какой-нибудь объект накинул?
Аноним 10/08/22 Срд 15:51:23 826775 243
>>826772
>Без скобочек надо, Action a = WritteHello;
Да, это я поправил, но все равно не работает.
>
public event Action OnMaximumZalupa;
в нужном месте инвокаешь его ... if(zalupaCount > 999) OnMaximumZalupa?.Invoke();
и эвент обработают те кто на него подписался ZalupaCheker.OnMaximumZalupa += () => zalupaUIText.text = "maximum zalupa".

Ну к этому я наверное чуть позже дойду, пока мне это мало что объясняет. Пока что тупняк на расхождении с видосом.
Аноним 10/08/22 Срд 15:52:23 826776 244
>>826773
На что накинуть скрипт, если он не работает? У меня игра даже не запустится, пока ошибку не уберу.
Аноним 10/08/22 Срд 15:52:55 826777 245
>>826759
>The type or namespace name 'Action' could not be found (are you missing a using directive or an assembly reference?)
пчёл...
using System;
Аноним 10/08/22 Срд 15:54:17 826778 246
>>826777
Он реально целый час не мог это исправить. Зря ты ему написал. Дебил даже не может построчно проверить 8 строчек кода. Не говоря уже про гугл ошибки.
Аноним 10/08/22 Срд 15:55:09 826779 247
>>826777
Бля, помогло. Я думал я и так в системе, раз у меня System.Collections;
System.Collections.Generic;

Спасибо
Аноним 10/08/22 Срд 15:56:04 826780 248
>>826749
Но я не кодер, а моделлер и мне гораздо лучше будет привыкнуть к этим нодам
Аноним 10/08/22 Срд 15:56:22 826781 249
>>826778
Жаль я не такой умный как ты, мне вот приходится с тобой еще общаться
Аноним 10/08/22 Срд 15:59:33 826783 250
>>826780
Ну стань кодером. Или тебе жить осталось неделю? Зачем привыкать к говну?
Аноним 10/08/22 Срд 16:01:32 826784 251
>>826780
Там ровно тот же код, но квадратиками с текстом. Ничего не упрощено, нужно знать все нюансы программирования. Только вместо того, чтобы писать весь код, ты пишешь начало названия метода или объекта и выбираешь его мышкой. Базовое программирование в юнити проще простого, любой разберется.
Аноним 10/08/22 Срд 16:07:15 826787 252
image.png 231Кб, 555x411
555x411
>>826780
имхо чтобы работало, не надо уметь хорошо программировать
Аноним 10/08/22 Срд 16:17:33 826790 253
>>826783
>>826784
>>826787

Господь всемогущий, а можно я просто подгружу все свои модельки, куда то щелкну и персонаж просто сможет передвигаться и вызывать квестовые окна при взаимодействии с нпс
Аноним 10/08/22 Срд 16:30:35 826796 254
>>826790
а ты и не обязан уметь собсна,
найди себе прогера и кидай свои модельки ему
Аноним 10/08/22 Срд 16:32:09 826797 255
>>826796
Так ему на что то кушать нужно будет, а у меня нет возможности оплачивать фул тайм разработку.
Аноним 10/08/22 Срд 16:34:46 826799 256
>>826797
а не секрет, что за проект чтоб нужен был прогер на фултайм?
Аноним 10/08/22 Срд 16:38:05 826802 257
>>826790
>а можно я просто подгружу все свои модельки
Это и так делается мышкой
>персонаж просто сможет передвигаться
Три строчки
>вызывать квестовые окна при взаимодействии с нпс
Лол. Ты думаешь лапшину протянуть и окна с квестами магическим образом возникнут из ниоткуда? Это писать надо, готового ничего нет.
Аноним 10/08/22 Срд 16:38:53 826803 258
>>826799
Ничего особенного, рпг с изометрическим видом

>>826802
Неужели отображение xml в окошке - требует много знаний и сил?
Аноним 10/08/22 Срд 16:45:51 826806 259
>>826803
>Неужели отображение xml в окошке - требует много знаний и сил?
Отображение xml в окошке не требует много знаний. Реализация задачи "вызывать квестовые окна при взаимодействии с нпс" - требует. Нормально ты квестовую систему свёл к показу хмл в окне, удачи в разработке хуле.
Аноним 10/08/22 Срд 17:06:56 826816 260
>>826770
> из разных подпространств
А я вот вообще в альтернативной реальности
Аноним 10/08/22 Срд 18:23:27 826830 261
>>826796
>найди себе прогера
А может, мне ещё и тян найти, а? Если бы это было так просто, я бы тут с вами не сидел.
Аноним 10/08/22 Срд 18:25:25 826831 262
Это другой чел ответил, я не натурал >>826830
Аноним 10/08/22 Срд 18:33:45 826835 263
>>826830
Так давай я буду твой прогером? Что скажешь?
Аноним 10/08/22 Срд 18:45:56 826836 264
Аноним 10/08/22 Срд 18:57:40 826837 265
>>826836
Ну я знаю С# и Unity.
Аноним 10/08/22 Срд 19:06:28 826838 266
В общем раз уж тут речь зашла ищу бесплатно прогера (соберете себе портфолио), нужно быть онлайн с 9:00 до 21:00 и возможность сразу откликнуться, рабочая неделя - 5 дней со вторника по субботу.

Еще небольшие требования:
- желательно глубокое знание юнити
- не женат
-рыжий или шатен
Аноним 10/08/22 Срд 19:12:40 826839 267
>>826838
>нужно быть онлайн с 9:00 до 21:00
Чек

>возможность сразу откликнуться
Чек

>рабочая неделя - 5 дней со вторника по субботу.
Чек

>желательно глубокое знание юнити
Знаю на 5+!

>не женат
Ес!

>рыжий или шатен
Чек

Куда писать?
Аноним 10/08/22 Срд 19:16:55 826840 268
>>826839
Ладно, если серьезно я подготовлю презентацию своего проекта, и опубликую здесь или еще в паре тредов с контактами, может когда визуально все будет видно, найдется человек с 5-6 лишними часами в неделю
Аноним 10/08/22 Срд 19:24:14 826841 269
>>826755
https://www.youtube.com/watch?v=vmAiOSH8zCE

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

public class InventoryController
{
public static event Action<int> OnMoneyAdded;

public bool TryAddMoney(int amount)
{
if(amount <= 0)
return false

var currentMoney = PlayerPrefs.GetInt("playerMoney", 0);

PlayerPrefs.SetInt("playerMoney", current + amount)

OnMoneyAdd?.Invoke(current + amount) //вызываешь

return true;
}
}

public class UIBag
{
public TMP_Text moneyAmount;

void OnEnable()
{
InventoryController.OnMoneyAdded += UpdateMoneyView //подписка
}

void OnDisable()
{
InventoryController.OnMoneyAdded -= UpdateMoneyView //отписка
}

private void UpdateMoneyView(int amount)
{
moneyAmount.text = amount.ToString()
}

Здесь дженерик <int> это тип доп инфа которую хочешь получить.

}
Аноним 10/08/22 Срд 19:36:44 826844 270
>>826778
И вновь еблан тешит своё чсв, тратит силы и время вместо того чтобы просто ответить на вопрос.

Вывод: ты не выше джуниора
Аноним 10/08/22 Срд 19:48:02 826845 271
>>826835
А может, ты будешь моей тян? Как тебе идея?
Аноним 10/08/22 Срд 19:49:26 826846 272
>>826831
>я не натурал
Тяночка-лесбияночка, ты?
Аноним 10/08/22 Срд 19:50:30 826847 273
>>826845
Эээээээ, нууу... не знаю... это как то внезапно..
Аноним 10/08/22 Срд 19:52:13 826848 274
В общем раз уж тут речь зашла ищу бесплатно тяночку (соберете себе портфолио ебанутые бывших), нужно быть у меня дома с 9:00 до 21:00 (после девяти жена возвращается с работы) и возможность сразу откликнуться на приглашение к интиму, рабочая неделя - 5 дней со вторника по субботу.

Еще небольшие требования:
- желательно глубокое знание мужской анатомии
- не замужем
-рыжая или шатенка
Аноним 10/08/22 Срд 19:52:23 826849 275
>>826841
Я попробую во всем этом разобраться, спасибо
Аноним 10/08/22 Срд 19:53:43 826850 276
>>826847
Не переживай, всё будет отлично! Будем под поединком обсуждать свежие версии Юнити.
Аноним 10/08/22 Срд 19:54:51 826851 277
Аноним 10/08/22 Срд 19:59:04 826852 278
>>826850
Извини, но я вынужден отказаться от данной позиции.
Аноним 10/08/22 Срд 20:08:32 826853 279
>>826852
Под пледиком, не поединком! Это автоисправление. Нам не придется драться, не бойся! Ты из какого города?
Аноним 10/08/22 Срд 20:58:20 826863 280
Как вам идея портировать на юнити старые гба игры про Покемонов, но в 3д ?

Нинка сильно возбудится если разместить это потом на itch?
Аноним 10/08/22 Срд 21:05:13 826865 281
>>826863
>Как вам идея портировать на юнити старые гба игры про Покемонов, но в 3д ?
Хорошая идея. Начинай делать.

>Нинка сильно возбудится если разместить это потом на itch?
Тебя моментально выебут.
Аноним 10/08/22 Срд 21:05:37 826866 282
>>826863
Идея интересная, но насколько это сложно?

Я вот подобную идею вынашивал после прохождения хреногеарс, даже карты в 3д скачал с текстурами готовые, покрутил в 3дмаксе, сделал вывод, что даже просто перекатить гемор, нужна команда
Аноним 10/08/22 Срд 21:05:57 826867 283
>>826863
>Нинка сильно возбудится если разместить это потом на itch?
Двачую >>826865 это компания просто выебет и высушит и за меньшее.
Аноним 10/08/22 Срд 21:31:29 826873 284
image.png 1161Кб, 1600x900
1600x900
>>826867
>>826865
Но фактически меня просто забанят как и мою поделку, так ведь?

>>826866
Если брать конкретно игры этой франшизы - то там самое сложное это запилить боевку и характеристики. Перенести самих покемонов (даже если пилить их с нуля) конечно займет время, но с этим справится даже школьник.
На пикриле образец 2019 года.
Аноним 10/08/22 Срд 21:35:46 826874 285
>>826873
>Но фактически меня просто забанят как и мою поделку, так ведь?
Просто проебешь год на разработку игры, и тебя просто забанят. Так как ты и не собираешься ничего пилить то всё выходит еще проще.
Аноним 10/08/22 Срд 21:38:18 826875 286
>>826874
Саму сюжетку конечно пилить лень. А вот сама основа - то есть выбор команды и баттлер, это уже интереснее. А если прикрутить сетевую то будет еще интереснее.
Аноним 11/08/22 Чтв 00:00:55 826883 287
>>826880
Породили целое поколение наглухо ебанутых "ретрогеймеров".
Аноним 11/08/22 Чтв 00:16:05 826884 288
>>826844
Все так, и что? Ты же зачем-то пришел в медленный тред двача вместо того, чтобы написать в тг по юнити, где отвечают мгновенно на такие днищенские вопросы и не только.
Аноним 11/08/22 Чтв 08:39:06 826904 289
Аноним 11/08/22 Чтв 16:02:11 826960 290
>>826490
Ну ладно, шутки в сторону. Тут советуют MVP и разделение обянностей. Краем глаз глянул солид и мвп и понял так. Чтобы заебурить интерфейс создания персонажа мне нужно накодить класс, в котором будут храниться только данные, которые в последствии пойдут в конструктор создания персонажа. Создать класс, отвечающий за уи. и создать класс посредник, который перекрестит эвенты двух предыдущих. Все по феншую?
Аноним 11/08/22 Чтв 16:36:02 826966 291
>>826960
> Все по феншую?
Да не парься ты так, господи. Это всё ненужное дрочево.
Аноним 11/08/22 Чтв 16:52:02 826968 292
Я как-то исходники Террарии глянул. У меня чуть глаза не выпали. Там вся логика мира была описана в одном классе через миллионы IF'ов. И ничего. Игра взлетела. Потом её уже переписали.
Аноним 11/08/22 Чтв 16:53:24 826969 293
>>826968
У виабушников там какую то игру пилят на донаты. так там вся логика через if else
Аноним 11/08/22 Чтв 17:13:55 826972 294
>>826968
Где глянуть? Интересно.
Аноним 11/08/22 Чтв 17:20:14 826975 295
>>826972
Найди старую версию игры и открой любым декомпилятором сишарпа. Например - dotPeek. Код игры не обфусцирован и легко открывается.
Аноним 11/08/22 Чтв 17:42:17 826978 296
>>826904
Сорри, в вотсапе вряд ли есть такой канал. Только компьютером научился пользоваться? Тоже чересчур сложная технология для тебя? Говорю же, съебись, ну не твое это абсолютно. Ладно бы тебе было 12 лет, но ты пердишь так, словно тебе 50+.
Аноним 11/08/22 Чтв 19:22:14 827042 297
Всем привет, делаю простой шейдак, хелп плиз, сам в них не шарю.
Вообщем должен быть позлунок от 0 до 1, который регулирует длину лайн рендера.
То есть если ползунок на 0.5, то отображается только половина лайн рендера.
Пришел к тому, что нужен фрагментированный шейдер, и если 'какое-то условие', то col.a = 0, иначе 1, только не могу подобрать условие само, от чего можно оттолкнуться?
Аноним 11/08/22 Чтв 20:01:19 827052 298
Посоветуйте учебных материалов по шейдерам
Аноним 12/08/22 Птн 13:26:39 827113 299
Аноны, почему когда я делаю вот так
LayerMask ground = LayerMask.NameToLayer("Ground");
и передаю переменную в рейкаст, то нихуя не работает. Через сериалайзфилд выставления ручками переменной все ок.
Аноним 12/08/22 Птн 13:30:41 827114 300
>>827113
Может ты название леера неправильно написал. У меня всё связанное с этой функцией работает.
Аноним 12/08/22 Птн 13:33:02 827115 301
>>827114
10 раз перепроверил, вплоть до копипаста.. Пробовал передавать через int переменную еще, тоже нихуа.
Аноним 12/08/22 Птн 13:34:33 827116 302
>>827115
Хз, брейкпоинты поставь да продебажь епт.
Аноним 12/08/22 Птн 13:58:27 827122 303
result.jpg 10Кб, 285x199
285x199
>>827116
У тебя какая версия юнити? Есть подозрение, что они чета сломали, потому что этот код выдает такое
Аноним 12/08/22 Птн 14:15:04 827126 304
Насколько сложно на юнити сделать игры с сетевым подключением по локалке ? Уже есть примеры карточных игр? Там где пинг и оптимизация не особо важны
Аноним 12/08/22 Птн 14:22:39 827128 305
>>827122
GetMask работает, до этого правда не работал. видимо я что-то недопонимаю.
Аноним 12/08/22 Птн 14:33:04 827133 306
изображение.png 63Кб, 1083x420
1083x420
изображение.png 77Кб, 1119x550
1119x550
изображение.png 103Кб, 1075x630
1075x630
Так, я попытался разобраться с эвент системой, кое-как написал по гайдам такое:

На первом скрине срипт для триггера, который детектит тэг игрока и от него отталкивается. Мне советовали не делать проверку на плеера, но я не понял почему и как иначе. У меня в зоне триггера коллайдеры босса, которые его постоянно теребят и закрывают двери арены. А мне надо, чтобы двери были открыты, пока я туда не зашел и закрыты, когда босс мертв. С триггером все работает. Раньше я делал так, чтобы триггер детектил толко коллайдер со скриптом игрока, но почему-то это не работало, двери не закрывались, хотя в инспекторе видно как триггер меня распознал.

На втором скрине, как я понимаю, сама эвент система, но нахуй она мне нужна я все равно не понял. Разве просто onTriggerEnter не будет щас работать без нее?

На третьем скрипт для анимации открытия-закрытия ворот. По какому принципу там что-то подписывается-отписывается, я тоже не очень понимаю, но работает. Из моего личного там по сути один метод public void onDoorwayOpen(), единственное, что я хоть как-то осознал: надо отписывать неиспользуемые состояние, подписывать новые. Ну это я вроде бы и сделал. Как советовали я сделал вызов открытия ворот внутри скрипта босса после смерти.

Собственно, это и есть эвент система или нет?
Аноним 12/08/22 Птн 14:34:52 827134 307
>>827133
>А мне надо, чтобы двери были открыты, пока я туда не зашел и закрыты, когда босс мертв.

Надо чтобы были открыты, пока не зашел, закрыты пока идет бой, открыты, когда босс мертв*
Аноним 12/08/22 Птн 14:56:46 827137 308
>>827133
> На втором скрине, как я понимаю, сама эвент система, но нахуй она мне нужна я все равно не понял. Разве просто onTriggerEnter не будет щас работать без нее?
Будет.

Подобная ивент система нужна, чтобы кто угодно мог подписаться на события, т.е. чтобы проще было связывать разные объекты.
Например пусть у тебя есть система стелса и враги должны на звуки прибегать. Как это сделать? Да просто инвокнуть эвент OnLoudSound(position), а враги его обработают.

В твоём примере она нахуй не нужна.

> На третьем скрипт для анимации открытия-закрытия ворот.
Неправильно, не надо так делать, к тому
Сделай bool переменную, которая эранит текущее состояние двери.

Делай только 1 подписку и й отписку ра ивент. Ну и повторюсь - конкретно в этом примере оно нах не нужно.
Аноним 12/08/22 Птн 15:08:53 827141 309
Аноним 12/08/22 Птн 15:13:00 827143 310
>>827137
А чем плох просто вызов анимации?
Аноним 12/08/22 Птн 15:21:48 827144 311
>>827143
Ну, тем что происходит ебанизм с переподпиской на ивенты, который кстати вроде как не работает, хз че там в аниматоре самом.
Аноним 12/08/22 Птн 15:23:18 827146 312
Делайте как в вове. Открытая дверь просто пропадает и на ее месте спавнится закрытая.
Аноним 12/08/22 Птн 15:25:34 827147 313
изображение.png 80Кб, 956x822
956x822
>>827144
Да просто две анимации без транзишена, запускаются только со скрипта
Аноним 12/08/22 Птн 15:45:27 827148 314
image.png 240Кб, 1024x576
1024x576
>>827146
> Делайте как в вове. Открытая дверь просто пропадает и на ее месте спавнится закрытая.
Аноним 12/08/22 Птн 16:02:35 827152 315
>>827148
Система уже второй десяток без нареканий работает под любую задачу
Аноним 12/08/22 Птн 20:34:07 827187 316
Аноны, хелп.
Не могу зайти в юнити, нажимаю sign in и открывается белая страница в браузере (акк я сделал).
Аноним 12/08/22 Птн 20:46:01 827192 317
>>827187
Enjoy your санкции, pidor!
Аноним 12/08/22 Птн 20:51:09 827194 318
>>827192
VPN не помог.
>>827190
Ну, серьезно, что делать то? Почему это говно не работает?
Аноним 12/08/22 Птн 21:06:01 827197 319
Пиздец, почему такая ебля с входом? Нахуя вообще делать подтверждение бесплатной сука лицензии? Почитал форумы, там ебать танцы с бубном и все равно не помогает, я ебал.
КАК НАЧАТЬ ИГРАТЬ ДЕЛАТЬ ТО
Аноним 12/08/22 Птн 21:13:01 827199 320
>>827197
>КАК НАЧАТЬ ИГРАТЬ ДЕЛАТЬ ТО

В паскале
Аноним 12/08/22 Птн 21:19:36 827202 321
Аноним 12/08/22 Птн 21:20:30 827203 322
>>827202
У меня есть знакомый Игорь
Аноним 13/08/22 Суб 10:51:13 827229 323
image.png 75Кб, 1389x781
1389x781
что за хуйня
Аноним 13/08/22 Суб 11:28:34 827234 324
изображение.png 48Кб, 1015x597
1015x597
Аноним 13/08/22 Суб 11:46:12 827236 325
>>827234
хуя у тебя вопросы
в омске
по пику, ебурил в юнити норм все было, захотел ассетов поставить, некоторые с ошибкой не ставились. посоветовали проверить лицензию, не обновлялась. ща переустанавливаю, вроде обновилась, позже ассеты проверю
Аноним 13/08/22 Суб 11:53:39 827237 326
>>827236
Ну я думал ты русский миллиардер в Англии и тебя решили задавить. Я бы в таких случаях только в сапорт юнити писал, лицензия-то их, они могут знать че делать. Но раз переустановка помогла
Аноним 13/08/22 Суб 12:48:11 827240 327
>>827229
Просто отменяешь и заного регаешь бесплатную лицензию в чём трабла? Делов на 1 мин.
Аноним 13/08/22 Суб 12:51:42 827242 328
>>827240
да после переустановки все заработало
просто когда каждый день заходишь в редактор и все норм, а на след день нихуя не работает немного странно
Аноним 13/08/22 Суб 14:27:29 827256 329
image.png 98Кб, 1075x630
1075x630
image.png 103Кб, 1075x630
1075x630
>>827133
>Мне советовали не делать проверку на плеера, но я не понял почему и как иначе
Так ты её убрал. У тебя плеер сравнивался с null, хотя его можно было указать в инспекторе

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

>По какому принципу там что-то подписывается-отписывается, я тоже не очень понимаю, но работает
Молодец, это главное. Хотя у тебя подписки не в том месте Заебашил прикл через пеинт, потому что так быстрее, лол, но ты можешь вообще избавиться от эвентов, если хочешь. Хотя всё итак работать будет
Аноним 13/08/22 Суб 15:51:06 827279 330
Как отрисовать коллайдер в дебаге?
Аноним 13/08/22 Суб 17:19:40 827286 331
Аноним 13/08/22 Суб 17:29:00 827287 332
>>827286
так если ошибаюсь для этого нужно прописывать нужно каждый вектор, а нет что-ли метода для отрисовки коллайдера в одну строчку? Если нет, очень странное от решение юнити не добавлять такую возможность.
Аноним 13/08/22 Суб 17:48:21 827288 333
>>827287
Чел, ну ты хотя бы просто в редакторе кода Gizmos. напиши, там тебе сразу DrawMesh вылезет
Аноним 13/08/22 Суб 21:17:30 827319 334
>>827242
спасибо, мне тоже помогло
Аноним 15/08/22 Пнд 07:29:26 827422 335
image.png 772Кб, 1242x688
1242x688
куда нажать чтобы так же?
Аноним 15/08/22 Пнд 09:22:39 827429 336
URP
Как сделать чтобы транспарент материал отбрасывал тень? Типа, есть тонированное стекло, от него должна быть полупрозрачная тень
Аноним 15/08/22 Пнд 12:40:52 827441 337
>>827422
PostProcessing -> EdgeDetection
Аноним 15/08/22 Пнд 15:48:36 827462 338
>>827429
Не знаю как в URP, но попробуй прозрачность выше 0.25 поставить
Аноним 15/08/22 Пнд 15:59:48 827466 339
>>827422
Поставить шейдор на материал.
Аноним 15/08/22 Пнд 19:31:27 827541 340
Capture.JPG 31Кб, 604x557
604x557
насколько я пососу со статическими эвентами? читал что их ну прямо вообще не нужно использовать, но удобно же
вот что у меня сейчас на пикрелейтед, все работает, этих NodeElement создается адова толпа, каждый отмечается при старте и обрабатывается
Аноним 15/08/22 Пнд 19:43:44 827545 341
>>827541
Если это теоретический пример, то пойдет, подписался/отписался и все при старте/уничтожении. Надеюсь у тебя там будут важные события.

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

Другая проблема всякие проверки "а подписан ли я".

Персонально я случайный хуй с горы предпочитаю использовать статичный лист с интерфейсами и дергать методы интерфейсов (возможно из-за интерпрайза стал так делать). Брат жив.
Аноним 15/08/22 Пнд 20:45:15 827556 342
Чтобы отписать объект от эвента при смене сцены нужно ондейстрой использовать жи?
Аноним 15/08/22 Пнд 21:03:31 827558 343
Пилю сейчас уи. Какой подход использования импутсистем лучше, просто отписывать слушателей от эвентов, когда они не должны принимать инпуты, или группировать инпуты по ситуациям и дизейблить непосредственно группы эвентов?
Аноним 15/08/22 Пнд 22:35:16 827591 344
>>827545
это реальный пример, суть задумки такова:
NodeElementManager создается в самом начале игры и работает до конца, т.е. Awake происходит в самом начале игры, OnDestroy - надеюсь в самом конце, менеджер единственный подписчик эвента, а сколько в процессе будет создано(префабы с этим моноб) NodeElement я заранее знать не могу, мне надо только передать ссылку когда префаб с ними готов перед первым Update(поэтому решил через Start эвент инвокать)
вроде работает, меня беспокоят истории про утечку памяти
но если у меня менеджер-подписчик сидит всю игру, наверное и норм?
Аноним 16/08/22 Втр 06:54:28 827618 345
>>827462
К сожалению, в ЮРПе, если материал транспарент, то даже если он полностью непрозрачный, он не отбрасывает тень
Аноним 16/08/22 Втр 08:12:41 827622 346
>>827591
>NodeElementManager создается в самом начале игры и работает до конца, т.е. Awake происходит в самом начале игры, OnDestroy - надеюсь в самом конце, менеджер единственный подписчик эвента

По-моему ты пытаешься придумать велосипед - синглтон

>менеджер единственный подписчик эвента, а сколько в процессе будет создано(префабы с этим моноб) NodeElement я заранее знать не могу, мне надо только передать ссылку когда префаб с ними готов перед первым Update(поэтому решил через Start эвент инвокать)

По описанию неправильное распределение обязанностей, менеджер элементов не менеджерит элементы. Если правильно понимаю цель этого всего, то знать обо всем должен менеджер, а элемент как раз ничего не знать.
Аноним 16/08/22 Втр 11:39:57 827639 347
Скомпилировал практически пустую игру и получил более 250 мб. Как уменьшить размер игры хотя бы до ста? Хорошая графика мне нахуй не нужна.
Аноним 16/08/22 Втр 12:27:42 827646 348
image.png 13Кб, 485x171
485x171
>>827639
по дефолту должно быть включено всегда и на всех проектах
Аноним 16/08/22 Втр 12:43:07 827647 349
>>827229
У меня такая хуйня при каждом запуске юнити. Без впн нельзя открыть ни один проект. Зато можно с отключенным интернетом.
Аноним 16/08/22 Втр 13:08:10 827648 350
>>827639
На какую платформу скомпилировал?

Что значит "почти пустую" игру? Показывай, что у тебя там. Может ты нахуярил текстур по 50 мегабайт.
Аноним 16/08/22 Втр 14:42:46 827655 351
>>827646
Помогло, благодарствую!
>>827648
Вообще без текстур. Пара объектов и скрипточек.
Аноним 16/08/22 Втр 15:04:57 827656 352
>>827622
я наверное очень сумбурно объясняю.
у меня есть три класса:
1 - фабрика, отвечает за создание инстансов из префабов
2 - менеджер элементов
3 - сам элемент

я не хочу чтобы фабрика что-то знала об элементах или их менеджере, поэтому решил добавить эвент в сам элемент, который будет инвокаться только если этот элемент окажется в сцене. так что вот что сейчас происходит:
1. фабрика создает новый объект из префаба
2. на нем оказывается элемент - фабрика ничего об этом не знает, просто создан новый объект
3. элемент орет о себе в пустоту
4. менеджер узнает что есть элемент
5. профит?

я вот и хотел узнать, как бы лучше это можно было сделать, без статического эвента в элементе. спасибо что еще не послал меня нахуй с такими тупыми вопросами
Аноним 16/08/22 Втр 16:17:41 827669 353
anotherExample.jpg 72Кб, 1042x573
1042x573
>>827656
тот же хуй с горы
проблемы с утечками появятся из-за динамического подписания/отписаться т.к. ты забудешь в 1м месте отписаться и ВСЕ.

Еще, если я правильно понял, в твоем примере если ты создашь ноду динамически, метод start в ней не будет вызван т.к. его дергает менеджер, ты так и задумал? Или у тебя ноды заранее расставлены в сцене как статика?

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

Вот еще поделюсь, я сделал себе некую обертку для листа и статики и все мои слабосвязанные евенты выглядят как код на пике (может вдохновить на что-то, а может и нет)
Аноним 16/08/22 Втр 16:47:22 827675 354
>>827656
>я не хочу чтобы фабрика что-то знала об элементах или их менеджере
Правильно, менеджер говорит фабрике сделай мне элемент и отдай, если у тебя там префабы которые могут грузиться то возвращать нужно будет корутину с коллбеком или таску чтобы подождать. Мне нравиться реализация связка фабрика-пул, нет в пуле доступных фабрика досоздала, если есть сразу пул отдал.
Аноним 16/08/22 Втр 18:35:13 827689 355
В импутсистем можно получить название клавиши, вызвавшей эвент?
Аноним 16/08/22 Втр 20:17:50 827717 356
Аноним 17/08/22 Срд 15:17:10 827792 357
кирилы, вопрос: как купить ассеты на ассет сторе из россии? есть какие-нибудь хитровыебанные пути?
Аноним 17/08/22 Срд 16:17:06 827802 358
Юнитач, подскажи, как можно в редакторе замедлить воспроизведение игры/смотреть покадрово?
Аноним 17/08/22 Срд 17:16:31 827812 359
image.png 1Кб, 218x59
218x59
Аноним 17/08/22 Срд 17:26:44 827815 360
>>827812
Да, уже нашел, чувствую себя крайне тупым. Все равно спасибо, анон
Аноним 17/08/22 Срд 18:02:22 827819 361
>>827812
Не он, но как? Пауза только останавливает, а как замедлить?
Аноним 17/08/22 Срд 18:10:35 827822 362
>>827819
Третья кнопка по кадрам листает. Замедлить - хз.
Автор вопроса
Аноним 17/08/22 Срд 18:14:34 827824 363
>>827819
settings - project settings - time - вместо 1.00 ставишь 0.10 или сколько тебе там нужно
Аноним 17/08/22 Срд 18:38:33 827826 364
>>827819
Если у тебя логика игры завязана на Time.deltaTime, то можно попробовать замедлить игру с помощью изменения Time.timeScale.
Аноним 18/08/22 Чтв 17:27:11 827937 365
2022-08-18202454.jpg 39Кб, 612x361
612x361
2022-08-18202522.jpg 41Кб, 433x586
433x586
2022-08-18202547.jpg 40Кб, 665x338
665x338
Антуаны, ебусь с эффектом уже сутки. Какая-то поломанная хрень творится. Добавил свечение нормальное (не Light, а bloom), но оно почему-то в режиме редактора имеется. А вот сука в play mode не работает! Не понимаю чё за хуйня, памагити плиз
Аноним 18/08/22 Чтв 23:46:22 827951 366
>>827937
На камере постобработку включил?
Аноним 19/08/22 Птн 09:26:02 827976 367
image.png 50Кб, 594x269
594x269
ябало представили?
Аноним 19/08/22 Птн 10:58:38 827982 368
>>827976
Нормально безыгорного хохла-лапшетаскателя обоссали.
Аноним 19/08/22 Птн 11:45:13 827987 369
Аноны, собираюсь делать систему итемов. Читал, что для хранения даты норм скриптбл обжект. Типо если у меня будет скриптбл обжект, а там в формате жсон описаны итемы, а потом когда я буду создавать итем в игре, он типо по названию своему будет подсасывать оттуда статы. Чи вин але шин?
Аноним 19/08/22 Птн 11:50:45 827989 370
>>827987
Если удобно юзай скриптаблы. Лично я использую пару скриптов подтипов предмета, это дело храню в байто сэйве одной стринг строчкой. Из-за того что не люблю когда у и игрока есть возможность блокнотом открыть и всё почитать.
Аноним 19/08/22 Птн 12:16:44 827996 371
>>827989
Я еще с ходу бахнул 3 интерфейса типа консумабл, эквипабл, коллектбл. И пошел делать инхеритансы типа итем-армор-хелмет. Потом планировал соответственно слоты в инвентаре делать типа public Helmet helmet. Такая тема рабочая?
Аноним 19/08/22 Птн 12:18:32 827997 372
>>827987
>в формате жсон
yaml

Нашел тебе в гугле полезную тему плюсов и минусов:
https://forum.unity.com/threads/why-are-scriptableobjects-worth-it-surely-plain-text-is-better.216881/

PS собираешься юзать so, пользуй тогда райдер чтобы видеть измененные поля сразу в нем, а не постоянно в юнити переключаться искать сам ассет. Или визуал уже умеет так же, не ебу.
Аноним 19/08/22 Птн 12:24:55 827999 373
Аноним 19/08/22 Птн 12:46:28 828009 374
>>827996
Главный критерий чтобы тебе было удобно и понятно с этим работать.
Аноним 19/08/22 Птн 13:21:13 828013 375
Есть ли вообще хоть какой-то смысл вкладываться в 4090 для разработочки при её выходе, или мне апгрейдить до 3090 Ti и не выебываться?

Имею домашний пет проджект в виде 2Д игоря и работаю в мелкой фирме что заказы на Юнити берет небольшие пока что. Начальник говорил скоро могут пойти заказы на виар, может там это смысл иметь будет?
Аноним 19/08/22 Птн 13:31:07 828015 376
>>828013
Разве что для разворачивания нейронок для генерации текстур у себя на машине. Но проще оплачивать подписки на такие генераторы.
Аноним 19/08/22 Птн 13:41:44 828018 377
>>828015
Между прочим сейчас так и делаю, есть доступ в закрытую и платную бетку Dall e 2. Но думал уже о поднятии собственных сеточек.

Вот только у 4090 и 3090 ti одни и те же 24ГБ памяти будут, разве что шустрее ебошить будет. Будет еще по идее 4090 ti на 48ГБ, но она вышибет нахуй пробки в квартире, ну нахуй. Да и то это инфа по сливам.
Аноним 19/08/22 Птн 13:50:19 828020 378
>>828013
>Начальник говорил скоро могут пойти заказы на виар
Ты уверен что заказы будут именно под компьютерный виар? Я чет сильно в этом сомневаюсь.
Аноним 20/08/22 Суб 13:41:31 828088 379
Поясните - у меня есть сцена, она референсит разные ассеты. Когда сцена загружается - все нужные ассеты подгружаются, это стандартное поведение юнити.

Можно сделать, чтобы ассеты заранее загрузились? У меня много сцен, надо между ними перемещаться, и во всех одни и те же ассеты
Аноним 20/08/22 Суб 14:27:09 828094 380
>>828088
Сцены можно грузить в дополнение к существующей.
Аноним 20/08/22 Суб 14:39:29 828098 381
123321.jpg 216Кб, 1832x1027
1832x1027
Парни, мне кажется интерфейс надо раза в два уменьшать. Че думаете? квадраты сейчас 100 на 100. без панели быстрого доступа еще туда сюда ок было, с ней тупа полэкрана закрыло
Аноним 20/08/22 Суб 15:01:12 828103 382
>>828094
Ну это конечно вариант, но хочется именно что заранее загрузить все ресурсы
Аноним 20/08/22 Суб 16:43:45 828124 383
>>828098
Если это не под мобилу то смело дели всё на 2.
Аноним 20/08/22 Суб 18:06:15 828140 384
>>828098
>квадраты сейчас 100 на 100
Чего "100 на 100"? Пикселей? Кто в наше время считает размеры интерфейсов в пикселях? Нужно считать в процентах, адаптивность же. Или ты будешь делать отдельный интерфейс под каждое разрешение экрана?

мимо проходил
Аноним 20/08/22 Суб 18:39:55 828141 385
>>828140
Я делаю в пикселях. Беру разрешение 1920х1080 и под него всё делаю. У тех кого другое пусть страдают от кривого юи.
Аноним 20/08/22 Суб 18:44:44 828144 386
>>828141
пздц, интерфейс уровня б
Аноним 20/08/22 Суб 18:56:49 828145 387
>>828141
ебанько, тебе в годотю с таким подходом, не позорь юнити
Аноним 20/08/22 Суб 19:18:14 828150 388
>>828098
скочи мочи для бедных?
Аноним 20/08/22 Суб 21:44:29 828174 389
>>828150
Не очень понял о чем ты, но планирую партийную рпг с видом от первого лица.
Аноним 20/08/22 Суб 22:15:25 828177 390
321123.jpg 314Кб, 1797x1023
1797x1023
>>828174
чтобы олдскулы сводило.
Аноним 20/08/22 Суб 22:20:30 828178 391
>>828140
Ну юнити же растягивает там оттягивает че надо. 100 на 100 просто потому что клеточка канваса 100 на 100. Вообще это просто грубый набросок. У меня даже системы инвентаря еще, типо достаточно сложно для меня сходу разработать систему предметов, инвентаря и уи под все это. С учетом того, что инвентарь будет учитывать размер предметов.
Аноним 20/08/22 Суб 22:21:20 828179 392
>>828178
>системы инвентаря еще
Аноним 20/08/22 Суб 22:21:40 828180 393
Аноним 20/08/22 Суб 22:34:47 828181 394
Вообще, вышел из бани, ебанул пивка и дай думаю спрошу как делать лол. В кратце пока думаю сделать так. Типа сделать класс инвентарь, который хранит тупа список предметов, у каждого предмета есть высота и ширина, выраженная целым числом. Потом
Дальше сделать класс, в котором будет двумерный массив булиан значений, который будет представлять как бы реализацию пространственного размещения предметов.. И сделать промежуточный третий класс, который будет запоминать в какую конкретную ячейку положен предмет и от этой ячейки уже заполнять второй класс трушками или фолсами. Вин или шин?
Аноним 20/08/22 Суб 23:13:36 828187 395
>>828181
У тебя есть объекты Физические Объекты предметы, у каждого объекта класс Предмета.
Инвентарь это пустышка гейм обджект менеджер в котором есть собственный список. При взаимодействие ты передаешь свой список предметов, которые допустим берутся из инвентаря(Еще одного списка) в него, или из инвентаря торговца.
Далее проходишься по списку и показываешь на юи иконки из этого списка.
Аноним 20/08/22 Суб 23:26:40 828189 396
1111111111111.png 349Кб, 641x481
641x481
>>828187
Тут ключевой момент, что все предметы помимо массы имеют и размер.
Аноним 21/08/22 Вск 01:05:59 828191 397
Аноним 21/08/22 Вск 05:50:09 828196 398
>>828189
Всегда считал такие ограниченные инвентари хуитой и издевательством... Какой еще нах реализм? А что тогда герои не срут? Нереалестично - срочно делайте сранье и туалеты
То есть я понимаю ограничения ячеек в фритуплей - ну купи еще ячеек в инвентарь, ну купи... Ладно, там что-нибудь про реальный мир... Но это все херня

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


И почему-то только китайцы придумали решение. Хотя в DnD оно было, но никто его не взял

А именно - пространственные кольца. То есть кольца с пространством в которое можно скидывать любой мусор. Можно ограничить количеством, если это зачем-то надо для механик - только нормально, а не два меча положил и уже полный.
Аноним 21/08/22 Вск 06:46:57 828198 399
>>828196
>Вот так это блядь должно выглядить?

Ты видимо из тех, кто в елдер скролсах все вилки подбирает и тарелки.
Аноним 21/08/22 Вск 11:01:38 828211 400
Если я делаю абстрактный класс item, от него наследуют всякие weapon, armor и тд, то издалека уже видится, что я создам условно List<Item> inventory и типа получу лист предметов со свойствами из item, а не Armor и Weapon. и как обходить такое? Я понимаю, что потенциально можно где-то что-то приводить к нужному типу, но слабо представляю реализацию. Или делать единый класс итем, но играться как-то через енум.типПредмета. Чет инвентарь у меня идет совсем трудно.
Аноним 21/08/22 Вск 11:32:40 828213 401
>>828211
Делал своим велосипедом так - У предметов есть общий класс Item (В котором содержатся общий данные для всех предметов по типу уникального id или string).
И у каждого такого предмета в зависимости от типа или чего там надо уже висит скрипт по типу Weapon, Armor и т.п.
В менеджере ты берёшь предмет, смотришь его основное свойство в Item и далее уже решаешь откуда у него брать данные или как взаимодействовать.
При желании можно повесить также реваерэлемент.
Аноним 21/08/22 Вск 13:15:39 828223 402
>>828211
тут все просто у тебя например простая иерархия:
Weapon<=Item
Armor<=Item


switch (Item)
{
case Weapon weapon:
Debug.Log($"This is {weapon.ToString()}")
break;
case Armor armor:
Debug.Log($"This is {armor.ToString()}")
break;
default:
throw new UnknownItemException();
break;
}


Но лучше посмотри несколько подходов по инвентарю на ютюбе, задача распространенная. Я смотрел пару роликов этого чувака, у него нет сильных косяков по логике и коду, так что у него можно глянуть(сам не смотрел кокретно этот видос)
https://www.youtube.com/watch?v=TGsyO3SmF-0
Аноним 21/08/22 Вск 13:17:33 828224 403
>>828213
>уникального id или string
ты придумал Enum =)
Аноним 21/08/22 Вск 13:23:42 828226 404
>>828224
Неудобно их использовать по сравнению со своим велосипедом.
Аноним 21/08/22 Вск 13:30:10 828229 405
>>828211

Item item;
if (item is Weapon)
{
Weapon weapon = (Weapon)item;
}

Я делаю такой костыль, какие подводные?
Аноним 21/08/22 Вск 13:43:39 828230 406
>>828223
Спасибо.

>>828229

Item item = new weapon();
типа item is Weapon даст тру ты хочешь сказать?
Аноним 21/08/22 Вск 13:57:21 828235 407
>>828226
Ну как же, ты можешь получить уникальный айдишник в удобной форме, который будет глобальным, уникальным с подстветкой и подсказками ide. Работать удобно, ошибок допустить сложнее чем с string, пользовать ты его можешь как хочешь = получать коллекцию всех существующий значений, получать int и string значения, обобщать тип через T в абстракциях, даже cериализовать в инспектор. enjoy
Аноним 21/08/22 Вск 14:00:08 828239 408
>>828230
>даст тру
да

кстати, такие вопросы по типам часто джунам на собесах гоняют
Аноним 21/08/22 Вск 14:09:47 828244 409
Аноним 21/08/22 Вск 14:14:04 828246 410
>>828239
Причем оператор is позволяет автоматически преобразовать значение к типу, если это значение представляет данный тип.
Аноним 21/08/22 Вск 14:51:53 828253 411
>>828244
Советую: metanit.com/sharp/tutorial/3.11.php
Аноним 21/08/22 Вск 15:09:17 828259 412
>>828235
Возможно я тормоз. Но на примере можешь показать как он реализуется и используется?

Вот у меня у каждого предмета есть id, либо string.
Я во всей своей логике использую их просто оперируя как с числом или строкой, передаю туда сюда, тягаю.
Объявляется у меня этот индификатор простым полем в инспекторе, туда пишется число или набор букв на английском. Сменить секундное дело.
Аноним 21/08/22 Вск 17:06:21 828280 413
>>828259
Ну типа енам по сути целочисленная константа.

типа public enum example { govno} можно обрабатавать как через example.govno,string govno, 0. При этом

public class Example<T> where t: Enum как генерик

а через Enum.GetNames(typeof(T)), можно получить все имена в формате массива
Аноним 21/08/22 Вск 17:50:39 828290 414
>>828140
Делать только для одного разрешения
Аноним 21/08/22 Вск 19:36:10 828300 415
>>828141
>Беру разрешение 1920х1080 и под него всё делаю. У тех кого другое пусть страдают от кривого юи.
У меня разрешение 1440x900 и мне пока хватает, это больше HD и почти дотягивает до FullHD. А страдать я не буду, я просто удалю твою игру и напишу негативный отзыв, чтоб другие знали и не покупали твою игру.

Кроме меня в этом разделе ещё кто-то с таким же разрешением, а у кого-то вроде даже меньше.

>>828145
>тебе в годотю с таким подходом
Лол, там UI из коробки адаптивный - подстраивается под любое разрешение, если правильно расставить якори. Нет необходимости считать в пикселях, главное правильно настроить для сжатия и растягивания. В Unity такое возможно из коробки или нужно что-то качать?

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

>С учетом того, что инвентарь будет учитывать размер предметов.
Опять эта хрень, что в ней хорошего? Я редко такое встречаю в играх, но каждый раз бесит крутить-вертеть каждый предмет, чтобы освободить место под ещё что-то, чтобы не оставалось лишних дырок, в которые ничего не воткнёшь. Имхо, простой механики максимального веса более, чем достаточно, всё равно инвентарь в играх - игровая условность, и игрок будет носить в нём всякую хрень, которая ИРЛ порвала бы рюкзак (боевой топор, три штуки) или высыпалась из карманов (порох 1000 единиц, без мешка). Ограничения инвентаря на размер и форму предметов не играют на погружение в игровой мир, а только добавляют сложности при обращении с GUI игры, который, прошу заметить, в любом исполнении ломает погружение. Если хочешь высокое погружение, избавляйся от инвентаря и делай что-то вроде контекстных кнопок, чтобы персонаж сам доставал нужный предмет или ресурс, не заставляя игрока искать этот предмет в сетке предметов. Или делай 3D инвентарь, чтобы персонаж натурально снимал рюкзак и открывал его, показывая визуально лежащие там предметы, но это в разы сложнее и сильнее ограничивает геймплей, хотя и даёт максимальное погружение. С оружием такое сделать проще: если, скажем, нужно апгрейдить пушку, лучше будет чтобы персонаж приблизил пушку к камере и игрок мог кликать непосредственно на модули этой 3D пушки, а не просто отобразить меню с пушкой и кнопками модулей вокруг неё. Если же тебя не волнует погружение, забей на всё это и делай простейший инвентарь.
Аноним 21/08/22 Вск 19:45:34 828303 416
>>828300
>Или делай 3D инвентарь, чтобы персонаж натурально снимал рюкзак и открывал его, показывая визуально лежащие там предметы
Сразу бы рефанд сделал
Аноним 21/08/22 Вск 20:27:47 828316 417
Аноним 21/08/22 Вск 20:27:50 828317 418
>>828196
>в DnD оно было
>То есть кольца с пространством в которое можно скидывать любой мусор.
О, так вот почему из днд пришёл термин "манчкин", описывающий людей, которые собирают всё подряд и гриндят циферки ради циферок. У них там инвентарь без ограничений, лол! Можно пропылесосить все локации и потом одним разом продать всё торговцу, так?

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

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

Если кратко, такое можно сделать простым массивом, который будет храниться в классе инвентаря. Массив заполняется ссылками на предметы. У каждого предмета есть тип, у каждого типа есть собственный массив (в палитре предметов, из которой ты создаёшь новые предметы), описывающий форму предмета. Инвентарь при добавлении предмета ищет подходящее по форме свободное место и, если находит, заполняет ссылками в соответствии с массивом предмета. При удалении или перемещении обратная операция - ссылки в массиве обнуляются по той же форме. В общем-то простая система, сложнее продумать, какую форму должны иметь предметы, чтобы игроку было удобно (в любом случае будет неудобно 99% времени).
Аноним 21/08/22 Вск 20:40:12 828323 419
>>828300
>Ясно. Не забудь сделать отступ от краёв экрана.
Это в планах да.

>Опять эта хрень, что в ней хорошего?
Ну типа мне нравится лол. Меня тянет блевать от просто иконок. Ну типа серьезно. Вот посмотри на меч и магию, ну нашел ты такой доспех золотой, сразу большой такой видно, шишка привстает. или нвн 1. Кто бы мне конечно такие спрайты еще нарисовал лол))) Для меня лично, например, именно иконочный инвентарь был одним из разочарований в том же нвн2.

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

В общем и целом спасибо за фидбек так сказать.
Я
Аноним 21/08/22 Вск 20:52:57 828329 420
>>828317
>О, так вот почему из днд пришёл термин "манчкин", описывающий людей, которые собирают всё подряд и гриндят циферки ради циферок.

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

>Погугли, как делается Тетрис.

спасибо за наводку.
Аноним 22/08/22 Пнд 05:10:13 828354 421
image.png 54Кб, 900x456
900x456
>>828300
> У меня разрешение 1440x900
1% говна спокнись не в обиду
Аноним 22/08/22 Пнд 11:09:47 828368 422
>>828317
>лишает тебя испытания, лишает необходимости думать об инвентаре.
Какое еще испытание?

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

Знаешь, какие из этого возникают проблемы? Игрок устает туда-сюда бегать, от данжа до торговца(кстати, это один из антипаттернов геймдизайна. Игроки ненавидят такое.)

Так вот, игрок устает, добывает более-менее оптимальное снаряжение и все. Он просто забивает на луттинг. А значит все твои охуенные секреты и загадки он тупо пробежит. То есть игра теряет половину игрового контента, игрок не хочет тратить время на исследование, потому что у него все одно забит инвентарь, и даже если он решит загадку, там будет какой-нибудь мусор который ему все равно некуда положить.
При билде отключается часть кода Аноним 22/08/22 Пнд 12:11:03 828381 423
Сап, проблема возникла. Сделал игру, в движке все ок, условия при коллизии работают. Делаю сборку (платформа не важна, везде так происходит) - эти самые условия отключаются. То есть в движке у меня при ударе мячика об стенку срабатывает гол, а после билда уже не работает, он ударяется об стену и ничего не срабатывает.

Вопрос: как фиксить? Ссылка на файл скрипта, который отвечает за это вот (Функция OnCollisionEnter2D) https://github.com/OUTS1D3R047/Pong/blob/main/Assets/Scripts/Playable%20objects/Ball.cs

Дополнительную инфу предоставлю по требованию
Аноним 22/08/22 Пнд 12:42:22 828386 424
>>828368
>Знаешь, какие из этого возникают проблемы? Игрок устает туда-сюда бегать, от данжа до торговца

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

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

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

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

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

Мимо играю почти во все на максимальной сложности.
Аноним 22/08/22 Пнд 13:02:15 828391 425
>>828381
Юнити пишет логи в файл, билд тоже пишет если ты не отрубал галочку для этой функции, она стоит по дефолту. Пути к логам тут:
https://docs.unity3d.com/Manual/LogFiles.html
Аноним 22/08/22 Пнд 13:07:56 828392 426
>>828196
>>828368
В дьябле 2 ограниченный инвентарь это элемент баланса, да и геймплея тоже. И че то на лутинг никто не забивает.
Аноним 22/08/22 Пнд 14:56:25 828403 427
Как замостить ебучую текстуру?

Есть куб, растягиваю его по какой-нибудь оси, у него также расстягивается текстура. В настройках самой текстуры стоит repeat, tiling на метариале по 1/1. Не хочу увеличивать tiling, потому что тогда придётся создавать на каждый объект свой материал.

Что делать, котаны, есть выход?
Аноним 22/08/22 Пнд 15:16:22 828406 428
Аноним 22/08/22 Пнд 16:10:22 828421 429
>>828392
В дьябле нет секретов и загадок. То есть там уровни из-за генерации построенны так, что игрок ничего не потеряет проигнорировав 50% карты (например это игнорят в склепах в пустыне - сразу бегут в склеп с боссом, игнорируя все остальные)
Плюс в дьябле легко вернуться на базу - цена дешевого свитка и двух кликов мыши

>И че то на лутинг никто не забивает.
Забивают, посмотри стримы (особенно когда фармят какой-то арт или руну).


>это элемент баланса
поэтому во всех модах в первую очередь увеличивают инвентарь.
А еще в ремастере увеличили кол-во ячеек (а игроки просили больше)
Аноним 22/08/22 Пнд 16:15:33 828424 430
>>828386
>и поменять отношение к лутингу
Как раз долбоеб ты - такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда
Плюс есть игры, где в предметах прописан лор игры (соулсы например, или таже might and magic откуда скрин)

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

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

>>Мимо играю почти во все на максимальной сложности.
ито есть для тебя максимальная сложность - это когда надо вставить меч в инвентарь? Тут надо вставить картинку с аутистом пихающим квадратный кубик в треугольную дырку - это явно про тебя, если тебе нравятся такие занятия
Аноним 22/08/22 Пнд 16:27:04 828429 431
>>828421
>Забивают, посмотри стримы (особенно когда фармят какой-то арт или руну)
У тебя ОКР и ты мимо каждой какашки спокойно не можешь пройти, обязательно подбираешь?

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

>А еще в ремастере увеличили кол-во ячеек
В сундуке.
Аноним 22/08/22 Пнд 17:35:26 828440 432
>>828391
Выдает такую ошибку

Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey)
Аноним 22/08/22 Пнд 17:43:06 828445 433
Capture.JPG 53Кб, 700x858
700x858
борщ, юнитач
я пытаюсь поженить друг с другом трансформы из разных префабов.
к сожалению у меня нет parent constraint из более новых версий.
пытаюсь отойти от варианта 1 к чему-то вроде варианта 2, как правильно это сделать?
Аноним 22/08/22 Пнд 17:46:26 828446 434
>>828391
Понял в чем ошибка, у меня сохранение идет и видимо оно криво сделано, буду править
Аноним 22/08/22 Пнд 18:06:00 828451 435
>>828445
Чем тебя первый вариант не устраивает? За второй уебать хочется
Аноним 22/08/22 Пнд 18:10:39 828455 436
>>828424
>Как раз долбоеб ты - такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда

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

>Плюс есть игры, где в предметах прописан лор игры (соулсы например, или таже might and magic откуда скрин)
кроме солсов то игр нет же, не говоря уже о том, что говнолор в предметах это наименьшее из того, ради чего играют в солс. Сравнивать майт энд меджик "по написанию лора в предметах" может конечно каждый, но ставить на одну ступень - только дебил, в клиническом смысле.


>Плюс есть игры, в которых есть крафт
Ну да, есть игры в которых есть крафт и надо на него собирать мусор, поэтому во вех играх должен быть мусор, который надо собирать. С формальной логикой знаком?

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

это ты с чего высрал вообще? самопридуманный тезис оппонента, который ты типа разнес?

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

Ты просто тупой, чел. Ты даже тезисы не можешь изложить не противоречащие сами себе.
Аноним 22/08/22 Пнд 18:10:48 828456 437
>>828451
в первом варианте трансформы вместе со всем мясом выдираются из префаба-child и протаскиваются в префаб-parent
хз насколько это стремно т.к. я в текущем варианте кеширую их оригинальные родители и когда нужда отпадает(перед удалением инстанса префаба из сцены) проворачиваю фарш назад этим же методом. меня беспокоит ситуация если внезапно что-то не так пойдет и трансформы от child останутся на parent висяком после удаления.
а что со вторым не так? есть ли лучше вариант? я себя сам хочу уебать если что.
Аноним 22/08/22 Пнд 18:30:07 828458 438
>>828424
По слогу кстати похож на дауна, который усирался тут, что книги на английском не надо в шапку постить лол. Такой же конч, который ровняет весь мир по себе, при этом является планкой на малой высоте.
Аноним 22/08/22 Пнд 20:05:30 828473 439
itemsystem.jpg 93Кб, 1015x714
1015x714
Бахнул бутылочку Букета Чувашии и сразу пошло дело. Походу придумал реализацию системы итемов. Через систему размер качество можно например вычислять цену, вес, ну имя предмета и так понятно, подсасывать спрайты с енамов. Потом хуйнуть енамы апгрейдов, который через енамы качества предметов будут накидывать свойства и вставать в префикс названия предмета и пошло поехало.
Аноним 22/08/22 Пнд 23:17:14 828505 440
Какие есть варианты получить Sprite из ассетов рантайм, кроме recources.load? Пробовал assetsdatabase.loadassetfrompath - не пошло. Делать какой-то монобихевиор с кучей сериалайзед филдов и набитыми туда спрайтами, а потом доставать оттуда через свитч не хочется от слова совсем.
Аноним 23/08/22 Втр 00:39:16 828506 441
Аноним 23/08/22 Втр 02:15:33 828513 442
>>828455
> а долбоеб я, потому что я собираю только предметы имеющие нормальную ценность и играю весь контент? может ты долбоеб в квадрате просто не?
Ты просто обычный подпивасный дотер. Ты наверное и квесты не читаешь.

В нормальных играх ВСЕ предметы ценны. В олдовых играх времен доса вообще каждая вилка была ценной - потому что всю игру ты был бомжом. (таже might and magic к примеру... это при том что в ней было 4 (а в более ранних - 6) окон инвентаря... но тогда страдали рюализмом (тогда даже были игры, где надо было в диалогах самому текст писать с клавиатуры задавая вопросы... странно что таки не сделали туалеты и сранье (сон и еда были)))

> только предметы
Ну да конечно, а остальные предметы от балды накидали.. Вот делать нехуй геймдизайнерам - давай мусора наделаем вместо игры.
Аноним 23/08/22 Втр 08:22:42 828525 443
>>828513
>В нормальных играх ВСЕ предметы ценны.
обоснуй

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

>таже might and magic к примеру
ты типа пытаешься уверенно пиздить или что? В поздних мм дешевые предметы потенциально имели ценность только когда ты становился грандмастером магии и грандмастером торговли в лейтгейме. Па факту денег всегда хватало и без этого просто с продажи магического лута и наград за квесты.

>Ну да конечно, а остальные предметы от балды накидали..

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

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







Аноним 23/08/22 Втр 09:00:04 828526 444
>>828513
>В нормальных играх ВСЕ предметы ценны
Таких игр значит нет. Ведь в большинстве игр реализованно использовать более крутые циферки и выкидывать остальной мусор, либо сюжетное получение более крутой брони.
>might and magic к примеру.
Ну не наю. Я играл в четвёртые и шестые, но там лут это буквалити мусор, который валится нонстопом и ты по кэдэ продаёшь его, а более крутую экиперовку одеваешь.
> а остальные предметы от балды накидали.
Мусор создаёт эффект добычи и заполнености.
Аноним 23/08/22 Втр 09:57:38 828531 445
>>828513
> В олдовых играх времен доса вообще каждая вилка была ценной

Мне нравится это одухотворение старыми легендами. Воооот были времена. Не смогли мы с пацанами настроить кривую сложности в игре, выправить лут и награды должным образом, а накидали просто вилок, просто дохуя вилок чисто каждую примостырили чтобы от души и продавай карочи иди и на тебе инвентарь бесконечный. апхапх
Аноним 23/08/22 Втр 10:17:11 828533 446
Лутошиз и дефрагментатор стека это одно лицо?
Аноним 23/08/22 Втр 10:30:32 828536 447
На мой взгляд вы по разному смотрите на игры и их геймдизайн.
Никто из вас не прав и в тоже время не виноват.

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

Разные подходы, жанры, игры.
Аноним 23/08/22 Втр 11:10:23 828540 448
>>828525
>обоснуй
>>828526
>Таких игр значит нет
предметы могут использоваться в крафте и заточке другого снаряжения (и я тут не про крафт майнкрафта, а про крафт зелий, свитков, палочек, кузнечества и т.д. - короче то, чем ценны рпг с гриндом)

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

А особенно - в игре могли быть механики заточенные под определенное снаряжение (но которые не делают как раз из-за уебанских ограничений на инвентари). Например снаряжение с уроном по водным существам (тем более сейчас на фоне геншина такая механика стихий снова возродилась). То есть снаряжение, которое ты оденешь в определенных ситуациях.
Но если у тебя в инвентарь два меча помещается, то ты не будешь такое хранить - а значит из-за баланса такие механики если и будут, то только для галочки
Как это было в олдовых играх, где пытались даже разные виды ударов делать (рубящие, колящие, дробящие - вроде в готике такое было или пытались (там были разные анимации замахов мышкой)).
А мозгов сделать нормальный инвентарь чтобы было куда разные оружия помещать - им не хватило. поэтому эти механики оказуаливались, чтобы подпивас с одним мечом и против голема и против зомби воевал, и норм
Аноним 23/08/22 Втр 11:19:41 828542 449
>>828540
Все игры надо делать одинаковыми, про одно и тоже и главное под твой вкус? Вопрос только зачем, если ты просто шизик, который не может структурно изложить мысли и просто какую-то кашу выкакивает, понадергав отовсюду что-то одно и смешав все в жижу.
Аноним 23/08/22 Втр 11:21:08 828543 450
>>828526
>реализованно использовать более крутые циферки
Ну смотри, приведу пример. В игре есть разные монстры:
- големы, их можно бить только дробящим
- оборотни, на них действует только серебряное снаряжение
- слизь, на них вообще не действует оружие, а только магия или огонь
- ифриты - боятся воды и льда
- скелеты - убиваются только святым оружием (любым другим воскреснут)

Итого если делать нормально все эти механики - тебе уже нужно шесть комплектов снаряжения.

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

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

А вот если бы в 80-90 годы догадались давать героям пространственные кольца - ух какие бы были механики в играх

И нет, переодевание не будет дрочерским - просто делать переодевание в одну кноку. Даже в дьябло есть компекты снаряжения (два, но есть)
Аноним 23/08/22 Втр 11:22:31 828544 451
>>828542
>Все игры надо делать одинаковыми
но вы же делаете - весь спор начался с того что опять какой-то довнич захотел ячейковый инвентарь. нахуя он не знает, но уже дрочится тем как делать предметы разных размеров (вместо того чтобы делать интересную игру)
Аноним 23/08/22 Втр 12:24:47 828554 452
>>828544
>но вы же делаете - весь спор начался с того что опять какой-то довнич захотел ячейковый инвентарь. нахуя он не знает, но уже дрочится тем как делать предметы разных размеров (вместо того чтобы делать интересную игру)

и в чем противоречие?

>нахуя он не знает
вообще-то знаю

>вместо того чтобы делать интересную игру)
ну ты главное свою интересную игру делай, ох вейт.

>>828543
Да всех играх должны быть големы и оборотни с одинаковыми механиками это итак всем ясно. И если в солсе, скелетов надо убивать святым оружием, то во всех играх должно быть святое оружие, а так как святое оружие в солсах было с заточки, то надо заточку обязательно в игру мечты. А лут надо собирать как в секиро.

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

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

И не надо рассказывать пожалуйста про разнообразные игры 80х и 90х, как там было все чудно. Какие это были золотые времена механик и полетов фантазий. Это банально пиздеж.
Аноним 23/08/22 Втр 12:33:29 828557 453
может вы сходите нахуй в /vg/
Аноним 23/08/22 Втр 12:34:18 828558 454
Аноним 23/08/22 Втр 15:42:20 828571 455
image.png 178Кб, 1134x584
1134x584
Как применять все эти паттерны/SOLID/OOP/алгоритмы в реальной жизни и не привлекать внимания санитаров?

Вводные: программирую на C#, и на работе тоже. Делаю игру для себя (уже сделал, но хочу новые делать). Наткнулся буквально 5 минут назад на ролик, где автор говорит о том что 99% гайдов в интернете они сделаны максимально неверно с точки зрения оптимизации, и хуже начинающего юнити разраба трудно найти кого-то.

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

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

П.С. Это я нашел под одним из роликов где объясняется несостоятельность 99% гайдов по юнити
Аноним 23/08/22 Втр 15:48:31 828572 456
>>828571
Никак. Это с опытом приходит. Быстрее всего набираются опыта те, кто работают с чужими проектами в команде.

Если ты инди, то смысла задрачивать код так сильно нет. Многие инди-шедевры написаны через жопу. В них спокойно может быть ОДИН класс со всей игровой логикой и ничего как бы.
Аноним 23/08/22 Втр 15:50:42 828573 457
>>828572
Так это и плохо. Я и пытаюсь от этого уйти. В итоге я недавно вернулся к своей игре после перерыва, фиксил баги, долго понимал нахуя я понаписал вещей и куда я их понаписал тк файлов было много. А в "командной" разработке опять же - на работе читаю чужой код, нихуя мне он особо не дает, я максимум просто понимаю что хотел сделать автор и все
Аноним 23/08/22 Втр 16:02:06 828575 458
>>828571
Для начала научись пользоваться профайлерами, для обычного кода и для шойдеров. В геймдеве у тебя время на расчёт кадра ограничено, поэтому ты должен знать во сколько каждая операция обходится, в терминах временного бюджета. Замороченый код никому не нужен, писать надо как можно проще, при условии того что расширять код при необходимости можно без костылей, т.е. интерфейсы и инкапсуляция должны быть предусмотрены абсолютно везде. Если алгоритм не придуман идиотом, то для производительности важнее всего не промахиваться мимо процессорного кэша, потому что частое чтение из оперативки превратит любую игру в слайдшоу. Поэтому начинаешь писать программу всегда держа в уме, что данные должны быть расположны рядом, а разветвления логики должны быть в минимальном количестве. Тогда будет у тебя 1000FPS. ООП это удел энтерпрайза, его надо использовать по минимуму в геймдеве, он просто помогает писать программы из тысяч компонентов, в игре это не важно и не нужно. В игре мы просто читаем данные и записываем данные, главное делать это без запонок, которые тебе как раз покажут профайлеры.
Аноним 23/08/22 Втр 16:27:29 828579 459
>>828573
> нихуя мне он особо не дает
Если бы ты работал в геймдеве, то увидел бы, как много всего они используют. Они много своих инструментов пишут под тот же юнити. Используют активно всякие Zenject'ы, UniTask'и. Код пишут максимально модульным. И так далее.

> долго понимал нахуя я понаписал вещей и куда я их понаписал тк файлов было много
Это опыт. Теперь ты знаешь проблемы своего кода, а значит сможешь его улучшить.
Аноним 23/08/22 Втр 16:29:42 828581 460
>>828579
>всякие Zenject'ы, UniTask'и.

обмажутся, а потом фпс пропукивает.
Аноним 23/08/22 Втр 16:56:01 828583 461
>>824236 (OP)
Привет ребята. Вопрос по поводу assets store
Кто как деньги выводит? У меня после 24 февраля вообще ничего (на pay pal не поступают деньги) Быть может и был такой вопрос, но я его проебал. Пишу снова, не обессудьте.
Аноним 23/08/22 Втр 17:04:15 828585 462
>>828583
Никак, очевидно. Если есть друг иностранец казах то через него выводи.
Аноним 23/08/22 Втр 20:15:53 828608 463
>>828543
>Ну смотри, приведу пример. В игре есть разные монстры:
- големы, их можно бить только дробящим
- оборотни, на них действует только серебряное снаряжение
- слизь, на них вообще не действует оружие, а только магия или огонь
- ифриты - боятся воды и льда
- скелеты - убиваются только святым оружием (любым другим воскреснут)

Итого если делать нормально все эти механики - тебе уже нужно шесть комплектов снаряжения.

нПока похоже на кал
Аноним 23/08/22 Втр 20:18:54 828609 464
>>828585
А если, к примеру, через тинькоф банк?
В профиле на вывод денег указать счёт. Или тухлый номер?
Аноним 23/08/22 Втр 20:44:52 828612 465
>>828609
Попробуй, может прокатит.
Аноним 23/08/22 Втр 20:45:46 828613 466
>>828579
>если бы
Так я и хочу. Нихуя не выходит, везде мидлы нужны. Но из плюсов - сделал переключение между компонентами меню

Я чтобы не создавать дохуя сцен сделал все в одной и при "переключении" просто скрываю компоненты меню путем уменьшения масштаба до нуля
Аноним 23/08/22 Втр 21:27:19 828631 467
>>828583
титькоф и хуйфайзен банк принимают по свифту
Аноним 23/08/22 Втр 22:00:42 828636 468
>>828473
И тут случилось неприятное открытие. Создаю веапон Longsword, a переменная weaponType возвращает... Scimitar. посос.
Аноним 23/08/22 Втр 22:06:59 828638 469
>>828636
Походу придется вместо енама с одинаковыми значениями делать отдельный статический класс, в котором будет хранится дикшенари, с ключем енамом, и целочисленным значением в валуе. Пиздец пушка. ((
Аноним 23/08/22 Втр 22:49:49 828647 470
>>828572
двачую этого дева. Поработал пару лет на продакшен увидел разные проекты, встратые, сложные, простые, но неудобные и т.д. Потом сидишь такой пишешь в одной методе if else, потом ещё if else и ещё, и думаешь хуйню делаю такого не видел раньше - надо разделять, получилось много методов которые все равно запускаются из одно места, ага опять что то не так... и тут ты лезешь в шаблоны и например понимаешь что тебе подойдет паттерн стейт машина.
Аноним 23/08/22 Втр 23:06:20 828649 471
123321.jpg 111Кб, 1080x685
1080x685
Балдеж?
Аноним 24/08/22 Срд 01:22:20 828660 472
Аноним 24/08/22 Срд 02:44:21 828664 473
>>828572
> В них спокойно может быть ОДИН класс со всей игровой логикой и ничего как бы.
Вот такие гении годами пишут свою хуйню, хотя если делать по науке то за месяц уже игра будет готова.
Аноним 24/08/22 Срд 06:45:53 828671 474
>>828649
да, балдёж, если ты в этом ориентируешься, не нужно в ссаный редактор лезть, чтобы что-то отредачить
Аноним 24/08/22 Срд 07:23:35 828673 475
>>828649
Сделаю наверное немного не так. Сами данные буду хранить в структуре, чтобы можно было разные типы данных использовать, плюс все таки там филды с именами, меньше шанс запутаться. А потом создам дикшенари, с ключем енамом и велью структурой. По ключу енаму в коде опять же будет понятнее, чем по индексу от енама искать в массиве.
Аноним 24/08/22 Срд 08:39:42 828676 476
>>828660
мне кажется у тебя все не пиздец, что ты в нубогайдах не нашел)) Щас отполирую и будет конфетка вообще, а не код.
Аноним 24/08/22 Срд 09:54:39 828693 477
кодмечтымлж360.jpg 139Кб, 1077x916
1077x916
Аноним 24/08/22 Срд 10:39:20 828708 478
>>828676
>нубогайдах
Лол. Нубогайд как нельзя делать как раз на твоем скрине >>828649
Ты даже не понимаешь что проебался и постишь дрист, думая что тебя хвалить начнут.
Аноним 24/08/22 Срд 10:54:56 828712 479
>>828708
Мне кажется, у тебя проблемы с самокритикой с головой . Это если посмотреть на проблему в общем. Поэтому у тебя сразу подлива потекла с нубогайда лол.

А если брать конкретнее, то ты пукаешь нубогайдами, потому что только по их лейкалу можешь работать, причем скорее всего мобильную хуйню по кальке производишь. Поэтому не понимаю че ты выебываешься вообще лол.
Аноним 24/08/22 Срд 10:58:10 828713 480
>>828712
Ну пости дальше свой говнокод, будешь местным клоуном. Только на помощь больше не рассчитывай.
Аноним 24/08/22 Срд 11:05:12 828715 481
>>828713
>помощь
запостил первую ссылку из гугла лол.
Аноним 24/08/22 Срд 11:13:12 828717 482
>>828693
Адский гемор, не понимаю того анона что писал >>828316.
Проще в ручную просто иметь строку или нужные данные в отдельном скрипте чем ебаться с этой ебаторией. Не говоря о том что если внезапно чтото подправить нужно или изменить это пздц.
Аноним 24/08/22 Срд 11:31:28 828722 483
33333333.jpg 42Кб, 533x424
533x424
>>828717
>Адский гемор, не понимаю того анона что писал

Там на самом деле мем оказался вообще в другом. У меня структура weaponStats дублирует по сути класс Weapon, в которую я хотел с нее гнать данные. Т.е. по сути это можно сделать например одним классом и свитч в конструкторе, например, но я не хочу, свитч на сотню итемов это не то что я хочу. или реально делать вот так
>>828649
Аноним 24/08/22 Срд 11:42:22 828726 484
Лол, я понял, нада карочи статический дишенари оставить, структуру убрать вообще нахер, класс вепон сделать структурой и набить статический дикшенари уже готовыми экземлярами страктов вепон. Соответсвенно один и тот же тип оружия будет передавать в инвентари по значению и т.д.
Аноним 24/08/22 Срд 12:26:38 828734 485
да пошло она на[...].jpg 119Кб, 1177x541
1177x541
Тут выясняется, что структура не может наследовать, получается коллекцию инвентаря надо забивать по интерфейсу. Можно ли кастить интерфейс к структуре, чтобы получить доступ к ее элементам я не знаю. Да ебись оно конем карочи лол. ))
Аноним 24/08/22 Срд 12:40:56 828738 486
Аноним 24/08/22 Срд 12:54:27 828741 487
>>828734
А чем тебе ScriptableObject не угадили, кстати?
Аноним 24/08/22 Срд 13:01:22 828744 488
>>828734
Да я те говорю залупа это всё. Забей и делай по удобному и понятному.
Аноним 24/08/22 Срд 13:09:52 828748 489
>>828722
анон, не тупи OnEquip у тебя должен быть в абстрактном классе Item
>>828734
это уже пиздец, юзай SO
Аноним 24/08/22 Срд 13:14:59 828750 490
>>828741
С точки зрения программы хз, нет какого-то типа технически обоснованного мнения. Не хочу лишний раз в редакторе сидеть и кликать там это все. Сначала зайди в коде поменяй енамы, потом табайся в редактор, ищи нужное место, пкм, создать .... потом ищи все это в списке ассетов. Как-то муторно.

>>828744
согласен.
Аноним 24/08/22 Срд 13:17:48 828751 491
>>828748
>анон, не тупи OnEquip у тебя должен быть в абстрактном классе Item
абстрактный класс айтем включает в себя не экипируемые вещи. Я либо интерфейсы буду делать, либо как-то через менеджер инвентаря мутить. пока хз.
Аноним 24/08/22 Срд 13:19:45 828752 492
1661336385035.jpg 368Кб, 1920x1440
1920x1440
Аноним 24/08/22 Срд 13:30:55 828757 493
Челы тупо троллят и стебаются над ньюфагами.
Аноним 24/08/22 Срд 13:40:43 828758 494
>>828757
Над одним конкретным дурачком. Остальных ньюфагов любим и уважаем.
Аноним 24/08/22 Срд 13:42:24 828759 495
>>828750
Ты статы оружия будешь постоянно менять, нет конечно. Все делают по разному, но самые правильные это so или сериализуемый в json класс, почему, потому что дев бережет свое время и делает статические данные таким способом чтобы ГД мог править, ГД в свое время будет работать с понятным интерфейсом, а это so где ты можешь ему ограничения поставить чтобы он не заебашил невалидные значения, так же json выводят на вебморду где ГД правит поля без закачки проекта, ещё профитнее.
Ну это так лирика, естественно ты можешь делать как хочешь, ведь это домашние поделки, но если ты задаешь вопросы здесь, то тебе отвечают как правильно, мы же не можем угадать как ты хочешь.

PS видел проект где основная статика была в json, для ГД были созданы гугл таблицы, где они уже и работали, потом все конвертировалось в json и обновлялись файлы в проекте. Вот так выебнулись не имея вебморды.
Аноним 24/08/22 Срд 14:12:47 828763 496
>>828759
>сериализуемый в json класс
пока делаю чтобы работало.

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



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








в
Аноним 24/08/22 Срд 14:35:53 828766 497
>>828763
со стрингами работать гемор, очень легко сделать ошибку. Все стараются избегают парсинг, и используют его если нет других вариантов.
>типо забиваешь данные в стринг с какиеми-то метками, по которым потом дергаешь из него данные и приводишь к нужному типу чи шо?
ты описал json, xml.
Аноним 24/08/22 Срд 15:18:49 828777 498
>>828758
У тебя аж поддувало сорвало.
Аноним 24/08/22 Срд 15:50:41 828780 499
11111111111.jpg 140Кб, 1189x679
1189x679
Готовьте пролапсы своих анусов.
Аноним 24/08/22 Срд 15:52:12 828781 500
>>828780
Хз как ты разбираешься в этой каши, я бы сделал всё намнго проще но в паре скриптов.
Аноним 24/08/22 Срд 15:57:19 828783 501
>>828781
Сенсей, пакеж мастеркласс.
Аноним 24/08/22 Срд 16:47:04 828787 502
>>828783
Боюсь тебе уже бесполезно что-то показывать.
Аноним 24/08/22 Срд 16:59:37 828789 503
Аноним 24/08/22 Срд 17:57:26 828792 504
Почему только в юнити треде 116 постеров, а на доске кроме арчтовера и мяса игр нет?
Аноним 24/08/22 Срд 19:31:10 828794 505
>>828792
Мало кто хочет шкварить свою игру о харкач
Аноним 24/08/22 Срд 22:12:05 828810 506
>>828368
>это и есть издевательство над игроком
В БОЛЬШИНСТВЕ игр инвентарь ограничен как минимум количеством, а в РПГ зачастую ещё и весом. Ограничение по форме предметов встречается реже и лучше бы вообще не встречалось, но оно тоже встречается. И во все эти игры играют. Если тебе в такие игры играть не нравится, это скорее твоё субъективное мнение, не сильно влияющее на статистику конкретных игр. Что есть издевательство над игроком - должны решать сами игроки (целевая аудитория конкретной игры), а не один ты.

>Игрок устает туда-сюда бегать, от данжа до торговца
Ну и не будет собирать всякий мусор. В идеале пусть лишний лут сам деспавнится или подбирается какими-нибудь мобами/НПЦ, чтобы не замусоривать локации. А вообще, балансируй систему лута, чтобы из дохлой крысы первого уровня не выпадало 5 шмоток, которые игроку вообще не нужны и приходится оставлять их на земле.

>это один из антипаттернов геймдизайна
И как он называется/где о нём прочитать?

>Игроки ненавидят такое
Абстрактные игроки ненавидят любой элемент геймплея. Эти же абстрактные игроки обожают любой элемент геймплея, даже самый садистский. Всё зависит от выбранной группы игроков (ЦА).

>Так вот, игрок устает, добывает более-менее оптимальное снаряжение и все. Он просто забивает на луттинг. А значит все твои охуенные секреты и загадки он тупо пробежит.
Это значит, что твои "секреты и загадки" нахрен не нужны данному конкретному манчкину игроку, раз он всё время собирает всякий мусор и бегает продавать его торговцу, вместо поиска секретов и решения загадок. Вопрос, который ты должен задать сам себе, почему игрок занимается уборкой бесполезного мусора вместо поиска секретов и решения загадок? Может, он не знает о существовании секретов, а загадки слишком сложны?

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

>игрок не хочет тратить время на исследование, потому что у него все одно забит инвентарь
Разве исследование == новый лут? Обычно в играх исследование связано с получением какого-то нового игрового опыта, а лут - это второстепенное, необязательное. К тому же, даже если инвентарь забит под завязку, а ты нашёл что-то новое, это новое может оказаться значительно лучше мусора в инвентаре и ты просто скинешь на землю лишнее, чтобы поднять это новое.

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

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

Лично я никогда не имел фрустрации от ограниченного инвентаря в играх. Правда, я редко играю в классические РПГ с квестами, лутом и т.д. Мне больше нравятся игры на выживание с элементами песочницы, в таких инвентарь почти всегда жёстко ограничен и это очень хорошо - безлимитный инвентарь убивает весь кайф от игры. Если бы инвентарь был безлимитным, не было бы смысла строить сундуки и сортировать имущество, не было бы смысла строить жилища/базы/транспорт, не было бы необходимости продумывать тактику следующих действий, сортируя в инвентаре инструменты, оружие, патроны, лечилки, еду и так далее. Короче, ограниченный инвентарь - очень важный компонент таких игр, формирующий геймплей, а не просто играющий на погружение (чаще всего ты таскаешь буквально тонны ресурсов в "рюкзаке", так что ни о каком реализме речи не идёт).

>>828424
>такое отношение обесценивает работу геймдизайнера, так как ты скипаешь 90% его труда
>снова обесценивая работу геймдизайнера
1. Скипать скучную часть игры - это нормально.
2. Если игра лично тебе скучна на 90% - эта игра просто не для тебя, ты не входишь в её ЦА.
3. Если игра скучна для большинства игроков, которым эту игру продали - её геймдизайн говно, а её геймдизайнера нужно уволить или отправить на переобучение. Либо нужно уволить маркетологов, которые продали игру не тем игрокам, которым нужно было продать (пример: маркетолог советовал сделать анимешную стилистику графики, но геймдизайнер таргетировал игру на любителей вахи, в итоге игроки, купившие игру за графику, недовольны геймплеем, потому что он рассчитан не на них).
4. Игроку насрать на геймдизайнера. В 99% случаев игрок даже не знает, кто делал его игру. Ему важно только получить удовольствие от игры. Что он и делает, рационально скипая скучные моменты игры.

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