С одной стороны да, с другой стороны скриптовый язык привносит своё легаси, которое будучи писанно гд, а не программистом начинает заметно тормозить проект, заставляя как дублировать логику, прокидывая интерфейсы в скриптовый язык, так и делать упражнения вприсядку, пытаясь соптимизировать то что там гд понафигачило. Как-то так Jon Blow и стал писатьсвой собственный язык Jai, дабы сохранять достаточно низкоуровневую систему, но при этом достаточную для того же скриптования и с быстрым циклом изменений - компиляция занимает меньше секунды в сравнении с тем же Rust (полминуты на инкрементальных сборках) или C++ (бесконечность не предел).Правда для сохранения скоупа Джон шарит компилятор языка через рассылку и только иногда, поэтому если кто-то хочет причаститься может потрогать альтернативу.
Претензия в том что это плохо стыкуется с продуктивным геймдевом. Ты можешь написать идеальную игру с отличным геймплеем, но вместо полугода на прототип ты потратишь 3 только на рефакторинг.
Может конечно у меня время больше вышло потому что я ещё с раннего доступа играл, но сюжетка процентов на 80 уже тогда была готова была и к релизу уже часов 90 наиграно было. Ачивки закрыл не так давно на 205 часу.
Судя по видео тот же Enclave от DMoM&M не слишком отличается, разве что боевка поразнообразнее, но выбора персонажей при этом как такового нет.
Несколько странно видеть Hades и Nectopolis в списке т.к. там наоборот механика возрождений как и у прочих рогаликов. У hades уж точно продолжительность их основной сюжетки не вмещается в 100 часов.
Напомнило старый добрый доклад про от одного из первопроходцев ржавого геймдева Кэтрин Уэст. Проблемы известны с ещё с момента появления геймдева на ржавчине, видимо поэтому в какой-то момент и появились всякие Any и глобальный объект мира.
Не столько прототипированию, сколько склеиванию прототипов воедино. Ибо грязный код в соседнем минипроекте завёлся, но чтобы добавить его в игру нужен очередной рефакторинг кода. И это наиболее слабая сторона Rust - сигнатуры начинают протекать везде по коду, если ты хочешь быть все также быстр, а не иметь миллион .clone() .
Так можно использовать обычные массивы вместо any. Будет что-то вроде
proptest! {
#[test]
fn test_add((a,b,c) in
[ (3,4,5),
(6,7,8),
(9,10,11),].into_iter())
{
let sum = add(a,b);
let sum2 = add(b,c);
let sum3 = add(sum, sum2);
assert!(sum3 == a + b + c)
}
Написал наугад, но в принципе можно по красоте сделать с итераторами и композерами.
Фермеры во множественном числе, так что видимо что-то иное. Гугл на проблему говорит что-то про оптимизацию процесса где фермер производит, волки едят фермеров, защитник защищает фермеров, но фермер при этом не работает. Но нормально поставленной проблемы так и не было описано и оно больше про геймдев, чем про тему статьи.
use proptest::prelude::*;
fn add(a: i32, b: i32) -> i32 {
a + b
}
proptest! {
#[test]
fn test_add(a in 0..1000i32, b in 0..1000i32) {
let sum = add(a, b);
assert!(sum >= a);
assert!(sum >= b);
}
}
fn main() { test_add(); }
Вместо копипасты с генераторами тут будут рэнжи с данными a in 0..1000i32 или v in any::<u32>().prop_map(|v| v.to_string()) как вот тут. Собственно вторым способом наверняка можно также тесткейсы из массива и как кортеж обрабатывать, аналогично примеру с NUnit, где кейсы были массивами объектов/классов, но это надо маны читать, сам не пользовался.
Kani тоже умеет в генерацию, но он все же больше про фаззинг, нежели про протесты.
Собственно видимо это зависит от конкретной кампании, местных же профсоюзов и законов штата, нежели от трудового законодательства федерального уровня, если оно на том уровне вообще существует. Но в среднем я почти не знаком с их законами о труде, так что могу ошибаться. Всякие day-off и сокращёнки по пятницам так и вовсе в ковидные времена повсплывали, до этого если практиковались, то в заметно меньших масштабах. Собственно в некоторых кампаниях работавших на территории россии провернули ту же историю. Законодательно это всё не закреплено.
Там тех "больших" расшифровок штук пять и ни одна с другой вообще не были свзаны тематически. Кто-то иврит вон дешифровал, кто-то говорит, что это маянские диалекты, которые никто не слышал, у третьих там потерянные родственники баскского оказались. То бишь всё это языковая перейдолия - что хочешь прочитать, то и прочитаешь.
Пробовали обычным стат анализом, но в среднем получается фигня. Статистически ближайшие языки вроде как армянский, но это примерно как шимпанзе с орангутаном сравнивать. Для полноценного ИИ слишком мало данных, ибо в том войниче текста всего ничего и о чём тексты доподлинно неизвестно, поэтому ИИ конечно могла бы какие-то закономерности найти, но это как с дитём на балабала разговаривать - ни ты ни он не понимаете речи и просто делаете вид, как будто происходит какой-то осмысленный диалог.
Пока что наибольшими тормозами, за которыми я наблюдал - это либо попытки скачать какой-то скрипт с CDN, который по каким-то причинам недоступен из конкретной сети - ркн ли побанило, сетевой ли фильтр порезал. В итоге сидишь ждёшь пока какой-нибудь jquery/bootstrap/ga/mathjax или шрифт по таймауту отвалится и сайт наконец соизволит отрендерить страничку, хотя сама html уже как полминуты назад загрузилась. Что мешало залочить версию скрипта и грузить вместе с остальным сайтом - неизвестно. Врядли дело в экономии трафика.
С одной стороны да, с другой стороны скриптовый язык привносит своё легаси, которое будучи писанно гд, а не программистом начинает заметно тормозить проект, заставляя как дублировать логику, прокидывая интерфейсы в скриптовый язык, так и делать упражнения вприсядку, пытаясь соптимизировать то что там гд понафигачило. Как-то так Jon Blow и стал писатьсвой собственный язык Jai, дабы сохранять достаточно низкоуровневую систему, но при этом достаточную для того же скриптования и с быстрым циклом изменений - компиляция занимает меньше секунды в сравнении с тем же Rust (полминуты на инкрементальных сборках) или C++ (бесконечность не предел).Правда для сохранения скоупа Джон шарит компилятор языка через рассылку и только иногда, поэтому если кто-то хочет причаститься может потрогать альтернативу.
Претензия в том что это плохо стыкуется с продуктивным геймдевом. Ты можешь написать идеальную игру с отличным геймплеем, но вместо полугода на прототип ты потратишь 3 только на рефакторинг.
Может конечно у меня время больше вышло потому что я ещё с раннего доступа играл, но сюжетка процентов на 80 уже тогда была готова была и к релизу уже часов 90 наиграно было. Ачивки закрыл не так давно на 205 часу.
Судя по видео тот же Enclave от DMoM&M не слишком отличается, разве что боевка поразнообразнее, но выбора персонажей при этом как такового нет.
Несколько странно видеть Hades и Nectopolis в списке т.к. там наоборот механика возрождений как и у прочих рогаликов. У hades уж точно продолжительность их основной сюжетки не вмещается в 100 часов.
В Sacred был режим с одной смертью. А что насчёт какогоз-нибудь dark messiah of might and magic?
Ой, а что случилось?
Так пишите вы
Напомнило старый добрый доклад про от одного из первопроходцев ржавого геймдева Кэтрин Уэст. Проблемы известны с ещё с момента появления геймдева на ржавчине, видимо поэтому в какой-то момент и появились всякие Any и глобальный объект мира.
Не столько прототипированию, сколько склеиванию прототипов воедино. Ибо грязный код в соседнем минипроекте завёлся, но чтобы добавить его в игру нужен очередной рефакторинг кода. И это наиболее слабая сторона Rust - сигнатуры начинают протекать везде по коду, если ты хочешь быть все также быстр, а не иметь миллион
.clone()
.Так можно использовать обычные массивы вместо any. Будет что-то вроде
Написал наугад, но в принципе можно по красоте сделать с итераторами и композерами.
Фермеры во множественном числе, так что видимо что-то иное. Гугл на проблему говорит что-то про оптимизацию процесса где фермер производит, волки едят фермеров, защитник защищает фермеров, но фермер при этом не работает. Но нормально поставленной проблемы так и не было описано и оно больше про геймдев, чем про тему статьи.
Какой-то такой код похож на то что делает NUnit?
Вместо копипасты с генераторами тут будут рэнжи с данными
a in 0..1000i32
илиv in any::<u32>().prop_map(|v| v.to_string())
как вот тут. Собственно вторым способом наверняка можно также тесткейсы из массива и как кортеж обрабатывать, аналогично примеру с NUnit, где кейсы были массивами объектов/классов, но это надо маны читать, сам не пользовался.Kani тоже умеет в генерацию, но он все же больше про фаззинг, нежели про протесты.
Вы ж батареи не облизывать собираетесь. А так и литиевые батарейки ни разу не экологичные в производстве и утилизации.
Собственно видимо это зависит от конкретной кампании, местных же профсоюзов и законов штата, нежели от трудового законодательства федерального уровня, если оно на том уровне вообще существует. Но в среднем я почти не знаком с их законами о труде, так что могу ошибаться. Всякие day-off и сокращёнки по пятницам так и вовсе в ковидные времена повсплывали, до этого если практиковались, то в заметно меньших масштабах. Собственно в некоторых кампаниях работавших на территории россии провернули ту же историю. Законодательно это всё не закреплено.
Даже видос есть
Там тех "больших" расшифровок штук пять и ни одна с другой вообще не были свзаны тематически. Кто-то иврит вон дешифровал, кто-то говорит, что это маянские диалекты, которые никто не слышал, у третьих там потерянные родственники баскского оказались. То бишь всё это языковая перейдолия - что хочешь прочитать, то и прочитаешь.
Пробовали обычным стат анализом, но в среднем получается фигня. Статистически ближайшие языки вроде как армянский, но это примерно как шимпанзе с орангутаном сравнивать. Для полноценного ИИ слишком мало данных, ибо в том войниче текста всего ничего и о чём тексты доподлинно неизвестно, поэтому ИИ конечно могла бы какие-то закономерности найти, но это как с дитём на балабала разговаривать - ни ты ни он не понимаете речи и просто делаете вид, как будто происходит какой-то осмысленный диалог.
Почему? Хлор сложно оксислить до такого уровня? Или оно тоже огнеопасно?
Пока что наибольшими тормозами, за которыми я наблюдал - это либо попытки скачать какой-то скрипт с CDN, который по каким-то причинам недоступен из конкретной сети - ркн ли побанило, сетевой ли фильтр порезал. В итоге сидишь ждёшь пока какой-нибудь jquery/bootstrap/ga/mathjax или шрифт по таймауту отвалится и сайт наконец соизволит отрендерить страничку, хотя сама html уже как полминуты назад загрузилась. Что мешало залочить версию скрипта и грузить вместе с остальным сайтом - неизвестно. Врядли дело в экономии трафика.
Если что-то а ля фаззинг то kani и proptest по идее ваш клиент.