forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Скриптовик - Банки или текст? (http://forum.boolean.name/showthread.php?t=16661)

pax 18.04.2012 20:21

Ответ: Скриптовик - Банки или текст?
 
Так старую найти бы...

Gector 18.04.2012 20:25

Ответ: Скриптовик - Банки или текст?
 
Цитата:

Сообщение от ffinder (Сообщение 225842)
виртуальные машины кстати выдумывать очень весело.
ну, по-гиковски, конечно, весело.
можно придумать любую архитектуру процессора и писать на этом чудном асме код.

Угу. Уже попробовал.

Цитата:

Так старую найти бы...
Может ее потому и не найти. Разраб бабла захотел срубить).
UPD:Решил проблему с именами.

Платон Александрович 19.04.2012 01:21

Ответ: Скриптовик - Банки или текст?
 
Читал-читал, так и не понял в чем проблема у автора.
И зачем придумывать какой-то свой байт-код когда можно использовать сразу машинный код, т.е. на старте скомпилировать скрипт в машинный код, толкнуть его в банк, а для запуска передать банк в качестве функции в CreateThread например. Будет быстро исполнятся и ничего придумывать ненадо.
Единственная задача будет найти или написать компилятор|транслятор.
Или взять например TinyC, который помимо компиляции может и исполнять код. Да там Си, но если не упарыватся особо, то можно на нем писать почти как на бейсике, ничего там сложного нет.

ffinder 19.04.2012 10:36

Ответ: Скриптовик - Банки или текст?
 
опять "каша из топора".
если не использовать блиц-бейсик, то и сам блиц мало зачем нужен.

Черный крыс 01.06.2012 17:14

Ответ: Скриптовик - Банки или текст?
 
ребят не изобретайте велосипед!

Если уж так надо - то скачай сорсы Луа и поизучай их. Самый грамотный скриптовик. Есть даже тула, которая умеет переводить Байт-код -> Машинный код.
И все вопросы отпадут.

Gector 01.06.2012 17:37

Ответ: Скриптовик - Банки или текст?
 
Цитата:

Сообщение от Diablo1909 (Сообщение 229179)
ребят не изобретайте велосипед!

Если уж так надо - то скачай сорсы Луа и поизучай их. Самый грамотный скриптовик. Есть даже тула, которая умеет переводить Байт-код -> Машинный код.
И все вопросы отпадут.

Проблема уже решена.

burovalex 23.07.2012 23:10

Ответ: Скриптовик - Банки или текст?
 
Ребят, вот пока не было нужды применять скрипты.
Но вот объясните, как я обращал внимание в любых играх типа шутеры, рпг и т.д. для сработки события используется как растяжка - зацепил и происходит событие.
Следовательно вопрос (т.к. речь идет о адвенчуре с рпг) а зачем скрипт, если можно создать геометрические триггеры - зашел в куб, сферу, пересёк плоскость - совершаешь событие. Если должны напасть враги - одну функцию описал и вызывай ее хоть каждый "метр".
Чем такой вариант плох?

Nex 24.07.2012 01:20

Ответ: Скриптовик - Банки или текст?
 
Скрипты как бы универсальны т.е. можно все описать что тебе надо в файлике и не надо ничего менять в коде из за какой нибудь мелочи.
Цитата:

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

Gector 24.07.2012 14:42

Ответ: Скриптовик - Банки или текст?
 
Цитата:

Сообщение от burovalex (Сообщение 233984)
Ребят, вот пока не было нужды применять скрипты.
Но вот объясните, как я обращал внимание в любых играх типа шутеры, рпг и т.д. для сработки события используется как растяжка - зацепил и происходит событие.
Следовательно вопрос (т.к. речь идет о адвенчуре с рпг) а зачем скрипт, если можно создать геометрические триггеры - зашел в куб, сферу, пересёк плоскость - совершаешь событие. Если должны напасть враги - одну функцию описал и вызывай ее хоть каждый "метр".
Чем такой вариант плох?

Абсолютно всем. Триггеров будет очень много и попробуй вылови баг.
Скриптовик намного более гибкая вещь, даже с хреновой математикой, и минимумом возможностей (три типа переменных, математика уровня c=a+b, условия по их проверке и вызов функций). Применение даже такого ущербного скриптовика намного шире, чем применение триггеров. Уж тем более если это не платформер, а рпг-адвенчура.

burovalex 24.07.2012 20:27

Ответ: Скриптовик - Банки или текст?
 
Nex, ты не прав
Как может быть легче найти габ в 51 10 1001 1 1002 11 3 1003 7 0 1 15 52 100 0 1 23423 0 1 72346 9 1001 10 1001 1 0 1 2 11 53 9 1001 10 1001 1 0 1 1 11 54 ??
А на счет однотипности - это врядли. Все зависит какую по сложности функцию описать. И вообще я считаю самым сложным написать IQ, и однотипности не будет.

Для создания игры полюбому нужен редактор, в редакторе добавляешь триггеры (я про простоту расстоновки, а скрипты полюбому только писать) задаешь имя и затем обрабатываешь его:

Код:

если пересёк триггер
If trigger\name=1 then
  newEnemy(....)
  newEnemy(....)
  newEnemy(....)
  newEnemy(....)
  newObject(..)
  newObject(..)
endif
Function newEnemy(x,y,z,type,level,style) ;style - к примеру может быть стилем появления
Function newObject(...) ; скидывай камни с горы на игрока, ставь бомбы, закидывай тухлыми яйцами...

Я считаю это куда выгоднее по времени и меньше гемора

можно продолжать очень долго. А на счет неоднотипности - для этого мне кажется уже нужна команда

Gector 24.07.2012 21:41

Ответ: Скриптовик - Банки или текст?
 
Цитата:

Сообщение от burovalex (Сообщение 234139)
Nex, ты не прав
Как может быть легче найти габ в 51 10 1001 1 1002 11 3 1003 7 0 1 15 52 100 0 1 23423 0 1 72346 9 1001 10 1001 1 0 1 2 11 53 9 1001 10 1001 1 0 1 1 11 54 ??
А на счет однотипности - это врядли. Все зависит какую по сложности функцию описать. И вообще я считаю самым сложным написать IQ, и однотипности не будет.

Для создания игры полюбому нужен редактор, в редакторе добавляешь триггеры (я про простоту расстоновки, а скрипты полюбому только писать) задаешь имя и затем обрабатываешь его:

Код:

если пересёк триггер
If trigger\name=1 then
  newEnemy(....)
  newEnemy(....)
  newEnemy(....)
  newEnemy(....)
  newObject(..)
  newObject(..)
endif
Function newEnemy(x,y,z,type,level,style) ;style - к примеру может быть стилем появления
Function newObject(...) ; скидывай камни с горы на игрока, ставь бомбы, закидывай тухлыми яйцами...

Я считаю это куда выгоднее по времени и меньше гемора

можно продолжать очень долго. А на счет неоднотипности - для этого мне кажется уже нужна команда

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

Nex 25.07.2012 07:01

Ответ: Скриптовик - Банки или текст?
 
Цитата:

Сообщение от burovalex (Сообщение 234139)
Nex, ты не прав
Как может быть легче найти габ в 51 10 1001 1 1002 11 3 1003 7 0 1 15 52 100 0 1 23423 0 1 72346 9 1001 10 1001 1 0 1 2 11 53 9 1001 10 1001 1 0 1 1 11 54 ??

51 10 10 ... это так надо Gector'y. Можно и не запаковывать скрипты.
Вот например кусок lui-скрипта из двига Leadwerks.
Код:

require("Scripts/constants/collision_const")
require("Scripts/constants/engine_const")
require("Scripts/LinkedList")
require("Scripts/filesystem")
require("Scripts/math/math")
require("scripts/classes/bullet")

--Variables
dx=0.0
dy=0.0
camerapitch=0.0
camerayaw=0.0
move=0.0
strafe=0.0

--Create a player controller
controller=CreateController(1.8,0.45,0.25,45)
controller:SetCollisionType(COLLISION_CHARACTER,0)
controller:SetPositionf(0,2,0,0)
controller:SetMass(10)

controller:SetPosition(fw.main.camera.position)
camerapitch=fw.main.camera.rotation.x
camerayaw=fw.main.camera.rotation.y
controller:Move(Vec3(0,-0.9,0))

--a=CreateCube()
--a:SetPositionf(-30,2,2)
--b=CreateCube(a)
--b:SetPositionf(20,0,0)

local gunscale=0.6
local vwep = LoadMesh("abstract::vwep_hands.gmf")

LoadMesh("abstract::vwep_gun.gmf",vwep)
vwep:SetParent(fw.main.camera,0)
vwep:SetPosition(Vec3(-0.18*gunscale,-0.03*gunscale,0.37*gunscale),0)
vwep:SetScale(Vec3(0.04*gunscale,0.04*gunscale,0.04*gunscale))
local gundisplayposition = vwep:GetPosition()
sound_gunshot = LoadSound("abstract::gunshot.ogg")
source_gunshot = CreateSource(sound_gunshot)
source_gunshot:SetVolume(0.5)
vwep :SetShadowMode(0,1)
local displayposition=Vec3(-0.26/2.0,-0.03,0.19)
local muzzleflash = CreatePointLight(3)
muzzleflash:SetParent( vwep )
muzzleflash:SetColor(Vec4(1,0.6,0.0,1.0))
muzzleflash:SetPosition( displayposition )
muzzleflash:SetShadowMode(0)


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

Цитата:

И вообще я считаю самым сложным написать IQ
IQ - коэффициент интеллекта.
AI - искусственный интеллект.

burovalex 25.07.2012 20:24

Ответ: Скриптовик - Банки или текст?
 
Цитата:

Сообщение от Nex (Сообщение 234213)
51 10 10
IQ - коэффициент интеллекта.
AI - искусственный интеллект.

Ах да... :crazy: :-D

Видимо я еще не дорос до скриптов...


Часовой пояс GMT +4, время: 20:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot