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

Введение в Lua. (Комментарии к статье)

Страницы: 1 2 3 4 5 Следующая »
#0
2:55, 4 апр. 2004

Комментарий к Статье Введение в Lua


#1
2:55, 4 апр. 2004

Вот решил я всётаки внедрить в свой проект lua скрипт
да это конечно мне показалось немного лучше чем писать такое дело самому :-)
но такой вот вопрос:
можноли в луа сначала загрузить скрипт из текстового файлика, потом так сказать откомпилировать - ну преобразовать в найболее быстро выполняемы код...
а потом уже пользоваться уже готовым подготовленным кодом.
я немного почитал мануал к языку но именноэтого интерисующего меня вопроса я не нашёл...
подскажите есть ли такое в луа....
или что посоветуете для увеличения скорости работы скрипта?
спасибо!

#2
3:03, 4 апр. 2004

вот меня интерисует ещё может вы посоветуете какую нибудь альтернативу?
или луа оптимально подходит для создания скриптов в гамесах?

#3
4:21, 4 апр. 2004

луа при загрузке компилит по-любому
альтернативы - python и tcl

#4
8:22, 4 апр. 2004

STMagistr

У lua наверное очень неплохая скорость... По тесту IronPeter'a в моем собственно-ручно написанном скрипте скорость в ~200 раз меньше:) Так что, хоть мой и очень тормозной, но это значит, что у lua все-таки все нормально:)

#5
14:02, 22 сен. 2004

А зачем вообще эти скрипты.
В статье, конечно, написано, но как-то мало и несколько абстрактно.
Насчёт перекомпиляции мне так вообще непонятно -- ну сосласен IntelC++Compiler долго компилит (раз в 10 дольше встроенного в MSVC++ 6), но уж не сутки и не часы -- минуты, макс. десятки минут, к тому же можно просто *.cpp файлы с AI и тем, что требует частой рекомпиляции компилить вижалкой, а весь остальной движок -- IntelC++ (поставить в свойствах *.cpp нужный Definition).

В Neverwinter'е оказывается lua используется -- вот почему он так тормозит. :-)
Не ну согласен разницы в скорости нет. Чёрт с ней. Ну если нужно на дизайнеров часть работы по программированию переложить (те же скрипты) -- можно сделать, чтоб движок импортил DLL, в которой весь AI, сюжет и т.д. и т.п. и поручить создание функций этой DLL дизайнерам... на Си.
Бред, конечно. Lua ессн-но попроще Си, но суть та же.

Если говорить о возможности изменить игру до неузнаваемости -- зачем она вообще нужна, как будто это влияет на её покупаемость. Да и мало кто может сделать уровень, напр, для CounterStrike. Я, конечно, понимаю, что и людей далёких от игроделания, просто игроков, может заинтересовать какой-нить mod к Neverwinter'у, но в любом случае, ТОЛЬКО из-за него игру они не купят. А всякие продолжения можно и внутри команды делать безо всяких скриптов.

Да и я не думаю, что дизайнерам нравятся эти скрипты (ну уж MSVC им точно не понравится), там другой склад ума нужен -- программерский, хоть и язык простой.
>В течение 5 лет, дизайнеры уровней должны будут делать больше, чем просто строить уровни.
>Они должны быть способными использовать скрипт для игровых сцен
Ну не знаю. Народ! Мож как нить сократим это время... до пары месяцев. Придумаем какую-нить абстрактную оболочку-редактор для определения поведения героев в том или ином случае, триггеры всякие, всё в картинках (текст ведь хуже воспринимается), напр., по типу анимаций 3DMAX'а (там же, что б создать ролик не надо MaxScript изучать, ролик линейный, сюжет большинства существующих игр -- тоже) -- посредством ключевых кадров, только TimeLine... разветвляется посредством выполнения определёных условий (помните Back To The Future), ну и всё в таком духе. Забыл сказать, я сразу пас. В это лезть не хочу. :-)


И пожалуйста не надо говорить, мол, "ты тут ничё не понимаешь, сюда не лезь, не хош скрипты использовать -- не надо, а последнее предложение так вообще утопия, ты это придумать не сможешь и никто этим заниматься не собирается, а если и займутся, то компетентные люди и делать это будут ровно 4 года 11 месяцев и 4 недели. вот так. И вообще пшол вон отседа!. Модераторы! delete *.flame" -- это я и сам знаю ;-)

Просто кто может, пусть популярно объяснит почему без скриптов никак, ну или что они облегчают при создании игры.

#6
15:40, 22 сен. 2004

tav
- художнику/дизайнеру/тестеру/продюсеру  проще самому поменять циферку или значок, чем бежать к программисту
- скрипты обычно более human readable, чем код
- в грамотной системе скрипты правятся и перегружаются на лету, безо всякой ручной компиляции

#7
20:11, 22 сен. 2004

NovaStorm
>луа при загрузке компилит по-любому

Не факт, ибо есть offline компилятор (luac). Байт-код, им сгенерированный, загружается теми же функциями, что и оригинальный сорс-код.

#8
3:47, 23 сен. 2004

WildMaN
Ну так я про то и говорю.
Программер делает проект DLL, которая состоит из псевдо-скрипт функций на Си, делает отдельно static LIB (чтоб этот проект не загромождать), в которой по сути эмуляция того же lua, переменные одного типа -- var (это будет класс для хранения универсальной переменной с перегруженными операторами и т.д. и т.п.). И что бы что-то изменить в игре (не в реалтайме) просто меняем код в этой DLL, компилим её, запускаем игру. А у этого DLL-проекта, в свою очередь есть доступ к функциям движка. ИМХО, скорость на порядок выше будет.
>- в грамотной системе скрипты правятся и перегружаются на лету, безо всякой ручной компиляции
Тоже можно, но сложно.

#9
11:25, 23 сен. 2004

Qiller

Факт! Оффлайн компилятор позволяет выкинуть из проекта парсер и загружать только откомпилированный код. При этом размер либы (lua.lib) с интерпретатором будет в районе 40Кб.

Еще он позволяет проверить синтаксис не выполняя программу и посмотреть какие команды ВМ генерятся (тоже в оффлайне).

Прошло более 7 месяцев
#10
16:53, 25 апр. 2005

Народ, а где можно взять примеры к этой статье! Дело в том, что ссылка, оставленная автором, не работает!
Заранее благодарен.

#11
19:00, 25 апр. 2005

tav

В Neverwinter-е lua не используется, так что тормозной он по другим причинам :)

#12
4:03, 10 мая 2005

Товарищи игроделы! В частности tav.
Вы плохо думаете об игровой индустрии нашего времени. Имеено редакторы скриптов и уровней обеспечивают игре продолжительное будущее и продлевают жизнь. В частности тот же самый GTA стал культовым лишь только потому что в нем есть возможность все изменять, чем и пользуются многие mod-мейкеры.
Любой движок должен (нет... просто обязан :)  ) иметь поддержку скриптов, для простоты отладки игры.
Движок q3 использует именно откомпилированые DLL-модули, хранящие в себе AI противников, игровой интерфейс и т.д. Но вот незадача, чтобы изменить какой-нибудь параметр оружия или поменять модель поведения бота, нужно перелопатить около 1000 строк кода, который читается очень тяжко. (был опыт создания мода, так что поверьте на слово :-) )
Со скриптами дело обстоит намного проще...

Прошло более 7 месяцев
#13
1:37, 7 дек. 2005

Кто нибудь знает почему при создании Приложения С формой .Net и подключении луа Она падает при запуске?

Прошло более 11 месяцев
#14
9:15, 23 ноя. 2006

здраствуйте Все!!!

Вопрос к тем кто подключал Lua к VC++ 2003.

Я скачал версию Lua 5.0.3. Откомпилировал ее с помощю проекта который нашел где по ссылкам на оф.сайте тут . Вроде все скомпилилось нармально все хорошо. Но когда я пытаюсь написать простой проект типа инициализации и тут же закрытия он не компилиться, а линкер говорит что символы типа _realloc, _free, _isdigit уже определенны, пример: testlua error LNK2005: _exit already defined in LIBCMTD.lib(crt0dat.obj)
Подскожите кто знает как с этим бороться? А то я уже всю голову сломал

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

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