Привет, строитель миров
Теперь мир объёмный: ты внутри него, смотришь своими глазами и крутишь головой мышкой. Днём копай и строй, ночью прячься от монстров или бей их. Лампа их прогоняет. Вся игра — один файл, который можно переделать словами.
W A S D — идти · мышь или ← → ↑ ↓ — смотреть · Пробел — прыжок
Левая — ломать · Правая — ставить · F — полёт · Esc — выйти
Как получается объём
Экран плоский. Всегда. Объёма в нём нет и быть не может — это просто цветные точки. Всё остальное придумывает компьютер: он знает, где ты стоишь и куда смотришь, и вычисляет, в какую точку экрана попадёт каждый уголок каждого кубика.
Всё состоит из треугольников. У кубика шесть граней, каждая грань — два треугольника. В твоём мире их примерно триста тысяч. Видеокарта рисует их все заново шестьдесят раз в секунду — вот почему картинка не тормозит.
Хитрость: невидимое не рисуется. Под землёй кубиков в сто раз больше, чем на поверхности, но у них все грани спрятаны внутри других кубиков. Игра считает их заранее и не рисует вообще. Без этой хитрости всё бы дико тормозило.
Свет разливается, как вода. Солнце льётся сверху, лампа светит во все стороны, и от каждого блока свет становится на единичку слабее. Поэтому в пещере темно, а рядом с лампой светло. Это тоже просто числа в табличке.
// куда смотрит камера — два числа yaw = поворот влево-вправо pitch = наклон вверх-вниз dir.x = cos(pitch) * sin(yaw) dir.y = sin(pitch) dir.z = cos(pitch) * cos(yaw)
Вот и вся камера: два числа и немного тригонометрии. Из этого получается ощущение, что ты внутри мира. Попроси агента поменять поле зрения (fov) с 72 на 110 — мир станет как в рыбьем глазу.
Словарь
Взрослые говорят их каждый день и думают, что это что-то сложное. На самом деле каждое объясняется одним предложением.
Твоя очередь
Нажми на любую строчку — она скопируется. Вставь её в чат с агентом и посмотри, что получится. Игру он менять умеет, а идеи — нет. Идеи твои.
Проси одно изменение за раз и сразу смотри результат. Если попросить пять штук сразу и что-то сломается — непонятно, что именно. Не понравилось — так и скажи: «верни как было» или «сделай в два раза меньше». Агент не обижается, у него нет чувств, зато есть бесконечное терпение.