Текущий архив: 2004.06.06;
Скачать: CL | DM;
Вниз
Скриптовый движок Найти похожие ветки
← →
ProvAd (2003-08-18 18:17) [0]Есть ли на дельфи таковые? и где можно взять?
← →
miek © (2003-08-18 20:45) [1]В каком-то смысле модуль INIFILES и есть скриптовый движок.
А что надо-то?
← →
Micah'GF (2003-08-18 21:52) [2]tINIFile создан для хранения всяческих параметров поэтому больше подходит для хранения скриптов карт то не более того...
Скриптовый движок должен читать скрипт, распознавать команды, переключать тригеры игрового мира, создавать динамические объекты и менять их параметы в течении игрового времени...
Тема, вообще то, очень интересна, мне особенно - т.к. в ближайшем будущем предстоит работать над такой штукой... Поэтому интерисуют готовые решения таких движков.. или хотябы схемотические решения..
← →
ProvAd (2003-08-18 22:25) [3]Вот то, что описал Micah"GF мне и надо. Я знаю,что на си есть движок Lua, он распространяется с исходниками. Но я не настолько знаю си, что бы перевести его на дельфи.
← →
Ev_genus (2003-08-18 23:27) [4]На Torry есть. Паскалевский назывался passcript (или pascript). Был еще и явовский. Но они шароварные
← →
Micah'GF (2003-08-19 08:31) [5]2ProvAd
У тебя есть это движок?!?!?! Я могу СИшный код к Дельфям адаптировать...
← →
ProvAd (2003-08-19 09:09) [6]Зайди на www.lua.org, движок распространяется бесплатно. На Gamedev.ru есть неплохая статья про него.
У меня тут появиласть идея скомпилировать его в DLL, может че получится.
← →
V-A-V © (2003-08-19 09:27) [7]Еще есть такая вещь "Innerfuse Pascal Script" бесплатная, я на основе ее написал свой копонент (TPS) для обрадотки скриптов...
Посмотреть ее можно по ссылке: http://www.carlo-kok.com
Компонент PS: http://www.vdovin-av.narod.ru/Components.html
← →
Danilka © (2003-08-19 09:38) [8]Вообще, в винде есть встроеный скриптовый движок, позволяющий делать очень многие вещи на vbscript и jscript.
На королевстве дельфи есть отличная статья на тему использования этого движка в дельфи-программах:
http://www.delphikingdom.com/helloworld/activescript.htm
← →
RefLex (2003-08-19 10:27) [9]Есть интересная штука как PythonForDelphi, это подключение языка Python, на такой идее сделана игрушка BladeOfDarkness симпатично и быстро работает, открытый код. Python то же штука неплохая много с чем может работать даже с COM.
← →
bMouradov (2003-08-19 11:08) [10]Есть ещё ralib. Правда, в последнее время он переезжает с места на место, но захочешь, найдёшь. Одну из версий я уловил на http://xoow.narod.ru/delphi/components.html
Там исходники. И скрипт, очень похожий на Паскаль.
← →
AlexPul (2003-08-19 11:56) [11]В инете куча таких движков в том числе и бесплатных и с исходниками. Все они отличаются функциональностью. Если нужно как можно ближе приблизить скриптовый язык к Delphi, то это конечно TPasScript (платный), Delphin (www.torry.net бесплатный), указанный выше Innerfuse Pascal Script, DelphiWebScript (бесплатный), DevPascal и др. Для поиска в инете достаточно набрать в поисковике ИНТЕРПРЕТАТОР, КОМПИЛЯТОР, DELPHI
Если возникнут проблемы с поиском, некоторые я смогу выслать почтой.
← →
ProvAd (2003-08-19 15:11) [12]А что из вышеперичесленного можно использовать без VCL?
Danilka спасибо за статью.
← →
ProvAd (2003-08-19 18:44) [13]О! Нашел ifps281! Круто! Подскажите где понему доки взять.
← →
Andrew (2003-08-20 11:39) [14]Посмотри на : www.dream-com.com
Скрипты на OP, VBScript, JScript, дизайнер форм, отладчик и ещё много всего полезного.
:( Правда не бесплатно
← →
Micah'GF (2003-08-20 12:47) [15]VBScript и JScript не подходят абсолютно.... Как то покано в игре писать скрипты на VB :-[
← →
Рустам Алиев (2003-08-20 15:20) [16]Для Lua есть отличная бтблиотека под Дельфи, называется THLua.
Поищи на их сайте где-то среди дополнений.
Вообще язык отличный, на нем, кстати, сделана куча игр (Baldur"s Gate, Блицкриг, Grim Fandango и т.д.).
← →
ProvAd (2003-08-20 18:42) [17]Еще вроде Neverwinter Nights тоже использует Lua.
← →
КОНЧЕНЫЙ_ПАНКбля (2003-08-21 07:31) [18]Я тут сам давно уже собирался написать такой движок. Идей полно, а времени - 0,0. Но када оно будет готово, пришлю сюды...
← →
ProvAd (2003-08-21 10:16) [19]Когда THLua программа вылетает с ошибкой. Даже тот пример, который идет вместе с нею вылетает. Что делать?
← →
Рустам Алиев (2003-08-21 12:24) [20]В игровой индустриии он вообще очень популярен...
А саму dll скачал? В правильном каталоге положил?
Запусти в отладчике, это же чистый Дельфи.
← →
VitGun © (2003-08-21 17:44) [21]ProvAd
О! Нашел ifps281! Круто! Подскажите где понему доки взять.
Где взял? Мен гугль на это название 0 ссылок дал. Кинь ссылку откуда слил...
← →
ProvAd (2003-08-21 20:26) [22]Все разобрался с THLua. Надо было дллки скопировать в каталог с проектом.
VitGun не помню где, но ссылку мне яндекс дал.
← →
shark © (2003-08-21 20:36) [23]А ссылку на THLua помниш ??? а то мне надо.
← →
Рустам Алиев (2003-08-21 23:39) [24]Ну посмотри на их сайте www.lua-users.org. Там этого добра тонны - и отладчики, и всякие визуальные среды, и список проектов... Все равно тебе кроме THLua наверняка еще что-то глянется :)
← →
Рустам Алиев (2003-08-21 23:40) [25]2ProvAd: это, кстати, даже в ФАКе у них есть :)
← →
ProvAd (2003-08-22 11:32) [26]shark
http://assoc.wanadoo.fr/thallium/thlua.en.html
← →
shark © (2003-08-22 11:55) [27]Сенькс =)
← →
Denton © (2003-08-22 17:03) [28]Вопрос для тех хто знаком с Луа: если я в скрипте встречастся ошибочная функция Луа выдаст ошибку, но как моей проге узнать что в скрипте ошибка?
← →
NailMan © (2003-08-22 17:43) [29]Народ, а не лучше ли написать свой скрипт-движок?
Все таки основная цель игродела-любителя - это "спортивный интерес" к программированию.
← →
shark © (2003-08-22 19:58) [30]2 NailMan
А зачем мучитса если уже есть ???
За время создания скриптовова-движка можно нормальные спецефекты для игры сделать или ищё чё-нибудь чтоб лучше игра смотрелость.
← →
ProvAd (2003-08-22 21:11) [31]2NailMan
Конечно можно написать свой скриптовый движок, и в общем-то я представляю как его можно сделать. Но на мой взгляд это очень муторно (особенно анализ строк) и займет много времени,а охото побыстрей опробовать, что сделал на графическом поприще.
← →
Ev_genus (2003-08-23 01:46) [32]Кто пользовался Lua? отзовитесь. Что на нем реально можно написать?
Заранее спасибо.
← →
TERMINATOR3 (2003-08-23 08:04) [33]Свой движок - это рулез!!!!! Сам пробовал делать такое. Типа для расширенивозможностей прог. Тока пока недоделал
← →
Рустам Алиев (2003-08-23 14:48) [34]2 Denton: lua.pas:
const
(* error codes for `lua_load" and `lua_pcall" *)
LUA_ERRRUN = 1;
LUA_ERRFILE = 2;
LUA_ERRSYNTAX = 3;
LUA_ERRMEM = 4;
LUA_ERRERR = 5;
LUA_ERRTHROW = 6;
Ну и в руководстве все описано. Еще в стандарной поставке есть исходники
простого компилятора luac, там можно посмотреть обнаружение конкретного
места ошибки в тексте.
2 shark: свои языки писать тоже прикольно. Я несколько интерпретаторов
написал, после знакомства с Луа это занятие бросил.
2 Ev_genus: Что захочешь. Он расширяемый, можно добавлять функции
из других языков. Особенно популярен в академической и игродельной
средах.
← →
Ev_genus (2003-08-23 21:36) [35]2 Рустам Алиев
А как он в отношении скорости?
← →
Всеволод Соловьёв © (2003-08-23 21:43) [36]Наверное, быстрый, поскольку его используют практически везде :)
← →
Micah'GF (2003-08-23 22:10) [37]На мой взгляд для игр Lua широковат будет... Да и сложноват он - пока разберешся в нем, освоишь язык Дельфи совсем забудешь...
Есть ли чтонить попроше?!?! (млин ну или мануал для Lua на русском, а то и так времени мало)
← →
Ev_genus (2003-08-24 01:57) [38]2 Micah"GF
Он не сложный, он далекий как от других языков программирования так и от класической логики. Он несложнее ПЛ/1.
2 Всеволод Соловьёв
Ну во-первых не все, а те у кого нет денег на что-то лучшее. Или те кому лучшего и не надо.
2 Всем
Ну так как на счет скорости, меня интересует реальный тест?
← →
Рустам Алиев (2003-08-24 09:48) [39]2 Ev_genus: очень хорошо. Точно быстрее Питона. Посмотри Great Scripting Language Shootout.
← →
Ev_genus (2003-08-24 19:26) [40]2 Рустам Алиев
А ссылку можна? Я найти затрудняюсь...
Я тут свой движок пишу. Типа паскаль
var
a:integer;
begin
a:=1;
repeat
a:=a+1;
until a=1000000;
end.
работает 1 сек. Это быстрее или медленнее чем Lua?
← →
Ev_genus (2003-08-24 19:36) [41]2 Всеволод Соловьёв
Sorry. Offtopic!
А мы с тобой в одном городе обитаем. Если есть желание поговорить и т.д. прошу 165044315.
← →
ProvAd (2003-08-24 20:16) [42]Ev_genus
ifps:
Script finished, no errors.
Time: 13,7918045449911 sec
← →
Ev_genus (2003-08-24 20:27) [43]2 ProvAd
А там компиляция есть? У меня вымолняется уже компилиный код. (компилится не в код ассемблера, а в более простую для исполнения, в сравнее с исходной, систему команд)
Если есть, прошу прогнать тест только на само выполнение.
← →
Ev_genus (2003-08-24 21:28) [44]Уже не надо. Я замерил вместе с анализом синтаксиса. Разница почти незаметна. Время в пределах 1 сек.
← →
Рустам Алиев (2003-08-25 10:02) [45]2 Ev_genus: закладки на работе, а я в отпуске.
i=1
repeat i=i+1 until i>10000000 -- 10 миллионов.
~2.5 с на p4-1.8 с компиляцией. Среда LuaVCL собственной разработки,
без оптимизации. Это ничего не значит, нужно гонять синтетические
тесты.
ps: скриптовые движки практически все бесплатные...
← →
Denton © (2003-08-26 14:35) [46]помогите разобраться:
L:=lua_open();
lua_baselibopen(l);
lua_iolibopen(l);
lua_strlibopen(l);
lua_mathlibopen(l);
while (true) do
begin
Write(">");
Readln(cmd);
if cmd = "exit" then break;
lua_dostring(L,pchar(cmd));
end;
lua_close(L);
когда я ввожу что-то не правильное тогда прога вылетает, как сделать чтобы выводилось сообщение об ошибке?
← →
Ev_genus (2003-08-27 02:18) [47]Знает ли кто: что на выходу луавского компилятора? Что из себя представляет файл *.lub?
Заранее спасибо
← →
Рустам Алиев (2003-08-27 11:52) [48]2 Denton:
lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf);
или
int lua_cpcall (lua_State *L, lua_CFunction func, void *ud);
Дельфевый аналог смотри сам.
2 Ev_Genue: что, решил виртуальную машину поковырять? :) Смотри lopcodes.c. Еще есть какой-то декомпилятов в байт-код.
← →
Koreolis © (2003-10-17 12:09) [49]Тема оч интересная! Последнее время всё больше понимаю, что нужно писать скриптдвижок самому. И опыт, и все нужные возможности. А главное - если к твоему проекту подключается уровненаписатель/создатель, то ты САМ ему сможешь всё объяснить и показать.
← →
Denton © (2004-02-06 14:35) [50]Может хто знает как связать переменную Lua с переменной в моей программе. Пожалуто обьясните в хелпе толком ниче непонятно.
← →
cyborg © (2004-02-06 14:42) [51][50] Denton © (06.02.04 14:35)
ход программы: если в скрипте найден текст Lua, а заним идёт знак =, то присваиваем переменной ЗЮ значение идущее после знака =.
;)
← →
Denton © (2004-02-06 14:49) [52]Ты наверно меня непонял: напремер у меня в программе есть флаг
missioncompleted:integer = 0;
я хочу сделать так чтобы в скрипте можно было написать missioncompleted = 1; мне нужно чтото типа функции CreateLuaVariable(luastate,@Missioncompleted,"missioncompleted",type);
← →
Vertex (2004-02-06 15:02) [53]ребят пишите сами, это не к тому что все своими руками, а к тому что за время освоения луа, можете написать свой скрипт движок, попроще, но поверьте - это бесценный опыт.
1)если скрипт должен выполнятся в риалтайме используйте псевдокомпилинг.
2)упростите конструкцию языка до максимума, в скрипт языке самое главное устойчивость. я например за ненадобностью даже циклы убрал. и синтаксис у мя смесь паскаль и си++, и парсинга выражений нет тока i+=value/var и т.д. но оно работает и быстро работает, и язык получился простым и легко усвояемым). естественно в пределах разумного надо упрощать, в зависимости от игрули.
← →
Wild (2004-02-06 15:45) [54]Полностью солидарен с Vertex
Помимо опыта - это Ваш, заточеный под Вас и только под Вас движок. Чем движок универсальнее - тем он медленнее. В Дельфи, мне кажется, этому поможет модуль typinfo.
← →
ПсихЪ © (2004-02-08 18:44) [55]Добрые люди, скиньте, пожалйста на мыло stalker2010@front.ru скриптовые движки Lua под Delphi и Innerfuse Pascal Script. А то кинулся сейчас по ссылкам, а они не работаю. На сайте Луа ничего похожего на THLua не нашёл...
Заранее спасибо!
Страницы: 1 2 вся ветка
Текущий архив: 2004.06.06;
Скачать: CL | DM;
Память: 0.57 MB
Время: 0.043 c