Ответ: I.D.S. MONSTERS
Цитата:
только для 2Д мира, для 3Д будет сложнее, делать там проверку по дополнительной оси. Я ещё не знаю, будет открытый мир плоским, или кривым террайном, может у зданий даже будут этажи разновысотные, хз. Мне сейчас мой вариант выгоднее, и проще. Да ещё и мне не нужно постоянно проверять, загружен ли префаб персонажа в сцену, триггер тип персонажа мониторит. Так же я размер триггера могу прям в сцене регулировать, и видеть его, это удобно. Ещё важно то, что у триггера есть три готовые проверки состояния (в нас вошли, в нас стоят, из нас вышли), это многое упрощает, и ускоряет процесс разработки. |
Ответ: I.D.S. MONSTERS
Цитата:
https://docs.unity3d.com/ru/current/....Distance.html PHP код:
это многое упрощает, и ускоряет процесс разработки. Ну раз упрощает так упрощает. |
Ответ: I.D.S. MONSTERS
Цитата:
Код:
//Определяем дистанцию между персонажем и навигатором Ну представь у нас 200 монстров, и чё они все будут дистанцию до персонажа мерить? Это был отличный способ поставить блитц на колени, в юнити я таких экспериментов проводить не хочу. Так им ещё и проверять постоянно, находится ли в сцене префаб игрока, прежде чем проверку на дистанцию запускать. А с триггерами тупо на физ движке, пересеклись коллайдеры, хуяк событие. Я могу быть не прав конечно, я хз как там в юнити реализовали просчёт пересечения коллайдеров, но что-то мне подсказывает, что это дешевле, чем спамить Vector3.Distance с множественных объектов. Конечно всё ясно будет по результатам тестирования, когда я заспавню лес монстров с триггерами, нужно фпс смотреть. Если будет лютая просадка, то попробую способ с постоянным замером дистанции. |
Ответ: I.D.S. MONSTERS
Кристал на 10 дней превратился в геймера, и задротил в Minion Masters,
но Кристал излечился, и сегодня вернулся к геймдеву. Реализованы точки респавна монстров, в определённом радиусе от которых монстры респавнятся в рандомной позиции. Реализованы порталы аля фильм терминатор (надувающийся пузырь). Пузырь надулся, в нём появился монстр, пузырь исчез. Запускается таймер жизни монстра, после окончания отсчёта дезбринга отправляем обратно в ад нафиг, создавая пузырь вокруг него, и сдувая пузырь. Код порталов и жизни монстра: Код:
//Портал появления Код:
public GameObject MonsterPortal_z1; |
Ответ: I.D.S. MONSTERS
Итак, мне нужны тестеры. будем проводить первый стресс тест.
На карте находится 5 точек респауна монстров, они создают каждая по 20 монстров, далее каждую секунду будет удаляться по одному монстру, и каждой точкой создаваться по одному. Все монстры с триггерами-глазами. Цель теста - проверка оптимизации, выявление багов. Если у вас игра тормозит, сообщите конфигурацию своего ПК. Если нашли баги - сообщайте подробно описав ситуацию. Заранее благодарен. Билда: ТЫК |
Ответ: I.D.S. MONSTERS
Для тех кто прошёл удачно первый стресс тест, получайте второй.
Здесь каждую секунду создаётся 10 монстров, за 100 секунд будет создано 1000 монстров, и после каждую секунду будет создаваться 10 монстров, и 10 удаляться. Вы поймёте что уже набралась тысяча, когда шары начнут сдуваться. Пробегите кубиком наверх аккуратно, и побегайте там. Можете по выманивать монстров, но не дайте приблизиться, иначе перекинет на другую сцену. Меня интересует, гладко ли у вас всё, нет ли подёргиваний? На моём ПК всё как по маслу, никаких лагов. Билда: ТЫГ P.s. 1000 монстров это 2000 триггеров. P.p.s. В данный момент есть не оптимизированная штука, все 1000 монстров следят за камерой, и поворачиваются в её сторону, они проводят 1000 расчётов положения камеры, когда можно делать один в отдельном скрипте. Данная срань оптимизироваться не будет, т.к. фича нужна лишь для плоских монстров созданных из квадов, которые являются временным решением, пока отсутствуют 3D модели. |
Ответ: I.D.S. MONSTERS
Вложений: 2
Изменения на сегодня:
Теперь у монстра случайное время жизни в установленном диапазоне. Теперь точки респа создают монстра через случайный промежуток времени в установленном диапазоне. Теперь в окне сцены визуализирована область респа монстров вокруг точки респа прозрачным шейдером, что удобно для выбора расположения точки, чтобы монстры не появлялись где не надо (например за пределами игрового поля). Визуализация действует только в сцене, и убирается в игре. Помимо точек респа теперь можно сразу по умолчанию накидать в определённые места монстров, которые тоже будут помечены в сцене цилиндрами. (Все эти визуализации в скрине ниже). Поработал с космосом. Теперь он не выглядит как граффити на асфальте вокруг игрового поля, а передаёт всю глубину своих глубин на столько, на сколько позволяет текстура. Космос теперь отдалён от игрового поля, и движется за камерой, чтобы визуально создавать эффект отдалённости и гигантности, так же космос вращается в противоположную сторону от камеры, при поворотах камеры. Короче проще посмотреть в билде, может показаться, что космос гигантский и статичен, но это я так вас обманываю, на самом деле он маленький, и динамичен. Побегайте камерой, по отдаляйте, по приближайте, по крутите. (При статичном космосе визуально была бы картина другая, в нашем же случае камера это эксцентирк вращающийся вокруг своей ноги, и космос следует именно за эксцентричной частью, при этом поворачивается в противоположную сторону от угла поворота камеры. Результат: обман зрения, вы видите якобы далёкий и огромный статичный (как в реальной жизни) космос, в глубинах которого на краю вселенной болтается наш игровой уровень). Космос теперь трёхслойный с прозрачностью, чтобы сгладить текстуру, и передать глубину глубин глубины глубокого космоса. БИЛД |
Ответ: I.D.S. MONSTERS
Учу общаться скрипты между собой.
Теперь расчёт размера сетки в сцене боя ведётся исходя из уровня угрозы монстра. Уровень угрозы закреплён в переменной внутри скрипта привязанного к монстру. Там целая сеть прогонов через несколько скриптов, узнав уровень угрозы, выбираем размер сетки: Код:
//Уровень угрозы Но создаём пока не его. Всё пока сыро, но работает. В данный момент чтобы реализовать данную задачу двумя параметрами (MonsterNumber, ThreatLevel) обмениваются пять скриптов: скрипт отвечающий за характеристики монстра, скрипт работающий с его триггером, статичный глобальный скрипт получающий информацию с кем сталкиваемся, скрипт создающий сетку, скрипт создающий монстров на сетке. |
Ответ: I.D.S. MONSTERS
Теперь скрипт создающий монстра в сцене боя знает кого конкретно создавать.
Теперь этот скрипт знает какого размера сетка игрового поля получится, высчитывает правый край, находит его середину, и помещает монстра туда. Теперь скрипт сетки выделяющей монстра знает какого размера получилась сетка игрового поля, и верно подгоняет положение сетки выделяющей монстра. Заменён шейдер сетки игрового поля, теперь она симпатичнее, этот шейдер решил проблему отрисовки, ранее очень большая сетка на расстоянии переставала отрисовываться. Теперь монстр увидевший игрока рычит, это маленькое дополнение изменило восприятие проекта. Теперь появилось ощущение, что мы играем в игру. Звук рыка в режиме 3D, откуда рычат, от туда и слышим. БИЛДО |
Ответ: I.D.S. MONSTERS
Цитата:
|
Ответ: I.D.S. MONSTERS
Взрослая жизнь задолбала! Да что такое! Опять сегодня мало времени на кодинг было!
Однакож нужно выговориться. Я продолжаю работать над конструированием сцены боя, и создавать то, о чём понаобещал ранее. Так вот, игровой уровень строился исходя из учёта уровня угрозы нападающего монстра, а теперь мы имеем некий импровизированный инвентарь персонажа с пятью ячейками для хранения походных монстров, в котором записываются порядковый номер и уровень угрозы монстра. Порядковый номер нужен будет на днях, для написания скрипта по созданию в сцене монстра из инвентаря игрока, а вот уровень угрозы его уже нужен для конструирования сетки уровня. Как я заявлял ранее, мы будем выбирать самого опасного монстра игрока, и сравнивать его с уровнем опасности нападающего монстра, а после выбирать кто из них круче, и в соответствии с полученными данными выбирать размер уровня. Так-как логично, что более крутые монстры будут тупо крупнее, и часто резво перемещаться на большие расстояния, и в маленький уровень не влезут, а создавать уровни размером 100 на 100 для всех подряд включая самых мелких монстров это было бы мегатупо, так-как основную часть геймплея займёт время доковыливания до врага. Я думаю вы согласитесь, что такая система расчётов была нужна, она готова, и применена почти в одинаковом виде к трём скриптам, пример: Код:
public int ThreatLevel; //Уровень угрозы Монстра Код:
public static class PlayerKarman Так-как в нём будет проходить основная часть геймплея, на его разработку будет потрачено огромное количество времени. Мне нужно будет и массив проходимости клеток создавать, и рандомный расставляльщик всяких деревьев и прочей хрени мешающей нам перемещаться. Во всяком случае сложность конструирования уровня уже даёт за обе щеки покемонам, так-как в серии тех игр нет вообще возможности перемещаться по полю боя, а у меня будет, так-как это даёт массу возможностей в выстраивании тактики боя. Уже даже герои меча и магии начинают сосать, так-как там по моему весь бой происходит на одинаковой сцене, с сеткой одного размера, там только задники меняются, есть там правда и вторая сцена "замок". А у меня 7 размеров уровней генерирующихся автоматически в одной единственной сцене, чем не повод для гордости? )) Масштаб задумки огромный, чтобы всё рассказать придётся писать огромный диздок, в котором нет смысла для студии из одного человека ) --- Окей, что дальше делаем? Далее создам скрипт, запихивающий игрока в сцену боя, при этом у нас будет 2 варианта на выбор, либо мы присутствуем в стороне как в HoMM3 например, либо идём и самим персонажем в бой как в HoMM4. Разница будет в том, что стоя в сторонке и отдавая приказы монстру, мы будем в безопасности, и сможем убежать, а при выходе на поле боя лично, мы сможем там сразу опиздюлиться, а смерть юзера это будет стопроцентный молниеносный гамовер. Зачем же нам выползать на поле боя самому? Ну во первых, в моей игре задницу игроку никто нализывать не будет, и никакой профессор "ОАК" нам с ходу не вручит имбового пикачу, нам дадут дубинку, и скажут, хочешь жить, умей вертеться. И с этой херновиной мы пойдём врукопаш на монстров, чтобы кого-нибудь поймать, или сдохнуть. При этом если у нас нет походных монстров, значит бой стопроцентно начнётся с игроком на поле боя. Далее, в скрипте создания монстра на поле боя будет реализована рандомная случайность, что монстр который на нас напал, моментально призовёт на помощь от 0 до 2 монстров на подмогу. А если вы помните, мы призываем монстров с помощью перчатки-контроллера, которая может контролировать только одного монстра, собственно только одного и призывать, и раз монстров противников может оказаться более одного, значит игроку придётся самому часто выползать на поле боя в виде подмоги. Но я уже ранее писал, что будет возможность призвать больше монстров. Первая это используя скилл особого монстра, вторая это дополнительный предмет, о котором я не расскажу. Уже жду не дождусь когда наконец смогу перейти к разработке механики боя, однако ещё много что нужно реализовать перед этим. |
Ответ: I.D.S. MONSTERS
Код:
//расчёт размера сетки исходя из уровня угрозы Код:
public static class PlayerKarman PS. нэйминг у тебя шикарный |
Ответ: I.D.S. MONSTERS
Цитата:
Это первый мой проект за десятилетие, Первый проект на юнити, первый на си шарп. Я в процессе изучения, разрабатываю как могу. Последнее что я кодил, это на хорсе под враппером в блитц физику и пп для ртс типа старкрафта 2, На бэйсике. Статический для того, чтобы иметь глобальный Скриптовый файл без привязки к объектам. Знаю, что можно объявить команду, Чтобы скрипт не удалялся при смене сцен, такой Способ тоже буду юзать, но в данный момент Мне нужно так как есть. Нэйминг у меня всегда такой был ))) Главное, что мне всё понятно. |
Ответ: I.D.S. MONSTERS
Цитата:
Это оператор для разбора случаев разных значений одной переменной. PHP код:
PHP код:
Ну в принципе в программировании действует правило "Если работает, то ты уже молодец" |
Ответ: I.D.S. MONSTERS
Цитата:
по этому многого не знаю. Ну как говорится, был и был в блитце ) Так посмотреть на код, та же жопа, только вид сбоку. Этакий миницикл. Мне важно понять, в чём преимущество над моим папуасским говнокодом? Что тут последовательно выполняется проверка на значение, что в моём случае то же самое. Или я что-то упускю из виду? А то все эти IF в апдейте всё равно по очереди исполняются. Особой экономии строк тоже не вижу, наличие break сводит её на ноль. Наверно свитчи нужны для каких-то более сложных конструкций? Просто пока я вижу смысл свитча в том, чтобы остановить последующую проверку, если мы нашли уже нужное число. Однако в случае поиска среди семи значений, это сомнительная экономия вычислительной мощности. Я думаю она нужна, для каких-то расчётов проводящихся в огромном количестве одновременно. В моём случае это разовая проверка в скрипте. Но я думаю это знание мне может в будущем пригодится для каких-либо расчётов в скриптах спавнящихся монстров, так-как монстров будет много на карте, следовательно скрипты будут часто перебирать какие-то переменные. Добавил: вспомнил где я в блитце использовал свитчи, аш 13 лет назад! С их помощью я разбивал игру на сцены, нужные функции запускались при определённом значении переменной, как раз через "case", чтобы делить игру на стартовое меню, и игровой уровень. В юнити такая нужда отпала, и я собственно благополучно забыл о данной фиче ) |
Ответ: I.D.S. MONSTERS
Так ребяты. Я тут некоторое время отдохнул,
думаю сами заметили, и вернулся к делу. Два дня кодил. Визуально изменений мало, ещё меньше в геймплее, однако внутренне много что перетряс, что-то переделал, что-то с нуля написал, что-то добавил. Что-то добавляешь, потом другое работать перестаёт, там всё переделываешь, ну сами знаете как бывает. Короче в данном апдейте: 1. Квады монстров в сцене боя теперь тоже смотрят на камеру. 2. Теперь монстр с определённым шансом может позвать себе в подмогу на сцене боя от 0 до 2 таких же монстров. 3. Теперь можно останавливать время например для перехода на элементы интерфейса, чтобы можно было спокойно подумать что нажимать, для следующего пункта это используется. 4. Появились кнопки, которые спрашивают нас хотим ли в бою мы быть в стороне, или участвовать лично. Ну и собственно вся эта система работает, за исключением того, что я функцию создания самого персонажа ещё не добавил. 5. Теперь в сцене боя управляемая камера, которая ориентируется также в размерах сгенерированного уровня, и не выползает за него. Билда: https://yadi.sk/d/V5BwvRZBdpB6EA И, я даю вам возможность в данный момент поковыряться в самом проекте: https://yadi.sk/d/5dgYQ7_Vps5tEA Потрошите, изучайте, используйте в своих проектах интересные вам функции. |
Ответ: I.D.S. MONSTERS
Ас-саляму алейкум товарищи атеисты, программисты, тунеядцы,
и мазохисты, и прочие кто бы вы там ни были, всем здрасте! В общем спешу сообщить, у меня был секс, и ещё какой! Юнити отымел мой мосг во всех позах камасутры. А раз я здесь, значит я его перетрахал! Короче, что за жёпа меня постигла? Дело в том, что мой предыдущий код генерирования меша образующего сетку - говно. Как оказалось, создавалась нифига не сетка, а квад из двух треугольников, растянутый вершинами по площади игрового поля! Я тут значит сделал двухмерный массив сетки непроходимости, и решил значит в меше непроходимые квадраты не создавать. а тут через боль и маты выяснилось, что у меня нихрена не получается, по тому, что это не сетка, а два треугольника! Это был поистине шок! А всё дело в том, что моя система создания сетки опиралась на опыт конструирования оной в блитце, но у нас же юнити, и вертел он знаешь ли наш предыдущий опыт на детородном органе! Эта тварюга вместо генерации новых вершин и треугольников, в каждый момент когда нужно было создать ячейку сетки, просто переписывала данные предыдущих вершин и треугольников, и растягивала эти четыре вершины. Я когда до этого допёр, очень хотел обоссать лицо разрабам юнити за создание такой неудобной системы процедурной генерации так сказать. Дальше было больше! Я относился к "Vector3" как к хранилищу координатных точек, и собственно при построении двух треугольников использовал всего 4 точки, ну ибо нафига больше, если точки пересекаются. Так вот при создании новой системы генерации сетки я столкнулся с жопой фантастических масштабов, у меня чё только не генерировалось: лесенки, заборы, многоугольные геометрические фигуры, или дроблёное поле. Пришлось атаковать американские ресурсы через гугол, чтобы вычитать что за хрень творится с "Vector3". И чё я выяснил? А "Vector3" это нихрена не хранилище точек по трём координатам, а хранилище именно векторов, а вектор это не точка нихрена, и по этому у меня генерировалась всякая шняга! Решить проблему можно было переводом "Vector3" из векторной системы, в точечную через "Matrix4x4.MultiplyPoint", или Matrix4x4.MultiplyPoint3x4, но я послав на три всем знакомые буквы это великолепное развлечение от разработчиков юнити, пошёл другим путём. Я просто на 2 треугольника создаю теперь 6 вершин через тот же банк векторов "Vector3", и всё работает. В общем текст короткий, но разобрался я в этом дерьме как вы понимаете не так быстро, как описал суть проблемы. В общем вот прототип теперь точно рабочего кода , пока что он генерирует сетку по размерам игрового поля, далее мне нужно будет привязать это к системе определения, какого размера сетку строить, а после научить код не рисовать квадраты там, куда наш монстр не может пойти, опираясь на его максимальный радиус движения, и массив непроходимости: Я уже говорил, код пишется для того, чтобы потом его переписывать. З.ы. А ещё юнити задолбал крашиться, выходит из строя до переустановки. Вёжл Студия от мелкософта тож задолбала, кончается пробный период, логиньтесь говорит, я логинюсь, а там тоже краш (логинится похоже через старый ИЕ, в котором нет нужных функций, у меня семёрка). Приходится её туда-сюда переустанавливать (студию). В общем разработка этой игры мне даётся с большой болью, во времена дарк бэйсика, блитца, и хорса, у меня таких проблем не было. |
Ответ: I.D.S. MONSTERS
Вложений: 1
Так, я не пропал! Ни на что не забил, и ничё не забил.
Я просто больше играю в игры, чем кодю. Короче, я всё-таки реализовал новую версию процедурной генерации визуализации сетки хождения монстра полигонами. Она сейчас плотно связана с матрицей проходимости, и с радиусом максимального хождения монстра (например 5*5). Билды пока не будет, так-как всё это дело снова надо привязать к клику по монстру, это в процессе. Столкнулся с массой сложностей, которые пришлось решать на ходу. Например, из-за того что я конструирую сетку хождения монстра в цикле через FOR, ячейки создаются по очереди, и чтобы мне в функции создать возможность проверки на то, стоит ли мне в нужных квадратах рисовать полигоны, или нет, мне пришлось два двумерных массива координат, перегонять в одномерные, т.е. переводить из координатной системы, в номерную, где номер, это номер ячейки сетки игрового поля. С переводом координат в номера ячейки матрицы проходимости особых сложностей не возникло, но вот вообще высчитать радиус прорисовки вокруг монстра, а после перевести эти координаты в номера ячеек было той ещё трёхдневной болью. В генерации этого меша на данный момент задействовано пять массивов, и девять различных циклов, это довольно сложная система, и рабочая. Испытания показали, что например меш размером в 40.000 клеток, где у нас 80.000 треугольников, генерится довольно долго, по этому для эпических монстров, которые ходят в любую точку карты, я такую систему использовать не буду. Но вот меши размерами например 25 на 25 генерятся моментально, но это вообще весь размер игрового уровня при битве с монстрами аш пятого уровня угрозы, даже больше, короче для стандартных битв всё годно, для управления эпиками сделаю другую систему, об этом пока и речи не идёт у меня. В общем всё зер гуд, результат моих мучений здесь, комментов в них мало: Ну и скриншот того, что сейчас генерится вокруг среднего монстра, он у меня сейчас условно считается выделенным, пока без текстур, и специально чуть приподнято: |
Ответ: I.D.S. MONSTERS
Да, забыл сказать, теперь на очереди у меня система управления
перемещением монстра. Пока не знаю, ходить как в шахматах, или сделать чтобы он как в героях двигался медленно в нужную область используя поиск пути, первый вариант реализовать в 100 раз проще, а на геймплей это никак не влияет, бои пошаговые. П.с. на разработчиков No Man's Sky после своего генератора, смотрю как на мифических зодчих всемогущих, не смотря на то, что их игра полное говно, у них генерируются целые планеты, с ландшафтами, пещерами, морями, ресурсами, растениями, это что-то невероятное.Правда мир у них воксельный, а не полигональный. |
Ответ: I.D.S. MONSTERS
Вложений: 1
Это какая то война с юнити!
В общем прикрутил новую систему к клику мышью по монстру, всё прекрасно работает. Далее в американских интернетах вычитал, как программно создать коллайдер по форме меша, прикрутил. Ну и попытался сделать перемещение монстра в точку пика на его графической сетке проходимости. Мучился много, непонятно почему луч в половине случаев простреливал сквозь казалось бы цельный меш. В общем рыл долго в направлении коллайдеров, всё там перешуршал, ничего не помогает. И тут вдруг я начинаю переключать режимы рендера в сцене, и о чудо ёмаё. Оказалось половина треугольников развёрнута не в ту сторону, и видно это только в типе рендера "Render Paths", в обычном рендере сцены, и игровом рендере меш рисовался как правильный, скрин в посте выше, а вот и причина моей ночной головной боли: |
Ответ: I.D.S. MONSTERS
Вложений: 1
Заменил местами две вершины в массиве, всё встало в норму.
наконец-то можно поспать, а в другой раз уже делать перемещение монстров. |
Ответ: I.D.S. MONSTERS
Итак комрады, билда подъехала!: ТЫЫЫК
Добавлена возможность управления перемещением монстра. Добавлены функции изменения состояния квадратов сетки проходимости (грубо говоря куда шагнули, там квадрат стал непроходимым, откуда ушли, тот стал проходимым). В данный момент временно отключена система случайной подмоги монстра, вы можете войти в сцену боя только с одним монстром. Как управлять? Лкм на монстра, лкм в точку перемещения в радиусе доступности. Прошу тестировать, по перемещаться столько, сколько вам будет не влом. Отловка багов занимает в сотню раз больше времени, чем разработка функций, которые потом пораждают эти баги. Я оттестил и отшлифовал по максимуму, но баги вероятно могут ещё быть. Жду отзывов. |
Ответ: I.D.S. MONSTERS
Вложений: 2
Сразу скажу, что запускал через вайн. Комп старый, на интегрированной видюхе.
1. низкий фпс, на глаз не больше 5 - 10 Я понимаю что в игре графон и все такое, но старые игры через тот же вайн у меня работают хорошо. 2. При клике по монстру появляется интерфейс без текста. В первый раз игра зависла на этом моменте. 3. В бою я почему-то управляю не своим персонажем, а монстром. Когда я довел монстра до своего персонажа, то последний начал медленно улетать в горизонт. 4. Игра закрывается только убийством процесса. Хорошая игра и бои интересные. |
Ответ: I.D.S. MONSTERS
Щас на скорую руку фрапсом посмотрел, в 60 фпс
упёрлось, это ограничение самой проги. Наверное по тому, что монитор 60 герц, по факту макс скорость выше). Чёт у тебя с компом или дрвоами, у меня игра летает. Я на своей машине тестировал игру, выводил на экран 2000 монстров, и при этом одновременно 20 монстров каждую секунду удалялись, и 20 создавались, и фпс не проседал. То что текста нет, я хз, стандартным методом юнити текст выводится. То есть стандартные кнопки на стандартном канвасе, слова выводятся встроенным в кнопки в юнити текстом. В бою ты и должен управлять монстром, такая билда. То что куб улетел это нормально, хотя я монстрам коллайдеры подрезал вроде не должны были задевать уже, но это пофиг, не то тестим щас ) Ладно, жду отзывы и других тестеров. У меня комп Core Quad Q8200, 8гб ОЗУ, карта GF1660 SUPER, игра летает. Комп слабый как видите, если у вас ещё хуже (куда уж хуже, моему процессору 12 лет), то про fps можно вообще не писать )) |
Ответ: I.D.S. MONSTERS
Коллега щас затестил. i7, 16 гб озу, GF1070.
144 FPS выдало, это максимальаня герцовка монитора его. Чёто у тебя антон проблемы каике-то с железом или дровами. |
Ответ: I.D.S. MONSTERS
Цитата:
На низких настройках фпс не менее 30 (по ощущениям около 60) Недавно прошел The Matrix: Puth of Neo. На стандартных настройках фпс так же не менее 30. Хоть игра и древняя, но там и анимация и отражения и частицы и эффекты Мне кажется, проблемы не у меня. |
Ответ: I.D.S. MONSTERS
Цитата:
Игра всё-таки моя делается под форточки, так что как говорится, проблемы линуксеров, это проблемы линуксеров ) На самом деле там лагать то нечему, у тебя на экране плейн, куб, и несколько квадов. |
Ответ: I.D.S. MONSTERS
Цитата:
|
Ответ: I.D.S. MONSTERS
Цитата:
и дефолтные шейдеры текстур, всё, нет ничего больше. |
Ответ: I.D.S. MONSTERS
Цитата:
Такого уровня оптимизации игр, какой был 10 лет назад, давно не делают, это тренд. |
Ответ: I.D.S. MONSTERS
Цитата:
CPU: Topology: Dual Core model: Intel Core i3-3220 Graphics: Intel Xeon E3-1200 v2/3rd Memory: 8 Gb SSD: 120Gb Если честно, я не помню сколько ему лет. Долгое время он лежал как музейный экспонать, и внезапно пригодился. Да, калькулятор, но чтобы пустая сцена на юнити тормозила это какое-то дно. Я на этом компе, например, делаю 3д проект на годо (и там больше логики и контента чем у Криса) и ничего не тормозит. Насчет какие новые игры тянет я не в курсе. Не играю ни во что новое уже давно |
Ответ: I.D.S. MONSTERS
Цитата:
Чего-то в твоём 3D проекте нет, что есть в моём, с чем не справляется твой эмулятор. Так-как там толком нифига не происходит, висят таймеры, которые загружают и удаляют ассеты с периодичностью определённой не постоянно, то могу предположить, что эмулятор не справляется с шейдерами порталов. |
Ответ: I.D.S. MONSTERS
Цитата:
А эмулятора у меня нет, Вайн - не эмулятор. Я единственный у кого тормозит, скорее потому что у меня самый слабый комп из всех. Линукс тут не причем, это доказывают другие игры. |
Ответ: I.D.S. MONSTERS
Тормозит из-за GetComponent и CreateMesh в цикле.
Все GetComponent следует делать 1 раз и складывать в "кеш" переменную, с которой потом и работать. Избавиться от CreateMesh в цикле, предварительно заготовив нужную модель и осуществлять только модификации (без перестройки сетки). Тут придётся как-то схитрить. Но всё это premature оптимизации и всерьёз этим заниматься нужно только, когда будет что-то более-менее играбельное. |
Ответ: I.D.S. MONSTERS
Цитата:
Цитата:
Софт позволяющий запускать игры с плейстейшина - эмулятор. Вайн позволяет на линуксе запускать виндозные приложения - не эмулятор? Цитата:
в опенворлде их нет, а тормозит у него всё, и опенворлд и сцена боя. Заранее там ничего не может быть, проходимость сетки динамически изменяется, и генератор сетки хождения монстра создаёт эту сетку по ситуации, ситуация будет меняться каждый ход. Сетка сцены боя неизменна после загрузки, меняется только визуализирующая ходьбу монстра сетка, но та создаётся только при клике по монстру, не вызывает просадки фпс, это действие по клику а не постоянное. Линуксный эмулятор просто не может переварить UNITY. Я очень много времени уделил оптимизации проекта, чтобы по максимуму убрать тормозящие факторы, даже проводил стресстесты у различных людей. Всё в ДАННЫЙ момент работает идеально, так что давайте закроем тему эмуляторов, меня линукс аудитория не интересует, если проект и переедет ещё куда, так это на андройд максимум. Ну и, я думаю правильно указывать минимальные системные требования, которыми конечно же является компьютер разработчика. Итак, минимальные системные требования игры: Windows 7-8-10 Четырёхядерный процессор не ниже Intel CoeaQuad Q8200 2.33 GHZ SSD диск любой 8GB ОЗУ DDR2 и выше. Видеокарта GeForce 1660 SUPER -------------------------------------------------------------------------------- Это довольно слабенькие характеристики компа, а к релизу игры такой комп найти можно будет только в музее. |
Ответ: I.D.S. MONSTERS
Цитата:
Ты же открыл Вики, там написано: "Название W.I.N.E. является рекурсивным акронимом и расшифровывается «Wine Is Not an Emulator» — «W.I.N.E. — это не эмулятор»." Цитата:
Ну удачи тебе (придется играть в гта5:( ) |
Ответ: I.D.S. MONSTERS
Win7 x64 SP1 FX6100 GTX1050
Полёт нормальный. Хотел проверить по быстрому на линуксе, не вышло. Менеджер приложений сказал archive.ubuntu.com не отвечает. Протон в стиме тоже не захотел. Хз как всё это настраивать.
|
Ответ: I.D.S. MONSTERS
Цитата:
Цитата:
чтобы запускать приложухи для другой ОС, и это уже как-бы должно намекать, что многое будет работать через жопу. Цитата:
Эта игра разрабатывается под Windows 7-9-10. Не под линукс, не под андройд, не под айос, не под консоли, не для фотоаппаратов, калькуляторов, и не для микроволновых печей. Windows онли. Я не Epic Games, я один человек, который выбрал одну платформу, и занимаюсь кодингом по выходным (иногда). Прошу отнестись с пониманием. Цитата:
Это как раз на очереди на реализацию. 2. Закончить бой нельзя, ещё не реализовано, только выход из игры. 3. Масштабировать нужно колесом мыши, масштаб на стрелки я сделал для себя, так-как у меня сломано колесо мыши. Просто на этих кнопках висит ещё один код, который я оставил себе как шпаргалку, он то и останавливает куб. Судя по отзыву у тебя всё работает как надо, спасибо, очередной раз доказано что всё норм. |
Ответ: I.D.S. MONSTERS
Цитата:
Правой кнопкой мыши по приложению и должен появиться пункт "открыть с помощью wine" Цитата:
Цитата:
Цитата:
|
Ответ: I.D.S. MONSTERS
Стоит добавить, что игры на Unity3D у меня всегда отлично работали под вайном.
Даже такое ощущение, что только они и могут нормально в нём работать. Цитата:
|
Ответ: I.D.S. MONSTERS
Цитата:
но в моём случае эти функции запускаются только при определённых обстоятельствах на один такт так сказать. Как может неиспользуемая функция в апдейте влиять на фпс, тем более на фпс другой сцены, которая не связана с данным скриптом? В опенворлде я вызываю ассет, никакой генерации мешей. Какой фпс на линуксе у тебя выдаёт моё последнее демо? |
Ответ: I.D.S. MONSTERS
Цитата:
|
Ответ: I.D.S. MONSTERS
Вложений: 1
1. Переделана система выделения монстра,
я больше не сравниваю расстояние координат падения луча с координатами монстра. 2. Возвращена подмога монстра, теперь в сцене боя снова можно встретить от 1 до 3 монстров. 3. Прикручено управление персонажем в сцене боя, работает если мы решили принять участи в бою лично. 4. Создана генерация текстурной развертки для сетки движения, и наложена кислотно-зелёная текстура. 5. Новый элемент интерфейса - Создана панель шорткатов для сцены боя. Пять ячеек равных количеству слотов переносимых персонажем монстров. В ячейки подгружаются иконки монстров, по умолчанию у нас в кармане уже давно в первой ячейке лежит монстр МАТ, он и загружается. Панель автоматически масштабируется под размеры экрана. Сама панель нужна будет для призыва монстров на поле боя в следующем билде. В общем мне нужны снова тестеры для сцены боя, прошу поучаствовать. В процессе разработки я как всегда породил кучу багов, и кучу времени с ними боролся. В данный момент я больше найти не могу багов, быть может найдёте вы. Билда: ТЫК |
Ответ: I.D.S. MONSTERS
Вложений: 2
С переездом булки утеряна инфа о том, что я создал
систему призыва монстров из кармана игрока, снова расписывать как и что работает не буду, скриншот ниже. Добавил панель скиллов, базу скиллов, при клике на монстра появляется та самая панель, где мы можем выбрать атаку. Сама система боя ещё не реализована, самих скиллов нет. Незаметных правок механик тоже милард, я стремлюсь к максимальной автоматизации и самозагрузкам, чтобы по минимуму настраивать объекты в ручную кодом в скриптах. Уже сейчас многое создаётся цифрами в инспекторе, без лишнего кодинга. Билд: https://yadi.sk/d/V3qxKdw5SowXIA Юзать только режим, где игрок сражается лично, режимом нахождения в сторонке я ещё не занимался, там вероятны ошибки, и не функциональность части механик. P.s. Под постом не отображаются миниатюры загруженных изображений. |
Ответ: I.D.S. MONSTERS
Для багг репортеров, пофикшены двойные действия
при нажатии на элементы UI. Тобишь если над монстром например UI, и тыкая в элемент UI мышью никаких действий по отношению к объектам под UI осуществляться не будет, монстр случайно не выделится, и не шагнёт. Решение простое: Код:
if (UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject() == false) |
Ответ: I.D.S. MONSTERS
|
Ответ: I.D.S. MONSTERS
Цитата:
общего с другими подобными играми только - идея *ловим монстров*. Летом отдыхал, проектом не занимался, щас вернулся пару раз в неделю к кодингу. На данном этапе есть интерфейс для умений монстра, умения в него грузятся из базы в зависимости от того, что монстр умеет. Генерируется поле радиуса атаки, и идут расчёты на удар только в этом радиусе (считает клетки, а не расстояние), есть первый скилл, пока без визуализации (на атакованного монстра ставится сфера). На очереди в реализацию НР монстров, и их убийство. P.s. Огромное время разработки занимает отлов багов и их исправление, я бы сказал 95% времени, самое печальное, что много что приходится по несколько раз переписывать с нуля. Я делаю это до тех пор, пока функции не начнут работать идеально. Так же стараюсь максимально всё оптимизировать, и писать код так, чтобы он был универсальным, чтобы минимум всего делалось вручную. Вот как например те же скиллы, не придётся на каждого монстра всё кодить отдельно, скиллы просто на него вешаются, любые. Много самозагрузок в коде, много массивов. |
Ответ: I.D.S. MONSTERS
Решил посчитать размер текущего проекта,
так чисто интереса ради. На данный момент: 36 скриптов. 4720 строк кода. 13 ассетов 2 сцены 18 текстур 2 музыки 1 звуковой эффект |
Ответ: I.D.S. MONSTERS
|
Ответ: I.D.S. MONSTERS
Может тебе запасные скрипты и эксперименты с материалами в отдельном проекте проводить?
Давно так делаю, у меня даже с Блица осталось куча папок где чисто эксперименты были, которые потом можно было вырезать и применить в общем коде. Попробуй для микрофона простой шумодав включить, или обработать потом. |
Ответ: I.D.S. MONSTERS
Рискнул купив новые наушники с подозрительным микрофоном, он оказался говном,
его ничто не вылечит. Просто надо купить предыдущую модель. Зачем в отдельном проекте проводить, если эти скрипты для текущего? Они же цепляются к тому что здесь функционирует. Папка лежит, жрать не просит ) |
Ответ: I.D.S. MONSTERS
Цитата:
При записи подносить близко ко рту и говорить громко. Качество получается норм. Это наилучшее качество, которое можно получить при данном порядке затрат. Следующий уровень — это уже ёмкостные микрофоны с внешним питанием, но они стоят уже на порядок дороже. |
Ответ: I.D.S. MONSTERS
Цитата:
но я всё никак не могу его купить, по тому что из меня тянут деньги мои грёбаные машины. В джип за год вложил 300 тыс ( |
Ответ: I.D.S. MONSTERS
Цитата:
|
Ответ: I.D.S. MONSTERS
Цитата:
А 2000 это так ) Это у меня в неделю на бензин уходит ))) А теперь по теме. Визуальное решение отображения жизней найдено, по сути это то, о чём сказано в девблоге, но с небольшим приукрашиванием, частично реализовано, в недалёком будущем покажу. Решение довольно странное, непонятно на сколько удобное, и как это воспримет игрок ) Но реально хотелось уйти от банальной красной полоски, хотя решение к ней всё же близкое. |
Ответ: I.D.S. MONSTERS
Монстрам добавлено здоровье.
К здоровью привязана последняя версия моего хелсбара. Добавлен первый скилл наносящий урон монстрами монстрам. Теперь монстр может сдохнуть и оставить свой трупик. Труп монстра можно уничтожить. Заменены шейдеры местами, и некоторые текстуры. Добавлены звуки удара, получения урона, уничтожения трупа, перемещения по сетке. Текущий билд: ТУТ Прошу качать и тестить, нуждаюсь в баггрепортах. Я провожу большую работу по отлову и устранению багов до выкладки версии, однако все баги найти самостоятельно довольно сложно. Воевать можно пока в режиме "Сражаться". ИИ ещё отсутствует, ручное управление монстрами. Монстров можно наспавнить сколько угодно. Возвращение в открытый мир из сцены боя не реализовано. |
Ответ: I.D.S. MONSTERS
Вложений: 1
Пока никто не реагировал на пост, в игре появились
вылетающие из монстра цифры с нанесённым по нему уроном. У монстров появилась сила, которая умножается на мощность скилла. Параметров силы у монстра два, это минимальная и максимальная, при ударе выбирается случайное число от минимума до максимума. Появился уровень удачи в процентах, позволяющий выдать больший урон, при срабатывании удачи урон увеличивается на сумму от 10 до 70 процентов от мощности силы монстра перемноженной на мощность скилла. На данном скриншоте монстру при ударе не выпала удача, шанс которой у него был всего 30%, и сила удара была почти минимальной, ведь при минимуме в 10 силы и максимуме в 15, и при мощности скилла в 10 монстр выдал 102 урона, а это значит сила удара была 10.2 Добавил: БИЛД |
Ответ: I.D.S. MONSTERS
Вложений: 1
Официальный примитивный логотип игры.
Это как понимаете этакий сборный значок имблетов монстров, в одном глазу которого перевёрнутый крест являющийся символом религии игрового мира, где поклоняются богу по имени "Ихний". (Ихний, считают приверженцы религии, это бог наславший монстров). |
Ответ: I.D.S. MONSTERS
Цитата:
|
Ответ: I.D.S. MONSTERS
Второй есть, и его зовут "Евонный".
Никаких реальных религий не будет, Все совпадения случайны. Названия богов такие сами понимаете не с проста, это такой юморочек. |
Ответ: I.D.S. MONSTERS
Появилась прокачка монстров до 25 уровня.
Имеется стандартный бар отображающий прогресс по накоплению экспы. Отображается уровень монстра в определённом окошке. Билд не компилю один фиг не тестите. |
Ответ: I.D.S. MONSTERS
Разработана система массух (скиллы бьющие по площади).
Реализован и визуализирован второй скилл (ЭЛЕКТРОШОК), он как раз массуха. Добавлен визуальный эффект при получении уровня монстром (жёлтые огоньки вылетают из него). Звук тоже проигрывается. Свежий билд : ТЫГ |
Ответ: I.D.S. MONSTERS
1. Разработана и внедрена система пошаговых сражений на 3 стороны.
2. Добавлена кнопка пропуска/завершения хода. 3. Добавлены звуки перехода хода, к кому перешёл, такой и звук. 4. Добавлен маркер помечающий того монстра, чей сейчас ход. 5. Добавлен информирующий текст ( чей ход). 6. Добавлена функция возврата на предыдущую сцену. ИИ всё ещё отсутствует, врагом управляет игрок. Присутствует френдли фаер. Игрок неуязвим. (куб). БИЛД |
Ответ: I.D.S. MONSTERS
Подлечил глаза от воспаления, возвращаюсь по чуть чуть к кодингу.
Сцена боя окончательно слилась со сценой открытого мира, и генерируется на 15 пунктов ниже, в данный момент это уже второй вариант генерации сцены боя, и он меня устраивает. Теперь геймплей зациклен, тобишь после победы над монстром мы продолжаем игру в открытом мире. |
Часовой пояс GMT +4, время: 08:11. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot