Как стать автором
Обновить
4
0
Алексей Козорезов @vangogih

Разработчик игр Unity3D

Отправить сообщение

Спасибо за ваше мнение. Я открыт к обсуждению различных подходов к миграции данных и признаю, что моя статья - лишь один из них, решающая узкую задачу в специфике разработки игр.
А мой телеграм-канал - это дополнительный ресурс для тех, кто интересуется архитектурой.

Разработка игры как правило начинается с полной авторитарности клиента. Если только заранее не известно что 100% будет сервер.
Потому выгодно по времени начать сохранять профиль игрока в локально, а лучший формат - json. БД для этого редко тянется, так же как и ORM'ки как NHibernate и/или EF.

Безусловно, если есть сервер, то это, грубо говоря, не проблема клиентского разработчика.

А так да, sqllite - хорошее решение, но я всего 1 раз встречал их в реальных игровых проектах (из 20-30 к которым так или иначе имел доступ).

А каком списке книг речь...
Все о чем я тут написал, написано только тут и в моем блоге.
Книг, откуда я это вычитал, попросту нет.
Или есть, но я о них не слышал :)

(Насмотренность + опыт + дикое желание знать больше + постоянный зуд внутри черепа, желающий узнать как что-то работает изнутри) * время

И вот спустя пары кругов борьбы с чувством самозванца - статья.

Если нужен совет как понять - поработайте над коммерческим проектом (или создайте свой) и вернитесь к этой статье через какое-то время :)

Спасибо за фидбэк!

Рад стараться!

Спасибо большое за фидбэк!
Конечно, сделаю, когда в своем блоге раскрою, обязательно скомпоную это в статью на habr :)

А DI слишком много багов тащит

Если речь о DIc, то не замечал. Есть особенности работы того же VContainer, например что он может 2 Singleton инстанса создать, я задавал вопрос мейнтенеру тут.
Но это не мешало использовать его у себя в студии на реальном проекте.
Что касается Zenject, то используется на большом кол-ве проектов во многих компаниях и зарекомендовал себя как достаточно стабильный для продакшена.

Прикольная идея, но как быть с обновлением? Так же ручками распаковываешь в эту папку и unity ловит изменения и оверрайдит только их?

начать читать документацию и использовать инструменты для тех целей, для которых они предназначены

В документации нет ни слова о предназначении.
В целом совет не плохой, воспользуйтесь им.

Нет никаких проблем с тем чтобы использовать ГПСЧ, seed для которого задаётся глобально

Согласен, но проблема появится тогда, когда он перестанет быть единственным.
Проблема придет оттуда, откуда ее не ждут.
В моем случае она пришла, когда проставили seed в UE.Random.

Я хотел привлечь внимание к тому, что сделать случайность не случайной проще через реализацию, предоставляемую разработчиком движка. Я предоставил интерфейс, который можно свободно использовать и добавлять реализации, которые будут удовлетворять критериям доменной области.

Подумать за всех? Окей, добавлю SLPNG, но это не поможет решить проблему с использованием UE.Random.
Да, именно. Самый тупой, самый простой.
Если нужно больше, сделайте собственную реализацию интерфейса IRandom.
Долго выбирая сколько реализаций предоставлять (я рассмотрел около 10), остановился на том, что чем проще, тем лучше. Для всего остального есть интерфейс.
Исправил. Но такие вещи, лучше всего писать в issue на github.
Спасибо.
Верно. Ошибка, поправил.
Спасибо!
var start = GC.GetTotalMemory(true);
var rnd = new Random();
var rnd2 = new Random();
var rnd3 = new Random();
var rnd4 = new Random();
var rnd5 = new Random();
var stop = GC.GetTotalMemory(true);
Console.WriteLine(stop - start); // 1400 получается

Либо так, либо я что-то не правильно делаю.
Согласен, поинт валидный, можно не делать как указано в примере. Основная задача была акцентировать внимание на том, что UnitiEngine.Random — static и к каким проблемам это может привести.
Перевёлся на 5 курс по специальности «прикладная геодезия». Работаю удаленно в 2 компаниях разработчиком приложений дополненной реальности на unity3d. В одной с третьего курса, в другой с 4.

Добавлю:
1. Деление на троечников и отличников бессмысленно. Важен факт наличия корочки, а не средний балл.
2. Говорил с HR альфа страхования, Касперского, майл и все как один говорили: «без высшего не берём. Только если уникум, шанс найти которого выходит за 3 сигма». Из примера: парень 27 лет, более 10 лет опыта работы и портфолио более чем из 50 проектов, часть из них при работе на компании из индекса МосБиржи.
3. ВУЗ даёт самое важное — время. Если не играть в доту в свободное время, то можно очень много выучить параллельно с учебой.
4. При переводе в другой ВУЗ, как я слышал, слетает отсрочка. Потому если поступил и боишься армии (как я), учишься в свободное от учебы время самостоятельно.
5. Все университетские активности отнимают драгоценное время. Поучаствовать в организации 2-3 мероприятий — полезно, больше не имеет смысла. Пустая трата времени, выхлопа мало. Но это по моему опыту.
Что должно было стать конечным продуктом?

Конечным продуктом было приложение дополненной реальности для мероприятия «Времена и Эпохи», которое проходило в Москве с 6 по 16 Июня. Предполагался простой квест. Ты покупаешь части открыток и постепенно разблокируешь персонажей, которых потом можно более детально просмотреть в каталоге (раздел приложения в котором отображены все персонажи). Так же можно сделать селфи с персонажем и поделиться этим в соц. сетях. Все открытки были разбиты по временным эпохам, каждый персонаж на ней ей соответствовал.
Или отображает поверх некоего листа бумаги с определенными метками на экране устройства дополнительные картинки (ес-но при наведении камеры смартфона, например)?

Да именно так и было. Видео есть в статье с финальной работой алгоритма.
Не нашел ничего (кроме главного изображения), что призывает пойти и купить/скачать данную игру, ни слова, ни намека.
Дело все в том что эта статья в 2 словах описывающая процесс придумывания-создания игры и более менее подробно раскрывающая суть продвижения и сопровождения своей игры до/после релиза. Достойных описаний этого процесса не так уж и много (по крайней мере мне не встречались).
Конечно, когда множество статей о: «Как вращать кубы на 360», «Собираем пример из SDK», ты никогда не дойдешь до полноценного релиза, а если так, значит и статьи эти все один сплошной «Я пиар»
Есть что-то похожее.
C# Job System
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность