Gamedev Владимир Семыкин
6 057

Что такое конечные автоматы и как их использовать в разработке игр

Польза и область применения.

В закладки
Аудио

На конференции DevGAMM 2018 в Москве с докладом о пользе конечных автоматов выступила Алёна Пономаренко, программист в Social Quantum. Она рассказала, как в играх используются конечные автоматы (Finite-State Machine) — особые алгоритмы, отвечающие за состояние внутриигровых объектов и персонажей. С их помощью можно не только управлять поведением ИИ, но и задавать модели функционирования интерфейсов. Мы выбрали из выступления главное.

Алёна Пономаренко

Параллельность и непрерывность

Реальный мир устроен так, что все процессы протекают параллельно друг с другом. Например, человек может одновременно дышать, слушать доклад и обдумывать определённую мысль. К этому добавляются ещё и процессы, происходящие вне текущего контекста: ожидание ответа на СМС — наглядный пример.

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

Слева: в реальности все процессы проходят параллельно. Справа: в эмуляции необходимо объединять все процессы в непрерывность

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

Для эмулирования реальности необходимо использовать специальные инструменты. Конечные автомат — один из таких инструментов.

Количество процессов, которые можно параллельно запустить на физическом процессоре, ограничено. Как правило, возможностей процессора не хватает для полноценной эмуляции реальных событий, поэтому и существует потребность объединять процессы в непрерывность.

Состояния и события

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

Для перехода из одного состояния в другое, должно произойти событие

Патрулирование представляет собой бесконечный процесс, который необходимо поделить на кусочки работы. Это позволяет без проблем менять состояние юнита. Также благодаря такому подходу можно узнать состояние по работе, которую выполняет персонаж. Кроме того, допускается добавлять определённые условия при переключении с одного состояния на другое. Например, при переходе от патрулирования к стрельбе персонаж достаёт оружие.

Все объекты в играх имеют своё состояние и свои кусочки работы, которые, на первый взгляд, совершаются параллельно. На самом деле, они все идут последовательно.

Для перехода из одного состояния в другое должно произойти определённое событие. При этом условия перехода должны быть прописаны однозначно для каждого состояния и события.Чтобы понять правила работы этой системы можно представить, что состояния — это прилагательные, события — глаголы, а объекты — это существительные.

Конечный автомат состоит из состояний, событий и таблицы переходов. Автомат начинает работать с заданного стартового состояния. Если происходит передача данных во время выхода из события, то на входе в другом состоянии необходимо принять и обработать эти данные. Отправка события — действие конечного автомата, а не конкретного состояния.

В этих методах и заключён весь пользовательский код конечного автомата, так как больше нет места, где код может выполниться.

Как это работает изнутри

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

Для отдельного юнита необходимо прописать лишь два условия: как он будет патрулировать, и как будет замечать врага. Всё остальное конечный автомат сделает сам.

Дополнительные особенности

  1. Существует система приоритетов для разных событий, которая позволяет избежать конфликта условий.
  2. Для проверки возможности совершить определённое событие можно использовать действие, что позволит избежать нескольких переходов из состояния в состояние.
  3. Из одного конечного автомата можно отправить сообщение о переходе в другой конечный автомат, что позволяет вкладывать их друг в друга.

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

#опыт

{ "author_name": "Владимир Семыкин", "author_type": "editor", "tags": ["\u043e\u043f\u044b\u0442"], "comments": 124, "likes": 42, "favorites": 101, "is_advertisement": false, "subsite_label": "gamedev", "id": 31493, "is_wide": true, "is_ugc": false, "date": "Fri, 16 Nov 2018 13:14:04 +0300" }
{ "id": 31493, "author_id": 94357, "diff_limit": 1000, "urls": {"diff":"\/comments\/31493\/get","add":"\/comments\/31493\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/31493"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "possessions": [] }

124 комментария 124 комм.

Популярные

По порядку

Написать комментарий...
12

Я напомню, что Gamedev-подсайт — профессиональное сообщество. Все комментарии не по теме разработки удаляются, а авторы особо резких комментариев не по делу исключаются из сообщества (на время, в некоторых случаях навсегда).

Ответить
30

Дама говорит о терминах в которых плохо разбирается и использует механики, которые не слишком для решамых задач.

Одним словом - она настоящий геймдевелопер!

Ответить
29

Зато волосы покрасила в разные цвета и по конференциям выступает
Поэтому меня и коробит от девгама. Собрания для хипстеров, разрабатывающих социалки и мобилочки

Ответить
0

Экстравагантная внешность привлекает внимание, ну а насчет мобилок и социалок да, грустно все это

Ответить
8

Согласен, когда был у неё на сессии, она говорила очень складно, но как только начали задавать насущные вопросы, она сразу переводила стрелки и говорила - подойдите после сессии я вам в частном порядке отвечу. Ни на один вопрос не было внятного ответа.

Ответить
12

На самом деле это специально, так хантят людей.
1. Даешь доклад на около холиварную и спорную тему.
2. Потом к тебе идут знающие люди рассказать в чем ты не прав или когда это работать не будет.
3. А ты их встречаешь вместе с отделом HR.
4. ??? PROFIT

Ответить
3

Настоящие хикки сидят по домам :)

Ответить
1

подойдите после сессии я вам в частном порядке отвечу

https://www.youtube.com/watch?v=SdJudb3KDVY

Ответить
–8

В геймдеве все дамы обычно художники, реже геймдизайнеры.
Так что требования к даме-программисту не высоки. Знает что такое конечный автомат - уже замечательно.

Ответить
5

Такое отношение бывает в школах и ВУЗе, но зачем бизнесу брать плохого работника?

Ответить
0

Девушка-программист отлично стимулирует команду. Она может спросить что угодно у кого угодно, так что парень с чрезмерным ЧСВ, которому "западло" спросить что-нибудь у коллеги, может спросить у девушки :)
Она также служит отличным фильтром: парень, который поймет, что "даже она лучше меня", либо займется ускоренным самообучением, либо уволится сам :)

Ответить
0

Социальные квоты
Но мы не просвещённый запад, у нас так не работает

Ответить
0

То есть вы действительно думаете, что российский бизнесмен мечтает, чтобы в его команде программистов сидели одни олимпиадники, математики и доктора наук мужского пола и строчили код по 12 часов в день?

Ответить
0

Нет, я как раз про то, что у нас обычно смотрят на уровень специалиста, а не набирают по принципу "нужно ещё 10 женщин"

Ответить
0

Если HR набирает специалистов только по уровню Hard Skills - то он/она плохо делает свою работу.
Я считаю, что также нужно стараться не допускать однополых рабочих коллективов. Одни мужчины - казарма, одни женщины - серпентарий. Вот вы бы хотели в таком работать?

Ответить
2

А, так вы за соц. квоты...
Ну, удачи вам работать с коллегами, которых набрали потому что нужно разбавить. Я лично предпочитаю работать со специалистами
Да, кстати - я и так работаю практически в казармах, как вы выразились. И ничего, как-то справляемся. А женщин мало среди программистов - они просто сюда не особо идут

Ответить
–1

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

Ответить
1

Может и так. Я никогда этого сложного подхода к рекрутингу не видел, так что не знаю, что это за чудо чудное

Ответить
–1

Да, у такого работника Hard Skills действительно может быть ниже чем общий по палате. Но Soft Skills то выше.
Бизнесу вовсе не обязательно нужны люди которые целый день сидят и втыкают в экран, решают проблемы с кодом. Нужны и те, кто эффективны в коммуникациях, работают с людьми.
В общем, если здесь есть HR-специалист, то он пояснит в пользу женщин-программистов.

Ответить
3

Как влияет наличие тех или иных половых органов на чтение условного шилдта?

Ответить
1

Мне вот тоже интересно, как влияет наличие тех или иных половых органов на то, что большинство кассиров в супермаркетах - женщины. Ну или там стюардессы на авиалиниях, медсёстры и прочая-прочая-прочая.

Видимо таки гормональный фон (эстроген/тестостерон) создаёт чисто на химическом уровне (как и другие психоактивные вещества) предрасположенность к определённым видам деятельности.

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

Не знаю ни одну женщину-архитектора систем.

Ответить
2

По поводу кассиров 1) мужики кассиры есть 2) стюарды тоже есть 3) мед братья тоже никуда не девались. То что в России их исторически больишстсво так сложилось, что женщины идут кассиршами, а мужики грузчиками. Но не везде так.

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

Почему-то мне сейчас хочется защищать феминисток, но нет, они ебнутые.

Ответить
1

Нет чего-то на гормональном уровне, что мешает заниматься программированием.

Т.е. ты отрицаешь сам факт того, что гормоны являются психоактивными веществами что ли?

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

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

И это ровно такой же факт, как и то, что под воздейтвием мужских гормонов быстрее растут мышцы.

Отрицать, что возможны нарушения гормонального баланса, а так же что у каждого человека вне зависимости от пола он свой - я не буду. Тем не менее, общая тенденция на лицо - software developer мужчины превалируют и это обусловленно именно половыми различиями - на биохимическом уровне.

Ответить
3

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

Можно какие-нибудь пруфы на исследования всего этого воздействия? Лично мне совершенно не очевидно, как и какие именно гормоны заставляют человека быть более приспособленным к рутинным действиям.

Ответить
0

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

Ответить
1

Вот кстати. Да. Статистика дпт четко говорит - что большинство мужиков в аварию попадают тупо слишком сильно разогнавшись. А у женщин основные аварии - это при перестроении.

Если же кто то водит машину идеально - то пол водителя определить нельзя.:))

Ответить
0

Были бы у меня другие половые органы, я бы ни за что не стал читать нудятину Шилдта на 1000 страниц. Я бы посмотрел видеоуроки с симпатичным молодым человеком, который все мне популярно разъяснит.

Ответить
0

То есть Толстого и Достоевского женщины читать могут, не смотря вместо них сериальчик с БиБиСи, а Шилдта нет?

Ответить
0

У Толстого и Достоевского страсти кипят, а Шилдт одним своим видом нагоняет зевоту.

Ответить
3

Я никогда не писала коментарии на ДТФ, но в этот раз не удержалась. Я не буду приводить никаких исследований и ничего подобного, только свой опыт.

Я девушка 19 лет, работаю програмистом (Backend developer), опыт работы 2.5 года, быстро учусь и все такое, считаю себя неплохим разработчиком, на работе хвалят и ценят. Практически все мои знакомые девушки учятся или уже работают на тех. проффесиях и довольно успешно, есть конечно те кто пошли и пожалели, но такое вроде есть и у мужчин на любых проффесиях...

Лично я люблю читать тех. литературу и зевоты она у меня не вызывает, отлично уживаюсь с мужским коллективом, с гормонами при этом у меня все в порядке. Извините, что невнятно написала и за ошибки (русский не мой родной), просто хочу сказать что все люди разные, независимо от пола, по моим наблюдениям) И когда вы пишите подобные комментарии, и девушки вроде меня заходят почитать их, настроение падает на 0

Ответить
1

уже работают на тех. проффесиях

на любых проффесиях

русский не мой родной

You don't say

Ответить
0

Да, наверное не сложно догадаться, соре =_=

Ответить
0

Вооот! А мужики всегда в приподнятом настроении, и какие-то глупые комментарии не в силах повлиять на их тонус. Работодатель это ценит.

Ответить
1

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

Ответить
0

И когда вы пишите подобные комментарии, и девушки вроде меня заходят почитать их, настроение падает на 0

Призываю вас поменять свое отношение к подобным явлениям, потому что всегда найдутся люди, которые по тем или иным причинам могут относиться к вам предвзято или просто делать выводы, которые не соответствуют действительности. Лучше задайте себе вопросы: Все ли так думают? Мешает ли это вам находить и окружать себя людьми, которые думают по-другому?

Думаю, что ваше отношение само изменится с возрастом, но вы можете ускорить этот процесс. )

Ответить
0

Толку говорить о сферических женщинах в вакууме? Я представил себя женщиной и твердо решил, что в такой форме себя не стал бы читать.

Ответить
0

А так Шилдта читали?

Ответить
0

Да. Но у меня не было выбора, так как работаю один и приходится полагаться только на себя.

Ответить
1

Замечательно, человек, который работает один, рассуждает о тонкостях работы в коллективе...

Ответить
0

А что, на dtf все обязательно молодые и зеленые?
У меня этих коллективов было с десяток. Но сейчас я один.

Ответить
0

А, ну тогда извиняюсь

Ответить

3

На Кодзиму. А ты что-то против Кодзимы имеешь? М?

Ответить
2

Я не кодзимошовинист.
Честно-честно.
Не надо лишать меня карьеры с помощью твиттера.

Ответить
28

Что такое конечные автоматы

И тут начались жесткие флешбеки второго курса. И долбанные пересдачи 31 декабря.

Ответить
9

Ждём статьи "Что такое системы контроля версий и зачем применять их при разработке игр"!

Ответить
3

Обязательно как выжимку из доклада СПЕЦИАЛИСТА в области систем контроля версий.

Ответить
3

СПЕЦИАЛИСТА в области систем контроля версий

Который стал таковым после того, как пять лет с подвернутыми штанинами и под вейпик шарашил мобилочки и социалочки, а потом узнал, что ё-моё, код же можно не только мышкой в визуальном редакторе генерить, но еще и в контроль версий заливать, надо срочно всем об этом рассказать!

Ответить
1

слайдов про git push из 10

Ответить
12

Я напомню, что Gamedev-подсайт — профессиональное сообщество. Все комментарии не по теме разработки удаляются, а авторы особо резких комментариев не по делу исключаются из сообщества (на время, в некоторых случаях навсегда).

Ответить
0

А я там статью в инди запостил, хотелось бы её увидеть в этом подразделе если это возможно =_=

Ответить
8

Имхо лучше прочитать эту книгу http://www.gameprogrammingpatterns.com/ . Она короткая и очень просто написана. В ней затрагиваются многие аспекты разработки движка, управления и т.д. Она написана дяденькой, который знает о чем пишет.

Ответить
0

Уважаемый, не в курсе, сильно ли перевод данной книги несоответствует оригиналу?

Ответить
8

Конченные автоматы

Простите не удержался

Ответить
1

Думаю, многие прочитали именно так в первый раз...)

Ответить
2

Именно так их и сдавали многие, чего уж там греха таить.

Ответить
1

Как правило, именно они на выходе и получаются)

Ответить
4

Заходишь на сайт Social Quantum - видишь казуальные фермы.
Задаешься вопросом. Разве у этих специалистов был достаточно сложный проект , в котором пришлось бы выложился на все 110% а не следовать по методичке , как сделать ферму?

Ответить
5

ГТА5 не писал, не мужик? =) Похоже на ущемление по жанропроизводственному признаку.

Ответить
10

Есть такое. Я определено жанрошовинист.

Ответить
3

Относительно простоты разработки игр типа фермы и три в ряд существует мнение, что это просто. И это не верное мнение.

Ответить
1

Просто с технической части . Сложно с психологической.
Когда рисуешь 101й шарик для 3в ряд погружаешься в экзистенциальный кризис. Кто ты. Что ты сейчас делаешь. Зачем. А потом вспоминаешь - что тебе нужны деньги.

Ответить
1

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

Ответить
0

Не спорю. Но фермы! Очевидно что там у каждой зверушки будет несколько состояний: радость, злость ,сон, голод. И собственно все. Между ними и будет конечный автомат работать.

Ответить
3

Я не работал в социальных играх, только в инди. Но думаю, что хоть фермы или 3-в-ряд примитивны, но программировать их сложнее чем инди, хотя и проще чем мидкорные/хардкорные игровые проекты. Потому что все же нужно писать очень гибкий код для постоянных итераций и удовлетворения хотелок инвесторов, кроме того есть жесткие требования к производительности, поддержке разных устройств/браузеров, отсутствию багов.

Ответить
1

Ну такое. И 3в ряд и фермы давно уже выглядят так как будто взяли давно отлаженный движок и натянули на него иную графику.

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

Ответить
2

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

Ответить
0

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

Ответить
0

спойлеры в треде =(

Ответить
0

Вы тему не перепутали?)

Ответить
0

а кстати да, про что тема то? )

Ответить
0

Что то по сессии конференции где обсуждали конечные автоматы и ИИ специалисты по фермам. и тому как вы слушали как ей задавали вопросы и она ловко от них уходила.

Ответить
0

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

Ответить
1

Why i so serious?

Ответить

12

Это про прическу или про то, что конечные автоматы отличный инструмент?

Ответить
–6

когда смотришь на того у кого такая стильная причёска, воспринимать всерьёз речь про какие-то автоматы не могу .

Ответить
7

щас бы в 2018м по внешности судить о человеке...

Ответить
4

а почему нет ?

Ответить
4

потому что еще в 16м веке Физиогномику начали относить к псевдонаукам

Ответить
2

Физиогномика - метод определения типа личности человека, его душевных качеств и состояния здоровья, исходя из анализа внешних черт лица и его выражения

А какая связь, между формой лица с мимикой и прической в радужной расцветке с хвостиком?

Ответить
–1

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

ну или хотя бы часть про "Волосяной покров"

Волосы имеются почти на всей поверхности кожи, в частности, и на голове. И с точки зрения физиогномики, каждый признак волосяного покрова может многое рассказать о том, как человек желает выразить себя и быть воспринятым другими людьми, но и как воспринимает вокруг себя окружающий мир. Их рассматривают по следующим критериям:

по типу — сухие и жирные волосы, нормальные и смешанные, мягкие и жёсткие, толстые и тонкие, здоровые и истощенные;
по виду — пушковые, щетинистые (брови, ресницы) и длинные волосы (волосы головы, бороды, усов);
по цвету — блондины или белокурые (белобрысые, русые, золотистые и т. д.), рыжие, шатены, брюнеты;
по форме — гладкие или прямые волосы, волнистые и кучерявые;
по восприятию — в физиогномике важно общее восприятие от формы различных волос — прическа.

Ответить
1

и что это меняет ?

Ответить
–1

например то, что в 21веке глупо судить по внешности

Ответить
5

Если человек с головой погружен в работу. Внешность у него будет так себе.
Если у человека ухоженная внешность, уникальная дизайнерская прическа - значит у человека куча свободного времени.

Ответить
7

Они даже похожи)

Ответить
3

что бы раскрасить себе волосы , да ещё с таким подбором красок , тоже ни одна минута нужна .
выходишь на люди будь готов , что тебя будут обсуждать и не всегда положительно . и так будет всегда .

Ответить
1

с чего это вдруг ?

Ответить
–1

с того, что еще в 16м веке Физиогномику начали относить к псевдонаукам

Ответить
1

у тебя заело

Ответить
–2

Значит с головой что-то не так у вас.

Ответить
0

да и ты не призовая лошадь

Ответить
4

Полный 6ixni9e

Ответить
0

SCUUUUM GAAAAANG

Ответить
3

Что у Алены с волосами?

Ответить
3

Болеет.

Ответить
3

Конечные автоматы полезны и геймдизам, так как так проще описать логику поведения бота в игре, например. Отличная вещь

Ответить
0

так и делают многие, тот же half life

Ответить

9

Отпишись как выйдешь по УДО.

Ответить
1

Вообще-то, это вина как раз таки патриархата. Того самого, ага. Мол, мужчины должны быть сильными (как психологически, так и физически), а женщины – слабыми. Так что добро пожаловать в ряды борцов с патриархатом :)

Ответить
0

Ну хуй знает, в Москве куча чуваков с крашеным хаером, пирсингом в ушах и прочими фичами, в геймдеве точно все спокойно отнесутся.
И это не говоря о стримерах, которые отличаются друг от друга как анимешные девочки.

Ответить
2

Комментарии какие-то позорные.

Ответить
0

Я почистил, сорри.

Ответить

0

HIV

Ответить

1

Это было неожиданно.

Ответить
1

Шел 2018 год от Рождества Христова, люди в разделе "Gamedev" всерьез триггерятся от вида разноцветных волос и обсуждают не доклад, а собственные отвлеченные далекоидущие выводы.

Как 70-летние бабки на лавочке, ей-богу.

Ответить
–1

прастити, но я так и не понял, чем они отличаются от обычных стейт-машин, блюпринтов и других известных науке инструментов визуального программирования?

Ответить
4

Конечные автоматы
от обычных стейт-машин

Ох уж эти лэнгуэджес и мисскоммьюникейшнс.

Ответить
0

Собсна, конечный автомат в данном случае и есть стейт-машина. Это просто удобный подход к решению проблемы, а как его называть - это уже вопрос терминологии.

Ответить
0

это не инструмент визуального программирования, это подход к организации логики

Ответить

3

Я вообще подумал,что в посте будет речь про SJW или типа того. Это был неплохой обман ожиданий...

Ответить
0

А это что-то плохое?

Ответить
0

Я просто таким чердак сношу моментально.

Ответить
0

Полезная вещь

Ответить
0

Конечные автоматы хорошо. Пока число объектов которые они должны процессить не велико. и количество состояние между ними невелико

Ответить
0

Лучший пример конечного автомата - это "Жизнь" Конвея. Обычную модель типа "событие -> состояние", конечно, тоже можно назвать конечным автоматом, но можно и не называть :)

Ответить
0

"Жизнь" это клеточный автомат. Можно конечно всю доску рассматривать как один огромный конечный автомат, но зачем (и то, если поле бесконечное, то конечным автоматом это уже не будет)

Ответить
0

Ну так клеточные автоматы - это подвид конечных, разве нет?

Ответить
0

конвей с бесконечным полем конечным автоматом являться не будет (состояний бесконечно много), а вот клеточным - вполне. В то же время каждую отдельную клетку уже можно представить в виде конечного автомата

Ответить
0

Я один прочёл «конченые автоматы»?😆

Ответить
0

См выше.не один

Ответить
0

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

Мне кажется так слишком грубо говорить, это всё-таки математическая модель реальности.

Ответить
0

Другой у нас нет.

Ответить
0

Хочу обратиться к тому кто конспектировал. Прочитал текст - дичь какая то. Посмотрел видео, там всё нормально рассказано. Зачем так искажать информацию?

Ответить
0

Я вот немного удивлён подаче. Не знаю, как в игровом девелопменте, но в enterprise встречается довольно часто и, вобщем-то, уже давно как является паттерном проектирования (читай: рядовой, хорошо объезженой вещью).
Наверное стоило сделать хэштег #начинающим, а не #опыт?

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Игру с лучшим стелсом никто не заметил
Подписаться на push-уведомления