Автор Тема: Справка по движку.  (Прочитано 4488 раз)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Справка по движку.
« : Май 07, 2015, 01:46:00 am »
Главный раздел по справки, будет доступен тут. На текущий момент, документация оформляется.


Оффлайн Jak łaska za praca

  • Прохожий
  • *
  • Сообщений: 58
  • Репутация: +1/-0
  • Как украшение на торт
    • aktel999
    • Просмотр профиля
Re: Справка по движку.
« Ответ #1 : Май 07, 2015, 12:13:28 pm »
А можно ли из dll-ки включать *.lua модули?
Украшаю торты на своих вечеринках, классных вечеринках.

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Re: Справка по движку.
« Ответ #2 : Май 07, 2015, 04:54:03 pm »
Цитировать
А можно ли из dll-ки включать *.lua модули?
Да, так и делается + основной модуль, который возвращает указатель на vm и регистрирует непосредственно функции, такие как обработка, рендер по мере надобности. В дальнейшем об этом все рассказано будет.
« Последнее редактирование: Май 07, 2015, 10:00:51 pm от Sektor »

Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Re: Справка по движку.
« Ответ #3 : Июнь 24, 2015, 12:33:17 pm »
Sektor, было бы замечательно, если бы ты рассказал о том, какие преимущества возникают при работе  с Vice Lua в отличие от работы с ase-скриптами и обычного скриптинга? Как вкратце грубо изнутри работает Vice Lua, на чем он основан?

Оффлайн mfisto

  • Скриптер
  • Главный Модератор
  • Новичек
  • *****
  • Сообщений: 174
  • Репутация: +19/-0
  • Не пью, не курю, за компьютером сижу...
    • mfistof
    • Просмотр профиля
    • Empire of CJ
Re: Справка по движку.
« Ответ #4 : Июнь 24, 2015, 06:27:31 pm »
Во-первых, в LUA многие функции уже встроены.
Во-вторых, их очень много.
В-третьих, скрипты в виде опкодов - это извращения для скриптора.
В-четвертых, гораздо больше возможностей. Например те же переменные, к тому же это не хук, а полностью переписанная система. Поэтому понятий поток в том виде что присутствовал в scm отсутствует. Здесь полная свобода действий, нет ограничений. Нужно записать выражение прямо в функции - пожалуйста, работа с текстом, да хоть какая - пожалуйста.
В-пятых, прописываются все мельчайшие подробности от начала и до конца даже функция Wait() задается по желанию. Таймер установлен как функция GlobalTimer() и от нее пляшем.
В-шестых, задаются события, которых небыло в scm.

Итог: никаких фокусов, никакого шаманства, все открыто, прямо, точно, доступно. Нужна алгебраическая часть - пожалуйста, геометрическая - пожалуйста, вероятность - пожалуйста, побитовые операции - пожалуйста, понятия ограничения таких как номер опкода просто не существует, сколько хотим функций столько и будет, самодельная функция - пожалуйста. Оптимизация - полная. Большой скрипт - никаких тормозов, большой цикл прохождения по пулу без wait - пожалуйста, и никаких подвисов. С помощью ASI лоадера Sektor'а загрузка асишек при старте exe, все учтено.
I know everything and nothing...

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Re: Справка по движку.
« Ответ #5 : Июнь 25, 2015, 12:33:46 am »
Sektor, было бы замечательно, если бы ты рассказал о том, какие преимущества возникают при работе  с Vice Lua в отличие от работы с ase-скриптами и обычного скриптинга? Как вкратце грубо изнутри работает Vice Lua, на чем он основан?

Я более тонких ответов не смогу дать, потому как мало работал с CLEO, но кое что могу рассказать. Если взять CLEO, то там не было возможности, описывать свои функции или разрабатывать классы прям в скрипте. Также для GTA Vice City не было SDK. что-бы можно было писать функционал на C++ и использовать его в скриптинге. Хочу заметить что присутствовали лимиты, разной степени как в потоках так и некоторые другие, но я не создавал пакет для того что-бы критиковать  CLEO. Мне нужно было решение для разработки сценариев игры в удобном варианте, позже я понял что это может пригодиться другим. По этому я личное дело оставил и начал разрабатывать стандарт для других людей. Тут работы много, все функции переписываются а не вещают хуки, почему LUA и может работать совместно с CLEO или по желанию отключить и во все SCM.

На чем основан весь этот движок?
Изначально язык, разработал не я, а другая команда, которая выложила в общий доступ, по этому подобные факты нельзя путать. Я думал какой же язык подойдет лучше для скриптинга, вот ту я понял что LUA - это просто гипер высокого уровня язык, к тому же этот язык многие знают. А что касаемо уже Vice Lua - это уже я основал, уже внедрился в процесс написал общее ядро, как оно будет работать и написал такую систему, что каждый человек сможет наращивать функционал и использовать его в скриптах. Все это основано изначально на C++ также как и  LUA пакет, его содержимое дается в исходниках. У меня ушло 3 месяца, беспрерывной работы, на то что-бы выпустить что-то вкусное. На данном этапе я еще обновляю стандартную библиотеку vc-basic до версии 1.1, там будет добавлен гораздо приличный список функций, которые скриптеры и будут использовать в своих скрипта. Если например над модом работает команда человек скриптеры и программисты - то вы можете поступить так как вам удобно, программисты могут написать для скриптеров плагины, которые добавят всякие функции а скриптеры в свою очередь, будут это использовать. Другой вариант, когда вы являетесь программистом и можете также писать скрипты, вы все тоже самое сможете для себя сделать.

Какие возможности у этого языка LUA?
Я так не могу сказать про все возможности, но возможностей действительно гора. Например вы можете писать скрипты прямо на ходу игры, вы можете организовать много-модульность, вы можете эмитировать классы ООП, создавать свой функционал и строить аккуратную структуру вашего кода и создавать как глобальные моды, так обычные моды аддоны. Данный язык невероятно гибок и позволяет быстро разрабатывать ваши сценарии на высоком уровне.

В чем разница с asi ?
Ну тут наверное имелось введу, почему бы просто не создать все это на ASI и не затрагивать LUA? Если я правильно понял, то это будет плохим решением для дизайна игры. Во первых миссии проектировать на голом C++ - это занятие много-емкостное, во вторых когда мы пишем на C++ мы отвлекаемся на общую проекцию кода вплоть до общения с железом. В третьих после изменений, большие проекты пришлось бы каждый раз перекомпилировать что-бы проверить, что же получилось. В четвертых факты, все игры используют свой личный язык для создания миссий, это я про большие игры, где существует последовательность действий и много событий.

Вообщем скриптовые фишки нужны: Что-бы ваш разум поместить на уровень сценариста, что-бы вы ориентировались на моде, а не о том как работать с памятью и загружать файлы и прочее то что мы делаем в C++. Во вторых вы быстро можете вносить изменения, как и говорил при желании вы можете сделать все на лету игры. Хороший сценарист, без хороших инструментов, застрянет, мне так кажется. По этому подведем этог, программирования на C++ - это основная разработка ядра. Скриптинг - это разработка дизайна в линейке этой игры, это моды, это сценарии, это ИИ, это много всяких штук.


Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Re: Справка по движку.
« Ответ #6 : Июнь 25, 2015, 08:38:22 am »
Здесь(На чем основан весь этот движок?) я имел ввиду вопрос:
 как связан gta-vc.exe с dll-ками Vice Lua?

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Re: Справка по движку.
« Ответ #7 : Июнь 25, 2015, 08:40:35 am »
graveman Связан на уровне памяти, движок обращается к игровой памяти и работает уже со всеми фишками, а также подгружает собственные длл-ки(плагины), которые еще больше наполняют функционал.

Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Re: Справка по движку.
« Ответ #8 : Июнь 25, 2015, 10:52:27 am »
graveman Связан на уровне памяти,
Не понял, а как (кем/чем) сам движок вызывается. Вот я запустил игру через gta-vc.exe, как запускается теперь движок Vice Lua?

Оффлайн mfisto

  • Скриптер
  • Главный Модератор
  • Новичек
  • *****
  • Сообщений: 174
  • Репутация: +19/-0
  • Не пью, не курю, за компьютером сижу...
    • mfistof
    • Просмотр профиля
    • Empire of CJ
Re: Справка по движку.
« Ответ #9 : Июнь 25, 2015, 02:45:34 pm »
С помощью ASI лоадера Sektor'а загрузка асишек при старте exe, все учтено.

Там еще есть загрузка dll с помощью этого лоадера, Sektor просто не стал давать имя плагину asi и все, ты вообще скачивал библиотеку перед тем как спрашивать?
I know everything and nothing...

Оффлайн graveman

  • Прохожий
  • *
  • Сообщений: 50
  • Репутация: +2/-0
  • Its cool! Man
    • Просмотр профиля
Re: Справка по движку.
« Ответ #10 : Июнь 25, 2015, 04:47:54 pm »
Цитировать
ты вообще скачивал библиотеку перед тем как спрашивать?
Я сначала задал вопрос, потом скачал библиотеку, посмотрел директории. Но какое отношение скачивание библиотеки имеет к вопросу? Просмотр директорий библиотеки ясности в вопрос не внес. Или ты имеешь ввиду, что папка "plugins" перезапишет оригинальную папку, в которой должны быть ase плагины и исходя из этого я должен был догадаться, что экзешник игры ее подгрузит?

С помощью ASI лоадера Sektor'а загрузка асишек при старте exe, все учтено.

Там еще есть загрузка dll с помощью этого лоадера, Sektor просто не стал давать имя плагину asi и все,
То есть все основано на загрузке ase-плагина - gta-vc.exe грузит некий базовый плагин ase у Vice Lua (неважно с каким расширением), а тот уже подгружает все остальные dll и lua-скрипты? Если так, то все понятно. Примерно такой ответ я и ждал.

« Последнее редактирование: Июнь 25, 2015, 05:00:25 pm от graveman »

Оффлайн megaket4up

  • Призрак
  • Сообщений: 3
  • Репутация: +0/-0
    • Просмотр профиля
Re: Справка по движку.
« Ответ #11 : Ноябрь 27, 2015, 12:10:31 pm »
Я так и не нашел как выводить свои txd файлы. Подскажите пожалуйста.
Минимум документации губит этот потенциально прекрасный проект.
« Последнее редактирование: Ноябрь 27, 2015, 12:16:09 pm от megaket4up »

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Re: Справка по движку.
« Ответ #12 : Ноябрь 27, 2015, 05:10:11 pm »
Цитировать
Я так и не нашел как выводить свои txd файлы. Подскажите пожалуйста.
Минимум документации губит этот потенциально прекрасный проект.

А я еще, не выпускал версию Vice lua 1.2 и vc-basic 1.1. Я нашел кое какие баги, которые надо будет отфиксить, но там они не большие. А также надо будет уделить время, данному проект, а у меня пока его нету. Как время появиться, так позанимаюсь, там еще планировался вывод моделей DFF и другие возможности. Кроме того, не только минимум документации губит проект, но еще и отсутствие модов на lua а также гайдов/уроков.
« Последнее редактирование: Ноябрь 28, 2015, 02:33:03 am от Sektor »

Оффлайн Shagg_E

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 522
  • Репутация: +14/-0
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Справка по движку.
« Ответ #13 : Ноябрь 28, 2015, 08:27:45 pm »
Дело в том, что практически все русскоязычные модмейкеры, продвигающие моддинг Вайса вперед, собрались здесь. Иначе говоря - нас реально мало. Нужно продвигать Vice Lua за рубежом, чтобы привлечь больше народу. Чем больше народу - тем больше шансов, что кто-то из этой массы запилит несколько классных модов. Больше таких модов - и Lua станет популярным. А если что-то становится популярным за рубежом - это становится популярным в русскоязычном сегменте. Простой пример - Maxo's Vehicle Loader.

Оффлайн ilver

  • Призрак
  • Сообщений: 2
  • Репутация: +0/-0
    • Просмотр профиля
Re: Справка по движку.
« Ответ #14 : Декабрь 30, 2015, 03:19:58 pm »
На Сан Андреас Бы эту прелесть прикрутить )) Надеюсь что будет когда-нибудь