Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Скайдом - пожалуй, самая красочная и интересная головоломка с действительно уникальными режимами игры!

Скайдом

Три в ряд, Головоломки, Казуальные

Играть

Топ прошлой недели

  • CharlotteLink CharlotteLink 1 пост
  • Syslikagronom Syslikagronom 7 постов
  • BydniKydrashki BydniKydrashki 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Javascript

С этим тегом используют

Программирование IT HTML IT юмор Программист Frontend CSS Все
965 постов сначала свежее
11
Skyscrew
Skyscrew
25 дней назад
Лига Сисадминов

Почему-то ИИ чат боты очень любят Python⁠⁠

Почему-то ИИ чат боты очень любят Python
Картинка с текстом Скриншот DeepSeek Javascript Языки программирования
3
2
mars.frontier
mars.frontier
27 дней назад

Как мы делали мини-игру про ровер на Марсе внутри Telegram WebApp⁠⁠

«Хочется сделать простую карту, чтобы листать её в Telegram». С этого всё и началось. А закончилось — изометрическим движком, авторизацией по WebApp, системой энергии, покупкой участков и боевым ровером с шестью колёсами.

1/3

🚀 С чего всё началось?

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

В целом, даже эта идея была вполне рабочей и первые 300 пользователей с разных источников легко собрались. Мы даже провели на 9 мая конкурс "найди звезду победы" и выплатили победителю небольшой приз :)

Но само собой, что бот - не предел мечтаний, нужно было пилить полноценный мини-апп.

На боте лишь проверили гипотезу, отладили механики, типа уменьшения энергии, подзарядки аккумулятора в течении времени, пока не заходишь в игру.

Первый шаг в сторону мини-аппки - сделали вебстраничку, где можно было листать мышкой или пальцем — просто ради визуализации. Прямоугольная сетка, тайлы, немного стилей. Telegram WebApp проглатывал HTML5 на ура. Тогда не было никакой логики, просто подгрузка текстур и картинка под пальцем.

Вот как это выглядело:

  • Пользователь заходил и видел карту Марса.

  • Никакого взаимодействия — только “глянуть”.

🎮 А потом захотелось интерактивности

Следующим шагом стало добавление изометрии — чтобы выглядело как псевдо-3D. Самое интересное, что даже не потребовалось изменять текстуры. Серьезно :) Они по-прежнему те же самые, квадратные, 64 х 64. И не используется никакой 3д - движок.

вот краткое и понятное объяснение, как строится изометрическая карта из квадратных тайлов:


🧠 Основная идея:

Каждый квадратный тайл поворачивается на 45° и масштабируется по вертикали, чтобы получился ромб (изометрическая проекция). Вместо привычной сетки (x, y) мы рассчитываем экранные координаты (left, top) по формуле:


📐 Формулы для отображения:

При размере одного тайла T:

  • W = T * sqrt(2) — изометрическая ширина (диагональ квадрата).

  • H = W / 2 — изометрическая высота (высота ромба).

  • WX2 = W / 2, HX2 = H / 2 — половинки для смещения от центра.

Переход от логических координат (dx, dy) к пиксельным:

isoX = (dx - dy) * WX2 + centerX; isoY = (dx + dy) * HX2 + centerY;


🧩 Что это даёт:

  • (dx - dy) — смещает тайл по горизонтали.

  • (dx + dy) — смещает тайл по вертикали.

  • centerX, centerY — центр экрана, чтобы карта строилась относительно игрока.


🎯 В результате:

  • Из обычной квадратной сетки (x, y) формируется ромбовидная карта, где видны и горизонтальные, и вертикальные соседние тайлы.

  • Центральная клетка (текущий игрок) — всегда по центру, а остальные располагаются вокруг.

    Ну а дальше уже дело техники - придумали алгоритм перемещения в 8 направлениях: вверх, вниз, влево, вправо, плюс диагонали.

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

    Задали запреты на воду, скалы и занятую клетку, чтобы не было “читов”.

🔐 Само собой - авторизация

Чтобы пользователь не “прыгал” по чужим роверам и участкам, мы внедрили Telegram WebApp InitData (это такая строка с хешем, которую фронт передает нам в бэк, а мы - уже на сервере телеграм с токеном бота валидируем подпись. Если сошлась - то пользователь зашел к нам через телегу. Если нет - скорее всего он просто открыл веб-страницу как сайт, или что-то пытается поломать, подделать :)

Если кратко:

  • Telegram сам отдаёт токен с подписью.

  • Мы проверяем подпись на бэке по HMAC SHA256.

  • Получаем ID пользователя, сохраняем его в сессии.

Теперь всё честно: ровер – только твой, кристаллы – только твои.

🪐 Стало красивее: добавили кристаллы и рамки

Потом появились:

  • Кристаллы на клетках — можно собирать.

  • Подсветка клеток: белая рамка — твоя, красная — чужая.

  • Имена владельцев, чтобы было видно, кто что захватил.

    В планах: Покупка участков за кристаллы. Это было в текстовом боте. И ползая по карте, даже видны купленные тобой (белым) и оппонентами (красным) участки.

⚡️ Оптимизация и загрузка ассетов

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

  • Добавили прелоадер, который подгружает PNG-шки перед игрой.

  • Сделали показ спиннера на любом действии (движение, загрузка).

  • Кэшируем тайлы и обновляем только при движении.

🤖 Как выглядит сейчас

Игрок:

  • Заходит в Telegram Mini App.

  • Авторизуется за доли секунды.

  • Видит изометрическую карту с ровером, кристаллами, участками, рекламными баннерами.

  • Может двигаться по клеткам, собирать кристаллы (в будущем - бурить и находить ресурсы, торговать ими, покупать землю).

А мы — всё это рисуем прямо в DOM.
Никаких Canvas, WebGL, или тяжелых движков. Только HTML, CSS и немного магии на JS.


💬 Если интересно — покажу, как это выглядит вживую.
Тестить можно тут. А если зайдёт — добавим NFT, фермы и квесты на выживание 😄

Показать полностью 3
[моё] Gamedev Разработка Программирование Telegram Javascript Python Unity Frontend Backend Web Web-программирование Ton HTML CSS Верстка Длиннопост
9
114
Dehavilland56
1 месяц назад
IT-юмор

Здесь можно всё⁠⁠

Здесь можно всё IT юмор, Программирование, Картинка с текстом, Программист, Telegram (ссылка), Javascript, IT

Взято тут - https://t.me/memolecules/30

Показать полностью 1
IT юмор Программирование Картинка с текстом Программист Telegram (ссылка) Javascript IT
39
Dehavilland56
1 месяц назад
Программисты шутят

Когда наблюдаешь очередной срач между фанатами php и node.js⁠⁠

Когда наблюдаешь очередной срач между фанатами php и node.js IT юмор, Программирование, Картинка с текстом, Программист, Telegram (ссылка), PHP, Nodejs, IT, Javascript, Мемы

Взято тут - https://t.me/memolecules/29

IT юмор Программирование Картинка с текстом Программист Telegram (ссылка) PHP Nodejs IT Javascript Мемы
4
132
user5270234
user5270234
1 месяц назад

Я сделал веб-игру про рисование песком с 200 000 физических песчинок⁠⁠

Игра в браузере: https://alexander-dudarev.itch.io/sand-art

Sand Art – это симулятор творческой физической песочницы, в которой я постарался сделать реалистичное моделирование до 200 000 частиц песка.

Я использовал технологии WebGL и пытался создать интуитивно понятное управление, чтобы создать увлекательный творческий процесс.

1/4

Ключевые функции:

- Реалистичная физика песка с 200 000 динамическими частицами, создающими впечатление подлинного песка.

- Многослойная система частиц обеспечивает естественное взаимодействие между песчинками.

- Оптимизированный рендеринг WebGL для обеспечения бесперебойной работы на всех устройствах.

- Набор инструментов для творчества. Разнообразные инструменты взаимодействия, позволяющие манипулировать вашим песочным творением. Художественная настройка 7 уникальных форм кисти для разнообразного художественного выражения. Регулируемые размеры кистей для создания мелких деталей или широких мазков. Полная цветовая гамма для создания ярких разноцветных композиций.

Игра идеально подходит для снятия стресса, творческого самовыражения, арт-терапии.

Буду рад получить фидбэк. Что улучшить, чего добавить?

Показать полностью 4
[моё] Игры Компьютерные игры Видеоигра Веб-разработка Мобильные игры Приложение Рисование Процесс рисования 2D HTML Javascript Web Программирование Программист Программа Песок Творчество Креатив Видео Без звука Короткие видео
28
120
otesh
otesh
1 месяц назад

Непонятная система⁠⁠

Отрывок из пародийного видео Game of Codes

https://vk.com/video-18505771_456239122

Переведён и озвучен BadKings (насколько я понял)

Показать полностью
Короткие видео Badkings Юмор Черный юмор Javascript Пародия Игра престолов Мат Видео ВКонтакте (ссылка)
2
0
Dehavilland56
1 месяц назад
IT-юмор

Простите за тонкий юмор⁠⁠

Простите за тонкий юмор IT юмор, Программирование, Картинка с текстом, Мемы, Telegram (ссылка), Javascript, Typescript, Программист

Взято тут - https://t.me/memolecules/22

Показать полностью 1
IT юмор Программирование Картинка с текстом Мемы Telegram (ссылка) Javascript Typescript Программист
2
2460
Dehavilland56
1 месяц назад
Программисты шутят

Но он пытался⁠⁠

Но он пытался IT юмор, Программирование, Telegram (ссылка), Картинка с текстом, Javascript, Backend, IT, Мемы, Программист, Nodejs

Мем взят тут - https://t.me/memolecules/21

Показать полностью 1
IT юмор Программирование Telegram (ссылка) Картинка с текстом Javascript Backend IT Мемы Программист Nodejs
135
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии