Вторник, 16 Июля 2019, 07:03

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 189
  • 1
  • 2
  • 3
  • 188
  • 189
  • »
Форум игроделов » Записи участника » pixeye [3776]
Результаты поиска
pixeyeДата: Четверг, 04 Июля 2019, 20:45 | Сообщение # 1 | Тема: Actors
Red Winter Software
Сейчас нет на сайте
Добавил поддержку распараллеливания для рассчетов : )

Код

namespace Pixeye.Source
{
 sealed class ProcessorTest : Processor, ITick
  {
  public Group<ComponentPosition> groupThreaded;

  public ProcessorTest()
  {
   groupThreaded.MakeConcurrent(100000, Environment.ProcessorCount - 1, HandleCalculation);
  }

  public void Tick(float delta)
  {
   if (Input.GetKeyDown(KeyCode.Alpha1))
   {
    for (int i = 0; i < 500000; i++)
    {
     var e = Entity.Create();
     e.Set<ComponentPosition>();
    }
   }

   // One thread
   if (Input.GetKeyDown(KeyCode.Alpha2))
   {
    for (int i = 0; i < groupThreaded.length; i++)
    {
     ref var entity    = ref groupThreaded.entities[i];
     ref var cPosition = ref entity.ComponentPosition();
     for (int j = 0; j < 1000; j++)
     {
      cPosition.pos.x += 1 * delta;
     }
    }
   }

   // MultiThread
   if (Input.GetKeyDown(KeyCode.Alpha3))

    groupThreaded.Execute(delta);
  }

  static void HandleCalculation(SegmentGroup segment)
  {
   for (int i = segment.indexFrom; i < segment.indexTo; i++)
   {
    ref var entity    = ref segment.source.entities[i];
    ref var cPosition = ref entity.ComponentPosition();
    for (int j = 0; j < 1000; j++)
    {
     cPosition.pos.x += 1 * segment.delta;
    }
   }
  }
    }
}





ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Четверг, 04 Июля 2019, 20:46
pixeyeДата: Пятница, 28 Июня 2019, 11:52 | Сообщение # 2 | Тема: Actors
Red Winter Software
Сейчас нет на сайте
Cryoshock Mini для тех кто интересуется темой ECS - обновляю учебный проект на фреймворке c учетом изменений.


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Пятница, 28 Июня 2019, 11:58
pixeyeДата: Понедельник, 24 Июня 2019, 10:59 | Сообщение # 3 | Тема: Wared
Red Winter Software
Сейчас нет на сайте
И что такое шахматный стиль? На скрине гексы, я играл в шахматы и там не было гексов.
В чем уникальность подхода к стратегическим боям? И с чего ты решил что уникальность будет в плюс?

https://store.steampowered.com/app/590380/Into_the_Breach/ вот пример замечательной небольшой игрушки про тактику. Обрати внимание как они делают питч и описание. Они не доказывают мне что у них чет уникально. Мне сказали о чем игра и емко описали как и что я там буду делать.


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Понедельник, 24 Июня 2019, 11:02
pixeyeДата: Воскресенье, 23 Июня 2019, 09:54 | Сообщение # 4 | Тема: Ищу напарника "Программиста" на Construct 2
Red Winter Software
Сейчас нет на сайте
Цитата SSANO ()
Для начала хотелось бы видеть
1)Связь через дискорд

Да блин нужен ты с высокой колокольни.

Цитата SSANO ()
3)Адекватность

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

Цитата SSANO ()
То есть мне нужен человек который знает Construct 2 лучше среднего

Что есть лучше среднего? Лучше тебя? Почему нет списка того что предстоит делать человеку. Ты ж людей не прозапас берешь.

Цитата SSANO ()
Графика: 2д (В приоритете пиксельная)

Значит никакой еще нет.

Цитата SSANO ()
Идея игры: Гг является грабителем из чего выходит что гемплэй будет завязан на Стелсе и головоломках

Да какая разница какая у тебя идея - интересно кто ты :)

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

Вот я бы понял тебя еще если бы ты:

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

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


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Воскресенье, 23 Июня 2019, 10:01
pixeyeДата: Четверг, 20 Июня 2019, 19:19 | Сообщение # 5 | Тема: Sher - Авторский(ага) канал про геймдев
Red Winter Software
Сейчас нет на сайте
а ты классы с маленькой буквы пишешь в надежде на холивар?)

ACTORS - мой фреймворк на Unity3d

pixeyeДата: Четверг, 20 Июня 2019, 12:50 | Сообщение # 6 | Тема: Оптимизация 2D игры
Red Winter Software
Сейчас нет на сайте
1. Выясни что больше потребяет ресурсов.
Логика ( оч условно CPU ) или отрисовка. (Render thread )


Это можно посмотреть во вкладке Stats.
Например у меня видно что CPU нагружен больше. Больше не значит плохо, пока ты просто сравниваешь и выясняешь что в игре у тебя тяжелее.

Дальше открываешь окно дебагера.


Включаешь Record, Включаешь Hierarchy - и с запущенной игрой смотришь что будет происходить.

Тебя интересуют два поля. GC Alloc и Time ms.
В идеале GC alloc должен быть на нуле. ( Ясно что аллокации у тебя будут но не должно быть такого чтобы были аллокации каждый кадр. )
Сами аллокации по себе ничего тебе не сделают однако это мусор. Представь что ты сидишь в своей уютной квартире и вокруг себя разбрасываешь носки, грязные тарелки, фантики. Ты вроде довольный, но приходит жена дает тебе нагоняя и пока она убирает ты работать не можешь. Произошел ФРИЗ. Так же и тут сборщик мусора увидет что ты дохрена нагадил и на момент уборки заморозит твой процесс. Так что чем больше мусора тем чаще появляется сборщик тем хуже для твоего фпс.

Вкладки которые тебе интересны скорее всего будут в PlayerLoop->BehaviorUpdate. В любом случае находишь места с которых у тебя падает фпс и смотришь какие операции скок времени занимают. На основе этого начинаешь делать предположения. А еще лучше покажи код.

Так же сходу могу внести предположение что тебе в консоль сыпятся дебаг сообщения которые ты игнорируешь или не видишь, а они оч сильно фпс дропают. У новичков это как правило 50 из 100 случаев "таинственных просадок фпс"


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Четверг, 20 Июня 2019, 12:53
pixeyeДата: Четверг, 20 Июня 2019, 09:03 | Сообщение # 7 | Тема: Оптимизация 2D игры
Red Winter Software
Сейчас нет на сайте
Как раз вчера баловался со всякой фигней)
20 тысяч отскакивающих гильз с ужасно нереалистичным отскоком XD

Никаких особых оптимизаций не надо.
Для начала дебаг. Определи что медленее всего работает.


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Четверг, 20 Июня 2019, 09:04
pixeyeДата: Суббота, 15 Июня 2019, 14:54 | Сообщение # 8 | Тема: Actors
Red Winter Software
Сейчас нет на сайте
у гитхаба в бете запущена программа спонсоров. В общем суть, что любой желающий сможет поблагодарить опенсорщиков парой долларов : ) типа патреона ток на гитхабе.
Сейчас собирают претедентов на бетку. Буду признателен если проголосуете за меня : ) мой профиль если что.


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Суббота, 15 Июня 2019, 10:58 | Сообщение # 9 | Тема: Массив содержащий компоненты игрового обьекта
Red Winter Software
Сейчас нет на сайте
Цитата zaicev9797 ()
А вот это уже хороший вопрос, может и действительно не нужен, я сам еще в раздумиях так сказать. С одной стороны хочется разобраться в том, как это у крупных дядек работает, с другой стороны супер навороченых игр я вроде тоже не собираюсь делать (покрайней мере не на самописных велосипедах)


*****во порой у крупных дядек работает XD Хочешь C/C++ код крупных игр смотреть смотри тогда сорсы кваки 3, думов и прочая. Они давно уже выложены.
Юнити пилят годами штат прогеров. Задача юнити - привлечь больше разработчиков и сделать их движок самым популярным и зарабатывать деньги :) . Многие их решениях это попытка выразить сложное через простое идя на кучу компромиссов.

Как разработчику игр тебе в общем-то должно быть пофиг. Ты берешь инструмент по своим скилам и выжимаешь максимум из него. ( Юнити замечательный двиг и много классных игр было сделано на нем )
Если тебе больше нра движки то просто устройся на работу в юнити : )

Ну и иди от простого к сложному.


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Пятница, 14 Июня 2019, 23:12 | Сообщение # 10 | Тема: Массив содержащий компоненты игрового обьекта
Red Winter Software
Сейчас нет на сайте
Цитата zaicev9797 ()
Вроде уже на втором курсе, и половине одногрупников курсачи на сях писать умудряюсь,

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

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

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


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Суббота, 15 Июня 2019, 00:05
pixeyeДата: Суббота, 08 Июня 2019, 20:55 | Сообщение # 11 | Тема: flatingo — блог разработчика игр
Red Winter Software
Сейчас нет на сайте
Это общая тенденция форумов.

Для общения
сначала были аськи, потом скайпы, теперь телеграмы и дискорды. Дискорды удачно объединили чат с форумом. Там много тусни.
У меня например сейчас нет ни аськи, ни скайпа, ни соц страниц, ток дискорд : )

До эры "учителей" из ютуба и ребят "я скажу как сделать кусок ***** за 5 минут" в основном единственным способом получить ответы были форумы. Активность была выше. Сейчас предпочитают спросить напрямую в дискорде или посмотреть видос на ютубе.

Общения с коллегами, семьей, детьми, друзьями за горло хватает так что в общем-то с кем-то просто лясы точить на форуме так себе :) Да и не продуктивно. О чем? О жизни? кому это надо? : ) О политике/стране/религии? Пошло. О том кто какой сериал или фильм посмотрел? С большой долей вероятности все видели одно и тоже.

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


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Суббота, 08 Июня 2019, 22:14
pixeyeДата: Среда, 29 Мая 2019, 20:45 | Сообщение # 12 | Тема: Пуля не летит ( Создание объекта -> velocity -> печалька)
Red Winter Software
Сейчас нет на сайте
Программирование это всегда немного игра в детектива. Я дам тебе универсальный совет решающий 100% твоих проблем. Называется дебаг.

Вероятнее всего дело в
Код
   bulletInstance.GetComponent<Rigidbody>().velocity = spawnPoint.forward * bulletSpeed;

Проверь bulletSpeed / spawnPoint.forward - с большой долей вероятности там где-т по нулям и как результат стояние на месте. Либо скорость слишком маленькая - это самые очевидные варианты.


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Среда, 29 Мая 2019, 11:53 | Сообщение # 13 | Тема: Code My God - разработка игр
Red Winter Software
Сейчас нет на сайте
Цитата JackNazaryan ()
Они развиваются быстрее предыдущих поколений, у них техника и интернет с раннего детства есть.


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

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


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Вторник, 28 Мая 2019, 08:47 | Сообщение # 14 | Тема: Actors
Red Winter Software
Сейчас нет на сайте
Цитата Xakep ()
А чем твое решение не ООП решение? ECS - это просто архитектурный шаблон проектирования, который может быть выполнен как в ООП стиле так и в любом другом (ФП к примеру). Кстати, сейчас Майк Актон разрабатывает ECS с Data Oriented Design для юнити и все официально: DOTS, не пробовал использовать этот подход? и может просто добавить необходимые удобные абстракции поверх DOTS.


Все верно. Под ООП я тут скорее имел ввиду интенсивное использование принципов ООП, что до юнити. Что они делают мне известно, но я пользуюсь юнити исключительно как ванильным рендер движком с возможностью билдить под все платформы. Конкретно ecs юнити мне просто не нравится : )


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Понедельник, 27 Мая 2019, 19:54 | Сообщение # 15 | Тема: Actors
Red Winter Software
Сейчас нет на сайте
Цитата k0fe ()
pixeye, обнови ссылку на документацию в шапке на

Там еще надо будет обновлять доку. Настройка давно упростилась : )


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Понедельник, 27 Мая 2019, 19:37 | Сообщение # 16 | Тема: Actors
Red Winter Software
Сейчас нет на сайте
2019.05.27 обновление. Добавилась подписка на изменение компонентов ( реактивные компоненты )
https://github.com/dimmpixeye/ecs/wiki/(RU)-Observers -> пример использования

Код

sealed class ProcessorTesting: Processor, ITick
{

  public float hp;
  public ent observer;
  
public ProcessorTesting()
{
// где source = объект из которого берется переменная
observer = this.ValueChange(source => hp, HandleChangeHP);
}

// метод который должен сработать с изменением. Возвращает изменившиеся значение.
void HandleChangeHP(float val)
{
   Debug.Log($"HP IS {val}");
}
}


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Понедельник, 27 Мая 2019, 19:53
pixeyeДата: Воскресенье, 26 Мая 2019, 20:59 | Сообщение # 17 | Тема: Фреймворки. С чем их едят?
Red Winter Software
Сейчас нет на сайте
Фреймворки обобщают и стандартизируют подходы и практики в разработке. Таким образом они действительно ускоряют разработку но я бы не сказал что это резко. Скорее в твою работу становится легче вносить правки. Проще дебажить и расширять архитектуру игры.

Новичкам нет смысла применять фреймворки пока просто на языке не научишься писать сносно :)


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Воскресенье, 26 Мая 2019, 21:01
pixeyeДата: Воскресенье, 26 Мая 2019, 06:28 | Сообщение # 18 | Тема: Готовы ли вы выложить свой код?
Red Winter Software
Сейчас нет на сайте
Цитата TimKruz ()
Ваще не понимаю, зачем нужны все эти ::, auto const &[]:, <type>, <<, >> и прочая бесовщина.

Да и не надо понимать если не хочешь : )

Цитата TimKruz ()
Если отбросить инфантильные мечты — ничего по-настоящему не хочется, и это вгоняет в депрессию.
Если фокусироваться на тех мечтах — реализовать их не выходит, и это вгоняет в депрессию.


И про твой оффтоп.

Цитата TimKruz ()
если бы увидел в этом значимость выше своей идеи-фикс

Исходя из поста у меня не сложилось впечатления что тебе ничего не хочется. Кажись тебе бабы хочется XD Нормальное такое желание. Роботяны и прочая хренота просто отмазы :)

Цитата TimKruz ()
малейшие неудачи заставляют меня всё бросить и углубиться в страдания ("аааа! опять как-то не так рисуется! какое же я ничтожество, даже такую бесполезную фигню сделать не могу!")

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

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

Не надо быть 7 пядей во лбу чтобы быть счастливым. Не надо чего-то сильно хотеть чтобы быть счастливым. Надо принять себя и двигаться дальше. Всё нытье что ты писал - эт не ты :) Это та матрица что ты себе придумал чтобы не было больно по-настоящему.

Искренне желаю тебе найти сил разобраться во всём этом.


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Воскресенье, 26 Мая 2019, 06:30
pixeyeДата: Суббота, 25 Мая 2019, 20:38 | Сообщение # 19 | Тема: Готовы ли вы выложить свой код?
Red Winter Software
Сейчас нет на сайте
Цитата TimKruz ()
Но я уже смирился, что мой путь — это к тем поехавшим одиночкам, которые мнят себя великими изобретателями, а на деле несут какой-то бред, в огромных масштабах (для примера, есть один форум по ИИ, так там как в дурдоме — все такие сурьйозные, а говорят в основном о совершенно бредовых вещах, далёких от практической разработки). Так-то нет особой разницы, пытается человек изобрести вечный двигатель, найти философский камень, сформулировать общую концепцию всего или запрограммировать компьютер на человекоподобное поведение... Короче, всё очень плохо у меня.


Ты просто честно-честно ответь себе чего ты действительно хочешь. И все встанет на свои места : ) Не прячься и не играй в игры разума. Все на поверхности.


ACTORS - мой фреймворк на Unity3d

pixeyeДата: Суббота, 25 Мая 2019, 00:43 | Сообщение # 20 | Тема: Готовы ли вы выложить свой код?
Red Winter Software
Сейчас нет на сайте
Цитата TimKruz ()
(Это основная причина, почему я пилю велосипеды и ненавижу обмазываться готовыми библиотеками. Моя мечта (одна из) — сделать свой ЯП, на котором никогда не будет чужих библиотек, и писать на нём лично. В гордом одиночестве. Что мне будет угодно.)


Зачем ? :)

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

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


Решается через ecs. Ненужны сложные классы, интерфейсы, "объекты" , наследования и прочая муть :) Есть данные, есть обработчики. На ооп языках реализуемо.
Клац

Непонятно о чем именно идет речь.
О каком коде мы с тобой говорим? О коде игры или движка?

У меня код условно разделен на три дома:

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


ACTORS - мой фреймворк на Unity3d



Сообщение отредактировал pixeye - Суббота, 25 Мая 2019, 01:04
Форум игроделов » Записи участника » pixeye [3776]
  • Страница 1 из 189
  • 1
  • 2
  • 3
  • 188
  • 189
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг