← все статьи

Titancraft, день седьмой: якорь, достижения, экран загрузки и борьба за кадры

Седьмой день разработки. Лодка научилась стоять на якоре, у игры появились достижения и счёт времени, мир теперь загружается за красивой шторкой — а кадр стал заметно легче.

Утро на реке: лодку спускают на воду, гребут вдоль берега и бросают якорь

Лодка и якорь

Лодку спускали слишком далеко от берега: ей нужно было 45 см воды под днищем, а на пологом морском мелководье до такой глубины — метров восемь. У настоящей плоскодонки осадка 15–20 см, поэтому теперь лодке хватает 25 см, и она встаёт у самой кромки воды.

А ещё у лодки появился якорь. В лодке Ctrl/Option бросает его и поднимает: всплеск у носа, и с борта в воду уходит канат — наискосок, тем дальше от лодки, чем глубже. На якоре лодка стоит намертво: грести нельзя, развернуться можно. Без якоря стоящую лодку теперь сносит течением реки — на пробе за 3 секунды её отнесло на 2 метра. Хочешь рыбачить на стремнине — бросай якорь.

Достижения и время в игре


Карточка «Достижение: Первое бревно — Срубить дерево» вверху экрана над деревней
Первое срубленное дерево — первое достижение

В игре 22 достижения: первая кровь и сотня побеждённых врагов, охота, босс подземелья, рубка, рыбалка — и трофей тяжелее 5 кг, — острога, ремесло, стройка, приручение, лодка, катапульта, затонувший сундук, торговец, 10-й и 25-й уровень и 10 часов в игре. Есть и утешительное — «Не в последний раз», за первую гибель.

Получил — сверху выезжает карточка с медалью. Все достижения с прогрессом собраны на новой вкладке атласа. Считает их сервер, а хранятся они в персонаже: уходят вместе с ним в любой мир. То, что видно по самому персонажу — уровень, питомцы, рекорды рыбалки, — засчитывается при входе.

Заодно игра теперь знает, сколько вы в ней провели: всего и в каждом мире отдельно. Время идёт, только пока вы играете, — пауза и свёрнутое окно не в счёт. Видно его в паузе и на вкладке достижений.

Экран загрузки


Экран загрузки: закат над горами и елями, надпись TITANCRAFT, «Строим окрестности…» и полоса
Мир строится за шторкой

Новый мир первые секунды подтормаживал: подгружались окрестности, а видеокарта впервые собирала шейдеры. Теперь это происходит за шторкой — тем же закатом, что на начальном экране. Шторка не уходит по таймеру: она ждёт, пока вокруг встанут все чанки, разложатся находки и 60 кадров подряд пройдут ровно. Под ней чанки ставятся быстрее обычного — всё равно ничего не видно.

И пауза стала паузой: по Esc открывается экран с «Продолжить», «Настройки», «Управление» и выходом, а настройки уехали на свою страницу.

Борьба за кадры

Кадр рисуется вызовами: каждый — «нарисуй вот эту пачку треугольников этим материалом». Их было 1857 на кадр. Стало 1125 — на 39% меньше.

  • Деревья и камни: 1070 → 602. Каждый чанк рисовал свои деревья отдельной пачкой на каждый вид. Теперь пачки общие на квадрат из четырёх чанков. Время, которое процессор тратит на подготовку кадра, упало с 2,9 до 1,25 мс.
  • Звери: 296 → 95. Об этом ниже.
  • Деревня: 244 → 181. Дом состоял из десятка поверхностей, которые отличались только оттенком: камень, доски, крыша, дверь. Теперь поверхности одного материала склеены в одну, а оттенок записан в цвет вершин — картинка та же, вызовов меньше.

Мелочи

  • Если персонажа не удаётся сохранить — например, кончилось место на диске, — игра говорит об этом на экране и пробует снова, а недописанный файл не заменяет прежний.

Задача такого масштаба?
Начните с брифа: четыре вопроса и честный ответ, подходим ли мы друг другу.
Пройти бриф