Заметки безработного Апанасика
1.78K subscribers
398 photos
26 videos
321 links
Мысли Апанасика (@Suvitruf) про IT, геймдев, игры и около отого.

Разрабытываю сервис для разработчиков игр для оперирования LiveOps: https://balancy.co

Про геймдев отдельно можно почитать на канале @gamedev_suffering.

Ничего не рекламирую.
Download Telegram
Каждый раз когда такие треды с разборами пишу, вижу, что как-то не особо не заходит. Порой бывает много лайков (что, наверно, неплохо), но комментариев почти нет.

На написание полноценной статьи по прошлым заметкам пытался собрать 3к, но закинули 500р (что лучше, чем ничего). Не знаю, стоит ли продолжать разбирать видюшки такие, если такое в принципе мало кому интересно.

Да-да, «главное, чтобы тебе самому нравилось». Но, даже при этом, если от этого отдачи не вижу, то довольно угнетённо себя чувствую. как бы сам процесс ни нравился.
Решил реанимировать один свой старый проект и добить диз. док. Проект отложил в долгий ящик из-за войны и из-за концептуальных моментов, которые не могу решить.

Сейчас загрузил в Openai chat вводные и попросил AI'шку подсказать некоторые ГД моменты. Весьма впечатлён.

1. Штуковина не только неплохо заполняет пробелы в моих идеях, но и отлично накидывает концепты по запросам вида: "как игра X, но про Y" и т. д. Можно нагенерить кучу идей, а потом выбирать и смешивать.
2. На базовом уровне без проблем придумывает корлуп игры, экономику и эндгейм. Это просто нечто.

Тот, кто сможет это впилить в пайплайн производства гиперказуалок, сорвёт банк.

Позакидывал ей контекста про свою игру и спросил в итоге "какое начало может быть у такой игры". И она выдала мне почти точь-в-точь часть вариантов из моего диз. дока и ещё несколько своих докинула 🤯

Натолкнула на некоторые идеи про добавление необязательных онлайн фич, которые доп. глубину позволят привнести и сделать генерируемый контент более таргетированным.

Есть у неё проблемки, конечно:
1. Базы старые
2. На некоторые темы она в принципе не может рассуждать
3. Есть запретные темы
4. Контекст она держит, конечно, но по ходу беседы может давать предложения без понимания специфики предмета разговора.

По поводу контекста же, с другой стороны...уже не раз наблюдал, как именно вот это непонимание к неожиданным результатам приводит.

Мы ограничены контекстом и думаем в рамках определённых границ. А AI'шка из-за отсутствия оных выдавать совсем безумные идеи может.

В общем, в ближайшие годы нейронки могут изменить многие сферы. Сам жду новшеств и крутых тулз для геймдева.

#нейронки #AI #gamedev
Вышла вчера статья про вкатку в геймдев. Она же на Хабре.

Метрики на DTF:
- 30к+ просмотров (довольно неплохо для статьи про геймдев)
- 800+ комментов
- 1500+ лайков
- 1750 рублей донатов
- Много положительных комментов
- Немало отрицательных и доёбок до "экспертности". В принципе, понимаемо, но немного обидно 😅

На Хабре тоже неплохо.

Эту статью изначально писал для Хабра для их ИТ-гида. До этого у меня не было опыта взаимодействия полноценного с редакцией или контент-студией какой-либо площадки. Делюсь опытом:
- 7к рублей за 10-15к знаков. Я не могу припомнить игровых изданий, где такие суммы бы платили. Я и так бы статью написал, а так бонус денежный, неплохо.
- Не торопили, не наезжали. Спокойно ждали, пока допишу.
- В самом начале помогли немного с планом/структурой.
- Помогли перед публикацией с редактурой и структурой.
- Разрешают репостить на другие сайты. Главное оставить превью пикчу с упоминанием Хабра.
- Был лишь один спорный момент: пришлось переписать один абзац, чтоб партнёры не наехали.

В целом очень приятный и положительный опыт взаимодействия. Даже на знал, что такое бывает.

#блогинг #gamedev
Потыкал немного A Plague Tale: Innocence. Визуально красивое, конечно. Но основной игровой цикл скучноват: Трава -> Сковородки -> Бег -> Крысы -> и так по кругу.

А вот нарративные моментики интересны. В этом брат с сестрой про пузырьки от рыбок и лягушек говорят, но сама сцена (отпечаток кровавый + сами пузыри) и другая сцена рядом совсем иную картину рисуют.

Если бы Амиция в диалоге дала нам (как игроку) понять, что она всё поняла, а с братом разговор затеяла про рыбок, чтоб он не расстраивался, то вообще шикарно бы было.

#апанасик_играет #gamedev
Тим Кейн рассказал про то, как они оптимизировали Arcanum по части используемой памяти за счёт использования прототипов.
- Каждый объект имеет ссылку на прародителя, в котором хранились базовые поля (ХП, урон и т.д).
- У объекта есть битовые поля, указывающие, переопределялось ли поле.
- Если объекту, например, ножу нужно задать иное значение урона, то выставляется бит в 1 и добавляется поле.

Большая часть игровых объектов не меняет большую часть полей (для многих меняется лишь позиция в мире), что сильно экономит использование RAM и уменьшает размер сейвов.

Кейн отдельно отметил, что буквально все объекты имеют поле для здоровья: «Лучше иметь его для всех объектов, но не использовать, чем не иметь, а потом на поздних этапах разработки добавлять».

Ну и да, было много жалоб от мододелов из-за такой замудрённой структуры 😅

#кейн #Arcanum #gamedev
5 баксов в месяц выходит в среднем с монетизации Твиттера. Только половину подписки покрывает.

Если у вас чуток побольше подписчиков (у меня ~5к) или если нонстоп набрасываете (но оно вам надо?), то без проблем можно отбить стоимость премиума.

Из минусов — вывести можно только на Страйп.

#twitter
У Кейна хорошее видео вышло про скейлинг противников. Он сам не любит, когда враги усиливаются пропорционально мощи игрока. Но...

- В Arcanum были моменты, которые можно с натяжкой назвать скейлингом. Наёмники Руки Молоха появляются после определённого этапа квеста. Геймдизайнеры предполагают, что к этому моменту игрок относительно мощный. Это своего рода скейлинг.
- А в The Outer Worlds было полноценной изменение уровня противников. Но с нюансами.
1. Уровень противника лежит в определённом диапазоне [a;b]. Допустим уровень игрока N. Если N < a, то уровень противника будет a. Если a < N < b, то N. А если N > b, то b. Т. е. есть кап с обеих сторон.
2. Игра запоминает уровень противника при первой встрече. Если при встрече игра определила уровень противника как X, то если вы прокачаетесь и вернётесь, то уровень будет всё ещё X. Это поощряет исследование. Имеет смысл посетить локи, чтоб зафиксировать уровень противников, чтоб потом после прокачки вернуться.

А ещё прям совсем не любит систему автоскейла противников в Fallout 3. К примеру, рейдеры усиливаются в зависимости от твоего уровня. И на поздних этапах гуляют с дорогой бронёй и пушками. С точки зрения нарратива это нелогично, т. к. им проще это всё продать, чем рисковать жизнью и нападать на игрока 😅

#gamedev
Трудовые будни с Unity. В WebGL билде UnityWebRequest посылал порой закарапченный json. Почему? Фиг его знает. Я оборачивал вызов UploadHandlerRaw в using, чтобы у меня не было ошибок к редакторе об утечках памяти (нет, ручной Dispose не помогал).

Но если UploadHandlerRaw создавать ручками и ручками диспоузить, то в WebGL всё норм. Правда, в редакторе ругается на лики. В итоге пришлось в if/else заворачивать и чекать платформу в рантайме 🙈

// for WebGL have to create and clean it manually, 'cause otherwise data will be corrupted
if (Application.platform == RuntimePlatform.WebGLPlayer)
{
uh = new UploadHandlerRaw(body);
request.uploadHandler?.Dispose();
request.uploadHandler = uh;
[...]
}
else
{
// looks like Unity internally creates handler,
// so we need to clear this shit to prevent memory leaks 🤦‍♂️
// https://forum.unity.com/threads/a-native-collection-has-not-been-disposed-resulting-in-a-memory-leak.1136068/
using (var uh2 = new UploadHandlerRaw(body))
{
request.uploadHandler?.Dispose();
request.uploadHandler = uh2;
[...]
}
}


Обсуждение на форуме.

#unity #gamedev
Джош Сойер рассказал про документацию при работе над Fallout: New Vegas. Сейчас у Obsidian всё в Confluence, но раньше использовали вордовские доки и SharePoint.

Интересно читать такую ретроспективу. Мне особенно интересно, т. к. после универа я как раз работал над написание системы документооборота поверх Шерпоинта. Подобный ужас с точки зрения как юзера, так и разработчика редко встретишь, но Microsoft смогли создать монстра.

На то время там был древний ASP.NET, куча странной и стрёмной логики с Workflow и прочими компонентами системы. Документации по сложным кейсам не было, спросить что-то не у кого. Немалая часть кода работала не ясно даже почему. Но, по крайней мере, на той работе я научился гуглить и доходить хоть и до кривых решений, но самостоятельно.

#ретроспектива #Fallout #документация #gamedev
Кстати, интересный моментик с Balatro состоит в том, что игра на движке LÖVE, код на Lua.

Вы буквально можете открыть exe'шник 7zip'ом и менять код игры как вам захочется.

#Balatro #LÖVE #игры #gamedev
Посмотрел видео DF про No Rest for the Wicked (от разработчиков Ori), и...кхе...

Из интересного несколько моментов:
1. Свет весь риалтаймовый, как и тени, понятное дело. Есть занятные твики в этом плане по части отсветки от персонажа.

2. Мир закруглён, что позволяет увеличить дальность просмотра, но потребовало допилки системы кулинга.

3.Самое, кмк, прикольное — Unity (да, игра на нём) чисто как рендер. Физический 3d-движок свой, ну и вся симуляция тоже, соответственно.
Плюсы: отзывчивость управления, т. к. инпуты обрабатывает отдельный движок.
Минусы: даже если GPU тянет отрисовку, то симуляция в некоторых районах жутко просаживает CPU.

Из забавного:
- Линнеман назвал Стимдек "low-end platform". Кек.
- Опять дрочь на HDR.

По поводу того играть или нет
Пока не рекомендовал бы.
Во-первые, с перформансом пока и правда проблемки.
Во-вторых, надеюсь, что систему поломки вещей или сделают полайтовей или вообще выпилят.
Ну и, в-третьих, у них в разработке несколько прикольных фич.

Поэтому я б подождал выхода из раннего доступа.

#gamedev
Была уже новость в начале года, что разрабы EVE online хотят выложить технологию в опенсорс, но я как-то проморгал момент, что это «игра-базаданных».

Я так понимаю, они не просто там данные хранят, но и обмазываются логикой? Процедурки и вот это вот всё, и оно норм вывозит на их числе юзеров? 🤔
- MS SQL для таких вещей вообще выглядит странненько.
- Как оно это всё вывозит.

Вообще, конечно, интересно будет посмотреть на эту их магическую Carbon Development Platform. Главное, чтоб не случилось такого, что после того, как выложат в опенсорс, оно так и померло, т. к. порог вхождения слишком велик, что никто кроме самой команды CCP не сможет работать с платформой 😅

Но в целом у них за всю истории было много всяких интересных моментов/решений. Тот же Quasar. Ребята мощь просто 💪

У меня ещё был разбор одного их доклада.

#EVE #IT #gamedev