XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Проекты> Кунсткамера> Tech Aeon
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Toadcop

offline
Опыт: 54,313
Активность:
Tech Aeon Bugs...
ну короче вот я втыкал (чуть) скрипты инашел один прикол... :) ну вот если юнит изучает спелл иму создаетьса трг (для ауры) и потом если он еще раз учит (поднимает уровень магии) то еще один трг создаетьса :) ну я думаю это надо пофиксить ;)
ЗЫ наверно еще есть. я потестирую...
Старый 01.05.2006, 17:24
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Toadcop, спасибо за помощь. Ошибок в Аеоне действительно хватает.

У меня последнее время были проблемы со связью и свобоным временем. Вообщем постараюсь включиться (хотя последнее время все больше думаю - кому это все нужно...) Ладно, посмотрим... A2M Nomad, как у теюя дела? Я не буду тебя торопить, но большая часть работы сейчас будет за балансерами.
Старый 03.05.2006, 12:51
Toadcop

offline
Опыт: 54,313
Активность:
Sergey а мне что делать ??? тоже хочу что то полезное сделать ;) !

ЗЫ заглянь сюда http://xgm.guru/forum/attachment.php?attachmentid=5764 !
Старый 03.05.2006, 19:18
Sergey
Старейший
offline
Опыт: 44,363
Активность:
По поводу аттачмента - классно. Про лазер я вообще не знал, что такое можно делать (вставлять изображение на определенную высоту). Определенно, это выглядет лучше, чем в тех аеоне :). Идею может позаимствую, если ты не против.
Система в целом стала выглядеть лучше. Хотя какие-то утечки еще имеются. Точно не знаю где, но точно есть. Просто после большого числа запусков дождика из молний игра долго выгружалась. Это верный признак - то ли точки где-то не удаляются, то ли юниты... Но в целом впечатления все равно хорошие.
Что касается того, чем заниматься - предлагаю 2 направления:
  1. Поиск ошибок в коде. Они точно имеются, но мне порою тяжело их обнаружить. Например, иногда игра некорректно работает с ядерной бомбой (я даже знаю из-за чего - дается команда flushobject для объекта null - это приводит к нарушению связей внутри кеша - но я не могу понять, где это происходит).
Еще иногда неправильно работает аура невидимости у дымовой гранаты. Быват игра вылетает, бывает появляется юнит с постоянной невидимостью.
Изредка создаются крипы, которые не желают идти в атаку на врага. Так и стоят на своей базе. Тоже непонятно почему и когда.
Если поможешь выявить эти ошибки - сильно поожешь проекту.
  1. Замечания/предложения по существующим абилам, героям, транспортам и т.д. Любые идеи, которые кажутся тебе интересными. В том, что у тебя есть способности в такого рода делах - легко увидеть, если глянуть на аттачмент в посте выше.
Старый 04.05.2006, 11:55
Toadcop

offline
Опыт: 54,313
Активность:
Sergey ОК ! но
Цитата:
то ли точки где-то не удаляются, то ли юниты... Но в целом впечатления все равно хорошие.
- как я чуствую мне прийдётса скоро статью писать про как вар использует память и как надо правильно работать :) 1) ПРОСТО ПРИ СОЗДАНИЕ И СРАЗУ удаления юнита вар растёт по рамеру т.е. каждый юнит оставляет МУСОР ! 2) точек у МЕНЯ НЕТ только координаты (реал числа) или локации для проверки высоты... но они 100% удаляютьса ! короче я тестил так делал безконечный снаряд который двигалса вокруг юнита потом запускал с 20 таких (игра была создана по локалке) т.е. даёт динамическое наблюдение над выделением памяти вара ! ну и размер Вара ВООБЩЕ не изменялса !!! т.е. сам core TPC НЕ ДАЁТ утечек ! т.е. возможно имаджи которые создаютьса при столкновении снаряда с террайном плохо удаляютьса... но как говоритьса это уже не ТРС ! а прикладное а за него я не отвечаю :)
Ну попробую поиск ошибок... ну короче засяду на вашу карту... да еще посмотри сюда :)

http://xgm.guru/forum/showthread.php?p=89988#post89988
Старый 06.05.2006, 19:25
Toadcop

offline
Опыт: 54,313
Активность:
Общая информация
1)Вообще не использовать PolledWait()! т.к. в нем создаётьса таймер потом удаляетьса и не ОБНУЛЯЕТЬСА ! т.е. типа утечка... в конце это опишу это по подробней !
2)Если создаётьса локальный триггер и ему добавляетьса событие или действие то они должны быть задукоментированы ! т.е. типа local triggeraction ta=TriggerAddAction() и local triggercondition tc=TriggerAddCondition(). они должны быть удалене перед удалением самого триггера с помощю такой функции
call TriggerRemoveAction(t,ta) & call TriggerRemoveCondition(t,tc) и потом сам триггер если делать как я написал то утечек не будет !!! а если так не делать (как 95% мапперов) то есть не большая (и вообще больших практически нету =) ) утечка ! т.е. надо весь скрипт пропарсить в поеске локальных триггеров. Да
еще мог возникнуть вопрос а событие не надо удалять ? ну 1. нету такого действия :) 2. нету надобности т.к. оно привязано к триггеру и вмести с ним удаляетса ! всё тестировано по екстримальными условиями ;) !
3)Ну еще один прикол уменьшит чуть размер этого скрипта :) т.е. не страдать идиотизмом и убрать обнуления integer'ov,real'ov,string'ov, я не видел а вы типа були не фалсите ? :) т.к. это ничего не даёт ! 1. инты как я смотрел вообще память вара не жрут ! т.е. переод трг с 0.001 переодом и инциализировал 10 разных
GetRandomInt(0,9999999) - вот так и нечиго смотрел 1 мин ! память вара вообще не изменилась :) т.е. обнуление и переживание о интах и рилах (хотя рилы я не тестил) бессмысленое ! 2. строки идять память но он не инциализируютьса каждый раз т.е. если у нас была уже строка "умк54ц5" - при втором вызове вар обратитьса уже к
существуещей строке !
4)Одна не очень но важная вещь ! кроче если в спеллах юзать GetSpellAbilityUnit() то произойдёт глюк в некоторых случаях! приведу пример у меня есть спелл который срабатывает и через 10 сек после его срабатывания он убъёт кастера (это пример :) ) ну вот если после каста этого спелл этот юнит использует еще какую нибудь абилу
то в этой функции GetSpellAbilityUnit() накроетьса ! т.е. после 10 сек. функция вернёт нулл вместо юнита ! это такой жистокий прикол :) а ну и юнита не юбъёт ! (короче это я в 100% не уверен но я помню у меня были проблемы...) и я заменил во всех трг. GetSpellAbilityUnit() на GetTriggerUnit() который работает отлично что бы не случилось :)
мораль истории наверно понятна ;) !
5)Триггер который срабатывает при смерти юнита... короче всё нормально но НЕ НАДО флушить кеш (таймера,юнита) т.к. у меня есть опыт того что что-то не так :) когда используешь флуш у меня страно стиралась инфа не та которая нужна :) я ОЧЕНЬ с этим парилса. к чему я виду не надо лишний раз что то флушить т.к. это и так ничего не даёт !
думаете память освобождаетьса ! хрен там ! ничего не освобождаетьса ! т.е. это смысла никакого не имеет надо использовать флуш только тогда когда без него не обойтись ! из за этого могут возникать страные глюки но это я уже писал ! т.е. стоит сделать полный рейд по флушу ! весь скрипт прсмотреть и где не надо убрать его !
6)В триггере "AdvSpdSys Motion" - там короче идёт такой прикол создаётьса локация потом она удаляетьса это всё дела в цикле а обнуления этой локации только в конце функции надо после каждого удаления обнулять ! и вообще в конце цикла надо всё обнулять :) (handle types).
7)Посмотрел на спелл Нюки... ну варварские стиль написания :) т.е. используетьса идиотская функция близзов CreateNUnitsAtLoc которая инциализирует цикл, а потом еще обращение через GetLastCreatedUnit() после того когда я это увидил я подумал что это ГУИ трг. просто переведён в текст :). ну вроде прямых ошибок нету ну как я говорил очень
не акуратно написано что может привисти хоть к каким глюкам :).
ИМХО террайн не очень... ну хрен знает я какой то даун для меня все не достаточно хорошо :) по этому наверно всё сам делаю...
Вот и я дошол к про что я писал в начале ! т.е. как надо правильно обнулять !
  1. Обнулять надо только локальные переменые handle типа !(но даже и не все !) т.е. code,boolexpr,conditionfunc,filterfunc и т.п. типы которые не удаляютьса НЕ ИМЕЕТ смысла удалять они если были раз инциализированы то потом используютьса заново (как строки). как писал и на это надо было обратить только локальные переменые т.е. аргументы функии
не надо обнулять какой бы он не был ! кстати этим можно пользоватьса ! я в ТРС возвращяю юнита снаряда через "берущего" юнита т.е. есть обнуления лок. переменой а перед этим занчения этого югита передал аргументу ;). И я думаю что глобальные тоже не надо... ну вот, а для чего мы вообще обнуляем ? есть много версий но кто точно знает ? Я :)
короче где то месяц тому назад я сильно напряг этот вопрос и очень много тестил... и вышел гибридный результат этих "версий" т.е. обнулять надо для того что бы после удаления этого объекта вар смог выдилить на адрес этого объекта еще раз какой нибудь объект ! т.е. адресс юнита = 159785 если мы будет переодическим триггером создовать а потом пред следущим создание
удалять этого юнита (+обнулять если он фексируетьса в локальной переменой) то следущий созданый юнит будет иметь этот же адрес (это так называемо в "тепличных" условиях т.е. кроме этой функции на карте больше ничего нету !) а если мы не будем обнулять (если юнит в локальной перемной) после удаления то вар будет выделять другой адрес ! причем просто так утечки памяти минимальные за
напр. за 1000 таймеров 8кб. памяти ! простой один юнит занимает около 10 а то и больше ! а это 1000 таймеров ! т.е. "теперь дорогие детишки обратите внимание !" ("Nun liebe Kinder gebt fein Acht") :) здесь не идёт упор в эти несчясные нескольео Кб. нет здесь происходит величайшая манипуляция в истории человечества :) ! т.е. подумайте что нам даёт каждый раз новые адреса ?
А ? "Я вас не понимаю !" ("Ich verstehe euch nicht !") да ! да ! КЕШ усираетьса так как мы для него используем переведёные адреса (+ еще строками засираем :)) для записаи объектов ! а записи в кеше не так и мало жрут ! вот теперь поняли весь хитрый механизм ! (это мне всё Рамми подсказали :yes: угу !) т.е. если не использовать кеш всё стает мене проблематично на счёт этих обнулений хотя тоже желательно обнулять...
пока всё... как то не интересно разбирать чужие скрипты :) ну идеи героев даже очень интересные но вот может реализации не всегда лутчые :) короче мне надо знать что мне можно делать ? а то я так рыпнутса не могу !
ЗЫ кстати все мои лутчие достижения я под Rammstein сделал ! :) - напр. сейчас ... Sechnsucht versteck, sich wie ein insect. In schlaf merkes du nicht das es dich sticht... ! RAMMSTEIN Ist die helste bend von allen ! немного рекламы ;) и кстати лично для меня у Рамштайна идёт упор не в музыку (мелодию) а в текст песни т.к. они очень интересные и с глубоким смыслом ! А да если надо что перевисти с немецкого я могу помочь это мой 2 язык после русского !
хотя и нигде его не учил :)
Старый 08.05.2006, 17:31
Toadcop

offline
Опыт: 54,313
Активность:
АААууууу ?! вы живы ?!?!?!
Старый 28.05.2006, 15:27
Nomad

offline
Опыт: 6,677
Активность:
В общем так.
Экзамены у меня начинаются 13 июня. До этого момента - времени очень мало.
После - небольшое празднование :). После этого - я свободен, и намерен плотно сесть за баланс. Я не покину проект, пока не увижу его релиз.

З.Ы: Как там дела у Сергея то?
Старый 28.05.2006, 22:28
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Ох, дай бог силы снова начать и все закончить... :).
Старый 29.05.2006, 18:16
tysch_tysch
Работаем
offline
Опыт: отключен
как говорил тюлень - "несцать товарищи"=)
Старый 29.05.2006, 18:18
Nomad

offline
Опыт: 6,677
Активность:
Ага, не сцыте =) У меня за такой продолжительный отдых скопилось сил и энтузиазма немеренно, было бы время, а оно будет через некоторое время (каламбур, гы :))
Старый 29.05.2006, 21:40
Toadcop

offline
Опыт: 54,313
Активность:
ZlaYa1000 хммм... вечно тюлень... я так и не дагнал какой миф за ним кто может объяснить =) ?
Старый 30.05.2006, 16:01
tysch_tysch
Работаем
offline
Опыт: отключен
Toadcop всё гораздо проще http://xgm.guru/forum/member.php?u=54
Старый 30.05.2006, 16:36
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,240
Активность:
неплохо было бы сыграть в нее по сетке
Старый 30.05.2006, 17:12
tysch_tysch
Работаем
offline
Опыт: отключен
угу=)
Старый 30.05.2006, 17:13
Toadcop

offline
Опыт: 54,313
Активность:
ZlaYa1000 - а теперь понял =) прикольный аватар ! но почему его все гасят ??? =)
Цитата:
неплохо было бы сыграть в нее по сетке
- как я понял у Сергея конкретно нету времени ! и еще баланс должен быть доделан A2M_Nomad ! а я даже не знаю что мне надо делать =) !
Старый 01.06.2006, 16:34
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Toadcop, не переживай. Спасибо, что думаешь, чем помочь проекту.

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

Если на это есть время, начни с плана.
Старый 02.06.2006, 08:34
tysch_tysch
Работаем
offline
Опыт: отключен
а пчму бы не заниматься балансом паралейно стадии альфатеста?
Старый 02.06.2006, 10:53
Toadcop

offline
Опыт: 54,313
Активность:
Sergey угу ! хорошо ! ну вот только я Razчоравалса © в кеше ! =) я вчера ТРС ПОЛНОСТЬЮ на массивы перевёл =) такой руль + производительность поднялась ! использую ультра быстрый алгоритм Тру.руса (типо ModuloInteger()) ты помнишь ;) короче если только разница в хендлах будет одновреммено равна в 8192 то будет плохо =) ну короче ты в курсе но в нормальной карте это исключение ! хммм... Сасодемонского Орка ? =) т.е. на моих алго я такой флейм забацию у вас слюни потекут ;) короче наверно 2 героев осилю... но читай вот это еще http://xgm.guru/forum/showthread.php?p=106158#post106158
Старый 02.06.2006, 12:22
Nomad

offline
Опыт: 6,677
Активность:
Да, многое остаётся за мной, но до сих пор не реализованы предметы и артефакты.
Старый 02.06.2006, 21:14
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 10:18.