#mopsicus: заметки с тегом игры https://mopsicus.ru/tags/games/ об играх, разработке на Unity и личном опыте Игорь Лопатин ru E2 (v3572; Aegea) Игорь Лопатин об играх, разработке на Unity и личном опыте FSM для C# 270 https://mopsicus.ru/all/fsm-for-csharp/ Thu, 05 Dec 2024 12:18:04 +0300 Игорь Лопатин https://mopsicus.ru/all/fsm-for-csharp/ <p>Доделал пакет для <a href="https://github.com/mopsicus/shardy">Shardy</a>: реализацию машины состояний (finite state machine). Все стейты и триггеры добавляются через билдер, цепочкой.</p> <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Finite state machine</h3><h4 style="display: none;" itemprop="description">Finite state machine</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/fsm-example.jpg" width="781" height="1280" alt="Finite state machine" /> </div> <p>Для перехода на стейт надо активировать триггер(ы):</p> <pre class="e2-text-code"><code class="">fsm.Trigger(Action.Down); fsm.Trigger(Action.Down);</code></pre><p>В таком случае получится такой результат:</p> <blockquote> <p>initial is standing<br /> on exit standing<br /> on enter sitting<br /> on exit sitting<br /> on enter lying</p> </blockquote> <p>Ещё подсмотрел, как сгенерить описание для UML диаграммы и <a href="https://www.planttext.com/">отрендерить её на сайте</a> или <a href="http://www.plantuml.com/plantuml/uml/">на этом</a>, по-моему у них один движок:</p> <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">FSM UML diagram</h3><h4 style="display: none;" itemprop="description">FSM UML diagram</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/fsm-uml.jpg" width="642" height="272" alt="FSM UML diagram" /> </div> <p class="note">Чтобы сделать диаграмму более «интуитивной», вместо слова state используется ключевое слово agent, этом случае можно рисовать разные линии.</p> <pre class="e2-text-code"><code class="">@startuml skin rose title TestFSM left to right direction agent Standing agent Sitting agent Lying agent Jumping note left of Jumping some help message here end note Start --&gt; Standing Standing --&gt; Sitting : Down Standing ~~&gt; Jumping : Space Sitting --&gt; Lying : Down Sitting --&gt; Standing : Up Lying --&gt; Sitting : Up Jumping --&gt; Standing : Down @enduml</code></pre><p>Ещё к каждому переходу можно добавлять условия, (на картинке выше их нет) об этом подробнее в <a href="https://github.com/mopsicus/shardy-fsm/blob/main/Documentation~/index.md">документации</a>.</p> <p>Если у перехода между состояниями есть условие(я), то линия будет рисоваться пунктирной, а если нет триггера — то с крестиком на конце. Актуально когда состояний и переходов много, можно сгенерить диаграмму и посмотреть нет ли косяков.</p> <p><a href="https://github.com/mopsicus/shardy-fsm">Github</a></p> Лото и ChatGPT 😅 269 https://mopsicus.ru/all/loto-cards-generator-chatgpt/ Tue, 03 Dec 2024 12:00:07 +0300 Игорь Лопатин https://mopsicus.ru/all/loto-cards-generator-chatgpt/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Russian Loto cards generator</h3><h4 style="display: none;" itemprop="description">Russian Loto cards generator</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/loto-generator.png" width="1664" height="1974" alt="Russian Loto cards generator" /> </div> <p>Как-то мы захотели поиграть в Русского Лото, классическое, оффлайновое, там где мешок, бочонки, карточки. Но людей много, а карточек мало, к тому же они от игры к игре повторяются. Хотелось полного рандома. Думал зайду в Google, скачаю генератор и распечатаю сколько мне нужно новых карточек. Но оказалось, что такой штуки просто нет 🤷‍♂️ Ну или я плохо искал.</p> <p>В общем, самому писать такое было неинтересно, да и некогда, поэтому решил проверить победили ли нас машины или нет, надо уже менять профессию или нет — попробовал написать всё с помощью ChatGPT. В итоге получилось всё как я хотел, но надо сказать, что это было не как в фильме Железный человек, когда Джарвис всё понимал с полуслова. В какой-то момент хотелось уже руками поправить код и забыть, но интересно было именно таким способом сделать от начала до конца.</p> <p>Получился <a href="https://gist.github.com/mopsicus/120f2e808cb22801a5c0ba2758775af1">генератор карточек для игры в Русское Лото</a>, в виде одной HTML странички, весь HTML и код на JavaScript сгенерил ChatGPT, я ни строчки не написал :) Можно указать количество страниц для генерации, и на каждой будет 4 карточки с рандомными числами в соответсвии с правилами игры. Файл сохраняется в PDF.</p> Shardy 267 https://mopsicus.ru/all/shardy/ Thu, 10 Oct 2024 22:33:59 +0300 Игорь Лопатин https://mopsicus.ru/all/shardy/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Shardy</h3><h4 style="display: none;" itemprop="description">Shardy</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/logo.png" width="512" height="512" alt="Shardy" /> </div> <p>Друзья, был у меня давно один проект, который претерпел уже наверное 4 или 5 итераций. Этой штукой я пользуюсь на своих пет-проектах и со временем появилось желание сделать из всего этого опенсорсную историю. Поэтому начну из далека :)</p> <p>Давным-давно был такой проект на гитхабе <a href="https://github.com/NetEase/pomelo">Pomelo</a>. По меркам интернета — реально древний, ему больше 10 лет. Он и сейчас там есть, но уже заархивирован и не поддерживается, но форки вроде пилятся. Кто первый раз слышит, это фреймворк для создания игровых серверов на JavaScript и Node.js. Проект довольно большой, куча модулей, клиенты под разные платформы, хорошая дока. Наткнулся я на него несколько лет назад и начал ковырять, запускать, что-то пробовать. В итоге, многие вещи в нём мне понравились, но показалось всё как-то замудрёно что ли. Наверно потому что китайцы писали, а может я в ноду не сильно мог 😅 В общем, оттуда я потягал какие-то скрипты, интересные решения, потом переписал, упростил и, получился у меня такой лайтовый сервер из нескольких файлов, на котором я тестил всякие свои проекты, изучал ноду, яваскрипт и тайпскрипт позднее.</p> <p>Потом решил поделиться своими поделками и выложить на гитхаб. Когда было свободное время что-то дописывал, переписывал и снова забывал, потому что были задачи поважнее. В какой-то момент, переписал всё на TypeScript (TS). К тому времени уже были наработки не только сервера, но и клиента на C# + Unity и всё это дело стало обретать какой-то полезный вид. И вот, в результате n-ой итерации, архитектура устоялась, протестировалась и получился Shardy.</p> <p><a href="https://github.com/mopsicus/shardy">Shardy</a> — это фреймворк для онлайн игр и приложений на Node.js. Он даёт базовую функциональность для построения микросервисных решений: мобильных, социальных, веб, многопользовательских игр, приложений реального времени, чатов, middleware сервисов и т. п. Есть клиент на TS встроенный в фреймворк, а также <a href="https://github.com/mopsicus/shardy-unity">пакет для Unity</a>, который поддерживает сборки под iOS, Android и WebGL. Здесь я говорю микросервисных потому что по задумке, за каждый модуль будет отвечать отдельный Shardy-сервис со своими командами, настройками, возможно БД.</p> <p>Основные фичи:</p> <ul> <li>микросервисная парадигма</li> <li>простой API: RPC, команды, подписки и т. п.</li> <li>транспорт данных через сокеты и вебсокеты</li> <li>легкость и быстрота: Node.js и TypeScript</li> <li>поддержка пользовательской сериализации</li> <li>поддержка пользовательской валидации рукопожатий (handshake)</li> <li>продвинутый логгер: теги, фильтры, области</li> <li>справочные материалы: документация, сниппеты, примеры</li> <li>почти нулевая конфигурация</li> </ul> <p>Есть демка с примерами работы API и простенькая онлайн игра «Крестики-Нолики»: как серверная часть, так и клиентская. Всё можно посмотреть, поковырять, запустить у себя и попробовать поиграть. Весь код старался комментировать, иногда даже излишне. Также есть <a href="https://github.com/mopsicus/shardy/blob/main/docs/index.md">документация</a> с описанием всех компонентов и методов. Это всё в процессе наполнения и улучшения.</p> <p>Основная цель Shardy — предоставить простое бесплатное решение для создания многопользовательских онлайн игр. Вот так вот громко 😅 На это будет обращено основное внимание при дальнейшей разработке новых функций, сервисов и туторов (было бы время...).</p> <p>Не претендую на академическую правильность архитектуры и кода, делал в первую очередь для своих нужд. Но как показал опыт: зачастую многие принципы ООП, чистого кода, использование паттернов в «нужных» местах, разбиваются об реальность конкретного проекта :)</p> <p>Приглашаю всех заинтересованных инди и не только, в подписчиках вроде такие есть, посмотреть, покрутить, примерить, потестить на своих каких-то задачах, играх, проектах, прототипах. Если будут вопросы, отвечу тут в комментах или на почту mail@mopsicus.ru. В личку тоже можно, но могу не заметить или долго отвечать.</p> <p>Вот такое интро. Всем хороших игр! Онлайн игр :)</p> <p><a href="https://github.com/mopsicus/shardy">Shardy</a><br /> <a href="https://github.com/mopsicus/shardy-unity">Shardy for Unity</a><br /> <a href="https://github.com/mopsicus/shardy/blob/main/docs/index.md">Docs</a></p> Морской Бой Онлайн 266 https://mopsicus.ru/all/sea-battle-online-game/ Mon, 09 Sep 2024 15:54:52 +0300 Игорь Лопатин https://mopsicus.ru/all/sea-battle-online-game/ <p>В телеграме запостил, а тут забыл совсем: встречайте лучший (по нашему мнению :) мобильный Морской Бой Онлайн aka Sea Battle aka Fleet Battle aka Warships на минималках. Это классическая игра из детства, в онлайн исполнении, с новыми возможностями, в пиратском стиле! 🏴‍ (да, у нас не тетрадный стиль!)</p> <iframe width="752" height="432" src="https://www.youtube.com/embed/bWU_KmSthXU" title="Морской Бой Онлайн (Sea Battle)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> <p>Помимо классического режима с давно известными правилами, есть расширенный, с оружием: мины, подводная лодка, радар и РЭБ (будут ещё). Комбинируйте разные расстановки и оружие для создания выигрышной стратегии.</p> <p>Ну и конечно: быстрые партии, приятная графика, друзья, чаты, достижения, лидерборда, приватные игры, разные скины кораблей и отсутствие рекламы (только добровольная).</p> <p>И да, игра на Юнити 🤪 Пока никаких Годотов и Анрилов.</p> <p><a href="https://play.google.com/store/apps/details?id=games.magicboard.sb">Google Play</a><br /> <a href="https://apps.apple.com/ru/app/id6466614302">AppStore</a><br /> <a href="https://appgallery.huawei.com/#/app/C109196051">AppGallery</a></p> <p>У нас нет ботов, специальных алгоритмов и прочей магии. Всё реально случайно, это касается других наших игр с рандомом, в морском бое-то рандома никакого нет. И я думал что хоть тут не будет подобных отзывов... Но нет :) Некоторые игроки не ожидают, что может так повезти и кто-то может выиграть без единого промаха. Единственное объяснение у таких игроков: всё куплено, везде боты и всё подкручено 😃</p> <p>Мы играли наверно во все мобильные морские бои, скомпилировали лучшее от всех, убрав всё худшее, добавили своё уникальное. В некоторые игры иногда невозможно играть из-за агрессивной рекламной монетизации, буквально после каждой партии реклама, а у некоторых и на возврат в основное меню тоже 🙄🤯 Когда играть-то?</p> <p>В общем, присоединяйтесь к нашему морскому бою, играйте с друзьями и без рекламы!</p> Unity Mobile Input v2.0 263 https://mopsicus.ru/all/unity-mobile-input-v2-0/ Wed, 27 Mar 2024 14:16:56 +0300 Игорь Лопатин https://mopsicus.ru/all/unity-mobile-input-v2-0/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">UMI aka Unity Mobile Input</h3><h4 style="display: none;" itemprop="description">UMI aka Unity Mobile Input</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/umi-v2.png" width="1468" height="612" alt="UMI aka Unity Mobile Input" /> </div> <p>Обновил свой плагин для создания нативных полей ввода на мобилках. Исправил старые баги, причесал немного код, добавил комменты и обновил демо.</p> <p>Функции:</p> <ul> <li>нативное поле ввода и клавиатура для iOS и Android</li> <li>настройка типа кнопки: Стандартная, Далее, Готово, Поиск, Отправить</li> <li>настройка обработки кнопки</li> <li>настройка кнопкок Готово и Очистить (iOS)</li> <li>изменение опций поля ввода во время выполнения</li> <li>скрытие дополнительного поля ввода (Android)</li> <li>отслеживание появления и скрытия клавиатуры (с высотой)</li> <li>отслеживание ориентации экрана</li> <li>поддержка пользовательских шрифтов</li> </ul> <p>В новой версии добавил несколько методов чтобы можно было менять некоторые параметры во время исполнения:</p> <ul> <li>SetTextColor — изменение цвета текста</li> <li>SetPlaceholderColor — изменение цвета текста подсказки</li> <li>SetBackgroundColor — изменение цвета фона</li> <li>SetContentType — изменение типа поля ввода</li> <li>SetReadonly — изменение состояния «только для чтения»</li> </ul> <p>Устанавливается как пакет через Unity Package Manager.</p> <p><a href="https://github.com/mopsicus/umi">Github</a></p> Игра «Камень, ножницы, бумага» 262 https://mopsicus.ru/all/kanobu-telegram-bot/ Wed, 14 Feb 2024 11:11:39 +0300 Игорь Лопатин https://mopsicus.ru/all/kanobu-telegram-bot/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Камень, ножницы, бумага</h3><h4 style="display: none;" itemprop="description">Камень, ножницы, бумага</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/kanobu.png" width="640" height="360" alt="Камень, ножницы, бумага" /> </div> <p>​​В качестве эксперимента запилил игру <a href="http://t.me/kanobu_play_bot" class="nu">«<u>Камень, ножницы, бумага</u>»</a> в телеграм боте. Можно играть и непосредственно в боте со случайным соперником (если такой будет :), и в чате с другом. Пишется стата, есть лидерборда. Минимальный набор, так сказать. Играть можно только онлайн, против бота поиграть не получится.</p> <p>Сама игра на Typescript и Telegraf.js. В общем, интересный опыт. Если будут какие-то вопросы по реализации, пишите в комменты, отвечу по возможности.</p> Герои Гильдгаарда 261 https://mopsicus.ru/all/heroes-of-gildgaard/ Sun, 24 Sep 2023 13:25:31 +0300 Игорь Лопатин https://mopsicus.ru/all/heroes-of-gildgaard/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Герои Гильдгаарда</h3><h4 style="display: none;" itemprop="description">Герои Гильдгаарда</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/banner.png" width="1500" height="500" alt="Герои Гильдгаарда" /> </div> <p>Запустили в софтлонч нашу первую игру с 3D, логическая онлайн стратегия на 2 или 4 игрока. Для любителей шашек, нард, шахмат, го и прочих настольных игр такого типа, будет интересно. Тут нет рандома, есть несколько стратегий, партии довольно короткие. Написал чуть <a href="https://pikabu.ru/story/geroi_gildgaarda_logicheskaya_onlayn_strategiya_10671660">подробнее на Пикабу</a>.</p> <p>Делали на Unity. Доступно в <a href="https://apps.apple.com/ru/app/id1642705298">AppStore</a>, <a href="https://play.google.com/store/apps/details?id=games.magicboard.hg">Google Play</a> и <a href="https://appgallery.huawei.com/#/app/C106987185">AppGallery</a>.</p> Что делать? 255 https://mopsicus.ru/all/dont-panic/ Fri, 11 Mar 2022 13:00:52 +0300 Игорь Лопатин https://mopsicus.ru/all/dont-panic/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Relocation meme</h3><h4 style="display: none;" itemprop="description">Relocation meme</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/relocation.jpg" width="497" height="327" alt="Relocation meme" /> </div> <p>Друзья! В свете последних событий, какие есть пути решения вопроса с покупками, рекламой да и вообще. Пока оставим варианты с релокацией и прочим (они тоже работают, но не у всех есть возможность) и подумаем, что можно сделать прямо сейчас:</p> <p>1️⃣ Выпустить свои игры в Huawei AppGallery<br /> 2️⃣ Сделать WebGL версии игр<br /> 3️⃣ Сделать «заглушку» и принимать оплату через сайт<br /> 4️⃣ Передать игры на другой аккаунт, который не связан с РФ<br /> 5️⃣ Не паниковать</p> <p>По поводу пункта №3. Да, такая возможность есть, но как говорил Чапаев: <a href="https://support.google.com/googleplay/android-developer/answer/9858738?visit_id=637824938727131217-4270682718&rd=1">есть нюанс</a>. Нельзя чтобы в приложении была ссылка на эту страницу оплаты или чтобы она как-то упоминалась вообще, в тексте, в вебвью, где угодно, может быть атата. Это если говорить про Google Play, в AppStore тоже по-моему такое запрещено.</p> <p>Кроме того, вам никто не запретит сделать WebGL версию игры и принимать оплату любым удобным способом. Ну а как связать мобильный аккаунт и веб-версию это дело техники. Таким образом можно пополнять баланс через веб и играть на телефоне, например.</p> <p>В данный момент как раз делаю транспорт на вебсокетах для существующих игр, чтобы можно было выпустить WebGL версии. В Huawei AppGallery уже сделали порты всех игр, по чуть-чуть онлайн растет. Хотя там особо сложного ничего не было, из хуавейного сдк используем только авторизацию, пуши и покупки.</p> 2021 252 https://mopsicus.ru/all/2021-summary/ Fri, 14 Jan 2022 14:18:25 +0300 Игорь Лопатин https://mopsicus.ru/all/2021-summary/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Bye 2021 year</h3><h4 style="display: none;" itemprop="description">Bye 2021 year</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/bye-2021.png" width="1182" height="860" alt="Bye 2021 year" /> </div> <p>За прошлый год мы выпустили 3 онлайн игры: две настолки и игру в слова. Причём так совпало, что все релизы были на вторую половину года. Раньше получалось примерно по одной в год. Показатели уже неплохие, онлайн растёт, ин-аппы покупаются, реклама просматривается, оценки хорошие.</p> <p>Рассылку пришлось закрыть :( Многие мне писали и спрашивали, буду ли продолжать — пока не могу сказать, это отнимает время, а его пока нет на такие вещи.</p> <p>Выпустили игру в Huawei AppGallery. Отдельный квест. Но надо признать, китайцы молодцы, они скопировали гугл-сервисы и улучшили их. Если есть нативное приложение под Android, то перенести его в AppGallery в общем-то не сложно. Если надо опубликовать приложение сделанное на Unity, то надо будет сделать несколько плагинов или использовать готовые.</p> <p>Стал меньше писать в блог, думаю в этом году это исправить. Есть темы которыми хотел бы поделиться. Ещё думаю сменить Эгею на что-то другое, более гибкое, может какой-нибудь статический генератор сайтов.</p> <p>Так и не смог регулярно постить в телеграм, это должен был быть ещё один канал связи, с более частыми постами чем в рассылке...</p> <p>На 2022 в планах зарелизить минимум столько же игр: настолку, три в ряд, головоломку. А может и больше! Новый движок на основе RPC и событий показал себя с лучшей стороны. По чуть-чуть обрастает новыми фичами. Делать на нём новые игры можно без боли :)</p> <p>Год был продуктивным. Желаю всем игр в 2022 году!</p> <p class="foot">Unity Hub обновился, теперь красивенький</p> Командный бой на Unity (пример) 229 https://mopsicus.ru/all/unity-team-fight-example-with-pathfinding/ Mon, 14 Dec 2020 13:54:46 +0300 Игорь Лопатин https://mopsicus.ru/all/unity-team-fight-example-with-pathfinding/ <p>Так и не придумал как будет правильней назвать этот пример :)</p> <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/ONT3SbW9eO4" frameborder="0" allowfullscreen></iframe><div class="e2-text-caption">Unity team fight example</div> </div></div> <p>Ограниченное поле из клеток и две команды. Юниты появляются рандомно на своей половине и начинается бой.<br /> Каждый юнит ищет противника, как сонар у подводной лодки. Найдя, строит к нему путь с помощью волнового алгоритма и начинает движение. Так как за ход многие юниты могут поменять свое расположение, путь перестраивается каждый раз.</p> <p>Когда противник в зоне атаки, юниты наносят друг друг рандомный дамаг. Победитель ищет новую цель и так продолжается пока одна из команд полностью не уничтожит другую.</p> <p><b>Из положительных моментов:</b> почти не выделяется память, только на корутины анимации (но это можно убрать) и все отрисовывается за 2-4 DC.</p> <p><a href="https://github.com/mopsicus/unity-team-fight">Исходники на Github</a></p> Apple уменьшит комиссию до 15% 226 https://mopsicus.ru/all/apple-reduce-tax-to-15/ Thu, 19 Nov 2020 10:17:13 +0300 Игорь Лопатин https://mopsicus.ru/all/apple-reduce-tax-to-15/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Apple small business programm</h3><h4 style="display: none;" itemprop="description">Apple small business programm</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/apple-small-business-programm.jpg" width="980" height="667" alt="Apple small business programm" /> </div> <p>Начиная со следующего года, разработчики заработавшие <b>меньше $1 млн.</b> смогут рассчитывать на снижение комиссии с 30% до 15%! И это вроде как не фиксированная система, т. е. если заработок снова превысит порог, то и комиссия увеличится, обратно это тоже работает.</p> <p>Считаю, что это успех, друзья! Связано ли это с антимонопольными разбирательствами или давлением Epic Games с коалицией — неважно, для небольших разработчиков это то что нужно, а их больше 90%.</p> <p class="foot">Возможно и Google вскоре подсуетится, кто знает...</p> <p><a href="https://www.apple.com/newsroom/2020/11/apple-announces-app-store-small-business-program/">Анонс от Apple</a></p> Топ-10 ошибок в оптимизации Unity 219 https://mopsicus.ru/all/top-10-optimization-fails-unity/ Fri, 09 Oct 2020 13:45:58 +0300 Игорь Лопатин https://mopsicus.ru/all/top-10-optimization-fails-unity/ <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/kzfawIay8G4" frameborder="0" allowfullscreen></iframe></div></div> <p>Хороший вебинар от юнитеков, рассмотрены частые ошибки совершаемые при оптимизиции, обзор инструментов по оптимизации, примеры с пояснениями. Рекомендую.</p> Пример Ping Pong на Unity 218 https://mopsicus.ru/all/ping-pong-unity-example/ Thu, 24 Sep 2020 22:07:49 +0300 Игорь Лопатин https://mopsicus.ru/all/ping-pong-unity-example/ <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/4iNnMPtOEgg" frameborder="0" allowfullscreen></iframe></div></div> <p>Запилил тут на досуге пример игры в настольный теннис на Unity. Есть даже примитивный сетевой режим, можно попробовать поиграть вдвоем.</p> <p><a href="https://github.com/mopsicus/unity-ping-pong-example">Исходники на Github</a></p> Все курсы от devtodev — бесплатно! 204 https://mopsicus.ru/all/devtodev-free-cources/ Tue, 28 Apr 2020 14:55:48 +0300 Игорь Лопатин https://mopsicus.ru/all/devtodev-free-cources/ <p>Devtodev открывает бесплатный доступ ко всем своим геймдев-курсам, на три месяца!</p> <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Бесплатные курсы devtodev</h3><h4 style="display: none;" itemprop="description">Бесплатные курсы devtodev</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/devtodev.png" width="1200" height="660" alt="Бесплатные курсы devtodev" /> </div> <p>Это круто! <a href="https://www.devtodev.com/education/articles/ru/344/besplatniy-dostup-ko-vsem-kursam-devtodev/">Регистрируйтесь и проходите</a>. Вот что доступно сейчас:</p> <ul> <li>Геймдизайн: как делать игры, которые нравятся и приносят деньги</li> <li>Математика в геймдизайне: теория и практика</li> <li>LiveOps в играх: как оперировать free-to-play проектами</li> <li>Маркетинг мобильных игр: базовый курс</li> <li>Психология в геймдеве: практическое применение</li> <li>Игровое тестирование: базовый курс</li> <li>Введение в геймдев: Первый системный онлайн‑курс об игровой индустрии</li> </ul> Рассылка по Unity 185 https://mopsicus.ru/all/monthly-newsletter-unity/ Thu, 28 Nov 2019 16:46:02 +0300 Игорь Лопатин https://mopsicus.ru/all/monthly-newsletter-unity/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Mopsicus Newsletter subscribe</h3><h4 style="display: none;" itemprop="description">Mopsicus Newsletter subscribe</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/email-newsletter.jpg" width="512" height="256" alt="Mopsicus Newsletter subscribe" /> </div> <p>Решил сделать ежемесячную email рассылку по Unity, играм и разработке.</p> <p>За месяц скапливается много черновиков, но не все они тянут на статью, а постить мелкие разрозненные заметки не хочется. Поэтому подумал в сторону рассылки.</p> <p>Почему рассылка, а не телеграмм канал, например? Рассылка удобнее в плане неспешного чтения, тем более если она будет выходить раз месяц. В мессенджерах же всегда экшн, куча каналов, групп и уведомлений, полезная информация часто проскакивает мимо. Кроме того, рассылку удобнее структурировать, оформлять, ссылки, картинки, видео, да и почта, как-то больше предназначена для этого всего, как по мне.</p> <p>Всего <b>один</b> раз в месяц вы будете получать ссылки на:</p> <ul> <li>интересные статьи</li> <li>обзоры</li> <li>видео</li> <li>аналитику</li> <li>исходники</li> <li>скрипты</li> <li>игры</li> <li>инструменты разработки</li> <li>до сюда дочитали?</li> <li>плагины и ассеты</li> <li>мои комментарии ко всему этому</li> </ul> <p>Присоединяйтесь!<br /> <html></p> <!-- Begin Mailchimp Signup Form --><link href="//cdn-images.mailchimp.com/embedcode/classic-10_7.css" rel="stylesheet" type="text/css"> <style type="text/css"> #mc_embed_signup{background:#fff; clear:left; font:14px "Trebuchet MS",Helvetica,Arial,sans-serif; width:400px;} /* Add your own Mailchimp form style overrides in your site stylesheet or in this style block. We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */ </style> <div id="mc_embed_signup"> <form action="https://mopsicus.us4.list-manage.com/subscribe/post?u=35c21d2df2fdd9296f14622f8&amp;id=9d7fbb2be4" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate style="padding: 0"> <div id="mc_embed_signup_scroll"> <div class="mc-field-group"> <label for="mce-EMAIL"></label> <input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="ваш email"> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups--><div style="position: absolute; left: -5000px;" aria-hidden="true"><p><input type="text" name="b_35c21d2df2fdd9296f14622f8_9d7fbb2be4" tabindex="-1" value=""></p> </div><div class="clear"><p><input type="submit" value="Подписаться" name="subscribe" id="mc-embedded-subscribe" class="button"></p> </div></div><p></form></p> </div><!--End mc_embed_signup--> </html> <p>? Ссылки на все выпуски можно найти по тегу: <a href="https://mopsicus.ru/tags/newsletter/">рассылка</a>.</p> Zombotron 163 https://mopsicus.ru/all/zombotron-game/ Thu, 25 Apr 2019 10:52:18 +0300 Игорь Лопатин https://mopsicus.ru/all/zombotron-game/ <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/Fvwg9mcaQe8" frameborder="0" allowfullscreen></iframe></div></div> <p>Недавно в Steam вышел новый <a href="http://armor.ag/ZombotronSteam">Зомботрон</a>. Если кто не играл в предыдущие части на флеше, то многое потерял :) Это 2D экшн про зомби, монстров и пришельцев с кучей оружия и взрывов. <a href="http://www.zombotron.com">Поиграть в предыдущие части</a> можно на официальном сайте.</p> <p>В этот раз разработчик делал игру 3 года, один, на Unity. Издателем выступил <a href="https://armorgames.com">Armor Games</a>. Да, этот тот старый сайт с кучей флеш игр :)</p> <p>У автора есть <a href="http://www.ant-karlov.ru">отличный сайт</a> на котором он пишет (редко) про разработку, нового Зомботрона и другие свои игры. Есть что почитать. Ещё давно прочитал его перевод серии статей <a href="http://www.ant-karlov.ru/kak-sozdat-mnogopolzovatelskuu-igru-anons.html">про многопользовательские игры</a>. Ещё есть <a href="https://vk.com/antkarlovgames">группа в ВК</a>. Там же можно найти интересные заметки, например, про <a href="https://vk.com/@antkarlovgames-sistema-dropa-sluchainyh-veschei">систему выпадения случайных вещей</a>.</p> Партизаны 162 https://mopsicus.ru/all/partisans-game/ Wed, 17 Apr 2019 11:12:45 +0300 Игорь Лопатин https://mopsicus.ru/all/partisans-game/ <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/IEHsHJ9a4p8" frameborder="0" allowfullscreen></iframe></div></div> <p>Почти год назад вышла <a href="https://dtf.ru/games/20918-my-rabotaem-s-mifom-vpechatleniya-ot-takticheskogo-stels-ekshena-partizany-i-beseda-s-razrabotchikami">статья на DTF</a> про разработку игры «Партизаны». Это такой ремейк старых-добрых Commandos. И вот вчера разработчики выложили первое видео геймплея.</p> <p>Игра делается на Unreal Engine, хотя сначала начинали на Unity. На мой взгляд очень достойно. Графика, музыка, анимации, всё на уровне. Есть косяки всякие мелкие, но это ж не релиз, так что буду следить. В ВКонтакте есть <a href="https://vk.com/partisansgame">официальная группа</a> и <a href="http://partisans-game.com">сайт</a> ещё.</p> 128 книг по разработке игр и Unity 157 https://mopsicus.ru/all/128-gamedev-books/ Thu, 21 Mar 2019 12:09:19 +0300 Игорь Лопатин https://mopsicus.ru/all/128-gamedev-books/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name"></h3><h4 style="display: none;" itemprop="description"></h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/gamedev-books.png" width="650" height="728" alt="" /> </div> <p>На Пикабу добрый человек раздаёт свою коллекцию книг по разработке игр, в PDF.</p> <ul> <li>128 книг. 2,08 Гб данных.</li> <li>95% на английском языке, 5% на русском.</li> <li>90% о разработке игр на Unity.</li> <li>10% о разработке в общем, геймдизайн, шейдеры, шаблоны проектирования, создание архитектуры проектов и т. д.</li> <li>Лежит все на расшаренной папке Яндекс.Диска или Google.Drive</li> </ul> <p><a href="https://pikabu.ru/story/120_knig_po_razrabotke_igr_unity_i_geymdev_v_obshchem_razdayu_i_proshu_soveta_6586392">Смотреть тут</a></p> Новости Unity с GDC 2019 156 https://mopsicus.ru/all/news-unity-gdc-2019/ Wed, 20 Mar 2019 12:02:50 +0300 Игорь Лопатин https://mopsicus.ru/all/news-unity-gdc-2019/ <p>Unity делает новый физический движок. Даже два :) Первый — Unity Physics, который будет дефолтным, с открытым исходным кодом, на C#. Второй — Havok Physics от Microsoft, платный. На хабре можно <a href="https://habr.com/ru/post/444362/">почитать статейку</a>.</p> <p>Call of Duty: Mobile сделала на Unity. Уже идёт <a href="https://play.google.com/store/apps/details?id=com.activision.callofduty.shooter">пре-регистрация для андроида</a>.</p> <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/a42gXZQ-eII" frameborder="0" allowfullscreen></iframe></div></div> <p>В Unity будет AR Foundation — объединенный API для упрощения разработки AR приложений и игр.</p> <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name"></h3><h4 style="display: none;" itemprop="description"></h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/unity-ar.png" width="750" height="431" alt="" /> </div> <p class="note">Неплохие анонсы надо заметить, будем надеяться, что нововведения не приведут к новым лагам в неожиданных местах :)</p> <p>Adaptive Performance в Unity. Новая фича которая будет работать начиная с Samsung S10. Как я понял, «картинка» будет подстраиваться в зависимости от мощности устройства, чтобы не было лагов.</p> <p>Unity будет поддерживать гугловскую игровую платформу — Stadia. Играть можно будет на любых устройствах, хоть с телевизора и из ютуба. Даже геймпад свой выпустили. <a href="https://habr.com/ru/post/444466/">Что это такое и как оно работает</a>, на хабре. Если коротко — не всё так радужно.</p> <p>Unity купила Graphine. Это разработчик ПО визуализации текстур в реальном времени. Позволяет использовать UHD текстуры, сжимать их и оптимизировать время загрузки.</p> <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/YlcX-O7fRic" frameborder="0" allowfullscreen></iframe></div></div> <p><a href="https://unity.com/ru/dots">DOTS</a>. Unity подтягивает свои инструменты под одну технологию, data-ориентированную. Там и ECS, и C# Job System, и Burst Compiler. Havok тоже будет работать так. Ещё одна <a href="https://habr.com/ru/company/piter/blog/444526/">статья (перевод)</a> на хабре.</p> <p>Ну и чтобы два раза не вставать — <a href="https://oc.unity3d.com/index.php/s/SrbZKar6p2EQAlz">исходники демки MegaCity</a>. Развлекайтесь.</p> <div class="lazy" data-expose="true" data-effect="relax"><div class="e2-text-video"> <iframe src="https://www.youtube.com/embed/KgcU2HBOXAw" frameborder="0" allowfullscreen></iframe></div></div> Полезные ресурсы для разработчиков игр 142 https://mopsicus.ru/all/links-list-for-gamedev/ Fri, 21 Dec 2018 11:09:21 +0300 Игорь Лопатин https://mopsicus.ru/all/links-list-for-gamedev/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name"></h3><h4 style="display: none;" itemprop="description"></h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/gamedev.png" width="1600" height="900" alt="" /> </div> <p>Случайно наткнулся на ещё одну <a href="http://hsbi.hse.ru/programs/vocational_retraining/menedzhment-igrovykh-internet-proektov/useful-resources/">подборку ссылок</a> от Высшей школы бизнес-информатики НИУ ВШЭ. Не считал, но больше сотки, точно. Достойная коллекция :) Всё разбито по категориям, есть ссылки на статьи, группы в соцсетях, подкасты, названия книг, фильмов и конференций. В закладки.</p>