AngelScript

Собственно по сабжу, пробывал кто нить юзать это чудо ?

Последняя правка: пн, 29/08/2011 - 22:11
Submitted by Relyer on

Комментарии

Что за чудо?

Лепей, на маю думку, выкарыстоўваць LUA. Smile FarCry таксама так думае!

Это понятно что Луа - является некоторым стандартом дэфакто, ) просто С подобные весчи уже достали, надо уже подниматься выше на ступеньку в скриптогенерации, кстати может ктонить знает какую нить иную Виртуальную машину на ООП, АнрылСкрипт не предлагать - дорого Smile

Submitted by Relyer on

Что ты понимаешь под "С подобные весчи"?

ВМ для ООП -- попробуй Python

AngelScript в отличие от Lua и Python -- статически типизированный язык, что несколько уменьшает его ценность.

Для дизайнеров сложноват (ИМХО). Да и молод ещё насколько я знаю.

Submitted by SolVolkov on

Сорь не правильно выразился, структурные я имел ввиду, питон это вообще стримовый язык, я не думаю что он хорошо ляжет на игру + скорости там никто не требует крутой, ладно юзанем ангел скрЫпт глянем )

Submitted by Relyer on

Між іншым, чаму гэта Python тармазнуты? Smile Цікава, што для рухавічка Panda3D гэтая акалічнасьць ніколькі не перашкаджае для працы!

А что такое стримовый язык?

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

Submitted by SolVolkov on

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

Submitted by Relyer on

Про питон - это к Тектонову Smile

Submitted by Victor on
Вся мощь питона проявляется, если придерживаться функционального стиля програмиривания, но язык поддерживает любой стиль: и процедурный, ООП.

А также язык славиться ОГРОМНЫМ набором библиотек. И строки с регулярными выражениями лишь капля в море.

Submitted by SolVolkov on

Если не смущают лишних 8 мегов в дистрибутиве, то конечно Python.

Submitted by Rrrichi on

Раз уж пошла такая пьянка.. В общем Lua будет получше для создания специализированных (domain-oriented) языков, чем Питон. Они и дизайнеру понятнее будут. Что касается Питона, то его мощь в чётко определённой грамматике, которая описана в юзверьской документации, благодаря чему существуют интерпретаторы Питона на яве - JPython, .NET - IronPython и т.п. Это позволяет использовать Питон в качестве средства для быстрой прототипизации, впоследствии переписывая критичекие участки кода на C.

Основные библиотеки Питона написаны на C, достаточно низкоуровневые, с оптимизацией на максимальную скорость (как и сам синтаксис), поэтому Питон хорошо зарекомендовал себя в качестве быстрого средства для написания всяких консольных утилит и тулзеней. Да, в Питоне существует поддержка потоков наподобие *nix'овских пайпов, когда вызовы функций можно объединять в цепочки таким же способом. Есть генераторы - _функции_, которые могут возвращать данные прямо из середины своего for или друго цикла, при этом запоминая состояние до следующего вызова. А вот что касается обработки текста с помощью регекспов, то тут Питон ничем не лучше остальных языков с их поддержкой. Язык, который действительно заточен под текст - это Perl - там регекспы встроены в сам синтаксис языка так, что порой это превращается в сплошной кошмар. Питон изначально ориентировали на удобочитаемость, поэтому там нету фигурных скобок для определения блоков - все блоки определяются отступами, которые грамотные люди и так вставляют.

Обычно выбирют тот язык, с которым лучше знакомы. Если привык к Питону и писал разные утилитки для облегчения работы, то переучиваться сложно. Lua изначально не имел никаких библиотек для работы с файловой системой или сетью. Я не видел, что сделали в Lua за последние 4 года, но мне кажется, что для целей внутриАПИшного использования это равноценная замена. По-крайней мере от разработчиков я часто о нём слышал, но изучать пока не тянет. Smile

Мачить так до конца )

Господа вопрос в следующем линкуется ли питон к классам писаным на С++ или же на функции С, если линкуется к классам, то пойду читать про сие достижение человеческой мысли )

Submitted by Relyer on
Вы заметили как тема об АнгелСкрипт плавно перетекла в тему о Питоне? :)

Т.е. насколько я понял с АнгелСкриптом ни кто не работал, а Питон нравиться всем Lol

Submitted by Victor on

Линкуется. Либо через SWIG, либо через Boost.Python, либо с помощью CXX.

А распространение, лицензии по попке не бьют и как насчёт Инплейса ихнего када в проект.. В общем и целом интересная штука этот пи-то-н

Submitted by Relyer on

BSD. Где-нибудь в документации укажешь, что использовал либу и порядок.

Я работаю с ней. Очень неплохая библитотека. Автором активно поддерживается.JIT планируется, но не в ближайшем будущем.Строгая типизация с одной строны портит жизнь дизайнерам, нос другой скорость исполнения выше. Если уж дизайнер осилил CLike синтаксис, то думаю он уже не будет пытаться присвоить

целому числу строку.

Удобный биндинг функций, переменных, структур/классов..engine->RegisterGlobalFunction("void Log(string &in)",asFUNCTION(WriteLog),asCALL_CDECL);engine->RegisterGlobalProperty("const uint8 some",&Some);engine->RegisterObjectType("Object",sizeof(CObject),asOBJ_CLASS);Ну в таком духе.

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

кода после препроцессора, подсветкой синтаксиса...

Вобщем мне понравилась библиотека.

Submitted by Cvet on

Если не в лом, можешь посчитать сколько инструкций выполняется до вызова скриптовой функции из кода? и функции класса из кода?, просто говориш что быстро надаж проверить )

Submitted by Relyer on
В лом :)Если интересно скачай sdk, там есть проекты для тестов.

Вот что говорит сам автор по поводу скорости:

AngelScript is fast, in fact I can honestly say that it is one of the fastest out there. This is not because of my optimization skills (that really aren't much to talk about), but more of the design decision to use statically typed variables and supporting native calling conventions for application functions. Even so it will always be much slower than code written in native code, e.g. C++.

The only way you can know if AngelScript is fast enough for your purposes is to give it a try on your own. Write up a test application that will execute the estimated number of scripts as you think you'll have in your game. Nobody can give you any numbers as the performance is highly implementation dependent, what's true for one application is not true for another.

Submitted by Cvet on

GameDev.by