Как стать автором
Обновить
102
0
Константин Китманов @k12th

JS

Отправить сообщение

Заблуждения программистов о картах

Время на прочтение12 мин
Количество просмотров54K


Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться.

Списки подобных заблуждений составлялись про имена или телефонные номера. Настало время карт и систем навигации.

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Всего голосов 240: ↑236 и ↓4+306
Комментарии114

Любопытные CSS фишки 2022 года

Время на прочтение8 мин
Количество просмотров17K

За последнее время в CSS появилось достаточно новых возможностей, которые позволяют нам создавать новые решения для старых задач. Мне захотелось рассказать вам о тех, которые работают в современных браузерах, и их можно использовать прямо сейчас.

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

Читать далее
Всего голосов 13: ↑9 и ↓4+7
Комментарии11

Внеочередной урок по Godot 4.0: пиксели и RPG (часть первая, в которой человечек научился ходить)

Время на прочтение10 мин
Количество просмотров14K

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

Урок Серия уроков будет посвящена созданию простой RPG в 1bit пиксель-арт стиле, где я постараюсь рассмотреть всю ту боль и страдания, с которыми обычно встречаются новички - джиттер, расплывающиеся пиксели, борьба с разрешением и прочее.

Рисуем сову
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Godot | Open Dungeon | Часть beta

Время на прочтение14 мин
Количество просмотров3.9K

Больше функционала для минималистичного прототипа игры: объекты уровня, враги, апгрейд управления, глобальный скрипт и статичные выстрелы.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

Godot | Open Dungeon | Часть alpha

Время на прочтение17 мин
Количество просмотров6.5K

По довольно немногочисленным просьбам выкладываю исходник очень простенькой игровой 3D заготовки на движке Godot, вместе с пошаговым описанием того, как собрать подобный прототип самостоятельно. Вероятно, это первая часть и последует продолжение.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Godot и сферический диаблоид в вакууме

Время на прочтение12 мин
Количество просмотров8.7K

О том как устроен прототип arpg Spheramyd и практиках использования игрового движка.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Flutter Flame: подходы к оптимизации

Время на прочтение11 мин
Количество просмотров2.8K

В предыдущей статье я разбирал проблемы Bonfire и причины, по которым он не очень подходит для сложных игр. Несмотря на то, что чистый Flame намного легче, там тоже не всё так гладко. В этой статье я поделюсь своими рецептами увеличения производительности игры и распишу причины, почему это работает. Хочу сразу заметить, что среди этих рецептов нет серебряных пуль, и маловероятно получить существенный буст, применив только что-то одно. Однако в комплексе они достаточно эффективно работают – проверено часами медитации над CPU-профайлером.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии5

Эволюция игрового фреймворка. Клиент 3. Слои логики

Время на прочтение14 мин
Количество просмотров2.5K

Прежде мы рассмотрели отделение логики отображения от графики, а также разные вспомогательные классы и менеджеры. Все вместе они образуют каркас наших приложений и были вынесены в отдельную библиотеку — Core Framework. Осталось еще разработать методику по написанию остальной логики. В нее входит бизнес-логики и правила игры, данные и их обработка, а также взаимодействие с сервером.

Вся логика будет разбита на слои. Основной смысл слоев тот, что классы одного слоя максимально независимы от классов с соседних слоев и абсолютно независимы от остальных. Все это уже относится не к основному фреймворку (Core Framework), а к фреймворкам для разных групп жанров (Base Game Frameworks) и для каждого отдельного жанра (Game Frameworks).

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Как я Markdown парсер выбирал

Время на прочтение18 мин
Количество просмотров25K

Недавно я решил создать свой сайт, и мне понадобилось выбрать парсер Markdown для отрисовки статей в блоге.

То, что начиналось как: «Окей, гугл, какой парсер выбрать?», – вылилось в полноценное исследование существующих реализаций парсеров.

О том, какие открытия меня ждали на этом пути, и будет данная статья.

Читать далее
Всего голосов 54: ↑54 и ↓0+54
Комментарии29

Когда в Unity нужно MVC, как сделать Binding визуальных контроллов с методом

Время на прочтение4 мин
Количество просмотров4.8K

В прошлой статье в частности я критиковал, что при создании игр неумело используют технологию MVC. Нет я не заядлый критик чего бы то не было, просто я не люблю когда подход или технологию применяют тогда, когда она не нужна. В этой статье, я расскажу один пример, когда эта технология просто необходима. Но внимание - для её реализации вам не нужен никакой фреймфорк, если вы еще не верите в свои силы - я научу вас создавать элегантные решения с минимумом трудозатрат, и тогда когда это нужно :)

По ссылке "Когда нужно MVC, как сделать Binding визуальных контроллов с методом (UNITY, C#, Разработка игр)" вы можете послушать меня, а кто хочет почитать прошу подкат.

Читать далее
Всего голосов 5: ↑1 и ↓4-2
Комментарии17

Ренессанс Quake: краткая история 25 лет моддинга игры

Время на прочтение9 мин
Количество просмотров9.8K
image

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

Казалось, что такая же смерть уготована и моддингу Quake 1. Однако несколько лет назад Quake начал активно развиваться. Сегодня заново отмоделенный монастырь Quake привлекает тысячи новых членов, поддерживающих жизнь этого учения. В этой статье мы расскажем краткую историю ренессанса Quake, внезапного возрождения сообщества моддеров игры, которой исполнилось 25 лет.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии4

Bitsy. Make games, without operations

Время на прочтение14 мин
Количество просмотров7.3K

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

Это редактор полного цикла для создания простых игр и маленьких миров на основе html. Это значит, что ваша игра максимально доступна и не требовательна, ее легко можно опубликовать на Itch.io или любой другой бесплатной платформе и делиться с широким кругом игроков. По словам создателя движка, Адама Леду, цель Битси – “предоставить простой способ делать игры, в которых можно ходить, общаться с людьми и просто пребывать”. За пять лет существования движка вокруг него выросло живое и дружное сообщество. Было создано более 4000 игр. С помощью них люди рассказывали личные истории, создавали сложные фантастические миры, высказывались об актуальных событиях и делали многое другое. Вот далеко не исчерпывающий список наиболее интересных и необычных из этих игр. Подробней узнать об истории создания Битси можно здесь.

Битси очень дружелюбен для новичков. Этот движок разрабатывается для людей, не умеющих программировать или использовать сложный софт. Ваш персонаж может ходить, общаться с другими персонажами, поднимать условный ключ и открывать им  условную дверь – вот, пожалуй, и всё. Как видите, всё простенько, но в данном случае простота – это сила. Сила Битси – в его ограничениях: каждый пиксель, слово, цвет имеют большой вес. Нет ничего лишнего. С его помощью вы можете создать короткие сюжетные игры или маленькие приключения. Рассказать свою историю или поделиться важной идеей в интерактивной форме – избежав долгой и трудоемкой разработки. При этом многие умельцы делают с Битси невероятные вещи. В общем, главное ограничение разработчика игр – его фантазия.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии9

Использование NavMesh для навигации ИИ в Unity

Время на прочтение12 мин
Количество просмотров46K

Система навигации NavMesh позволяет объяснить игровым персонажам, как добраться до определённой точки уровня, избегая всевозможные препятствия и используя созданные игроком механики. Для работы с ней Unity предлагает следующие четыре компонента в работе которых мы попытаемся разобраться.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии9

Statoscope: курс интенсивной терапии для вашего бандла

Время на прочтение17 мин
Количество просмотров7.3K

Statoscope — это инструмент для анализа webpack-бандлов, а я его автор и мейнтейнер. Он зародился в далеком 2016 году как эксперимент, а теперь это полноценный тулкит для просмотра, анализа и валидации сборки.



В ноябре на конференции HolyJS я выступил с докладом о Statoscope и провёл воркшоп по его использованию. Зрителям понравилось, так что мы с организаторами HolyJS решили, что доклад может пригодиться и читателям Хабра — поэтому сделали текстовую версию. Видеозапись тоже прилагаем.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии1

Prisma: Полноценный ORM для Node.js и TypeScript

Время на прочтение10 мин
Количество просмотров22K
Prisma — это ORM нового поколения для Node.js и TypeScript. После более чем двух лет разработки мы рады сообщить, что все инструменты Prisma готовы к эксплуатации в production!



Содержание





Новая парадигма для объектно-реляционного отображения



Prisma — это ORM нового поколения с открытым исходным кодом для Node.js и TypeScript. Она состоит из следующих инструментов:

  • Prisma Client: Автогенерируемый и типобезопасный клиент базы данных
  • Prisma Migrate: Декларативное моделирование данных и миграции с возможностью пользовательского редактирования
  • Prisma Studio: Современный пользовательский интерфейс для просмотра и редактирования данных


Эти инструменты можно использовать вместе или по отдельности в любом проекте на Node.js или TypeScript. В настоящее время Prisma поддерживает PostgreSQL, MySQL, SQLite, SQL Server, MongoDB.
Перевод блога из prisma.io. Читать далее
Всего голосов 10: ↑5 и ↓5+1
Комментарии20

Old Skull — фронтенд-фреймворк из альтернативной вселенной

Время на прочтение8 мин
Количество просмотров6.8K


Около десяти лет назад сообщество веб-разработчиков впервые начало обсуждать концепцию "Single-Page Application" и искать способы ее реализации. К тому моменту разработка графических интерфейсов уже не являлась чем-то новым и поэтому многие вещи заимствовались у существующих решений и немного адаптировались под специфику браузеров.


Наиболее успешным результатом подобной работы оказался Backbone.js — объектно-ориентированный MVC-фреймворк, который в свое время использовался в BitBucket, Basecamp, Stripe, Airbnb и Trello. Со временем он был полностью вытеснен следующим поколением фреймворков, но...


Что если бы этого не случилось? Как бы тогда выглядела современная разработка веб-интерфейсов?

Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии13

Современная архитектура Electron приложений в 2021

Время на прочтение6 мин
Количество просмотров14K

Я хочу рассказать об архитектуре приложений на Electron: из чего они состоят как работают, какие имеют ограничения и требования.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Делаем сервер из Android-телефона

Время на прочтение8 мин
Количество просмотров125K

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат
Всего голосов 99: ↑98 и ↓1+128
Комментарии97

Что делать с антинаучными теориями в интернете? Деплатформинг и гуманная цензура

Время на прочтение7 мин
Количество просмотров14K


К сожалению, сознанием легко манипулировать. Люди предсказуемо боятся неизвестного, соглашаются с мнением большинства, верят часто повторяемой лжи, считают себя лучше среднего и думают, что окружающий мир действительно такой, каким выглядит (наивный реализм). На данный момент у сапиенсов классифицировано более 175 когнитивных искажений. Что характерно, люди замечают проявление когнитивных искажений у других, но не у себя (это эффект слепого пятна, он чаще встречается у людей с высоким IQ).
Читать дальше →
Всего голосов 41: ↑23 и ↓18+14
Комментарии458

Информация

В рейтинге
Не участвует
Откуда
Красногорск, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer
Senior