Войти
ПрограммированиеФорумОбщее

Lua + C++. Правильное разделение обязанностей (4 стр)

Страницы: 1 2 3 4
#45
9:58, 27 дек. 2017

Aroch
Тетрис пишешь? Значит у тебя совсем простые задачи, где время исполнения совсем не главное.


#46
11:29, 27 дек. 2017

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

#47
11:36, 27 дек. 2017

Aroch
Давай срач не разводи. И раньше писал про 100к строк в проекте (и до конца ещё далеко), звучит как тетрис? Если хочешь что-то доказать, доказывай на примере.

#48
13:08, 27 дек. 2017

RostislavP
С каких пор производительность стала зависеть от сложности проекта?
И да, уточни с какого кол-ва строк там тетрис заканчивается, а то я не поленился запустить locmetrics:

+ Показать
#49
16:58, 27 дек. 2017

Почему это с++ dll не дотягивает по скорости до скриптов?

#50
17:04, 27 дек. 2017

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

#51
18:08, 27 дек. 2017

Zab

> Скриптовые языки имеют гораздо меньше возможностей наведение порядка автоматизировать для себя, для контроля за качеством
Закусывать надо. В новый год удели этому процессу особое внимание.

#52
21:14, 27 дек. 2017

mr.DIMAS
Попробуй использовать forward declaration, я всегда стараюсь использовать эту технику.

#53
21:17, 27 дек. 2017

На счет скриптования на луа, много известных игр используют луа для скрптования( Wow, Lol ... ). Если все правильно сделать( а люди тут уже писали как ) то ты не потеряешь в производительности.

#54
22:12, 27 дек. 2017

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

HardMorg
> много известных игр используют луа для скрптования( Wow, Lol ... ). Если все
> правильно сделать( а люди тут уже писали как ) то ты не потеряешь в
> производительности.

Не знаю на счет производительности там и где они используют луа.

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

#55
22:22, 27 дек. 2017

HardMorg
> Попробуй использовать forward declaration, я всегда стараюсь использовать эту
> технику.
Вовсю использую с самого начала разработки, как и precompiled header. Также специально потратил целый день на выпиливание лишних инклудов, разделение на подклассы, удаление лишних зависимостей.

Сейчас время полного ребилда проекта в многопоточном режиме со всеми оптимизациями составляет 1 минуту 10 секунд. От SCU отказался.

HardMorg
> На счет скриптования на луа
Как я уже сказал, скриптование я оставлю только для модов к игре.

#56
4:30, 28 дек. 2017

Nomad
> Почему это с++ dll не дотягивает по скорости до скриптов?
потому что речь шла о скорости разработки, про то что на плюсах код быстрее никто и не спорил.
RostislavP
> то задач которые требуют выполнения каждый кадр тоже будет больше.
все ресурсоёмкие задачи исполняются в нативе, их никто на скрипты и не перекладывает, к ним относится рендер, поиск путей, определение видимости, какие нибудь число дробилки для крупных массивов, графы сцены, всевозможные менеджеры. Логика же по сравнению со всем этим жрет совсем мизер и писать ее в разы удобнее на скриптовом языке.  Попробуй напиши логику какого-нибудь квеста на плюсах, а теперь представь что у тебя этих квестов сотни, тащить их все в натив?

#57
13:32, 28 дек. 2017

Aroch
> Nomad
> > Почему это с++ dll не дотягивает по скорости до скриптов?
> потому что речь шла о скорости разработки, про то что на плюсах код быстрее
> никто и не спорил.

> Как и скрипты до кода...
> угу, ты сильно расстраиваешься когда fps падает с 60 до 60? Вот и я нет.

Aroch
Ну значит и логика простая, раз ничего не жрет.

Aroch
> Попробуй напиши логику какого-нибудь квеста на плюсах
В теории может все хорошо звучит, но на практике Lua сильно не поможет, все что можно сделать с ней, можно сделать и без нее. Причем действительных преимуществ которые она может дать, я так и не вижу.

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

#58
13:56, 28 дек. 2017

RostislavP
> Причем действительных преимуществ которые плюсы могут дать в написании логики игры я так и не вижу.
fixed

#59
16:59, 9 янв. 2018

mr.DIMAS
>возникло несколько вопросов:

>1) Какой функционал должен быть на стороне скриптов?
>2) Должны ли скрипты создавать движковые объекты? Если должны, то как быть с сохранением\загрузкой игры. Как восстанавливать состояние скрипта при загрузке сейва?

1. обычно на скрипты переносят макрофункции. Например не пишут анимацию, а пишут идти в таком-то направлении. Движок сам считает всё что необходимо. А вот как выбрать направление - определяют в скриптах.
2. можно не ограничиваться подключением только скрипта, а определить для объекта  базу данных его состояния. Инвентарь, мотивы, текущее положение, прочее. Так и сохранять. Объект такой-то, копия б.д. такая-то.

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

Страницы: 1 2 3 4
ПрограммированиеФорумОбщее

Тема в архиве.