Pull to refresh
81
0

Пользователь

Send message

Как происходит генерация мира Minecraft

Reading time21 min
Views70K
image

Задумывались ли вы когда-нибудь, сколько на нашей планете песчинок? По грубым оценкам, более 7 квинтиллионов! Это 7 с 18 нулями. И всё-таки это даже меньше половины количества уникальных миров в Minecraft. Как же Minecraft и другим похожим играм удаётся создавать такие сложные, красивые, однако полностью процедурные миры? В этой статье я расскажу, как игра генерирует свои миры, от самой высокой горы до самой глубокой пещеры.

Часть 1: процедурная генерация


Для многих из вас Minecraft может быть первой (а может быть, и единственной) игрой, в которой миры не творятся вручную дизайнером уровней, а создаются процедурно.

Однако первой игрой с процедурно сгенерированным миром является «Elite», первая версия которой вышла для компьютера BBC Micro в 1984 году. Это прапрадед относительно новой «Elite: Dangerous», выпущенной в 2014 году.


Автоматическая генерация новых миров может казаться привлекательным способом ленивого создания бесконечного контента для игры. Однако на самом деле всё наоборот! Чтобы научить машину тому, как выглядит хороший уровень… нужно быть очень хорошим программистом и дизайнером уровней.

Контент должен быть достаточно разнообразным, чтобы выглядеть свежим, но не настолько разнообразным, чтобы казаться атипичным. И необходимо создавать миры, на которые не просто интересно смотреть, но которые обеспечивают справедливую с точки зрения игрока сложность.
Читать дальше →

Время, когда видеокассеты были большие. Рассказ с подробностями об открытии видеосалона в СССР

Reading time13 min
Views35K

Моя история о том, как бывший школьник открыл видеосалон.Конец 80х начало 90х окунул меня в мир видеокассет VHS. За окончание школы Батя купил мне видеомагнитофон Aiwa DK510. У товарища появился видеомагнитофон Электроника ВМ-12 и мы открыли в подвале видеосалон. Первая половина дня у меня проходила в техникуме, а вторая половина благодаря компании JVC проходило в мире видео.

Читать далее

Российское ПО или каково пить сладкий чай без сахара

Reading time7 min
Views56K
Этот велосипед формально на ходу, на нём можно приноровиться ездить. С потерями и ранами, но можно. А нужно?

Когда-то давно я решил пить чай и кофе без сахара. На первых порах было очень сложно и выручал дорогой сахарозаменитель в микротаблетках: 2 штуки и прямо сладко. Очень быстро я стал замечать, что вкус напитков испортился, появилась какая-то неприятная, неописуемая химозинка, которая потом долго держалась во рту и вызывала жажду. Попробовал другой — тот же эффект. В итоге после пары месяцев мучений, стевии и прочих сладких добавок я стал наслаждаться всеми видами чая без сахара, а кофе бросил и пью редко, но с обычным сахаром — вкусно! И если вы думаете, что статья про лишний вес или сахарный диабет, вы ошиблись. Статья про заменители. Точнее, про российское программное обеспечение. Как вы поняли, и сладко, и, похоже, но есть та самая химозинка. Из-за которой противно употреблять. Попробуем разгадать её формулу.

Я нашёл девять слагаемых этой формулы. И они меня, откровенно говоря, опечалили. Скажу сразу, я субъективен и не работал с ПО всех типов и не говорю, что все в чём-то нехороши — например, я видел удачные российские системы управления сервисом, ITSM, CRM, ERP, BPMS и т.д. Но и в эти добротные системы проникает особый дух отечественной разработки, отчасти связанный с пожеланиями пользователей. Впрочем, обо всём по порядку.
Читать дальше →

Самый мягкий и пушистый путь в Machine Learning и Deep Neural Networks

Reading time19 min
Views48K
Современное машинное обучение позволяет делать невероятные вещи. Нейросети работают на пользу общества: находят преступников, распознают угрозы, помогают диагностировать болезни и принимать сложные решения. Алгоритмы могут переплюнуть человека и в творчестве: они рисуют картины, пишут песни и делают из обычных снимков шедевры. А те, кто разрабатывает эти алгоритмы, часто представляются карикатурным учеными.

Не все так страшно! Собрать нейронную сеть из базовых моделей может любой, кто сколько-то знаком с программированием. И даже не обязательно учить Python, всё можно сделать на родном JavaScript. Как легко начать и зачем машинное обучение фронтендерам, рассказал Алексей Охрименко (obenjiro) на FrontendConf, а мы переложили в текст — чтобы названия архитектур и полезные ссылки были под рукой.

Spoiler. Alert!


Этот рассказ:

  • Не для тех, кто «уже» работает с Machine Learning. Что-то интересное будет, но маловероятно, что под катом вас ждут открытия.
  • Не о Transfer Learning. Не будем говорить о том, как написать нейронную сеть на Python, а потом работать с ней из JavaScript. Никаких читов — будем писать глубокие нейронные сети именно на JS.
  • Не о всех деталях. Вообще все концепции в одну статью не поместятся, но необходимое, конечно, разберем.

Как создавать иконки сайтов в 2022 году — всё о favicon

Reading time9 min
Views45K

Пришло время переосмыслить то, как мы создаем набор иконок для современных браузеров, и остановить безумные генераторы. Фронтенд-разработчики сейчас вынуждены создавать более 20 PNG-файлов, чтобы отобразить крошечный логотип веб-сайта на вкладке браузера или сенсорном экране. Статья расскажет, как использовать более разумный подход и создать минимальный набор иконок, соответствующий большинству современных потребностей.

Статья глубоко погружается в тему, поэтому в начале я даю два фрагмента кода для тех, кто уже достаточно настрадался и понимает, что делать. Тем не менее, я всем рекомендую читать статью целиком!

Статья целиком

Еще один способ использовать SVG в React. На этот раз удобный

Reading time4 min
Views41K

SVG-изображения можно вставлять непосредственно в html, можно использовать символьные спрайты, теги <img>, <object> и даже <iframe>. Можно подключать SVG через data-url, css-backgrounds, css-filters и еще множеством способов. Но чтобы полноценно использовать всю суперсилу SVG, необходимо вставлять SVG-изображения непосредственно в html-разметку. Хотя на самом деле есть еще один способ. И он удобный.

Читать далее

Как распечатать цветной механический телевизор на 3D-принтере

Reading time5 min
Views24K

До появления плоских экранов и электронно-лучевых трубок люди смотрели телепередачи с помощью диска Нипкова. Благодаря этой статье любой, у кого есть 3D-принтер, может попробовать создать дома самый старый тип телевизора.

Читать далее

С больного тела на здоровое: история несостоявшейся пересадки головы

Reading time10 min
Views41K

В 2015 году в российских СМИ прогремела новость: итальянский нейрохирург Серджио Канаверо собирается произвести первую в мире пересадку головы! Его пациентом должен был стать на тот момент 33-летний программист Валерий Спиридонов, прикованный к инвалидному креслу из-за спинальной мышечной атрофии.

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

Как мы знаем, история расставила все по своим местам: операция не состоялась. Зато теперь есть возможность спокойно объяснить, почему она и не могла быть проведена. Без тысяч недовольных и неаргументированных голосов: «Вы не понимаете! Он сможет! Еще сто лет назад не мечтали и о пришивании пальца, значит, в ближайшем будущем возможно все!». Рассмотрим же более детально предпосылки такой операции, ее сложности и существующие технологии, а также видение самого Канаверо.

Читать далее

Во что поиграть, если шахматы ещё не придумали, а ты фараон / викинг / вождь майя

Reading time7 min
Views19K


Если я хочу поиграть с друзьями, то мы либо долго спорим в какую игру по сети будем играть, т.к. ребята предпочитают шутеры, вроде CS и Battleground, а я фанатею от League of Legends. Если договориться не вышло, мы назначаем встречу в аналоговом мире и тащим с собой несколько коробок настолок, потому что у каждой игры свои поля, фишки, карты и вообще вдруг количество игроков изменится.

Древние любители игр о такой ерунде не парились. Начертили поле на земле, камушков набрали и играют, радуются. У игроков, которые могли донатить, конечно были vip-скины, к примеру, игровые фигурки не из дерева, а из слоновой кости. На игровой процесс это не сильно влияло, а археологам помогает сейчас восстанавливать древние игры. Под катом подборка популярных игр из древнего Египта, Месопотамии, Северной Америки времен ацтеков и Скандинавии, а еще ссылочки на их браузерные версии.

Еще я веду канал в Telegram GameDEVils и блог на Substack , делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →

[Личный опыт] Стоит ли программисту «покорять» Америку

Reading time9 min
Views58K

Х. работает в «американской мечте» программистов — Кремниевой долине. Он поделился своим собственным взглядом на жизнь в Америке, где большие зарплаты, но плохой сервис; прекрасная природа, но ужасные отели; много возможностей, но сложно достичь вершины. А также почему Америка — страна дряхлых технологий, и в чем не прав Дудь. Передаем слово!

Читать далее

Как живется в США «неайтишникам». Два года спустя

Reading time11 min
Views173K

Два года назад я написал на хабре статью Как живется в США «неайтишникам», которая собрала 194 000 просмотров, 561 комментарий и вошла в список лучших статей 2020 года. И вот, два года спустя я решил пробежаться по тем же тезисам, чтобы провести некий срез, как изменилась обстановка в США и мое место в ней, особенно в свете последних событий.

Про жизнь, траты, поиск и смены работы и перспективы. Мне 38, я по образованию биотехнолог, семья — два человека, английский язык — так себе. Живу в Северной Каролине почти два года. Обещаю без политики и максимально объективно.

Читать далее

Разработка Gamio AI. Сквозь боль и баги

Reading time3 min
Views4.6K

Gamio AI - текстовое приключение на русском языке, основанное на искусственном интеллекте.

Как бы пафосно это не звучало, мне удалось создать рабочую версию этой амбициозной идеи.

Читать далее

3 способа использовать box-shadow в CSS

Reading time7 min
Views110K

Тени помогают сделать визуальную составляющую сайта интересной и эстетичной. В посте рассмотрим свойство CSS box-shadow и то, как его можно стилизовать.

Читать далее

Всё что нужно знать про ECS

Reading time30 min
Views120K

Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.

Окунуться в мир ECS

Удивительная история document.write

Reading time3 min
Views49K
Метод document.write — один из самых странных методов. Он вставляет HTML-код на страницу сразу после себя. Точнее говоря, сразу после тега <script>, внутри которого он расположен. И только в том случае, если документ еще не был загружен полностью. А если был? Тогда страница очищается и заменяется на, что было указано.

Можно вставить строку, которая явно сломает остальную страницу:

document.write('<plaintext>')

Или можно поиграть в русскую рулетку:

if (Math.random() > 0.9)
  document.write('<!--')
Читать дальше →

Нецелевое использование assert-функций в TypeScript

Reading time6 min
Views10K

Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить assert-функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.
Читать дальше →

К чему приводят тестовые задания или как я реализовал Match-3 для терминала

Reading time7 min
Views11K

Вы когда-нибудь играли в Match-3 в текстовом терминале? Вот и я бы не подумал, что поводом для этого, может стать очередное тестовое задание.

Читать далее

Чем является и чем не является эффект Даннинга-Крюгера

Reading time4 min
Views17K

В последнее время многие ссылаются на эффект Даннинга-Крюгера с целью представить своих оппонентов в качестве некомпетентных и глупых людей. Однако проблема состоит в том, что большинство упоминающих этот эффект на самом деле не понимает, что он собой представляет. Поэтому я решил написать краткий обзор, опирающийся на научные данные, и прояснить этот вопрос.

Читать далее

Жизнь на частицах

Reading time4 min
Views69K
Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.

Классический пример системы с простыми правилами и сложным поведением — клеточные автоматы, именно на них я и ориентировался, пытаясь подобрать правила. Конечно же, для клеточных автоматов правила будут в большинстве случаев проще. Но частицы могут быть красивее!

Под катом много мегабайт гифок.

Читать дальше →

Information

Rating
7,864-th
Location
Россия
Registered
Activity