Перейти к контенту

Курилка программистов


Рекомендуемые сообщения

что, каждый раз когда надо поменять состав функций такого типа, надо лазить в движок?

Майн готт :facepalm: . Тут идет реорганизация методов БЕЗ урезания существующего функционала.

 

Да, на дворе действительно 2015, а кое кто так и не понимает зачем нужно разделение на движок и скрипты.

Это ты делаешь платформы, и тебе это важно, а я меняю для себя как удобно мне (тут уже у меня приступ дежавю), капиш? К тому же я не врубаюсь в комплексы программистов, не из их числа.

Изменено пользователем Карлан

Поделиться этим сообщением


Ссылка на сообщение

P.P.S. Да, этот самый движок кто-нибудь пробовал под x64 собирать ?

Тут вроде железное табу.

 

Табу тут на личные разборки. Причем, гроша выеденного не стоящие - ну, написал кто-то не подумавши, далее подхватили, и понеслось. Заняться нечем ? Могу подсказать поле непаханное.

 

А сборка под процессор - с чего оно вдруг нельзя обсуждать стало ? dc

 

Ну вот и что планируется получить в результате ? Сколько версий мы имеем на данный момент ? Что мы знаем о стабильности этих версий ? Об их функционале ? На сколько сложно (и вообще возможно) заменить одну версию на другую ?

Практика показывает что к единому все равно не придут. Есть вещи которые нужны всем, а есть другие, и вот эти другие всегда мешают человеку полностью осознать что эта тема ему подходит. Поэтому я думаю если кто-то перетряхнет сталкер без видимых изменений в игре, возможно это будет актуально, так как человек хочет строить на оригинальной игре, а все эти моды зачем ему нужны? Чтобы на них что-то хотя-бы начать делать - оттуда надо выкинуть все не нужное (в идеале до оригинальной игры), и тут не тот случай с "чтобы сначала выкинуть что-нибудь ненужное, надо...". Мне так кажется.

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

@abramcumner, я не про сдк (его по моему уже давно собрали, но точно не скажу, не шарю я в темах сдк), я про сам движок, его, если не ошибаюсь, еще никто не собирал.

 

upd:

@abramcumner, спасибо, я не знал. ТЧ? Просто если не ТЧ, то не удивительно, другими я не интересуюсь, и в своих постах только о нем и говорю :).

Изменено пользователем Карлан

Поделиться этим сообщением


Ссылка на сообщение

написал кто-то не подумавши

Отвечать надо, как-бы, а человек явно ***, мало того что не анализировал и даже не собирается анализировать ситуацию, к тому же прямо продолжает молоть херню, ну и как такого *** не считать? Причем что мою телегу вычистили, а его нет, ну спасибо, чего тут еще сказать. :facepalm:

Изменено пользователем Kirgudu

Поделиться этим сообщением


Ссылка на сообщение

Денис, кажется вполне аргументированно изложил, делая разгрузку на скриптах ты тратишь больше времени и сил, фактум ноториум, делая это в движке ты делаешь нужное количество массивов (либо один с субмассивами), вставляешь проверки, верстаешь ассоциативный интерфейс, и выносишь все что надо в конфиги (в серверной части все для этого есть), возможно есть более корректные способы, я в движке пока так себе. Или тебе готовый код надо я не пойму? Почему не требуешь от тех кто тут за скрипты впрягается? Или я опять ровнее других?

Поделиться этим сообщением


Ссылка на сообщение

Ты разводишь демагогию. Я исходники не изучил и никогда не изучу, компиляция у меня времени занимает ~20-25 минут, компилирую я только после большого количества правок. С документацией можно ознакомится на репо, но я думаю что там будет мало что понятно скриптеру который не рубит абсолютно ничего в движке, поэтому для людей из своего коллектива я доношу все с конкретными примерами на луа и нормальным описанием. Довожу до них в том ключе какой нужен нашим разработкам основываясь на их текущем опыте, для того что я сделал можно уже писать даже не 10 страниц текста, я сильно сомневаюсь что кто-то будет это читать и вникать, посему не вижу никакого смысла толковать это для общественности, я даю все что у меня есть, брать или не брать - дело каждого. Я никого не прошу бросать проекты на середине, просто уже полтора года исходники есть на руках, и каждый сделал свой выбор, мне до этого дела нет. Если вернутся к инвентарю, скриптовой аналог ты будешь писать даже не неделю, а тут у тебя есть уже готовый код в который тебе надо внести несколько правок, причем довольно тривиальных, только векторы и циклы, с серверной частью возится не надо с ней все нормально. Нужны какие-то приколы по части других 2д-классов? Не вопрос, пишешь эти классы и пользуешься, я переделывал интерфейсы на ТЧ, все есть в сети, работал где-то недели две, стало лучше или хуже - сказать не возьмусь, но в ТЧ изначально очень фиговый ui. 

 

Скрипты работают медленнее движка, несмотря на luajit, и некоторые вещи в движке сделать куда проще чем возится сначала с написанием движковых функций, а потом с их экспортом в скрипты и последующей разработкой того же самого уже в скриптах, это мартышкин труд. Достаточно все что нужно вывести в RW (если вообще нужно), для этого в сталкере уже есть удобный функционал, на том движке на котором работаю я с этим проблем нет вообще, экспорт - минутное дело.

  • Согласен 2

Поделиться этим сообщением


Ссылка на сообщение

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

Изменено пользователем Карлан
  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

@warwer, кое-где вот прям так и задумывалось, только кое-кто вот прям резко против. При работе с движком тест в общем нужен, желательно разными машинами, разными игроками и в разных (игровых) местах.

 

@Dennis_Chikin, дублирую, надо чтобы в нем не копались, а в него играли, сколько еще раз нужно повторить? Конкретно тебя я не раз звал, нет так нет.

Поделиться этим сообщением


Ссылка на сообщение

 

 

ДОСТУПНОЕ ДЛЯ ВСЕХ

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

Поделиться этим сообщением


Ссылка на сообщение

Если бы я преследовал цель перетянуть весь народ на свое или набрать новых паломников, то я бы и геймдату и движок с диффами дал, но у меня другая цель. В названии самоирония, ну не могу я к этому серьезно относится. Селяви.

Поделиться этим сообщением


Ссылка на сообщение

@User_X.A.R26, ты че употребляешь? Изучи подробнее документацию по c api, и про моменты использования define typedef, какая к черту путаница кода? Аргументируй свою точку зрения, приведи код "с" и "без", я тебе в ответ тоже смогу привести, пока ты переливаешь из пустого в порожнее. Про инкапсуляцию уже поминали.

 

 

Тоже самое с bool и BOOL

Основное инкапсуляция - да. Еще разница в том, что c api не работает с типом boolean, lua_pushboolean принимает int C (в отличии от того же lua_pushnumber который принимает lua_Nubmer), и чтобы не было случайных ошибок при экспорте делают подобное объявление, при неявном преобразовании выдаст как минимум warning. Еще также в ходу двойное отрицание (о котором тут не раз подмечал Nazgool) которое приводит любое значение к булевому (в луа и с++ к разным типам, это стоит учитывать).

 

Еще раз напомню, что c api очень круто помогает наладить скоростную взаимосвязь кода, которая как правило пишется довольно ассоциативной с уже известными переменными или какими-то другими областями.

Изменено пользователем Карлан

Поделиться этим сообщением


Ссылка на сообщение

@Forser, о каком скилле ты говоришь? когда я программирую железо на ассемблере я чувствую себя законченным идиотом, язык крайне убогий и писать на нем никому не пожелаешь, поэтому в области сталкера в него даже не совался.

 

@Kontro-zzz, речь совершенно не о геймерах.

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение

@Desertir, я упомяну, что в Lua существует расширение, которое позволяет использовать статическую типизацию. При использовании статических переменных в сотни раз возрастает скорость (Lua уже не "перебирает" все возможное при исполнении кода) и в тысячи раз сокращается объем потребляемой памяти.

 

Сейчас я приведу пример и всем станет понятно зачем это сделано было.

Не могу со всем здесь согласиться. Я совсем немного правил оружие, и особенности дочерних классов поднимал выше, как и советует Malandrinus, результаты вполне позитивные (теперь классы вроде CWeaponBinoculars практически пусты). Не составляет никакого труда производить подобные операции, здесь больше вопросов в дизайне кастомайзинга родительских классов. К тому же для программиста совершенно нет разницы какие там могут быть различия, если будут моделлеры готовые делать и переделывать, то я думаю все это организовать никакого труда не составит. Одна, на мой взгляд, из главных причин, почему для оружия так мало всего сделано это нехватка моделлеров.

 

Я не совсем понял про слоты, ты говоришь о инвентарных? Если о них, то здесь опять все решается кастомайзингом.

Поделиться этим сообщением


Ссылка на сообщение

@Malandrinus, начать стоит с того факта, что скриптеров в сообществе невообразимо больше тех, кто может писать крупные системы для движка. На этом в целом можно и закончить, ну ладно.

 

По поводу логики, очевидных подводных камней не так много, и я тоже поддерживаю инициативу перенести хотя бы скрипты серии state_* в движок (я не видел чтобы их когда-то трогали без воздействия на исходники), оставив лишь какую-то возможность дополнять дату, чтобы можно было скриптовать новые анимации. По поводу всего остального, мне кажется тут невероятные объемы, нужно разбираться как все незадействованные схемы работают в движке, и их доделывать попутно линкуя со всем что есть из биндера, ну тут ладно, недолго, но вот сами схемы это конечно тяжело на мой взгляд. А все эти xr_logic, xr_walker это все мишура, надстройки, а кастом дата это вообще ничто, не вижу смысла тратить на это время чтобы в движок унести. Да и перенеся все в движок получается уже сталкерский биндер то и не нужен. Взглянуть можно на ту же реализацию выдачи тайника (скрипты) и трансферинга инфо (движок), ну вот например как это все можно просто сделать, не логика, но принцип околопроходящий. Все эти биндеры их можно упаковать, так как они будут нужны только для ивентов, которые в свою очередь по нашей задумке УЖЕ в движке. Далее покатится мартышкин труд с этими всеми дополнительными универсальными схемами которые пишутся с незапамятных и отлаживаются по сей день, чтобы их подключить их надо будет линковать с теми что уже в движке написаны, и я не думаю что предоставив такую реализацию все люди которые скриптуют логику ринутся ее писать уже на исходниках, так что инструмент линковки какой-никакой придется оставлять. Ну это так, мое поверхностное дилетантское, я в логике то как свинья в цитрусах.

 

По поводу GUI, тут на самом деле я бы вообще весь экспорт зарезал, он попросту не нужен, по поводу выноса в отдельную либу - тут как удобнее, раньше я поддерживал это, но сейчас пообвык и на самом деле уже все равно. Меню - отдельный разговор, как-раз помоему в личке я тебе рассказывал, что там проблемные места есть и в движке, то есть его нужно переделывать в самом движке и уносить все что есть в движок, причем это как-раз не трудно, если начать переделывать все классы которые предполагались разрабами только для меню как я тут уже где-то высказывался. Далее унести все меню в движок. Я оговорюсь, что рассматриваю наш проект на ТЧ, остается только нумпад и параметры стволов, последние это вообще цирк, остается первая, наверное ты прав в предположении, что людям скриптовавшим логику как-то ограниченно давали исходники, так как нумпад абсолютно явно привязан к логике, и на каком-нибудь ActorUse это все успешно зарубается в скриптах и уносится окончательно в движок. Вот тут уже финита, можно вырезать весь экспорт GUI. Делов тут я думаю ну за недельку я думаю определенно можно это все сделать. Далее все упирается просто в кривой интерфейс сохранения, сделайте мне нормальное сохранение и я вам в движке что угодно наверстаю.

 

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

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

@Дизель, мне просто любопытно, а что и как ты собрался продавать? Правки для машин? И ты еще как физик выступать планируешь? Вопросов на самом деле у меня возникло очень много и очень сразу. Куда проще и лучше (с т.з. юриспруденции) создать какую-то площадку с добровольными пожертвованиями, если так хочется получить копейку.

 

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

 

Хоть убей, вообще не понимаю как можно сейчас сталкером заниматься ради коммерции? Он уже давно никому не нужен в том виде, в каком он есть. Тем более коммерческое использование x-ray, если ты на нем собрался свою игру сделать, то, как там у классиков, безумству храбрых...

Поделиться этим сообщением


Ссылка на сообщение

@ed_rez, так вон тут же тутор целый сделали:

http://www.amk-team.ru/forum/topic/13383-soc-melkie-pravki-dvizhka/?p=1032213

 

У меня там ЗПшная функция стоит, например.

 

Артефакты кстати еще в ТЧ учат защищать от пси и повышать вес, я это у себя на каком-то из видео показывал. Если бы кто иконки сделал то можно было бы и всякое увеличение прыжка по нормальному визуализировать, и какие-нибудь сапоги-скороходы придумать. Тут все достаточно элементарно, причем от и до, так как системы, с которыми здесь приходится работать, сами по себе готовые и ты лишь сооружаешь какой-то примитивный интерфейс для управления существующими параметрами. Иными словами семи пядей во лбу тут быть совершенно необязательно.

  • Спасибо 1
  • Согласен 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Итак, возвращаясь ко вчерашнему.

Сейчас допилил какой-то более менее рабочий вариант своего уборщика. Работает на движковом итераторе серверных объектов, научил его удалять сталкеров, монстров и бесхоз. Не удаляются итемы (до момента поднятия кем-либо) и трупы сталкеров заспавненные в оллспавне (до момента обыска, здесь только актором) (дабы не лишать смысла ;)). Оверхед ~80 ms на все про все, трупы сталкеров удаляются через 12 часов, сюжетных сталкеров через день-два. Все барахло удаляется ТОЛЬКО на других уровнях, это позволяет существенно разгрузить вызов уборщика, я его вызываю только при заходе на новую локацию, соответственно все последующие разы он не вызывается и ничего не жрет.

 

Пробовал вариант и на серверных таблицах, он получается в два раза быстрее, но, наверное, в десять раз муторнее, поэтому я решил сделать какой-то компромиссный вариант в силу своих возможностей.

 

Ну вот все как-то так.

Изменено пользователем Карлан

Поделиться этим сообщением


Ссылка на сообщение

Мне тогда непонятно зачем эта тема нужна. Я спросил совета, общее мнение и настрой я понял, я ****, который 65534 итераций движкового массива делать не хочет, потому что можно сделать все быстрее. Говорю о том, заметь, без каких-то левых намеков на любителей 65534, что можно сделать вариант быстрее и говорю о том, что тестировал и другие. СДЕЛАЛ. ПРОТЕСТИРОВАЛ. Или по твоему тут такое писать не нужно? ;) Тогда да, давайте по десятому кругу поговорим как правильно что-то заспавнить, это-ли не самое полезное занятие в этом треде, а я постараюсь больше со своими вопросами не лезть.

Поделиться этим сообщением


Ссылка на сообщение

Никак мне это непонятно. Я не теории свои продолжил, а написал и протестировал все то, о чем говорил и остановился на компромиссном варианте. Работает быстрее (за что и был разговор), что еще надо? Я пошел СВОИМ алгоритмом, который, как показала практика, работает быстрее.

 

Здесь же все кто участвовал в беседе поддержали 65534 против чего-то другого, их дело, я себе модуль написал, меня устраивает, остальные пусть делают как считают нужным, я никого переубеждать не собирался. Я хотел послушать различные варианты реализации уборщика, а не мантры про 300 мс.

 

Удивительно то, что в посте, где я задавал вопрос я там-же указал что вариант с 65534 я ОТМЕЛ, вот прям там написал, СРАЗУ, нет, другим не понятно. Что за люди? Мне не интересен алгоритм с 65534, у меня он и без этой темы перед глазами есть. Как думаешь, мне, как вопрошающему, много пользы от навязывания того варианта который я отмел? Причем разжевывая какие-то очевидные вещи, которые я как-будто сам не знаю и не проверял до того как сюда писать. Вопрос задавал для того, чтобы предложили варианты ОТЛИЧНЫЕ от того, а не пытались убедить что тот неплох.

 

Мне немного не понятно почему я сам должен показывать решение своего вопроса.

Изменено пользователем Карлан

Поделиться этим сообщением


Ссылка на сообщение

 

 

Этого не было продемонстрировано

Вопрос задавал я. Кому мне демонстрировать? Самому себе?

 

 

 

У dsh было 300мс на ОП-2/солянке, небось еще и с сейва в середине игры. Вполне возможно, что твой алгоритм на тех же объемах будет выдавать не меньше.

Это заблуждение. Оба алгоритма я тестирую у себя. Абсолютно без разницы какой объем итемов, стадия игры и все остальное.

 

 

 

Там вон только луаджит 2.0 обещает работать в 10 раз быстрей

На нем все и делается.

 

 

 

приблизительно одинаковые количества объектов.

Они всегда перебирают одинаковое количество объектов.

 

Впрочем для меня вопрос о 65534 закрыт, я ни с кем не спорил и никого не хочу в чем-то переубеждать. Если у кого-то еще будут какие-то алгоритмы, то давайте обсудим, а отказываться от перебора всех объектов или нет - личное дело каждого.

 

По моим предварительным тестам я пробовал три варианта, каноничный сяковский у меня дает 200 мс, мой вариант в ~2 раза меньше, табличный вариант в ~10 раз меньше. Как будет возможность я поиграю подольше и соберу какие-то усредненные данные.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...