Сохранен 111
https://2ch.hk/gd/res/564971.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

НЕ ЖДАЛИ СУКИ?!!!! ПАУУУУ ПАУУУУУ! https://twitter.com/neoaxis/status/1104752688124833793

 Аноним 10/03/19 Вск 19:41:53 #1 №564971 
image.png
image.png
image.png
image.png
НЕ ЖДАЛИ СУКИ?!!!! ПАУУУУ ПАУУУУУ!
https://twitter.com/neoaxis/status/1104752688124833793
Аноним 10/03/19 Вск 19:44:20 #2 №564975 
s-l300.jpg
коробочка, хорони ребят
Аноним 10/03/19 Вск 19:54:30 #3 №564985 
>>564971 (OP)
Странный какой-то релиз, скрины старые, никаких новых фич нету, что они там делали 5 лет?
Аноним 10/03/19 Вск 20:07:50 #4 №565001 
>>564985
>Странный какой-то релиз
Еще и скачать нельзя, действительно странно
Аноним 10/03/19 Вск 20:57:22 #5 №565027 
>>565001
> скачать нельзя
https://www.neoaxis.com/neoaxis/downloads
Аноним 10/03/19 Вск 20:59:46 #6 №565028 
>>565027
Хуя ты мудрый.
Даун блять обосравшийся, почему же вы не съебываете когда я посылаю вас, что же вы такие пизданутые
Аноним 10/03/19 Вск 21:00:45 #7 №565030 
>>565028
> среньк
Аноним 10/03/19 Вск 21:05:36 #8 №565034 
image.png
>>565030
Читать умеешь, даун? Петушина проткнутая, нахуй ты существуешь.
Аноним 10/03/19 Вск 22:50:11 #9 №565083 
Этот интерфейс из 90-х. На движках с таким интерфейсом игры не делаются.
Аноним 10/03/19 Вск 23:42:36 #10 №565100 
Что это и почему это лучше Юнити или анрила?
Аноним 11/03/19 Пнд 00:17:10 #11 №565112 
>>565105
На линуксе нет игор
Аноним 11/03/19 Пнд 00:51:03 #12 №565123 
>>565122
>матч 3
>фермы
>игры
Аноним 11/03/19 Пнд 07:11:24 #13 №565156 
67z06u07owwf.jpg
>>565083
Аноним 11/03/19 Пнд 07:12:03 #14 №565157 
>>565100
>почему это лучше Юнити или анрила?
Необъяснимо, но факт.
Аноним 11/03/19 Пнд 08:07:46 #15 №565165 
NeoAxisEngine370.jpg
>>564971 (OP)
>Modern architecture
>пикрелейтед
Чет проиграл.
Аноним 11/03/19 Пнд 09:13:21 #16 №565171 
>>565165
Из-за чего ты проиграл, даун? Модульная, компонентная система, а не всратый ооп
Аноним 11/03/19 Пнд 10:13:05 #17 №565184 
>>565171
просто тело первый раз увидело event based paradigm.. вот и кукарекнуло
Аноним 11/03/19 Пнд 10:14:06 #18 №565185 
ps, а они же когда-то опенсурс обещали... все уже?
Аноним 11/03/19 Пнд 14:20:23 #19 №565235 
>>565171
>всратый ооп
Неосилятор?
>Из-за чего ты проиграл, даун?
Попытка сделать делфи на шарпе.
Аноним 11/03/19 Пнд 14:22:45 #20 №565237 
>>565235
даунчек, не знающий нормальные паттерны типа слотов?
Аноним 11/03/19 Пнд 14:26:36 #21 №565238 
>>565237
От того, что ты говнокод называешь паттерном, он не перестаёт быть говнокодом, уёба.
Аноним 11/03/19 Пнд 14:29:37 #22 №565239 
UkpWru4.jpg
>>565165
А как там без ифов обойтись? Просто хочу разобраться.
Аноним 11/03/19 Пнд 14:44:27 #23 №565242 
>>565171
>>565184
Modern architecture прямиком из начала 2000х.

>компонентная система
Это не ECS. Это обычная ООП хуита. Есть базовый "компонент", все от него наследуют. Это хуйня уже сто лет используется.
Аноним 11/03/19 Пнд 14:58:11 #24 №565248 
>>565242
Сущность "экран" хранит компоненты-виджеты.
Аноним 11/03/19 Пнд 15:20:37 #25 №565252 
>>565239
Бамп вопросу.
И добавлю, что в части ввода данных я с этим вопросом разобрался.
Вместо
if (key == W) { vec2 move.y = 1 }
if (key == W) { vec2 move.y = 1 }
if (key == W) { vec2 move.y = 1 }
if (key == W) { vec2 move.y = 1 }
Аноним 11/03/19 Пнд 15:25:38 #26 №565254 
>>565252
Непонятно, какого хуя сообщение отправилось.
Вместо:
if (key == W) { vec2 move.y = 1 }
if (key == A) { vec2 move.x = -1 }
if (key == S) { vec2 move.y = -1 }
if (key == D) { vec2 move.x = 1 }
я напишу:
vec2 move.x = int(key = D) - int(key = A)
vec2 move.y = int(key = S) - int(key = W)
Но, как быть с конечными автоматами? Как их реализовать без ифов? Потому что хоть анимации, хоть ИИ, в любом случае придётся использовать КА. Сотни статей перечитал - нихуя не понимаю.
Обесните на пальцах.
Аноним 11/03/19 Пнд 15:25:49 #27 №565255 
>>565252
Поставил case? Лошара, у процессора все равно нет команды case, а только if и jmp. Все это твои предрассудки.
Аноним 11/03/19 Пнд 15:26:56 #28 №565256 
>>565255
>это твои предрассудки
Я не он >>565165
Аноним 11/03/19 Пнд 15:28:11 #29 №565257 
>>565254
>vec2 move.x = int(key == D) - int(key == A)
>vec2 move.y = int(key == S) - int(key == W)
Слоуфикс.
Аноним 11/03/19 Пнд 15:28:30 #30 №565259 
>>565254
>int(key = D) - int(key = A)
Это ты присваиваешь key разные значения, приводишь к int и вычитаешь? Бред.
Аноним 11/03/19 Пнд 15:29:33 #31 №565260 
>>565259
Ты быстр, но я быстрее. Пофикшено: >>565257
Аноним 11/03/19 Пнд 15:30:12 #32 №565261 
>>565257
С if быстрее алгоритм
Аноним 11/03/19 Пнд 15:30:48 #33 №565262 
>>565261
Пруфы?
Аноним 11/03/19 Пнд 15:31:57 #34 №565263 
>>565262
А, ты даун. Дизассембли код и посчитай, если тебе не очевидно.
Аноним 11/03/19 Пнд 15:32:34 #35 №565264 
>>565257
Те же if за синтаксическим сахарцом. Ты верун?
Аноним 11/03/19 Пнд 15:33:39 #36 №565265 
>>565263>>565264

Великолепная аргументация: оскорбления + сперва добейся + апелляция к невежеству.

Аноним 11/03/19 Пнд 15:35:16 #37 №565266 
>>565265
О боже, я снова оскорбил тупаря, который не понимает моей аргументации. Как же быть...
Аноним 11/03/19 Пнд 15:46:59 #38 №565268 
>>565239
>Просто хочу разобраться.
Подписываешься на события через редактор ебучий, который визуальный типа. Повышается реюзабельность твоего вонючего кода + твой ссаный дизайнер "эдвард-руки-пенисы" сможет подписывать нужные объекты на нужные события. В крайнем случае можно через редактор задавать ссылки на нужные кнопки. Но искать кнопки по именам в коде - это уже клиника.
Аноним 11/03/19 Пнд 15:56:50 #39 №565272 
>>565268
>эдвард-руки-пенисы
Олдфаг в треде! Вот и свиделись.
>искать кнопки по именам в коде - это уже клиника
Эм, ты о чём? Выше в постах исключительно в псевдокоде примеры. Никакого поиска по именам. Только события, естественно.
Аноним 11/03/19 Пнд 16:08:39 #40 №565277 
>>565254
> vec2 move.x = int(key = D) - int(key = A)
> vec2 move.y = int(key = S) - int(key = W)
Это просто пиздец.
ЫЫЫ ИКАНОМЛЮ ДВЕ СТРОЧКИ ЫЫЫЫЫЫЫ ТЕПЕРЬ КОД ЧИТАЕМЕЕ В НЁМ ПРОЩЕ РАЗОБРАТЬСЯ))))
Аноним 11/03/19 Пнд 16:14:08 #41 №565278 
>>565277
Зато без if
Аноним 11/03/19 Пнд 16:15:57 #42 №565279 
>>565265
Как минимум второй чел тебя не оскорблял.
Напомню его собщение:
> Те же if за синтаксическим сахарцом. Ты верун?

А ты же в ответ оскорбил его, проигнорировав его консультацию и ложно обвинив в оскорблениях, которых тут нет. Двойные стандарты?

Ну и я уж вообще молчу про то что ты мало того что на сосаче ноешь что тебя оскорбляют, так еще и пиздишь что-то на справедливую аппеляцию к невежеству.
Аноним 11/03/19 Пнд 16:17:33 #43 №565280 
>>565278
Чем тебе if не угодил?
Аноним 11/03/19 Пнд 16:18:31 #44 №565281 
>>565280
Двачую вопрос. Что все к ифам доебались?
Аноним 11/03/19 Пнд 16:44:19 #45 №565286 
>>565281
Флешбеки из laba_5 по программированию.
Аноним 11/03/19 Пнд 18:39:20 #46 №565298 
>>565165
Блядь, орнул.
Аноним 11/03/19 Пнд 18:40:51 #47 №565299 
Что это и почему это лучше Годота или ксенко?
Аноним 11/03/19 Пнд 18:41:43 #48 №565300 
>>565239
Паттерн матчингом.
Аноним 11/03/19 Пнд 18:42:06 #49 №565301 
>>565281
Сейчас среди неосиляторов ООП модно его ругать и хвалить все функциональное. В функциональных языках нету ифов и других стейтментов.
Аноним 11/03/19 Пнд 19:25:43 #50 №565305 
>>565257
Что же выбрать? Легко читаемый код из >>565165 или эти детские хаки? Трудный выбор.
Аноним 11/03/19 Пнд 19:34:16 #51 №565308 
>>565301
Всё функциональное внутри имеет то, что пытаются заменить, if там есть, и всё остальное.
Код компактнее вроде, да? Но работает медленнее, потому что там внутри целая куча, которую нужно обрабатывать, чтобы получить красивую оболочку, под названием функциональное программирование.
Аноним 11/03/19 Пнд 19:43:43 #52 №565309 
>>564971 (OP)
Чем это лучше годота?
Аноним 11/03/19 Пнд 19:51:49 #53 №565310 
>>565309
Все лучше годота
Аноним 11/03/19 Пнд 22:34:00 #54 №565385 
>>565309
Вангую, что как минимум нет статтеринга.
Аноним 11/03/19 Пнд 22:54:34 #55 №565389 
>>565385
>нет статтеринга.
Можно простой тест для проверки движка на это?
Аноним 11/03/19 Пнд 23:35:32 #56 №565402 
>>565389
Какого движка?
Аноним 11/03/19 Пнд 23:38:20 #57 №565404 
>>565402
Любого
Аноним 11/03/19 Пнд 23:56:57 #58 №565408 
>>565404
Берешь спрайт/модельку, двигаешь влево-вправо с постоянной скоростью, смотришь, плавно ли двигается. Если у тебя нормальный движок, то всё будет плавно, если у тебя годот - время от времени будут проскакивать рывки.
Аноним 12/03/19 Втр 00:00:13 #59 №565411 
>>565408
Даже интересно, как именно нужно накосячить в движке, чтобы были рывки?
Аноним 12/03/19 Втр 00:11:05 #60 №565416 
>>565411
Нормальный игровой цикл написать непросто, особенно если он многопоточный. У Хуана просто не получилось, теперь валит всё на кривые драйвера у nvidia.
Аноним 12/03/19 Втр 00:31:33 #61 №565420 
>>565416
Сколько потоков у хуана?
Аноним 12/03/19 Втр 01:41:47 #62 №565424 
>>565408
> Если у тебя нормальный движок, то всё будет плавно, если у тебя годот - время от времени будут проскакивать рывки.
Деревенщина, можно график фреймиайма выводить.
Аноним 12/03/19 Втр 02:14:31 #63 №565426 
>>565411
В любом движке есть такое, это же фундаментальная проблема отображения рационального значения времени на дискретное количество кадров.
Аноним 12/03/19 Втр 02:42:21 #64 №565428 
>>564971 (OP)
Это какой-то assetbash либрарибаш от мира движков. Линукса нет, андроида нет, айфонов нет, VR нет, зато bgfx, ASSIMP и 64 битная точность бай дефолт. Ну охуеть.
Аноним 12/03/19 Втр 04:04:32 #65 №565430 
image.png
>>565083
Из середины нулевых, ньюфаженька.
Аноним 12/03/19 Втр 04:11:30 #66 №565432 
>>565083
Опять этот неумелый форс "интерфейс редактора = движок".
Аноним 12/03/19 Втр 04:16:42 #67 №565433 
>>565426
Нету, эту проблему ты сам сейчас выдумал.
То о чем ты говоришь может повлечь за собой лишь тиринг(проблема для движков настолько фундаментальная, что контрится всинком, а если не хочешь жрать инпут лаг то фрисинком, жсинком и фастсинком - целый зоопарк на любой вкус), потому что то что ты назвал "временем" определяется полностью частотой обновления картинки на мониторе, остальному железу на это насрать.

Теперь немного теории:
Статтер - это сильно выбивающееся в худшую сторону время кадра(тут мы рассматривпем не время кадра на мониторе, а на процессоре в совокупности с видеокартой которая рендерит то что нужно по его указаниям, можешь называть это не кадрлм а одним полным игровым циклом, как тебе угодно) на некотором промежутке времени, которое портит игровой экспириенс. Например идут кадры по 15-16мс и всё заебись, а тут на нахуй 40 мс жри говно, потом опять пошло некоторое количество времени(в районе полсекунды скажем) и на нахуй опять 40 мс кадр. В итоге счетчик фпс показывает в районе 60, а на практике играть в это говнище жутко неприятно. И проблема эта вызвана не каким-то "рациональным временем" и "дискретным количеством кадров", а тем, что движок именно на этом кадре решил вычистить память, обновить какой-нибудь кэш, что-то очень нужное просчитать и это как мы видим заняло много времени.
Аноним 12/03/19 Втр 04:24:29 #68 №565434 
>>565432
А он и не говорил что интерфейс редактора=движок. Например можно сказать "на лошадях с таким извозчиком далеко не уедешь" - структура предложения точно такая же, причем если мы уберем первуб часть то получим "с таким извозчиком далеко не уедешь" и смысл остается такой же. Также и тут "с таким интерфейсом игры не делаются" - смысл не поменялся и это действительно так. Я думаю он это имел в виду.

А вообще это у тебя просто шило в жопе и ты уже во втором треде подряд до этого доебался.
Аноним 12/03/19 Втр 04:24:51 #69 №565435 
>>565433
Ну так я примерно о том же и говорю. В одном случае 15мс хватило на кадр. Во втором хватило. А в третьем попало на границу кадра, и вот уже один кадр пропустили и только в следующем нарисуем.
Аноним 12/03/19 Втр 04:25:54 #70 №565436 
>>565434
У лошади извозчик есть. А у движка интерфейса, на котором "что-то делают", нет.
Аноним 12/03/19 Втр 05:20:32 #71 №565439 
>>565435
Ну если монитор 60гц = каждые 16.6мс обновляется картинка, то описанная тобой ситуации никогда не возникнет если каждый раз время кадра будет меньше 16.6мс.

Вот если время кадра бывает больше 16.6мс, например иногда проскакивают 17мс - тогда такое может быть. А если иногда проскакивают 34 мс кадры - это уже потеря двух из трех обновлений на мониторе, это уже пиздец статтер.
Аноним 12/03/19 Втр 08:24:01 #72 №565441 
>>565411
Недавно обсасывалось, нюфаньки, просвещайтесь >>548658
Аноним 12/03/19 Втр 08:30:04 #73 №565443 
>>565439
То есть тест простого спрайта туда-сюда может не показать спатеринг?
Аноним 12/03/19 Втр 08:47:51 #74 №565445 
>>565428
>зато bgfx, ASSIMP
Вообще-то так и должно быть в нормальном движке, нужно использовать специализированные библиотеки для различных подсистем, а не городить свои кривые велосипеды под каждый чих, как сделал Хуан.
Аноним 12/03/19 Втр 09:52:07 #75 №565446 
>>565445
Да-да, и потерять полный контроль над движком, получить дрожание анимации и прочее.
Аноним 12/03/19 Втр 10:01:36 #76 №565448 
>>548660
>Сам нашел
>https://habr.com/ru/post/419043/
Врети, в юнити не может такого!
Аноним 12/03/19 Втр 10:37:29 #77 №565451 
>>565448
В годоте это уже на двух кубиках, а у юнити на 100 со сложным физоном
Аноним 12/03/19 Втр 11:09:07 #78 №565456 
>>565451
Ослина даже не понимает, что этот косяк не зависит от производительности и в юнити так же на двух кубиках статтерит.
Аноним 12/03/19 Втр 11:19:29 #79 №565459 
>>565456
Это все в теории, а по факту как я сказал.
Аноним 12/03/19 Втр 12:11:06 #80 №565465 
>>565459
>я скозал
Да похуй, что ты сказал, вафлер, я проверял, и там и там заикания.
Аноним 12/03/19 Втр 12:36:12 #81 №565469 
>>565465
Майнеры проверь, двухкубичный дебс
Аноним 12/03/19 Втр 12:37:15 #82 №565470 
>>565445
Нет, движок должен быть ближе к железу, поменьше прослоек, был случай когда чувак выкинул bgfx и получил прирост производительности в два раза.
Аноним 12/03/19 Втр 12:40:21 #83 №565471 
>>565470
Был случай, когда чувак выкинул годот и получил прирост в 5 раз
Аноним 12/03/19 Втр 12:41:24 #84 №565472 
>>565471
0 * 5 = 0
Аноним 12/03/19 Втр 14:15:19 #85 №565482 
>>565443
С простым спрайтом у тебя будет тратится 0.01мс(эквиваленьно 100000 фпс) на кадр. Даже если ты там заметишь разброс аж до 0.1мс - то это будет из-за каких-то фоновых задач. А если ты заметишь статтеринг с одним спрайтом - то это кривой разгон процессора(или стоковый но на деградировавшем от многократного перегрева цпу, наверное) или памяти, опять же какие-то фоновые задачи(например именно в этот момент ебущие мертвый жесткий диск), проблемы с видеокартой/драйверами, может быть проблемы с другим оборудованием.

Вот если уже спрайтов будет много - тогда есть смысл проверить на статтеринг и ечли он есть то подумать что же у тебя такого раз в несколько кадров может сильно повышать нагрузку на процессор.
Аноним 12/03/19 Втр 14:17:37 #86 №565483 
>>565448
И зачем ты эту статью сюда притащил?
Показывай где там в юнити что статтерит - для этого нужно видео.
Аноним 12/03/19 Втр 14:39:07 #87 №565486 
>>565439
Это работает только для кода привязанного к фиксированному фреймрейту.
Аноним 12/03/19 Втр 14:58:18 #88 №565488 
>>565483
>Показывай где там в юнити что статтерит - для этого нужно видео.
Хуя пососи, чума, запусти да посмотри. У нас тут не суд, тебе пидару ничего доказывать не собираюсь. Я запустил и видно, что в годоте, что в юнити заикания ебаные.
Аноним 12/03/19 Втр 15:08:59 #89 №565490 
>>565488
Это безпруфные кукареканья.
В hw тебя бы за такое из треда вышвирнули, там челы не ленятся записывать видео с полным мониторингом нагрузки и фреймтайма.
Аноним 12/03/19 Втр 15:51:35 #90 №565496 
>>565490
>безпруфные
Я же тебе сказал, что не собираюсь ничего доказывать, долбоеб. Ты отрицаешь то что в статье написано? Юнитипидары уже писали, что у них тоже есть статтеры, так что соси.
Аноним 12/03/19 Втр 16:15:58 #91 №565498 
>>565165
Ахаха, гавнина блядь. БЕЗ ЛАЗАНЬЯ В КОД НИЧЕГО НЕ СДЕЛАТЬ! АХАХАХ! БЛЯДЬ! В ЭПОХУ ДАТА-ДРАЙВЕНА И ECS! ХУЯЧИТЬ МОНОЛИТ!
Аноним 12/03/19 Втр 16:24:24 #92 №565503 
>>565498
Там нет монолита, даун.
Аноним 12/03/19 Втр 16:31:23 #93 №565505 
>>565498
Ну, покежь правильный код с dd и ecs, чтобы не быть голословным.
Аноним 12/03/19 Втр 16:34:01 #94 №565506 
>>565505
Ты, чмо, всё это делается через редактор Юнити. На события подписываешься через редактор. Создавать окна и наследовать в коде не нужно, создаёшь всё в редакторе. Не нужно загружать вручную окна, можешь префаб создать и перенести на сцену. Пиздец тебе, короче. Заебал ты меня.
Аноним 12/03/19 Втр 16:42:20 #95 №565508 
>>565506
Тогда как ты оцениваешь правильность кода, если никогда не видел правильный код, редакторо-дебил?
Аноним 12/03/19 Втр 17:46:20 #96 №565514 
>>565498
>ECS вместо архитектуры, наследования, оптимизаций компилятора
>шлем всем по сто тыщ сообщений на каждый чих
>РРЯ ПОЧЕМУ СТАТТЕРИТ?
Аноним 12/03/19 Втр 18:37:14 #97 №565518 
>>565300
>Паттерн матчинг
Иф паттерн мач зэн окей эльз не-окей. Так?
Аноним 12/03/19 Втр 19:30:22 #98 №565521 
>>565490
>В hw
Это там, где по 200 постов могут перекидываться называнием шизиками друг друга, оба вбрасывая какие-то невнятные графики?
Аноним 12/03/19 Втр 20:53:04 #99 №565535 
>>565083
>Этот интерфейс из 90-х. На движках с таким интерфейсом игры не делаются.

Можно и без интерфейса, чисто в блокноте ебашить параметры.

Мне больше нравятся интерфейсы 90х, там олдовее смотрится. А это интерфейс 200х, Вспоминаю офис 2007.
Аноним 14/03/19 Чтв 21:05:07 #100 №566046 
>>565446
В годоте всё построено на самописных костылях - в итоге как раз годот дрожит и статтерит.
Аноним 14/03/19 Чтв 21:11:34 #101 №566055 
>>564971 (OP)
Что это за говно и чем оно лучше ue4? Зачем очередной движок?
Если нет 10000 бесплатных ассетов - не нужно
Аноним 14/03/19 Чтв 21:12:04 #102 №566056 
>>565535
>Можно и без интерфейса, чисто в блокноте ебашить параметры.
Можно, но не нужно
Аноним 15/03/19 Птн 12:07:21 #103 №566282 
bump
Аноним 28/03/19 Чтв 10:42:14 #104 №569449 
Ну что, пацантре, ВЫШЛО, ОНО ВЫШЛО! Жду отзывов тестиров, сам я к нему прикасаться, конечно, не буду
https://twitter.com/neoaxis/status/1111094240392761344
Аноним 28/03/19 Чтв 10:46:06 #105 №569451 
>>569449
>сам я к нему прикасаться, конечно, не буду
Руки вымой после годота
Аноним 28/03/19 Чтв 10:57:49 #106 №569453 
>>569451
Помой рот после хуев, линуксоид.
Аноним 28/03/19 Чтв 14:47:18 #107 №569489 
>>569453
То что линуксоиды с завидной периодичностью дают на рот виндоузятникам это я слышал, но чтоб они после этого и рот им струей мочи промывали, это что-то новенькое.
Аноним 28/03/19 Чтв 14:57:36 #108 №569491 
>>569489
Помой рот после хуев, линуксоид.
Аноним 28/03/19 Чтв 14:59:04 #109 №569492 
>>569489
>дают на рот
>все линух гуи non-userfriendly говно
Они только самим себе в рот гавна дают
Аноним 28/03/19 Чтв 15:00:47 #110 №569493 
>>565122
>сравнивать linux и android
Ты бы ещё OpenBSD и PS4 (OrbisOS) сравнил, одно ядро же
Аноним 28/03/19 Чтв 17:48:16 #111 №569505 
>>565408
>Если у тебя нормальный движок, то всё будет плавно
Неуловимая проблема тайминга кадров
https://habr.com/ru/post/419043/
Читани эту статью, это общая проблема касается всех движков а не только одного.
comments powered by Disqus

Отзывы и предложения