#mopsicus: заметки с тегом блог https://mopsicus.ru/tags/blog/ об играх, разработке на Unity и личном опыте Игорь Лопатин ru E2 (v3572; Aegea) Игорь Лопатин об играх, разработке на Unity и личном опыте 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> Telegram канал 235 https://mopsicus.ru/all/telegram-channel/ Wed, 20 Jan 2021 21:52:21 +0300 Игорь Лопатин https://mopsicus.ru/all/telegram-channel/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Telegram channel</h3><h4 style="display: none;" itemprop="description">Telegram channel</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/tg.jpg" width="640" height="427" alt="Telegram channel" /> </div> <p>Каждый день, полезный пост :) Подписывайтесь на <a href="https://t.me/mopsicus_ru">телеграм канал</a>!</p> LinkedIn 213 https://mopsicus.ru/all/linkedin-account/ Tue, 04 Aug 2020 11:48:37 +0300 Игорь Лопатин https://mopsicus.ru/all/linkedin-account/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Linkedin account</h3><h4 style="display: none;" itemprop="description">Linkedin account</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/linkedin.png" width="807" height="394" alt="Linkedin account" /> </div> <p>Самая HR-ная сеть очень активизировалась.</p> <p>Если посмотреть с начала лета, то <a href="https://www.linkedin.com/in/igor-lopatin-rnd/">мне пишут</a> примерно через день. Много предложений из Белоруси, ну и удалёнка понятное дело.</p> <p>Есть прям интересные предложения. Но в данный момент откликнуться ни на одно не смогу :( надо закончить большой проект, который тянется уже пару лет. Может быть потом.</p> <p>Вообще странно, сеть заблокирована на территории РФ, но ей все очень активно пользуются, Мой Круг пытается что-то сделать, но пока не особо получается.</p> <p>UPD: а ещё Телеграм! Если ищете работу, подпишитесь на 3-5 каналов, там куча предложений.</p> Обновил блог 208 https://mopsicus.ru/all/blog-updated/ Fri, 29 May 2020 15:42:00 +0300 Игорь Лопатин https://mopsicus.ru/all/blog-updated/ <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/eagea.png" width="380" height="380" alt="Движок Эгея" /> </div> <p>Установил последнюю версию движка, восстановил тему, вроде всё работает, как должно. Движок тут, <a href="https://blogengine.ru">Эгея</a> — самый движок для ведения блогов. Единственное, что ему наверно не хватает, так это создание статичных страниц, чтобы они не попадали в общую ленту. А так это пока лучшее, чем я пользовался.</p> <p>Визуально для читателя в общем-то ничего не поменялось. Кроме поддержки тёмной темы ? и возможности оставлять комменты через ВК :)</p> <p>А ещё обновил скрипт который генерит <a href="https://mopsicus.ru/all/turbo-pages-new-edition/">турбо-страницы</a>, теперь там корректно вставляются картинки в соответствии с разметкой. Ну это так, для себя.</p> <p>Если решили попробовать и возникли вопросы — небольшое <a href="tg://resolve?domain=aegea_community">сообщество в Телеграм</a>.</p> Medium 202 https://mopsicus.ru/all/medium/ Fri, 17 Apr 2020 21:29:52 +0300 Игорь Лопатин https://mopsicus.ru/all/medium/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Medium logo</h3><h4 style="display: none;" itemprop="description">Medium logo</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/medium.jpg" width="650" height="366" alt="Medium logo" /> </div> <p>Решил по-переводить некоторые свои посты в <a href="https://medium.com/@immops">Медиум</a>. Проверить канал, так сказать :) Ну и заодно попрактиковаться в английском. <a href="https://medium.com/@immops/custom-ci-cd-for-unity-fd4f33d8579c">Первый блин</a>.</p> <p>Мне частенько пишут иностранцы, но в основном это с гитхаба, как я понял. А блог то на великом и могучем, поэтому появились мысли, чтобы постить туда, на их площадку. Посмотрим, что из этого выйдет.</p> <p>Если у кого-то есть опыт, отпишите в комменты.</p> Лента турбо-страниц 189 https://mopsicus.ru/all/turbo-pages-new-edition/ Fri, 13 Dec 2019 14:37:52 +0300 Игорь Лопатин https://mopsicus.ru/all/turbo-pages-new-edition/ <div class="e2-text-picture"> <h3 style="display: none;" itemprop="name">Yandex Turbo pages</h3><h4 style="display: none;" itemprop="description">Yandex Turbo pages</h4><img itemprop="contentUrl" src="https://mopsicus.ru/pictures/turbo-pages.gif" width="1600" height="464" alt="Yandex Turbo pages" /> </div> <p>Мой предыдущий <a href="https://mopsicus.ru/all/yandex-turbo-pages-aegea/">опыт с турбо-страницами</a> провалился :)<br /> Я совсем забыл, что стандартная RSS лента Эгеи выдаёт только последние несколько постов. Поэтому, в поиске всегда появлялись свежие записи, а старые пропадали.</p> <p class="note">Есть ограничение в 1000 записей от одного источника. Мне это не грозит, но у кого большой блог, надо сделать несколько.</p> <p>В общем, сделал скрипт по аналогии, как когда-то для <a href="https://mopsicus.ru/all/sitemap-for-aegea/">карты сайта</a>, который генерирует все записи в соответсвии с <a href="https://yandex.ru/dev/turbo/doc/rss/markup-docpage/">разметкой от Яндекса</a>.</p> <p>Единственный момент интересный, валидатор Яндекса всё время ругался, что тексты не размечены по параграфам. Поэтому добавил такую манипуляцию, которая заменяет конец строки и оборачивает в тег параграфа.</p> <pre class="e2-text-code"><code class="">$body = nl2br($body, false); $body = '&lt;p&gt;' . preg_replace('#(&lt;br&gt;[\r\n\s]+){2}#', &quot;&lt;/p&gt;\n\n&lt;p&gt;&quot;, $body) . '&lt;/p&gt;';</code></pre><p>Теперь все записи в поиске без ошибок и оттуда даже пошёл трафик.</p> Заметки на полях в Эгее 110 https://mopsicus.ru/all/aegea-field-notes/ Fri, 30 Mar 2018 13:38:55 +0300 Игорь Лопатин https://mopsicus.ru/all/aegea-field-notes/ <p>Прочитал недавно пост про то, <a href="http://veqqa.ru/blog/all/kak-sdelat-zametki-na-polyah/">как сделать заметки на полях</a> (<i>маргиналии</i> о_О) у Вениамина Векка. И решил честно не воровать, а сделать сам. Собственно, там и красть-то нечего.</p> <p class="note">Получились вот такие, простые заметки на полях, в которые можно выносить свои умные мысли и комментарии.</p> <p>Сделать такие же — очень просто. Нужно в своей теме оформления, добавить всего один стиль, назовём его <b>.note</b>, примерно с такими свойствами:</p> <pre class="e2-text-code"><code class="">.e2-text .note { padding: 15px; float: right; clear: right; width: 25%; min-width: 150px; text-align: left; background-color: #f2f2f2; font-family: var(--smallFontFamily); font-size: 12px; position: relative; }</code></pre><p>Чтобы вынести часть текста в заметку справа, нужно в начале строки написать название класса, а далее через пробел свой текст:</p> <pre class="e2-text-code"><code class="">.note Получились вот такие, простые заметки на полях...</code></pre><p>В последних версия <a href="https://blogengine.ru">Эгеи</a> уже есть три готовых к использованию класса форматирования: <b>.foot</b>, <b>.lead</b> и <b>.loud</b>. Об этом не написано в справке, но можно прочитать в одном из постов Ильи Бирмана.</p> Турбо-страницы для Эгеи 82 https://mopsicus.ru/all/yandex-turbo-pages-aegea/ Thu, 23 Nov 2017 14:51:28 +0300 Игорь Лопатин https://mopsicus.ru/all/yandex-turbo-pages-aegea/ <p>Яндекс недавно запустил <a href="https://yandex.ru/adv/turbo">турбо-страницы</a>, но с Эгеей они не дружат, потому что RSS лента формируется без нужных ключей и соответственно не проходит валидацию.</p> <p>Чтобы это исправить, нужно отредактировать шаблон RSS, он находится по такому пути:</p> <blockquote> <p>your_site_root/system/default/rss/rss.tmpl.php</p> </blockquote> <p>переопредилить его для своей темы нельзя, поэтому правим там. После обновления движка, надо будет снова редактировать.</p> <pre class="e2-text-code"><code class="">&lt;?= '&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;' ?&gt; &lt;rss version=&quot;2.0&quot;&gt; &lt;channel&gt; &lt;title&gt;&lt;?= htmlspecialchars ($content['title'], ENT_NOQUOTES, HSC_ENC); ?&gt;&lt;/title&gt; &lt;link&gt;&lt;?= $content['home_page_url'] ?&gt;&lt;/link&gt; &lt;description&gt;&lt;/description&gt; &lt;generator&gt;&lt;?= $content['_e2_ua_string'] ?&gt;&lt;/generator&gt; &lt;language&gt;ru&lt;/language&gt; &lt;yandex:analytics id=&quot;&lt;YOUR_METRIKA_ID&gt;&quot; type=&quot;Yandex&quot;&gt;&lt;/yandex:analytics&gt; &lt;?php foreach ($content['items'] as $item) { ?&gt; &lt;item turbo=&quot;true&quot;&gt; &lt;title&gt;&lt;?= htmlspecialchars ($item['title'], ENT_NOQUOTES, HSC_ENC); ?&gt;&lt;/title&gt; &lt;guid isPermaLink=&quot;&lt;?= $item['_rss_guid_is_permalink'] ?&gt;&quot;&gt;&lt;?= $item['_rss_guid'] ?&gt;&lt;/guid&gt; &lt;link&gt;&lt;?= $item['url'] ?&gt;&lt;/link&gt; &lt;comments&gt;&lt;?= $item['url'] ?&gt;&lt;/comments&gt; &lt;description&gt;&lt;?= htmlspecialchars ($item['content_html'], ENT_NOQUOTES, HSC_ENC) ?&gt;&lt;/description&gt; &lt;pubDate&gt;&lt;?= $item['_date_published_rfc2822'] ?&gt;&lt;/pubDate&gt; &lt;turbo:content&gt;&lt;?= htmlspecialchars ($item['content_html'], ENT_NOQUOTES, HSC_ENC) ?&gt;&lt;/turbo:content&gt; &lt;author&gt;&lt;?= @$content['blog']['author'] ?&gt;&lt;/author&gt; &lt;/item&gt; &lt;?php } ?&gt; &lt;/channel&gt; &lt;/rss&gt;</code></pre><p>Я ещё добавил Яндекс.Метрику, но это необязательный параметр, также как язык и автор.<br /> После этого, заходим в Яндекс.Вебмастер и активируем турбо-страницы. Всё должно работать.</p> Sitemap для Эгеи https://mopsicus.ru/all/sitemap-for-aegea/ https://mopsicus.ru/all/sitemap-for-aegea/ Tue, 22 Nov 2016 15:16:39 +0300 Игорь Лопатин https://mopsicus.ru/all/sitemap-for-aegea/ <p><i>Обновлено для последней беты</i></p> <p>Знаю, что Илья Бирман, разработчик <a href="http://blogengine.ru">движка для блога Эгея</a>, «против» нативной генерации sitemap файла, поэтому пришлось сделать небольшой PHP скрипт для себя. Добавил задание в Cron, чтобы раз в неделю генерил новый файл. Квест пройден.</p> <pre class="e2-text-code"><code class="">&lt;? $domain = 'mopsicus.ru'; // домен $db_user = 'login'; // логин к БД $db_password = 'password'; // пароль к БД $db_database = 'blog'; // название БД $db_host = 'localhost'; // адрес БД $db = new mysqli($db_host, $db_user, $db_password, $db_database); $xml = '&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;'; $xml .= &quot;\n&quot;; $xml .= '&lt;urlset xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns=&quot;http://www.sitemaps.org/schemas/sitemap/0.9&quot; xsi:schemaLocation=&quot;http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd&quot;&gt;'; $result = $db-&gt;query(&quot;SELECT MAX(`LastModified`) AS `LastModified` FROM `notes` WHERE 1&quot;); while ($row = $result-&gt;fetch_assoc()) { $xml .= &quot; &lt;url&gt; &lt;loc&gt;http://$domain&lt;/loc&gt; &lt;priority&gt;1.0&lt;/priority&gt; &lt;lastmod&gt;&quot;.date('Y-m-d\TH:i:s\Z', $row['LastModified']).&quot;&lt;/lastmod&gt; &lt;/url&gt;&quot;; } $result = $db-&gt;query(&quot;SELECT OriginalAlias, LastModified FROM `notes` WHERE IsPublished = 1 AND isvisible = 1&quot;); while ($row = $result-&gt;fetch_assoc()) { $page = $row['OriginalAlias']; $xml .= &quot; &lt;url&gt; &lt;loc&gt;http://$domain/all/$page&lt;/loc&gt; &lt;priority&gt;0.8&lt;/priority&gt; &lt;lastmod&gt;&quot;.date('Y-m-d\TH:i:s\Z', $row['LastModified']).&quot;&lt;/lastmod&gt; &lt;/url&gt;&quot;; } $xml .= &quot; &lt;/urlset&gt;&quot;; $db-&gt;close(); $fp = fopen('sitemap.xml', 'w'); fwrite($fp, $xml); fclose($fp); echo &quot;ok&quot;; ?&gt;</code></pre> Обо мне https://mopsicus.ru/all/about/ https://mopsicus.ru/all/about/ Sun, 20 Mar 2016 17:32:00 +0300 Игорь Лопатин https://mopsicus.ru/all/about/ <p>Добрый день, меня зовут Игорь Лопатин.</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/me.png" width="240" height="320" alt="Лопатин Игорь" /> </div> <p>Это мой персональный блог. В основном он посвящен разработке на Unity и играм. Этим я занимаюсь последние несколько лет. Почти всё время уделяю мобильным платформам (iOS и Android), знаю как спроектировать, разработать, выпустить и продвинуть приложение в AppStore и Google Play. Также имеют опыт портирования мобильных Unity игр на WebGL.</p> <p>Большой опыт в разработке клиент-серверных приложений и игр, в том числе realtime, умею писать расширения редактора Unity и плагины для Android и iOS (iCloud, Google Sign-in, Sign-in with Apple, Firebase Push Service, Browser, Sharing, Mail, Images, Review, NativeInput, Huawei Purchases, Huawei Push Kit...). Работаю с Git (Flow, Submodules). Пользуюсь профайлером и memory профайлером. Знаю как работают многопользовательские онлайн игры (>50k online), настольные, сессионные, 2D. Могу интегрировать рекламные и другие SDK в Unity приложение: AppMetrica, AdMob, Unity Ads, Huawei Ads, FB, Twitter, Firebase, GA, OneSignal, etc.</p> <p>Один год отдал стартапам и все что с ними связано, проработав руководителем IT-инкубатора: customer development, lean startup, agile, unit-экономика, аналитика, инвестиции, презентации (как давно это было :) — все это знаю, умею и при необходимости — применяю.</p> <p>Со мной можно связаться по <a href="mailto:mail@mopsicus.ru">почте</a>, в <a href="tg://resolve?domain=mopsicus">Телеграм</a> или найти в <a href="https://www.facebook.com/lopatin.igorr">Фейсбуке</a>.</p>