Сергей Чибиряев

+6
с 2020
0 подписчиков
5 подписок

Вопрос про историю из 8-ми кадров. Я так понял, каждый кадр там подсчитан с нуля и без учета других кадров. А потом в финальном проходе ты делаешь 8 выборок и усредняешь результат. То есть условно:
```
for i in 0..8
final_color += k[i] * reproject(history_tile[i], diff_coord[i]);
final_color *= get_texture();
```
А не проще ли хранить всего один предыдущий кадр, но в котором уже будут учтены все предыдущие?
```
history_tile[0] += k * reproject(history_tile[1], diff_coord);
history_tile[1] = history_tile[0];
final_color = get_texture() * history_tile[0];

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

2
Ответить

Сколько на это ушло времени? Ассеты свои? Какие были сложности в разработке?

Ответить

Может я что-то пропустил? А где ссылка в стим?

Ответить

Вот моя реализация: https://schibir.github.io/tpp
Не скажу, что это что-то запредельное, но почти классический геймплей, сделано с нуля без движков, все текстуры и спрайты генерируются кодом, можно играть вдвоем за одним компом.

1
Ответить

Без обид, но выглядит геймплейно и визуально (как ни странно) намного хуже оригинала: танк медлительный (даже на видео видно как трудно сделать зигзаг-маневр). Ни то что через стены не видно, но еще и что происходит сбоку/сзади.

Ответить

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

1
Ответить

Мне кажется вращение мира здесь лишнее, ту же самую механику можно реализовать просто свайпая все в одну из 4-х сторон, как в 2048

2
Ответить