Как написать тетрис колодцем

Мне понадобились: компьютер, интернет и год времени. Да да, целый год, правда с двумя перерывами по пол года. Сразу покажу что получилось https://vk.com/well_tetris

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

Итак, я решил написать тетрис, для души и немного для повышения ЧСВ и выложить его во вконтакт, чтобы и другие могли попробовать, как оно. Но ради интереса, решил сделать его не простым, а бесконечным. Ну как бесконечным... замкнутым по горизонтали, чтобы фигуры не упирались в края игрового поля, а свободно через них проходили. Но возникла проблемка: разорванные фигуры стали ломать мне мозг и косить мои глаза.

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

Поэтому я свернул игровое поле в трубочку и добавил немного 3D, ибо бесконечно тонкая стенка цилиндра была острее чем сиськи Лары Крофт.

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

Мне хотелось, чтобы игра была максимально отзывчивой, потому что 3D это хорошо, но механика важнее. Поэтому вывод графики я написал полностью ручками, без использования готовых библиотек. Сначала получался тетрис Мёбиуса, но я себя пересилил и сделал нормальный цилиндр, возможно зря, но мы этого уже  никогда не узнаем ;).

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

Я думал что вращать фигуры просто: берёшь фигуру и вращаешь. Только вот получалось, что нижний край фигуры меняет высоту. Иногда это приводило к тому, что после поворота, фигура сразу устанавливалась, а ведь у меня была ещё целая клетка в запасе! Поэтому вместо того, чтобы вращать фигуру, я использую подготовленные кадры анимации.

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

А ещё у меня есть топ100. В него него попадают только быстрые, ловкие и сильные духом. Для этого я сделал прогрессивную шкалу начисления очков: за 1 ряд всего 100 очков, а за 4 целых 1500. Хочешь попасть в топ? Рискуй и жди "ПРЯМАЯ ЛИНИЯ!". Для тех, кто не хочет рисковать и набирает очки потихоньку, удаляя по одной линии, я приготовил сюрприз: рост скорости зависит не от количества удалённых линий, а от числа удалений. Т.е. можно можно 10 раз получить по 100 очков или 10 раз по 1500 очков, а скорость вырастет одинаково.

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

https://www.youtube.com/watch?v=GF7Q4PX-MUQ

Почему-то оказалось, что самый быстрый, ловкий и сильным духом — это я. Возможно потому, что до сих пор никому не рассказывал как растёт скорость :D Желающие побить мой рекорд, или просто решившие узнать как оно, могут сыграть во вконтакте https://vk.com/well_tetris

Как написать тетрис колодцем Игры, Gamedev, ВКонтакте, Инди игра, Пикабу, Гифка, Длиннопост

И немного технических подробностей: TypeScript, tree.js matrix, Canvas, debain, C#, .net core, postgresql, nginx, letsencrypt, runit. Если по технической части есть вопросы, могу в комментариях ответить.

Лига Разработчиков Видеоигр

6.8K постов22.2K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

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

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
20
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (2)
Автор поста оценил этот комментарий

было несложно

раскрыть ветку (1)
3
Автор поста оценил этот комментарий
да тут просто сложно не смочь.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку