[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: UltimatePasha, Smerelk  
[Картостроение] [Система] Снаряды без ForGroup + Systemizer
ZonneryX
Дата: Суббота, 10.01.2015, 23:51 | Сообщение # 1
Абигор
Группа: Пользователи
Сообщений: 100
Награды: 3
Статус: Offline
При реализации систем движения, которые взаимодействуют с юнитами, неизбежно приходится сталкиваться с такой необходимостью, как ForGroup.
С помощью ForGroupмы каждый период системы проверяем расстояние до каждого юнита рядом, сравниваем, что не может серьёзно сказаться на производительности системы в целом.
Больше такого делать не придётся.

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


Отдельно упомяну о Systemizer.
Это написанная мной система, предназначенная для упорядочивания всех систем, требующих периодичного выполнения.
Реализована с помощью структуры Systemizerи интерфейса ISystemizer.
Как его использовать? Достаточно просто.
1.Вы пишите скилл/систему в структуре.
2.С помощью extends наследуете интерфейс ISystemizer
3.Добавляете наследуемые функцииUpdate, Init, Equals, Destroy etc.
4. PROFIT

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

Ссылка для скачивания.


www.vk.com/zonnery
 
JacobSon
Дата: Воскресенье, 11.01.2015, 22:18 | Сообщение # 2
Друид Скверны
Группа: Пользователи
Сообщений: 615
Награды: 6
Статус: Offline
Круто, круто.
Скрины бы побольше) А еще лучше видео небольшое.
На мапмейкерских форумах есть что-то подобное? А то может это уже было придумано до тебя. А может объединишь свою наработку с идеями других людей.



ICCup: JacobSonICCup + Garena: Agent.J
 
ZonneryX
Дата: Понедельник, 12.01.2015, 01:01 | Сообщение # 3
Абигор
Группа: Пользователи
Сообщений: 100
Награды: 3
Статус: Offline
Цитата JacobSon ()
Круто, круто.
Скрины бы побольше) А еще лучше видео небольшое.
На мапмейкерских форумах есть что-то подобное? А то может это уже было придумано до тебя. А может объединишь свою наработку с идеями других людей.


Никто доселе это не использовал.
Сама идея создавать целый триггер для ОДНОГО даммика повергает в ужас всех рационально мыслящих.
Однако, экспериментально на практике она проявила себя достойна, увеличив производительность на порядок.
Большинство западных кодеров использует хэш, в то время как я сторонник ООП-реализации всех систем, поэтому объединять что-то будет не самая лучшая идея. Да и использую для всех своих систем специально написанный системайзер, что позволяет объединить их в единую систему, контролируемую одним интерфейсом/таймером cool

P.s. видео записать не могу, т.к. сижу с калькулятора))


www.vk.com/zonnery

Сообщение отредактировал ZonneryX - Понедельник, 12.01.2015, 01:01
 
  • Страница 1 из 1
  • 1
Поиск: