Копай, Кубби!

← Блог

Как ожила вода

Лесное озеро в разрезе: волнистая поверхность, наклонные солнечные лучи в толще воды, водоросли на склоне берега и стайка рыб

В октябре мы взялись за воду. Хотелось, чтобы озеро в игре было живым: отзывалось на всё, что в него падает, чтобы под водой было видно, что это вода, а подземные озёра не тонули в темноте, а сами освещали пещеру. С 20 октября всё это в игре. Рассказываем, как оно устроено, — без формул, обещаем.

Волны из пружинок

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

А толкает воду всё подряд:

  • рыба, которая выпрыгнула и плюхнулась обратно;
  • капли дождя;
  • капли со сталактитов в пещерах;
  • струя водопада;
  • и, конечно, Кубби. Нырнул — по воде расходится круг, и чем быстрее он летел, тем сильнее всплеск. Плывёт по поверхности — перед ним бежит волна.

Чтобы озеро не превращалось в шторм, у волн есть потолок: выше нескольких пикселей они не поднимаются. А если на пару секунд отвести от озера камеру, волны никуда не денутся — озеро помнит их ещё немного.

Как видно сквозь воду

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

Днём сквозь поверхность пробиваются солнечные лучи. Они падают наискосок и тускнеют с глубиной, а каждый луч то разгорается, то гаснет сам по себе — будто над ним проходит волна. Ночью лучей нет, и в пещерах тоже: откуда там солнце?

Водоросли

На дне озёр растут водоросли и качаются в воде. В лесу они зелёные, у оазисов пустыни — оливковые, а в тёмных подземных озёрах растут бледные водоросли со светящимися бусинками.

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

А с потолка над подземными озёрами свисают светящиеся лианы — тоже с бусинками света.

Подземная вода светится

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

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

Подземное озеро: из камня-родника в своде пещеры падает водопад, у его подножия пенится вода, с потолка свисают светящиеся лианы
Водопад из родника

Водопады из родников

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

Дно подземного озера: светящиеся водоросли с бусинками света, тени рыб, сверху пена водопада
Светящееся дно

Пещеры стали глубже

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

Форма этих слоёв зависит от зерна мира: в одном и том же мире пещеры всегда выглядят одинаково, сколько ни заходи.

Воду теперь берегут

Чтобы вся эта красота не вытекла от одного неосторожного бура, озёра, подземные реки и водопады теперь под охраной. Вода, какой её создал мир, и две клетки вокруг — берег, дно и свод — не копаются ни буром, ни динамитом, и строить там нельзя. Игра так и скажет: «У воды не копаем — уйдёт вода». А деревья на берегу рубить по-прежнему можно, кроме тех, что нужны для квестов.

Загляни в ближайшее озеро, нырни и посмотри на волны сам!

Играть