Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Стартап in-game JavaScript

Discussion in 'Разработка плагинов для новичков' started by DPOH-VAR, Jan 5, 2013.

?

Как вы относитесь к скриптам в игре?

  1. Я не знаю ни одного языка программирования/скриптинга.

    16.2%
  2. Идея не стоит реализации.

    0.9%
  3. Я знаю JavaScript. Хорошая идея применять его в игре.

    38.5%
  4. Хотелось бы использовать другой язык (указать ниже).

    9.4%
  5. Меня полностью устраивает синтаксис Varscript.

    6.0%
  6. БАЯН (указать ссылку).

    1.7%
  7. А я томат (не голосую).

    27.4%
  1. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Хочу узнать мнения людей людей по сабжу.
    Суть:
    Я задумал плагин, позволяющий интерпретировать скрипты на js в ответ на определенные события.
    а конкретно:
    • При использовании предмета. Скрипт будет храниться внутри этого предмета
    • При событии игрока, если он имеет предмет со скриптом. Например, при смерти игрока.
    • То же самое для мобов.
    • Возможность ввести скрипт непосредственно в чат и считать из файла.
    • JavaScript внутри Command-блоков. Длина строки внутри него на самом деле не ограничена. Будет выполняться при активации редстоуном или при взаимодействии игрока с ближайшим блоком
    • При любом Bukkit и Cron событии (запись скрипта в файлах yaml)
    Говоря еще проще, хочу переписать Varscript со всем его функционалом для использования на более простом языке.
    Языки с обратной польской нотацией сложны для изучения, а JavaScript знает каждый второй "уверенный пользователь ПК"
    Плагин будет ориентирован на эвент-серверы и RPG-серверы.
    За основу собираюсь взять движок Rhino
    Основа регистрации событий, эвентов и т.д. - из Varscript

    Прошу всех, кто заинтересован, проголосовать в данной теме.

    -----

    Подобные плагины:
    BukkitScript - позволяет биндить скрипты на некоторые события, команды. К сожалению, имеет сложный синтаксис.
     
    SyperStroitel, Klever, ksada and 4 others like this.
  2. Хостинг MineCraft
    <
  3. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Если кто-то заинтересован, то ради эксперимента могу попробовать подключить и другие языки (Python, Ruby, PHP, и т.д.)
     
    tOshKa, ITrAnEI and Aim-X like this.
  4. hubridos

    hubridos Старожил Пользователь

    Trophy Points:
    103
    Skype:
    hubridos
    Имя в Minecraft:
    Hubrid
    PHP пожалуйста_)
     
    TechnicianBear and Jers like this.
  5. kDas

    kDas Старожил Пользователь

    Trophy Points:
    123
    Skype:
    dasjke
    Имя в Minecraft:
    kDasRU
    Ну, "каждый уверенный пользователь ПК" скорее знает PHP, нежели JS. :) Так что да, он будет более актуальным. Но руби же, например, няшнее - тем не менее, пых более популярен. Больше профита.
     
    ufes likes this.
  6. ensirius

    ensirius Старожил Пользователь

    Trophy Points:
    123
    Зачем?
     
    Jers likes this.
  7. hubridos

    hubridos Старожил Пользователь

    Trophy Points:
    103
    Skype:
    hubridos
    Имя в Minecraft:
    Hubrid
    @kDas,
    У вас всё слишком в розовом свете, некоторые задроты тоже думают. что профессионально владеют компьютером, а сами банально гугл пингануть не могут на проверку пакетов :fp:
     
  8. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Окай! Следующий на очереди будет PHP, если найду способ подключить его к ScriptEngine
    Пока что мучаюсь с JavaScript ;)
     
    ITrAnEI and Jers like this.
  9. Jers

    Jers Старожил Пользователь

    Trophy Points:
    153
    Было бы не плохо подключить JS...
     
  10. ivanque

    ivanque Активный участник

    Trophy Points:
    73
    Ruby не помешал бы.
     
  11. Ission

    Ission Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    lokivava
    Скорее всего то, что я напишу, будет являться бредом, но это моё мнение.
    На сколько я знаю во многих местах изучали и изучают Pascal как основу программирования. Что если его использовать для скриптов, правда немного изменив некоторые части? Хотя я более чем уверен, что рядовые пользователи на любом языке ничего дельного не напишут, а те кто сможет - им без разницы на чём писать. Взять того же меня. Я даже не пытался искать скрипты на minecraft. Мне понадобилась ранее негде не реализованая функция - я взял её и реализовал, хотя Java не изучал вообще, почти полностью методом тыка. Я не представляю где можно использовать скриптовые предметы, за исключением событий.
    В общем моё мнение: без разницы какой язык использовать, лишь бы оно работало и нашлись люди, которым это нужно.
     
  12. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Внутри JRE 6 уже есть JavaScript engine. Поэтому первоначально делаю именно для него. Но заранее оставляю возможность для подключения других языков. Скорее всего придется делать это путем добавления дополнительных библиотек.
     
    ufes, ITrAnEI, Ission and 1 other person like this.
  13. mr.cashzoomhello

    mr.cashzoomhello Активный участник

    Trophy Points:
    63
    Имя в Minecraft:
    Mr_CashZoomHello
  14. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Эксперимент проведен.
    На JavaScript переносится весь bukkit API.
    Я думаю оставить это конечным результатом для обработки скриптов (сделать доступным Bukkit API)
    но синтаксис Varscript оказался проще в реализации, удобнее и лучше по быстродействию.
     
  15. stew

    stew Старожил

    Trophy Points:
    103
    Skype:
    antonov330
    Имя в Minecraft:
    StewMan
    вот по этому VS нужно оставить! и не капли он не сложный, были бы доки...
     
  16. Sirse

    Sirse Старожил Пользователь

    Trophy Points:
    173
    Имя в Minecraft:
    Sirse
    Покажусь идиотом, но как насчёт Lua?
     
    Ax3 likes this.
  17. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Varscript будет разрабатываться дальше =) ибо он оказался намного лучше в плане быстродействия.
    Разработка возможно затянется, т.к. я решил сделать объектно-ориентированный язык. VS и JS смогут взаимодействовать между собой.
    Об остальных продвижениях в разработке буду писать в соответствующей теме.
    Скорее всего будет доступен любой язык, поддерживающийся ScriptEngine. я предусматриваю такой вариант, что нужно будет просто подключить библиотеку с этим языком.

    Varscript же будет работать отдельно от ScriptEngine, т.к. он полностью компилируемый язык.
     
    Vedroyder likes this.
  18. Alastar

    Alastar Старожил Пользователь

    Trophy Points:
    173
    Идея хорошая.
    PS Эээх, придется мне отложить 4 учебника по C# и начать читать учебник по JavaScript)
     
  19. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Trophy Points:
    153
    Skype:
    dpohvar
    Если знаешь C++/C#/Java, то JavaScript - не проблема.
    К тому же из всех перечисленных, у меня больше всего уважения к C#.
    Так что не советую откладывать ;)
    Я не говорю точных сроков, когда закончу разработку. Но с JavaScript все действительно просто. Кроме регистрации событий. Эдакий тормозной, но мощный язык. Доступен всем, на его изучение уходит 2-7 дней.

    Основной упор я делаю на VarScript. Он будет исполнять нужные команды напрямую, без рефлексий или каких-либо фокусов. Явный его недостаток - необходим большой набор операндов. В текущей версии их более 600. Поэтому сам плагин > 1.5 MB и занимает много места в оперативке. Зато быстродействие почти как при написании чистого кода на Java, а иногда даже и превосходит его (в случае говногода неоптимизированного кода некоторых плагинописцев).
     
  20. ensirius

    ensirius Старожил Пользователь

    Trophy Points:
    123
    Кхм, я какой-то не правильный, java хорошо знаю, а javascript синтаксис не понимаю.
     
  21. Tehnyla

    Tehnyla Старожил Пользователь

    Trophy Points:
    103
    Имя в Minecraft:
    keelfy
    Кто знает этот плагин - ScriptsCraft? (биндит скрипты на таблички) (неуверен, но может быть не ScriptsCraft, а ScriptCraft, но не суть....
     

Share This Page