Забавный факт про JSON Utility
Вот никогда им не пользовался, а тут чёт решил (ну не хорошо в статью пихать ньютонсофт) Сижу, кручу сериализацию, чтобы она была симпатичной. И вдруг сохранения выдают какой-то супер великий трюк. У меня полный инвентарь предметов. Я начинаю искать в чём проблема. И казалось бы, что могло пойти не так? А вот знать надо, что JsonUtility.ToJson(user) скажем не просто сериализует объект, но ещё и по сути вызывает new в каждом сериализуемом поле. И на выходе мы получаем полностью проинициализированный объект. Причём изменяется именно оригинальный объект. То есть мы пытаемся сохранить строку, а Unity такое "мы тебе все нулы заменили объектами, тебе же это было надо"
Почему? Зачем? Загадка юнити сериализации. Но как я ей не пользовался, так и не буду пользоваться. Где там мой ньютонсофт, чтобы добить инвентарь)
Вот никогда им не пользовался, а тут чёт решил (ну не хорошо в статью пихать ньютонсофт) Сижу, кручу сериализацию, чтобы она была симпатичной. И вдруг сохранения выдают какой-то супер великий трюк. У меня полный инвентарь предметов. Я начинаю искать в чём проблема. И казалось бы, что могло пойти не так? А вот знать надо, что JsonUtility.ToJson(user) скажем не просто сериализует объект, но ещё и по сути вызывает new в каждом сериализуемом поле. И на выходе мы получаем полностью проинициализированный объект. Причём изменяется именно оригинальный объект. То есть мы пытаемся сохранить строку, а Unity такое "мы тебе все нулы заменили объектами, тебе же это было надо"
Почему? Зачем? Загадка юнити сериализации. Но как я ей не пользовался, так и не буду пользоваться. Где там мой ньютонсофт, чтобы добить инвентарь)
😁12
Чтож, как и просили, я написал
https://habr.com/ru/post/700272/
В этом посте 50 огоньков показали, что тема может быть интересной, так что вот и новая статья. Я на примере разработки инвентаря, который я писал где-то день, попытался показать в чём проблема писать статьи про хороший код. Так как даже к тому, что я писал почти весь день — у меня много вопросов и комментариев, при том что это не первый написанный мной инвентарь. В общем надеюсь кому-то данная статья будет полезна, может из неё вы узнаете что-то новое. Я вот по хожу написания узнал пару приколов Unity, о которых я либо не знал, либо забыл :)
P.S. В каждом классе я что-то переписывал по 2-3 раза, чтобы результат меня устроил :)
https://habr.com/ru/post/700272/
В этом посте 50 огоньков показали, что тема может быть интересной, так что вот и новая статья. Я на примере разработки инвентаря, который я писал где-то день, попытался показать в чём проблема писать статьи про хороший код. Так как даже к тому, что я писал почти весь день — у меня много вопросов и комментариев, при том что это не первый написанный мной инвентарь. В общем надеюсь кому-то данная статья будет полезна, может из неё вы узнаете что-то новое. Я вот по хожу написания узнал пару приколов Unity, о которых я либо не знал, либо забыл :)
P.S. В каждом классе я что-то переписывал по 2-3 раза, чтобы результат меня устроил :)
Хабр
Почему тяжело писать про хороший код?
Всем привет. Меня зовут Гриша Дядиченко, и я технический продюсер. Почему так сложно писать про хороший код? Меня периодически спрашивают, почему я так мало пишу про архитектуру. В то же время я даже...
👍12🔥7👎1
Григорий Дядиченко pinned «Чтож, как и просили, я написал https://habr.com/ru/post/700272/ В этом посте 50 огоньков показали, что тема может быть интересной, так что вот и новая статья. Я на примере разработки инвентаря, который я писал где-то день, попытался показать в чём проблема…»
Григорий Дядиченко
Нужен кофе на контент :)
Спасибо всем, кто скинул вчера на кофеёк :) Всё долго, капсул на неделю мне точно хватит XD
👍2
Иногда забавно, как работает уверенность в себе
Я уже прожил синдром самозванца. Он у меня был когда в далёком 2017 я работал в KamaGames с особым обострением, когда я неделю не мог локализовать баг, так как это был баг Unity. Хотя каму я всегда буду вспоминать с теплом и любовью. И конечно меня каждый раз немного задевает негативная реакция на всякие мои фразы, которые звучат самонадеянно :) Типа этой статьи. Или подписи на хабре Master Of Unity3d, к которой прицепился человек в комментах к сегодняшней статье.
Как победить синдром самозванца? Что ты начинаешь принимать такие фразы или ситуации не очень близко к сердцу?) Кроме банальный фраз в стиле «не критикуют тех, кто ничего не делает». Мне помогло закрыть больше 70 проектов за 3 года с совокупным бюджетом больше 100 миллионов рублей. Я не беру те случаи, где я работал в компаниях с проектами в разы больше нашего среднего проекта :)
Помимо запуска всяких экспериментов, своих продуктов и проектов, которые вполне работают и пока большая часть как бы там ни было коммерчески эффективная :) Я не считаю себя лучшим разработчиком. Я даже знаю ребят в разы сильнее меня в шейдерах, в архитектуре, в ии, да и в бизнес логике (и это всё разные люди). Я считаю только, что лучший в скоростной разработке неведомой херни. И просто делюсь с вами своим опытом работы в 10 лет. Где я был и со стороны инди, и со стороны корпората, и со стороны средней компании, со стороны стартапера, и со стороны аутсорс студии :) Представителем разработки, бизнеса, маркетолога и чем я только не занимался за эти годы) По обложкам в статьях даже видно, как “круто” я дизайню в фотошопе XD Так что я вероятно не лучший, но повидал некоторое дерьмо :)
Я уже прожил синдром самозванца. Он у меня был когда в далёком 2017 я работал в KamaGames с особым обострением, когда я неделю не мог локализовать баг, так как это был баг Unity. Хотя каму я всегда буду вспоминать с теплом и любовью. И конечно меня каждый раз немного задевает негативная реакция на всякие мои фразы, которые звучат самонадеянно :) Типа этой статьи. Или подписи на хабре Master Of Unity3d, к которой прицепился человек в комментах к сегодняшней статье.
Как победить синдром самозванца? Что ты начинаешь принимать такие фразы или ситуации не очень близко к сердцу?) Кроме банальный фраз в стиле «не критикуют тех, кто ничего не делает». Мне помогло закрыть больше 70 проектов за 3 года с совокупным бюджетом больше 100 миллионов рублей. Я не беру те случаи, где я работал в компаниях с проектами в разы больше нашего среднего проекта :)
Помимо запуска всяких экспериментов, своих продуктов и проектов, которые вполне работают и пока большая часть как бы там ни было коммерчески эффективная :) Я не считаю себя лучшим разработчиком. Я даже знаю ребят в разы сильнее меня в шейдерах, в архитектуре, в ии, да и в бизнес логике (и это всё разные люди). Я считаю только, что лучший в скоростной разработке неведомой херни. И просто делюсь с вами своим опытом работы в 10 лет. Где я был и со стороны инди, и со стороны корпората, и со стороны средней компании, со стороны стартапера, и со стороны аутсорс студии :) Представителем разработки, бизнеса, маркетолога и чем я только не занимался за эти годы) По обложкам в статьях даже видно, как “круто” я дизайню в фотошопе XD Так что я вероятно не лучший, но повидал некоторое дерьмо :)
Хабр
Путь в IT. Или как я стал техдиром в 28 лет
Всем привет, меня зовут Дядиченко Григорий и чем я только ни занимался. Сегодня хочется рассказать о своём пути в айти. Но цель статьи даже не в том, чтобы "рассказать историю". Я скорее хочу...
👍13🔥2😁1
Форум по всем темам компьютерной графики в TG
Мой знакомый запустил экспериментально форум по разным темам из области компьютерной графики ТГ. Так что кто интересуется темой — подписывайтесь и выбирайте топик, который больше интересен вам :)
Мой знакомый запустил экспериментально форум по разным темам из области компьютерной графики ТГ. Так что кто интересуется темой — подписывайтесь и выбирайте топик, который больше интересен вам :)
Telegram
CGForum
Эксперимент. Все CG темы в одном месте- CGForum.
Прикольная статья с примером async/await в Unity
https://habr.com/ru/post/699212/
Я как-то пропустил эту статью, но хорошее описание кастомного Awaiter'a. Мне чуть структура текста не нравится, но это не важно и вкусовщина. Главное суть. Писать асинхронный код в разы удобнее, чем колбеки. Но для того же WebGL чистый Task лучше не использовать, так как юнити там не поддерживает многопоточность. И когда async/await использует thread pool под капотом, то оно не работает. Да же пользуюясь великолепным UniTask надо внимательно прочесть вот эту часть в его Read me
Most UniTask methods run on a single thread (PlayerLoop), with only UniTask.Run(Task.Run equivalent) and UniTask.SwitchToThreadPool running on a thread pool. If you use a thread pool, it won't work with WebGL and so on.
UniTask.Run is now deprecated. You can use UniTask.RunOnThreadPool instead. And also consider whether you can use UniTask.Create or UniTask.Void.
https://habr.com/ru/post/699212/
Я как-то пропустил эту статью, но хорошее описание кастомного Awaiter'a. Мне чуть структура текста не нравится, но это не важно и вкусовщина. Главное суть. Писать асинхронный код в разы удобнее, чем колбеки. Но для того же WebGL чистый Task лучше не использовать, так как юнити там не поддерживает многопоточность. И когда async/await использует thread pool под капотом, то оно не работает. Да же пользуюясь великолепным UniTask надо внимательно прочесть вот эту часть в его Read me
Most UniTask methods run on a single thread (PlayerLoop), with only UniTask.Run(Task.Run equivalent) and UniTask.SwitchToThreadPool running on a thread pool. If you use a thread pool, it won't work with WebGL and so on.
UniTask.Run is now deprecated. You can use UniTask.RunOnThreadPool instead. And also consider whether you can use UniTask.Create or UniTask.Void.
Хабр
Практическое применение async/await в Unity
Использование async/await позволяет сделать код легче для понимания, убирает необходимость в колбеках (функций обратного вызова) и протаскивании через них необходимых данных (или их сохранения в полях...
👍6🔥3
Про «хаки» редактора в Unity
https://blog.unity.com/technology/advanced-editor-noscripting-hacks-to-save-you-time-part-2
В блоге Unity недавно выходила заметка про хаки. Советую не бросать после первого пункта. Первый пункт (а точнее хак про реквайр компонент) звучит как нечто базовое, но дальше есть пару действительно интересных мыслей. С темплейтами — прикольно. С csv понятно и интересная идея. Конечно сейчас чаще данные игровые хранятся на сервере, чем на клиенте. Зависит от масштаба игры конечно. Про такой концепт я знал, но в таком ключе не думал. При поставке ассет бандлами контента и данных может быть даже полезно :)
https://blog.unity.com/technology/advanced-editor-noscripting-hacks-to-save-you-time-part-2
В блоге Unity недавно выходила заметка про хаки. Советую не бросать после первого пункта. Первый пункт (а точнее хак про реквайр компонент) звучит как нечто базовое, но дальше есть пару действительно интересных мыслей. С темплейтами — прикольно. С csv понятно и интересная идея. Конечно сейчас чаще данные игровые хранятся на сервере, чем на клиенте. Зависит от масштаба игры конечно. Про такой концепт я знал, но в таком ключе не думал. При поставке ассет бандлами контента и данных может быть даже полезно :)
Unity
Advanced Editor noscripting hacks to save you time, part 2
Unity Developer Jordi Caballol continues to share advanced Editor noscripting hacks designed to save you time on your next project with a follow-up to his October 2022 Tech from the Trenches column.
❤2
Нюансы Drag EventSystem
Есть ещё один забавный нюанс Unity EventSystem про который я не написал в статье с инвентарём в части с Drag&Drop. Вдруг это кому-то когда-то сэкономит время. При реализации драга, если использовать только IBeginDragHandler и IEndDragHandler без IDragHandler, то они не будут работать. Забавное решение, что другие интерфейсы зависят от подключения интерфейса, весьма «очевидное» поведение :)
В общем так как на это я потратил минут 20, как всегда, стоит про это написать :) Хотя про это написано в документации :)
Есть ещё один забавный нюанс Unity EventSystem про который я не написал в статье с инвентарём в части с Drag&Drop. Вдруг это кому-то когда-то сэкономит время. При реализации драга, если использовать только IBeginDragHandler и IEndDragHandler без IDragHandler, то они не будут работать. Забавное решение, что другие интерфейсы зависят от подключения интерфейса, весьма «очевидное» поведение :)
В общем так как на это я потратил минут 20, как всегда, стоит про это написать :) Хотя про это написано в документации :)
👍18
This media is not supported in your browser
VIEW IN TELEGRAM
Забавный эффект с трекингом головы
https://80.lv/articles/a-neat-anamorphic-illusion-set-up-in-ar-with-unity/
Когда-то я тоже делал аналогичный прототип, надо бы откопать. Только мне не совсем понятно для чего тут квест. Так как концепция сама элементарная с единственной проблемой — эффект действует только на одного пользователя. Берёшь любой трекинг головы (тот же OpenCV с 3д трекингом или медиа пайп) И ставишь камеру в точку между глаз пользователя. Получается такой забавный эффект :) Но визуально конечно всё равно смотрится эффектно :)
https://80.lv/articles/a-neat-anamorphic-illusion-set-up-in-ar-with-unity/
Когда-то я тоже делал аналогичный прототип, надо бы откопать. Только мне не совсем понятно для чего тут квест. Так как концепция сама элементарная с единственной проблемой — эффект действует только на одного пользователя. Берёшь любой трекинг головы (тот же OpenCV с 3д трекингом или медиа пайп) И ставишь камеру в точку между глаз пользователя. Получается такой забавный эффект :) Но визуально конечно всё равно смотрится эффектно :)
👍9🔥2👌2
Кастомизация профайлера
https://youtu.be/ixEk6EWrL6Y
Потихоньку выходят новые доклады с Unite 2022 и появляется что-то интересное, что стоит посмотреть. Неплохой доклад про Profiler.Core и кастомизацию профайлера Unity. Вообще когда занимаешься расследованием проблем своего кода очень полезно писать свои бенчмарки, и удобно когда можно визуализировать то, что тебе нужно. Конечно всегда есть вывод в файл, Python и matplotlib чтобы визуализировать всё, что угодно. Но чем больше можно визуализировать внутри движка, тем удобнее. Не всем же хочется разбираться в нескольких языках, хотя я считаю Python очень полезным инструментом для любого разработчика, который хорошо бы знать каждому. Часто удобнее делать какие-то вещи в нём, чем лезть в шарпы ради какой-то мелкой задачи :)
https://youtu.be/ixEk6EWrL6Y
Потихоньку выходят новые доклады с Unite 2022 и появляется что-то интересное, что стоит посмотреть. Неплохой доклад про Profiler.Core и кастомизацию профайлера Unity. Вообще когда занимаешься расследованием проблем своего кода очень полезно писать свои бенчмарки, и удобно когда можно визуализировать то, что тебе нужно. Конечно всегда есть вывод в файл, Python и matplotlib чтобы визуализировать всё, что угодно. Но чем больше можно визуализировать внутри движка, тем удобнее. Не всем же хочется разбираться в нескольких языках, хотя я считаю Python очень полезным инструментом для любого разработчика, который хорошо бы знать каждому. Часто удобнее делать какие-то вещи в нём, чем лезть в шарпы ради какой-то мелкой задачи :)
YouTube
How to customize performance metrics in the Unity Profiler | Unite 2022
Learn how to supercharge performance analysis in the Unity Profiler with your game-specific content. This session explains the workflow of adding new performance metrics and surfacing them in the Unity Profiler, and also spotlights the extensibility API in…
👍4🔥1
Nvidia представила новую text-to-3D неиронку — Magic3D
https://deepimagination.cc/Magic3D/
Генеративная графика — это достаточно прикольная шутка. Не думаю, что неиронки будут сами по себе работать, скорее ускорять работу для спецов. Так как художники уже делают прикольные концепты с той же midjorney для 2д. Такие проекты уже были, тот же dream fields. Но посмотрим как будет работать решение от Nvidia, если оно выйдет публично :)
https://deepimagination.cc/Magic3D/
Генеративная графика — это достаточно прикольная шутка. Не думаю, что неиронки будут сами по себе работать, скорее ускорять работу для спецов. Так как художники уже делают прикольные концепты с той же midjorney для 2д. Такие проекты уже были, тот же dream fields. Но посмотрим как будет работать решение от Nvidia, если оно выйдет публично :)
Telegram
Григорий Дядиченко
Нейросети и контент
Я уверен, что нейросети не заменят художников, но станут шикарным инструментом для художников. Концепты, баннеры и т.п. набрасывать и докручивать будет просто кайф :) И вот какую красоту тут сделал один художник :) https://dtf.ru/gamedev/1439137…
Я уверен, что нейросети не заменят художников, но станут шикарным инструментом для художников. Концепты, баннеры и т.п. набрасывать и докручивать будет просто кайф :) И вот какую красоту тут сделал один художник :) https://dtf.ru/gamedev/1439137…
👍1
Что нового в префабах в 2022.2
https://blog.unity.com/technology/prefabs-whats-new-2022-2
Ну самое главное есть в картинке, а остальное тоже стоит почитать :)
https://blog.unity.com/technology/prefabs-whats-new-2022-2
Ну самое главное есть в картинке, а остальное тоже стоит почитать :)
👍5🔥4😁2
Мобильные/браузерные игры - это настоящие игры?
Мне всегда была интересна демонизация браузерных и мобильных игр. Как понятия, а не из-за их качества. Я считаю Monument Valley отличной медитативной игрой. Обе части. Но и понимаю предвзятость к мобилкам/браузеркам. Просто часто встречается мнение, что делать мобилки — плохо. Смешно это говорить с точки зрения человека ушедшего из геймдева, так как там “мало денег” XD Не всегда приятно делать ещё одну деньговыжималку по всем принципам казино. Появилось очень много игр, так сказать, лишь бы заработать без какой-то интересной составляющей :)
Я вот недавно зашёл в каталог Яндекс игр, и ну это же смех :) Есть прикольные штуки, но большая часть похожа на то, что мы делали на парах в универе на флеше. А с тем на что сейчас способны браузеры, это даже как-то печально. Я и сам долгое время не верил, что на юнити можно делать норм браузерки. Сейчас же разобрался, и даже с умершим Project Tiny там всё окей :)
Просто я не понимаю некоторого «неуважения» к мобильным и браузерным разрабам, так как именно разработчики в мобилках нужны сильнее по ряду вопросов, а в браузерках ещё сильнее. Так как пока там десктоп инди платформер вообще может не думать «что такое дроуколл» и в браузере, и на мобилке нужно выжимать по капле последние соки из устройства. Ужимать вес в минимум и т.п. Разработка под мобилки не менее интересная, чем разработка под десктоп :) В ААА конечно существуют большие и интересные задачи, но в среднем по больнице — жаль что есть такая некая предвзятость. Особенно у людей не из индустрии :)
Мне всегда была интересна демонизация браузерных и мобильных игр. Как понятия, а не из-за их качества. Я считаю Monument Valley отличной медитативной игрой. Обе части. Но и понимаю предвзятость к мобилкам/браузеркам. Просто часто встречается мнение, что делать мобилки — плохо. Смешно это говорить с точки зрения человека ушедшего из геймдева, так как там “мало денег” XD Не всегда приятно делать ещё одну деньговыжималку по всем принципам казино. Появилось очень много игр, так сказать, лишь бы заработать без какой-то интересной составляющей :)
Я вот недавно зашёл в каталог Яндекс игр, и ну это же смех :) Есть прикольные штуки, но большая часть похожа на то, что мы делали на парах в универе на флеше. А с тем на что сейчас способны браузеры, это даже как-то печально. Я и сам долгое время не верил, что на юнити можно делать норм браузерки. Сейчас же разобрался, и даже с умершим Project Tiny там всё окей :)
Просто я не понимаю некоторого «неуважения» к мобильным и браузерным разрабам, так как именно разработчики в мобилках нужны сильнее по ряду вопросов, а в браузерках ещё сильнее. Так как пока там десктоп инди платформер вообще может не думать «что такое дроуколл» и в браузере, и на мобилке нужно выжимать по капле последние соки из устройства. Ужимать вес в минимум и т.п. Разработка под мобилки не менее интересная, чем разработка под десктоп :) В ААА конечно существуют большие и интересные задачи, но в среднем по больнице — жаль что есть такая некая предвзятость. Особенно у людей не из индустрии :)
👍8
Это же элементарно?
— Что нам делать, мы потеряли три листа математических выкладок?
— Так и запишем «очевидно»
Чем дольше чем-то занимаешься, тем больше вещей кажутся очевидными. Но это далеко не так. Зачем повторяться, описывать что-то простое другим языком и т.п. поднимать простые темы? Я расскажу небольшую историю :)
В далёком 2016 году я был инди (картинка к этому). И тогда был какой-то showcase на девгамм. Задача которую я хотел решить была «элементарной». Сделать p2p мультиплеер в игре, чтобы круто показать как игра играется и с телефона, и с пк, и в браузере. Игра была пошаговая, так что в этом ничё сложного нет. Можно было поднять рест апи простенькое, там кода три строчки. Но когда не знаешь как приступить — это оказывается сложно. Потому что ты не знаешь, что тебе для этой задачи нужен http сервер. Но допустим ты знаешь идёшь в гугл и пишешь http server client example. И в нём очень тяжело разобраться тому, кто не знает как это работает. А тому кто знает, ну он и сам может написать :) А потом мне зачем-то нужен был p2p и чтобы разобраться там нужно знать что такое tcp handshake и stun сервер. Но когда в 2016 году идёшь в гугл с запросом p2p для игры не зная этих умных терминов, опять тупик. Поэтому я когда-то написал эту статью :) Тогда я их писать вообще не умел конечно :)
К чему я это? Очевидность знаний очень спорное утверждение. Моя самая популярная статья на хабре за всё время про элементарщину. Поэтому не надо недооценивать что если вы что-то знаете что это «просто», так как для кого-то это непроходимый барьер из-за банального даже не знания терминологии :)
— Что нам делать, мы потеряли три листа математических выкладок?
— Так и запишем «очевидно»
Чем дольше чем-то занимаешься, тем больше вещей кажутся очевидными. Но это далеко не так. Зачем повторяться, описывать что-то простое другим языком и т.п. поднимать простые темы? Я расскажу небольшую историю :)
В далёком 2016 году я был инди (картинка к этому). И тогда был какой-то showcase на девгамм. Задача которую я хотел решить была «элементарной». Сделать p2p мультиплеер в игре, чтобы круто показать как игра играется и с телефона, и с пк, и в браузере. Игра была пошаговая, так что в этом ничё сложного нет. Можно было поднять рест апи простенькое, там кода три строчки. Но когда не знаешь как приступить — это оказывается сложно. Потому что ты не знаешь, что тебе для этой задачи нужен http сервер. Но допустим ты знаешь идёшь в гугл и пишешь http server client example. И в нём очень тяжело разобраться тому, кто не знает как это работает. А тому кто знает, ну он и сам может написать :) А потом мне зачем-то нужен был p2p и чтобы разобраться там нужно знать что такое tcp handshake и stun сервер. Но когда в 2016 году идёшь в гугл с запросом p2p для игры не зная этих умных терминов, опять тупик. Поэтому я когда-то написал эту статью :) Тогда я их писать вообще не умел конечно :)
К чему я это? Очевидность знаний очень спорное утверждение. Моя самая популярная статья на хабре за всё время про элементарщину. Поэтому не надо недооценивать что если вы что-то знаете что это «просто», так как для кого-то это непроходимый барьер из-за банального даже не знания терминологии :)
👍7
Это не моё
Так как набралось 1к подписчиков🎉🎉🎉 (спасибо всем кто подписался), то теперь телеграм показывает рекламу в канале. Как обычно стоит сказать, что я её не выбираю и «это не моё» :)
Телеграм сам определяет, что показывать и автор ничего с этого не получает. Вторая часть меня не так сильно смущает, хотя на ютубе хотя бы есть партнёрка (но у меня нет ютуба) В общем, если в рекламе будет чёт странное, то я на это никак не влияю :)
Так как набралось 1к подписчиков🎉🎉🎉 (спасибо всем кто подписался), то теперь телеграм показывает рекламу в канале. Как обычно стоит сказать, что я её не выбираю и «это не моё» :)
Телеграм сам определяет, что показывать и автор ничего с этого не получает. Вторая часть меня не так сильно смущает, хотя на ютубе хотя бы есть партнёрка (но у меня нет ютуба) В общем, если в рекламе будет чёт странное, то я на это никак не влияю :)
👍23🔥5😢1
Как должен ошибаться ИИ
Недавно пока были перелёты и время — я играл в шахматы. И так как в самолёте нет интернета играл я с ботами. И с ботами в шахматы не так интересно играть, так как слабые ошибаются очень тупо, а сильные почти не ошибаются. И у меня возник вопрос, а есть ли какие-то работы как «компьютер» в игре должен ошибаться?)
Многие игры интересны ошибками. Скажем в шахматы я не умею так хорошо играть, чтобы не ошибаться. Но периодически получается просто интересные ловушки делать, чтобы ловить на ошибках. Когда я играл профессионально в покер, то там ты вообще ищещь ошибки или заставляешь совершать ошибки, чтобы стабильно выигрывать. В общем надо будет изучить тему «интересных ошибок» и подходов к такой проблеме в игровом ИИ, и статейку на тему написать :) Думаю может получиться интересно :)
Недавно пока были перелёты и время — я играл в шахматы. И так как в самолёте нет интернета играл я с ботами. И с ботами в шахматы не так интересно играть, так как слабые ошибаются очень тупо, а сильные почти не ошибаются. И у меня возник вопрос, а есть ли какие-то работы как «компьютер» в игре должен ошибаться?)
Многие игры интересны ошибками. Скажем в шахматы я не умею так хорошо играть, чтобы не ошибаться. Но периодически получается просто интересные ловушки делать, чтобы ловить на ошибках. Когда я играл профессионально в покер, то там ты вообще ищещь ошибки или заставляешь совершать ошибки, чтобы стабильно выигрывать. В общем надо будет изучить тему «интересных ошибок» и подходов к такой проблеме в игровом ИИ, и статейку на тему написать :) Думаю может получиться интересно :)
👍17
Маленький аутсорс Foxsys
Нахожу довольно забавным, что при том что я занимаюсь аутсорсом силами небольшой команды (на всех проектах работает 10-11 человек включая меня и 2-3 проекта в работе одновременно) у нас уже 11 серверов XD Свой мониторинг, свой s3, свой сервер с гитлабом, несколько внутренних сервисов, 7 доменов XD Небольшая команда у которой серверов больше, чем у некоторых средних компаний XD Всего лишь за год серверов больше, чем людей которые работают на проектах :) При этом для клиентских сервисов сейчас зарезервированы всего 3 сервера :) Остальное внутрянка XD
Нахожу довольно забавным, что при том что я занимаюсь аутсорсом силами небольшой команды (на всех проектах работает 10-11 человек включая меня и 2-3 проекта в работе одновременно) у нас уже 11 серверов XD Свой мониторинг, свой s3, свой сервер с гитлабом, несколько внутренних сервисов, 7 доменов XD Небольшая команда у которой серверов больше, чем у некоторых средних компаний XD Всего лишь за год серверов больше, чем людей которые работают на проектах :) При этом для клиентских сервисов сейчас зарезервированы всего 3 сервера :) Остальное внутрянка XD
👍2
Поговорим немного про аутсорс
Давно не было каких-то кул стори, думаю пора. Я из тех редких людей, который ушёл в аутсорс «по любви», а не чтобы «накопить на игру мечты». Проработав в трёх компаниях где ты постоянно дорабатываешь один и тот же продукт мне стало скучно. Я решил уйти во фриланс, и это прям оказалось моё. Куча разных задач, куча разных проблем, средний проект 1-3 месяца. Не сидишь и пилишь сутками одно и тоже, а каждый раз что-то новое. Но тут «каждому своё» :)
Единственное что раздражает в фрилансе это с завидной частотой возникающие конфликты и ситуации возникающие из «ничего». Для себя я выделил одну из причин почему они возникают чаще всего, и что описывает плохого заказчика и плохого подрядчика. Они оба не идут на компромиссы :)
Дело в том, что разрабатывая свои продукты перед релизом никогда не успевается всё. И ты идёшь на компромисс того, что является критом, и того что не особо важно. И худшие заказчики за 5 лет занимали безальтернативные позиции что «это очень надо и обязательно завтра» даже когда это вообще неважно для продукта. Или нужно исправить через час проблему которая ни на что не влияет и возникает у трёх процентов аудитории. При продуктовой разработке никто так не думает, а в аутсорсе иногда людям плевать на время/расходы подрядчика. Какая-то детская позиция «хочу и всё, ведь я заплатил»
Плохие же подрядчики (и я был таким и борюсь с этим) не предлагают компромиссы. Почти всегда есть решение, которое устроит всех. Они смотрят только на то, что сказал заказчик и отбивают его требования. Не предлагая простого решения которое устроит всех :)
Нормальная работа строится только тогда, когда она выгодна всем участникам. Поэтому быть хорошим заказчиком так же сложно, как и хорошим подрядчиком. И со стороны аутсорс студии лучше побыть и на стороне заказчика. Я заказываю помимо проектной работы ещё всякие работы на фриланс биржах и постоянно расширяю пул исполнителей, чтобы посмотреть на процесс глазами заказчика. И постараться понять, как работа с нами выглядит с его стороны :)
Давно не было каких-то кул стори, думаю пора. Я из тех редких людей, который ушёл в аутсорс «по любви», а не чтобы «накопить на игру мечты». Проработав в трёх компаниях где ты постоянно дорабатываешь один и тот же продукт мне стало скучно. Я решил уйти во фриланс, и это прям оказалось моё. Куча разных задач, куча разных проблем, средний проект 1-3 месяца. Не сидишь и пилишь сутками одно и тоже, а каждый раз что-то новое. Но тут «каждому своё» :)
Единственное что раздражает в фрилансе это с завидной частотой возникающие конфликты и ситуации возникающие из «ничего». Для себя я выделил одну из причин почему они возникают чаще всего, и что описывает плохого заказчика и плохого подрядчика. Они оба не идут на компромиссы :)
Дело в том, что разрабатывая свои продукты перед релизом никогда не успевается всё. И ты идёшь на компромисс того, что является критом, и того что не особо важно. И худшие заказчики за 5 лет занимали безальтернативные позиции что «это очень надо и обязательно завтра» даже когда это вообще неважно для продукта. Или нужно исправить через час проблему которая ни на что не влияет и возникает у трёх процентов аудитории. При продуктовой разработке никто так не думает, а в аутсорсе иногда людям плевать на время/расходы подрядчика. Какая-то детская позиция «хочу и всё, ведь я заплатил»
Плохие же подрядчики (и я был таким и борюсь с этим) не предлагают компромиссы. Почти всегда есть решение, которое устроит всех. Они смотрят только на то, что сказал заказчик и отбивают его требования. Не предлагая простого решения которое устроит всех :)
Нормальная работа строится только тогда, когда она выгодна всем участникам. Поэтому быть хорошим заказчиком так же сложно, как и хорошим подрядчиком. И со стороны аутсорс студии лучше побыть и на стороне заказчика. Я заказываю помимо проектной работы ещё всякие работы на фриланс биржах и постоянно расширяю пул исполнителей, чтобы посмотреть на процесс глазами заказчика. И постараться понять, как работа с нами выглядит с его стороны :)
👍8🔥2
Как сделать адаптивный квадрат?
Я наконец-то дособрал игру https://whitelabelgames.ru/game/catch-them-all с таверной. И я решил что по разработке мне удобнее вписать игру в квадрат и всегда отображать в квадрате. В фуллскрине всё довольно просто, там простая логика. Но вот когда я вспомнил что у меня на сайте айфрейм (залив игру на сайт), то пришлось немного поковыряться. Но в итоге получился такой сниппет https://pastebin.com/HfhTwTNE Мало ли вдруг кому пригодится :)
В игре ещё есть пара визуальных артефактов, но в целом играется норм. Разве что область нажатия для мобилок можно увеличить. Такая простенькая ламповая промо игра получилась :) Ну и спящий котик — это всегда топ :)
Я наконец-то дособрал игру https://whitelabelgames.ru/game/catch-them-all с таверной. И я решил что по разработке мне удобнее вписать игру в квадрат и всегда отображать в квадрате. В фуллскрине всё довольно просто, там простая логика. Но вот когда я вспомнил что у меня на сайте айфрейм (залив игру на сайт), то пришлось немного поковыряться. Но в итоге получился такой сниппет https://pastebin.com/HfhTwTNE Мало ли вдруг кому пригодится :)
В игре ещё есть пара визуальных артефактов, но в целом играется норм. Разве что область нажатия для мобилок можно увеличить. Такая простенькая ламповая промо игра получилась :) Ну и спящий котик — это всегда топ :)
👍8