<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>// TODO: blog name</title><subtitle>Технологии, программирование и всё такое.</subtitle><author><name>// TODO: blog name</name></author><id>https://teletype.in/atom/todo_blog</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/todo_blog?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@todo_blog?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=todo_blog"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/todo_blog?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-04T07:05:23.169Z</updated><entry><id>todo_blog:flutter-has-no-gaems</id><link rel="alternate" type="text/html" href="https://teletype.in/@todo_blog/flutter-has-no-gaems?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=todo_blog"></link><title>Flutter: Игорь тонет или нет?</title><published>2022-03-07T16:27:29.693Z</published><updated>2022-03-07T17:02:11.037Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/b8/20/b820e9d5-4706-494e-9304-9794235057f0.png"></media:thumbnail><category term="programmirovanie" label="программирование"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/92/2f/922fc987-1c91-4181-a47b-611ccf904a88.png&quot;&gt;Flutter – замечательное кросс-платформенное решение для разработки приложений различной сложности. Однако, в контексте игр, по словам самих разработчиков, оно уступает таким фреймворкам как Unity и Unreal Engine (особенно если речь идёт о сложных 3д-проектах). </summary><content type="html">
  &lt;figure id=&quot;DGiv&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/92/2f/922fc987-1c91-4181-a47b-611ccf904a88.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7xsW&quot;&gt;Flutter – замечательное кросс-платформенное решение для разработки приложений различной сложности. Однако, в контексте игр, по словам самих разработчиков, оно уступает таким фреймворкам как Unity и Unreal Engine (особенно если речь идёт о сложных 3д-проектах). &lt;/p&gt;
  &lt;blockquote id=&quot;AjBT&quot;&gt;While you can create simple 2D games using Flutter, for complex 2D and 3D games, you’d probably prefer to base your app on a cross-platform game engine technology like Unity or Unreal. They have more domain-specific features like physics, sprite and asset management, game state management, multiplayer support and so on. &lt;br /&gt;&lt;br /&gt;– &lt;a href=&quot;https://www.raywenderlich.com/books/flutter-apprentice/v2.0/chapters/1-getting-started#toc-chapter-007-anchor-001&quot; target=&quot;_blank&quot;&gt;https://www.raywenderlich.com/books/flutter-apprentice/v2.0/chapters/1-getting-started#toc-chapter-007-anchor-001&lt;/a&gt;&lt;/blockquote&gt;
  &lt;figure id=&quot;LNL6&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/93/f6/93f6735e-6878-4e4a-9b58-6ba5b309c2d6.jpeg&quot; width=&quot;640&quot; /&gt;
    &lt;figcaption&gt;Персонаж Дрейк из игры Uncharted, ставшей мемом из-за «мыльной» графики в играх на консолях того времени и малого количества игр по мнению «ПеКа-бояр».&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;FtVh&quot;&gt;Тем не менее, для Flutter существует довольно функциональная библиотека для создания 2д-игр под названием &lt;a href=&quot;https://pub.dev/publishers/flame-engine.org/packages&quot; target=&quot;_blank&quot;&gt;Flame&lt;/a&gt;. Её возможностей будет достаточно для создания 2д-платформеров, файтингов, визуальных новелл и т.п.. Ознакомиться с возможностями движка можно &lt;a href=&quot;https://examples.flame-engine.org/#/Animations_Group%20animation&quot; target=&quot;_blank&quot;&gt;по этой ссылке&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;RSiF&quot;&gt;Лично я, в данный момент, занимаюсь разработкой каркаса для визуальных новелл (меню, интерфейс, декорации, персонажи и прочие ключевые элементы для игры этого жанра). По задумке, этот каркас можно будет брать за основу и быстро привносить фантазии и мечты авторов в жизнь. Пока всё в зачаточном состоянии. Может быть, позже расскажу о проекте подробнее. &lt;/p&gt;
  &lt;figure id=&quot;Bx4N&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9c/d2/9cd281c7-7235-4380-8123-2921c02f8934.png&quot; width=&quot;956&quot; /&gt;
    &lt;figcaption&gt;Фрагмент игрового процесса из тестового проекта по вселенной Phoenix Wright: Ace Attorney на движке Flame. Реализованы декорации, движения и анимации персонажа, а так же диалоговое окно.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;QSCS&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;QlOx&quot;&gt;Также для Flutter есть мощный инструмент под названием &lt;a href=&quot;http://rive.app&quot; target=&quot;_blank&quot;&gt;Rive&lt;/a&gt;. Он позволяет делать качественные анимации и «зашивать» в них логику. Это будут не просто «гифки», а нечто, обладающее «машиной состояний» (state machine). Создаваемые анимации будут опираться на ваш код и переменные в нём. Доступны типы переменных bool (истина/ложь), num (числа), а также &lt;a href=&quot;https://qna.habr.com/q/322262&quot; target=&quot;_blank&quot;&gt;триггеры&lt;/a&gt;. &lt;/p&gt;
  &lt;figure id=&quot;aLip&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d3/e0/d3e042f4-6cef-40f4-9032-ae2fbae2ef4f.png&quot; width=&quot;1314&quot; /&gt;
    &lt;figcaption&gt;Демонстрация проектов, созданных с помощью инструментов Rive. Можете самостоятельно ознакомиться с ними на &lt;a href=&quot;http://rive.app&quot; target=&quot;_blank&quot;&gt;официальном сайте&lt;/a&gt;, пролистав немного вниз.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wYDV&quot;&gt;В вашем арсенале доступны инструменты анимирования с помощью временной ленты и расстановки ключей (вы определяете, в каком состоянии будет находиться объект в заданное время). Его можно разбить на составные части и перемещать их в пространстве с помощью костей, отвечающих за взаимосвязанное движение всех элементов «скелета».&lt;/p&gt;
  &lt;figure id=&quot;yIih&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4b/c5/4bc5b9fb-25d0-4fea-8ef8-1f63802fc308.png&quot; width=&quot;1920&quot; /&gt;
    &lt;figcaption&gt;Интерфейс проекта&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;3yu6&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/TZSbVLSIU34?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
    &lt;figcaption&gt;Небольшое промо-видео с демонстрацией проектов, выполненных с использованием &lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0&quot; target=&quot;_blank&quot;&gt;растровой графики&lt;/a&gt;.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0gPM&quot;&gt;Несмотря на то, что Flutter не назовёшь специализированным решением для разработки игр, не всё так грустно, как могло бы быть.&lt;br /&gt;&lt;br /&gt;Связка Flutter+Flame вам подойдёт, если:&lt;br /&gt;– Вы уже умеете писать проекты на Dart/Flutter, но у вас нет опыта разработки в Unity или Unreal Engine;&lt;br /&gt;– Вы разрабатываете 2D, а не 3D проект (с 3D во флаттере пока грустновато и изменений в ближайшей перспективе не предвидится);&lt;br /&gt;– Вам хочется углубиться в различные детали и ньюансы разработки игр, так как придётся реализовывать много функционала, изначально доступного на заточенных под игры фреймворках, но не доступного в связке Flutter+Flame. &lt;/p&gt;

</content></entry></feed>