GameDev Notes
41 subscribers
114 photos
34 videos
1 file
112 links
Заметки начинающего индюшатника-геймдевелопера @datagreed
Больше проектов и инфы на моем сайте: https://datagreed.pro
Download Telegram
Следующую игру делаю на Steam Engine
🔥2🥰1
Forwarded from Alexey
This media is not supported in your browser
VIEW IN TELEGRAM
Почему мануалы нужно читать в оригинале
👍2
Media is too big
VIEW IN TELEGRAM
Разбирал десктоп и наткнулся на запись экрана из незавершенного прототипа, который делал когда появилась идея сделать Arknights-like Tower Defense в сеттинге из серии Suits первого сезона Love + Death + Robots
🤩2
Наконец-то приобрел одну из классических книг серии “Choose your own adventure”. Жанр — game book, книга которая читается нелинейно. В определенных местах читателю предлагается принять решение и продолжить чтение со страницы, соответствующей этому решению. По сути, книги этого жанра являются прямыми прототипами современных визуальных новелл (Visual Novel). Если вы вдруг играли в нетфликсовский Bandersnatch, то это вот как раз оно ;)
😱1
А если вы вдруг не играли ни в какие визуальные новеллы, то крайне рекомендую серии Zero Escapes и Ace Attorney. В любую нужно играть начиная с первой части и по порядку. Самое главное — не гуглить про них ничего, иначе можно наткнуться на спойлеры, порой даже в заголовках результатов поиска Google.
Отличная статья от Лукаса Поупа про перенос «Papers, Please» на смартфоны

Не знал, что игра была написана на haxe (https://haxe.org). Давно не слышал про него, примерно с тех пор как перестал разрабатывать на Flash. Был сильно удивлен, узнав что последняя стабильная версия вышла в марте этого года

https://dukope.com/devlogs/papers-please/mobile/
Окей, а вот это для меня прямо совсем открытие – оказывается проект «открытого флеша» https://www.openfl.org вполне себе жив и сейчас существует в виде фреймворка для создания быстрых мультиплатформенных приложений с API похожим на Flash.

Хороший повод тряхнуть стариной на грядущем Ludum Dare.
Краткий обзор на Overwatch 2 одним джепегом
UPD: ночью удалось-таки присоединиться и поиграть. Overwatch прямо посвежел с этим апдейтом, надеюсь будут продолжать в том же духе и оживят его еще больше.
Примерно каждые полгода-год когда какой-то из моих рендомных проектов начинает тормозить в Unity без какой-либо на то видимой причины, я начинаю думать, что возможно следующий проект стоит сделать на DOTS (юнитевская архитектура, использующая ECS вместо Object-oriented подхода), но потом вспоминаю, что он до сих пор не доделан, как и все инструменты, которые выкатывает Unity
😢1
Forwarded from anji⨹dev
This media is not supported in your browser
VIEW IN TELEGRAM
Хотел ещё раз поделиться тем, на сколько охуенны сторонние атрибуты, в частности бесплатный NaughtyAttributes
Он далеко не самый функциональный, но даже с его помощью можно легко запилить вот такую штуку как на гифке. Всё что вы видите это обычный лист, название каждого айтема назначается в скрытый стринг он валидейтом, таким образом даже в свёрнутом виде можно быстро понять что за условие и из чего оно состоит.

В этом ассете есть ещё всякие кнопки и т.д., но вот это отображение или скрытие одних переменных в зависимости от других лично для меня посто праздник какой-то - раньше для таких штук всегда приходилось делать кастомные эдиторы, думаю не надо объяснять на сколько жизнь стала проще🌈
Крутая статья, описывающая работу физики в оригинальном Сонике
Потихоньку начал писать новую игру. Впервые разобрался с тем, как работает тест-раннер в юнити.

После тестов в интерпретируемых языках программирования все выглядит каким-то медлительным и неповоротливым.
🔥2
В Idle-«играх» часто используются очень большие числа для обозначения стоимости чего-либо. Настолько большие, что они не влезают в 64-битный integer и приходится выдумывать какие-то специальные решения, которые обладают достаточной точностью и скоростью.

«Геймплейно» (я беру это слово в кавычки, потому что не считаю большинство idle-игр играми – это скорее просто выжималка денег) это оправдано тем, что каждая следующая постройка/апгрейд/айтем стоят экспоненциально больше и игроку каждый раз приходится больше времени ждать чтобы получить что-то. В конце-концов часть «игроков» ломается и либо смотрит рекламу для получения большего количества ресурсов за раз, либо что-то покупает. Так устроены почти все «фермы» и прочие idle-игры, которых на мобильном рынке очень много.

Тащить сложные научные библиотеки в игровой проект для мобилок как-то не очень хочется, поэтому я я написал обвязку для BigInteger, которые из коробки предоставляет NET Framework – он позволяет хранить числа произвольных размеров (насколько я понимаю, под капотом используются массивы из integer’ов), которая позволяет совершать математичекие операции с числами с правающей точкой (умножение, деление).

Самой сложной задачей оказалось разобраться с тем, как научить Unity сериализировать BigInteger, который ей из коробки не поддерживается. (Не-?)Удивительно, но решения, найденные в сети оказались нерабочими. Если очень кратко, то нужно реализовать интерфейс `ISerializationCallbackReceiver` (https://docs.unity3d.com/ScriptReference/ISerializationCallbackReceiver.html) и сохранять значение BigInteger в любое поле класса, которое Unity может сериализовать (например стринг) и дописать кастомный `CustomPropertyDrawer` чтобы все это выглядело красиво.

Пока я со всем этим ковырялся, наткнулся еще на одну альтернативную реализацию, которая должна работать значительно быстрее – https://tech.innogames.com/dealing-with-huge-numbers-in-idle-games/ – перейду на нее, если решение с BigInteger’ом окажется недостаточно быстрым для моих задач.
👍1
Кстати, к вопросу о том как форматировать такие огромные числа, которые обычно не влезают в одну строку, так, чтобы игрок мог их «распарсить» глазами, есть небольшая статья – https://gram.gs/gramlog/formatting-big-numbers-aa-notation/
👍1
Если вдруг вам зачем-то интересно, то ближайшие часа полтора (или как пойдет) буду стримить первый Mass Effect вот тут – https://www.twitch.tv/datagreed

Играю в первый раз, буду много тупить.
1