aadz
был бы я админом, так сказал бы, что мальчики - успокойтеся. ничего вы тут не решите. Идите работайте лучше
Andrei 🦉
серверную часть и правда можно написать на го, хотя на джаве это будет делать гораздо приятнее
aadz
серверную часть и правда можно написать на го, хотя на джаве это будет делать гораздо приятнее
не поднимай холивар про яву! Тут уже найдутся люди, кому на Го будет приятней задний конец делать
Artem
Окей, как вы себе представляете скриптинг игры на го?
Я во фразе скриптинг игрового мира вижу описания поведения логики персонажей. И никакой связи со скриптовым языком.
aadz
Окей, как вы себе представляете скриптинг игры на го?
А мы должны это представлять себе? А зачем?
Artem
Пример рендерного движка на го прикладывал выше. Вопрос зачем именно на го из другой области.
aadz
Кстати, надо будет в Старкрафт Брудвар зарезаься, уже давно не играл против конпутера. И с людьми давно не играл. Брудвар хочет сетку IPX, а мне лень ее делать, даже для лучших друзей
aadz
В винде этот протокол IPX еще поддерживается?
Roman
Я во фразе скриптинг игрового мира вижу описания поведения логики персонажей. И никакой связи со скриптовым языком.
это хорошо, что есть такое понимание. писать логику поведения можно и на плюсах, но игроделы почему-то выбирают lua/python
Artem
это хорошо, что есть такое понимание. писать логику поведения можно и на плюсах, но игроделы почему-то выбирают lua/python
Я далеко не ушёл в этом, игрался в Юнити на C#, но в целом го вас не ограничивает в использование луа
aadz
вы хотите Lua на Go заменить в некоторых играх? Или я все пропустил?
aadz
Роман - тугодум :)
aadz
ну... давай уже! :)
Roman
вы хотите Lua на Go заменить в некоторых играх? Или я все пропустил?
я как раз такой ереси не предлагаю. мой вопрос был к @Romshark про >Go прексрано подойдёт для скриптинга игрового мира и возможно даже AI (система акторов хорошо кладётся на горутины)
Roman
Читаю чат и вижу одни только мнения, необоснованные мнения.. Go в качестве скриптового языка интересен следующим: 1. Он относительно прост и прагматичен (надеюсь это пояснять не нужно). На C++ ведь никто скрипты игрового мира не пишет? (максимум повторяющееся поведение, где JS/Lua etc. недостаточно быстрые). 2. Одновременно он значительно производительнее и менее затратный по памяти таких языков как JavaScript и Lua, нужно объяснять в чём выгода? 3. Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? 4. Система актовор и вычисления AI хорошо укладывается на горутины, можно управлять большим колвом объкетов игрового мира используя весь потенциал CPU. 5. Модель памяти с GC отлично подходит для написания логики поведения. Без GC скрипты писать адово и опасно. что ещё... пока что всё, может что-то забыл упомянуть
koorkoole
Читаю чат и вижу одни только мнения, необоснованные мнения.. Go в качестве скриптового языка интересен следующим: 1. Он относительно прост и прагматичен (надеюсь это пояснять не нужно). На C++ ведь никто скрипты игрового мира не пишет? (максимум повторяющееся поведение, где JS/Lua etc. недостаточно быстрые). 2. Одновременно он значительно производительнее и менее затратный по памяти таких языков как JavaScript и Lua, нужно объяснять в чём выгода? 3. Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? 4. Система актовор и вычисления AI хорошо укладывается на горутины, можно управлять большим колвом объкетов игрового мира используя весь потенциал CPU. 5. Модель памяти с GC отлично подходит для написания логики поведения. Без GC скрипты писать адово и опасно. что ещё... пока что всё, может что-то забыл упомянуть
плюсану
koorkoole
но скриптинг в играх выйграл луа
Roman
Прекрасно подойдет! Да. Ключевое явление в этом всем - будущее время
как только появится DSO на всех платформах - тогда можно что-то обсуждать
aadz
Читаю чат и вижу одни только мнения, необоснованные мнения.. Go в качестве скриптового языка интересен следующим: 1. Он относительно прост и прагматичен (надеюсь это пояснять не нужно). На C++ ведь никто скрипты игрового мира не пишет? (максимум повторяющееся поведение, где JS/Lua etc. недостаточно быстрые). 2. Одновременно он значительно производительнее и менее затратный по памяти таких языков как JavaScript и Lua, нужно объяснять в чём выгода? 3. Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? 4. Система актовор и вычисления AI хорошо укладывается на горутины, можно управлять большим колвом объкетов игрового мира используя весь потенциал CPU. 5. Модель памяти с GC отлично подходит для написания логики поведения. Без GC скрипты писать адово и опасно. что ещё... пока что всё, может что-то забыл упомянуть
А мне Go а качестве скриптового языка не нравится. А нравится bash и gawk со всем их раздолбайством, о котором, конечно, каждый шелльный автор дожлен знать и уметь это использовать
Tux
как может нравиться баш?
qurabay
aadz
я пожалуй промолчу
нет уж ты скажи! не держи в себе!
koorkoole
john например вслух промолчал
aadz
но я, конечно, обвиню тебя в недостаточном знаии AWK в итоге :)
Roman
нет уж ты скажи! не держи в себе!
если я скажу, то мне придётся обосновывать, но я не хочу, мне лень обсуждать баш, потому-что я считаю это абсурдом
Roman
Читаю чат и вижу одни только мнения, необоснованные мнения.. Go в качестве скриптового языка интересен следующим: 1. Он относительно прост и прагматичен (надеюсь это пояснять не нужно). На C++ ведь никто скрипты игрового мира не пишет? (максимум повторяющееся поведение, где JS/Lua etc. недостаточно быстрые). 2. Одновременно он значительно производительнее и менее затратный по памяти таких языков как JavaScript и Lua, нужно объяснять в чём выгода? 3. Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? 4. Система актовор и вычисления AI хорошо укладывается на горутины, можно управлять большим колвом объкетов игрового мира используя весь потенциал CPU. 5. Модель памяти с GC отлично подходит для написания логики поведения. Без GC скрипты писать адово и опасно. что ещё... пока что всё, может что-то забыл упомянуть
>Одновременно он значительно производительнее и менее затратный по памяти -rw-r--r-- 1 root root 180K мар 21 17:49 /usr/lib/x86_64-linux-gnu/liblua5.1.so.0.0.0 -rw-r--r-- 1 root root 483K окт 25 2017 /usr/lib/x86_64-linux-gnu/libluajit-5.1.so.2.1.0 и самое главное - lua легко встраивать, в отличие от go. >Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? да. >4. все это ни разу не проблема. во встраеваемых языках больше ценится легкость интеграции с существующим рантаймом.
Алексей
Читаю чат и вижу одни только мнения, необоснованные мнения.. Go в качестве скриптового языка интересен следующим: 1. Он относительно прост и прагматичен (надеюсь это пояснять не нужно). На C++ ведь никто скрипты игрового мира не пишет? (максимум повторяющееся поведение, где JS/Lua etc. недостаточно быстрые). 2. Одновременно он значительно производительнее и менее затратный по памяти таких языков как JavaScript и Lua, нужно объяснять в чём выгода? 3. Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? 4. Система актовор и вычисления AI хорошо укладывается на горутины, можно управлять большим колвом объкетов игрового мира используя весь потенциал CPU. 5. Модель памяти с GC отлично подходит для написания логики поведения. Без GC скрипты писать адово и опасно. что ещё... пока что всё, может что-то забыл упомянуть
Доброго времени суток. Плюсы Вы выделили верные, только вот немного о том что такое скриптование в компьютерных играх... по сути это обвязка вокруг двигла задачей которой является описание повидения мира (игрового в данном случае), перед скриптовым языком не ставят те цели которые вы описали, перед скриптовым языком ставят цель - быстрая разработка (быстрое получение получени результат)... и вот тут го проигрывает python/lua и подобных им... и к слову, многие студии пишут свои собственные языки скриптования игры...
Roman
но я, конечно, обвиню тебя в недостаточном знаии AWK в итоге :)
да, напиши логическое поведение и взаимодействие сотен/тысяч объектов в игровом мире на AWK/bash. пожалуйста, я тебя даже останавливать не буду
Roman
лишь лапу пожму и удачи пожелаю 🙂
aadz
И иногда так бывает, что надо тупо хороший шел-скрипт написать, а не грузить машину херней на С++ размером 50 MB, которая при своих требованиях к вычислительным ресурсам и квалификации персонала просто того не стоит
Roman
Доброго времени суток. Плюсы Вы выделили верные, только вот немного о том что такое скриптование в компьютерных играх... по сути это обвязка вокруг двигла задачей которой является описание повидения мира (игрового в данном случае), перед скриптовым языком не ставят те цели которые вы описали, перед скриптовым языком ставят цель - быстрая разработка (быстрое получение получени результат)... и вот тут го проигрывает python/lua и подобных им... и к слову, многие студии пишут свои собственные языки скриптования игры...
моё утверждение заключалось в том, что не смотря на то что нафигачить 10 строчный JS для описания поведения двери - всегда будет легче чем Go, на Go можно описать более сложную логику в более безопасном и производительном виде не притрагиваясь к C++. когда речь идёт о симуляции эконимики, взаимодействий большого колва объектов и т.д. JS/Lua быстро теряют свою актуальность.
aadz
shell - очень быстрый! Просто его обычно используют там где много операций с диском, и думают поэтому, что шелл тормозной
Roman
Interactions & local logic = JS / Lua / Visual Scripting [> / Go?] Game world logic = Go > C++ Repetitive time consuming logic = C++ Engine = C++
Roman
в любом случае game world server на Go писать самое оно
Aleksandr
ладно, поспорили и хватит
Roman
ладно, поспорили и хватит
согласен. Однако стоит подметить что атмосферу чата стоит более научной сохранять, уровень троллинга порой зашкаливает.
aadz
ладно, поспорили и хватит
Чмоке тибе в этам чати!
aadz
ладно, поспорили и хватит
А в Питере улица Зеленина - не твоим именем названа?
Messer
Всем привет. Кто знает как можно ограничить размер изображения если оно загружается через multipart/form-data, multipartreader?
Andrei 🦉
согласен. Однако стоит подметить что атмосферу чата стоит более научной сохранять, уровень троллинга порой зашкаливает.
на 90% вопросов в этом чате гугл дает ответ первой же ссылкой на первой странице выдачи, так что более научным этот чат не сделать никак
Aleksandr
А в Питере улица Зеленина - не твоим именем названа?
слушай, я люблю шутки, но примитивные бесят
Vladislav
Ну почему... ну почему тут нельзя лакайть и дизлайкать ответы и "ответы" 😭
Roman
на 90% вопросов в этом чате гугл дает ответ первой же ссылкой на первой странице выдачи, так что более научным этот чат не сделать никак
сделать, давать людям RO на часик за необоснованное обсирание и экспоненциально растить период RO за повторение
Messer
https://github.com/golang/go/issues/23165
Parse подразумевает считывание в память, мне через стримы
Алексей
моё утверждение заключалось в том, что не смотря на то что нафигачить 10 строчный JS для описания поведения двери - всегда будет легче чем Go, на Go можно описать более сложную логику в более безопасном и производительном виде не притрагиваясь к C++. когда речь идёт о симуляции эконимики, взаимодействий большого колва объектов и т.д. JS/Lua быстро теряют свою актуальность.
Я просто не много не в теме происходящего, я так и не с мог понять с чего все начлоась, но опишу следующую мысль Вообще выделение отдельного слоя как "скрипты" выделяют при наличии большой команды, когда мы можем разделить команду на условные "core" и программисты "логики"/"интерфейсов" и тому подобное, когда Вас один-трое и вы программист всего, не стоит заморачиваться скриптованием, можно сделать заготовочки на будущее но заморачиваться на это... так что тут думаю многое зависит от сложности проекта и размеров команды
aadz
Я просто родился на Петроградской стороне, так что эту улицу знаю, как родную :)
Roman
runtime производительность, память, многопоточность, отсутствие compile-time гарантий.
вот про скорость, предлагаю простой бенч: сумма квадратов всех чисел от 0 до n
Roman
вот про скорость, предлагаю простой бенч: сумма квадратов всех чисел от 0 до n
да вот вчера только сравнивали V8 JavaScript с Go, разница в скорости около 6000%, разница в памяти около 1600% https://github.com/xrei/prime-numbers-benchmark
aadz
Зеленин, ты не обижайся, или не делай вид, но ты - герой нашего времени! Я буду всем внукам рассказывать, что эта улица названа в честь тебя, а я с тобой лично в Телеграме общался!
Andrei 🦉
сделать, давать людям RO на часик за необоснованное обсирание и экспоненциально растить период RO за повторение
а зачем нам еще один мертвый чат по го? один уже умер, слившись с данным чатом
Roman
а зачем нам еще один мертвый чат по го? один уже умер, слившись с данным чатом
лучше мёртвый, чем бесполезный troll community а тот чат умер не по вине троллей, а по вине администратора который решил улетучиться
Roman
в чью пользу?
ну явно не в пользу динамического JS
Roman
в чью пользу?
го справился за 7 сек (16 сек если в 1 горутине) потребив при этом 13,7 мб, JS за ~460 с чем-то и сожрал при этом ~260mb озу
Roman
Rust вообще всех сделал за 26 миллисекунд (про память не в курсе, но очевидно меньше Go)
Anonymous
Ну может там рантайм сразу выделят больше
Andrei 🦉
лучше мёртвый, чем бесполезный troll community а тот чат умер не по вине троллей, а по вине администратора который решил улетучиться
ну это исключительно ваше мнение, пока что пусть и с троллингом, но здесь можно получить ответы на вменяемые вопросы
Anonymous
Сколько аллокатор навыделал?
Roman
а на чем сравнивали? На чем надо, как обычно?
prime numbers by square-root, числодробилка, алгоритм одинаковый
aadz
и чо?
Алексей
конечно это зависит от размера команды и проекта. Обсуждалась лишь чисто гипотетическая возможность использования Go для описания игровой логики по перечисленным выше причинам.
Если вопрос чисто гипотетический и звучит как "можно ли использовать go в роли скриптового языка" - однозначно да. Но есть более простые решения... Сами по себе "скриптовые" языки имеют главное достоинство перед языками низкого уровня - скорость разработки. И если мы говорим о пунктах выше, уверены ли Вы что они описывают требование к скриптовому языку?
Алексей
Читаю чат и вижу одни только мнения, необоснованные мнения.. Go в качестве скриптового языка интересен следующим: 1. Он относительно прост и прагматичен (надеюсь это пояснять не нужно). На C++ ведь никто скрипты игрового мира не пишет? (максимум повторяющееся поведение, где JS/Lua etc. недостаточно быстрые). 2. Одновременно он значительно производительнее и менее затратный по памяти таких языков как JavaScript и Lua, нужно объяснять в чём выгода? 3. Он быстро компилируется, вам нужно объяснять почему это хорошо для скриптинга? 4. Система актовор и вычисления AI хорошо укладывается на горутины, можно управлять большим колвом объкетов игрового мира используя весь потенциал CPU. 5. Модель памяти с GC отлично подходит для написания логики поведения. Без GC скрипты писать адово и опасно. что ещё... пока что всё, может что-то забыл упомянуть
Для скриптовых языков лучше брать скриптовые языки (вот это поворот!), а Go таким языком не является.
aadz
Для скриптовых языков лучше брать скриптовые языки -хорошо сказано