Pull to refresh
0
0
Yuriy Chumak @Uri

User

Send message

В опасном мире символов…

Reading time5 min
Views96K
image

Сейчас, когда компьютерная графика достигает всё новых высот, модели в играх становятся близкими к фотореализму, а порог вхождения в игры становится всё ниже, сложно представить себе, что до сих пор развиваются игры, в которых на первое место выходит интересный геймплей и огромные возможности, а графики… нет. Имя этому жанру — Roguelike.

Цитата с Wikipedia:
Roguelike (читается как ро́углайк; сленг «рогалик») — поджанр компьютерных ролевых игр. Характерными особенностями roguelike являются генерируемые случайным образом уровни и необратимость смерти персонажа — в случае его гибели игроку предлагается начать игру заново. Большинство игр этого жанра было разработано на некоммерческой основе и использует двумерный текстовый интерфейс и управление клавиатурой.

Читать дальше →
Total votes 118: ↑104 and ↓14+90
Comments104

Радио86РК — советский самодельный компьютер

Reading time7 min
Views175K
Вы когда-нибуть собирали компьютер? Ну хотя бы один раз в жизни. Хотя бы не полностью.

— «Ну конечно!» — скажете вы.

И будете не совсем правы.

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

image

Лишь немногие читатели Хабра могут похвастаться, что в советское время действительно собирали бытовые компьютеры. Доставали честными и нечестными путями дефицитные микросхемы, вытравливали печатные платы, до ночи воевали с УФ ПЗУ, вооружившись тумблерным программатором или наматывали трансформаторы для блоков питания. Спустя несколько месяцев кропотливой сборки и наладки наконец-то получалось то, что уже можно гордо называть бытовым компьютером. А если удавалось найти или сделать подходящий и красивый корпус для своего творения, то такой компьютер вызывал зависть у всех, кто еще не прокачал свои навыки крафта до 80 уровня.
Читать дальше →
Total votes 137: ↑134 and ↓3+131
Comments115

Немного о независимых игровых разработчиках

Reading time8 min
Views50K
Так случилось, что я уже длительное время занимаюсь фултайм инди разработкой. Это значит, что единственный источник дохода — это игры, которые я делаю не на заказ. Никакого фриланса или удаленной работы. Параллельно явлюясь соведущим подкаста для инди разработчиков, где гости рассказывают каково это быть независимыми разработчиками в той или иной части рынка, используя определенную технологию и целясь на какие-то платформы. Эта статья — небольшой FAQ по частым вопросам, которые приходят.

Читать дальше →
Total votes 104: ↑99 and ↓5+94
Comments22

Гик порн 3: Как «открыть» микросхему и что у неё внутри? Советские Z80, TTL логика, FPGA Altera Cyclone I и другие

Reading time4 min
Views76K
Продолжаем ковырять внутренности микросхем. Для тех кто пропустил первые 2 серии — вот раз, вот два.

К553УД1А — один из первых советских интегральных операционных усилителей.
Этот экземпляр был произведен в марте 1978.
Читать дальше →
Total votes 137: ↑134 and ↓3+131
Comments43

Новый взгляд на старые игры

Reading time2 min
Views44K
Задумывались ли вы когда-нибудь над тем, как могли бы выглядеть ваши любимые игры времён 90-х, если бы среди кнопок джойстика была кнопка «Zoom out»? Как заядлого любителя (и ассистирующего спидраннера) игр Sonic the Hedgehog и их современных модификаций-хаков, меня однажды заинтересовала эта тема. Подробности под катом.

Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments29

Астрофотография в каждый дом

Reading time6 min
Views125K
Думаю у любого человека, интересующегося космосом — возникала идея купить телескоп, чтобы лично все посмотреть.

Однако суровая реальность вечно портит всю малину: в пределах города – все небо засвечено уличным освещением и турбулентность воздуха высокая. Это означает, что либо придется ограничится самыми крупными и яркими объектами (вроде Луны и Юпитера), либо возить телескоп далеко за город.

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

Пример того, что получилось: галактика Андромеда, M31 на телескопе Т20
Читать дальше →
Total votes 216: ↑215 and ↓1+214
Comments60

Использование каскада Хаара для сравнения изображений

Reading time4 min
Views72K
image

Признаки Хаара, про которые я расскажу, известны большинству людей, которые так или иначе связаны с системами распознавания и машинного обучения, но, судя по всему, мало кто использует их для решения задач вне стандартной области применения. Статья посвящена применению каскадов Хаара для сравнения близких изображений, в задачах сопровождение объекта между соседними кадрами видео, поиска соответствия на нескольких фотографиях, поиска образа на изображении и прочих подобных задач.
Total votes 79: ↑73 and ↓6+67
Comments19

Dwarf Fortress в 2013. Авторы рассказывают о процессе разработки и планах на будущее

Reading time15 min
Views52K
«Мы создали каркас версии 1.0 — у нас есть огромный план и куча всевозможных идей, что-то входит в него, что-то нет» — Тарн Адамс и его брат Зак уже 11 лет разрабатывают процедурно-генерируемую фэнтези-игру Dwarf Fortress, если же учитывать работу над DragSlay и Slaves to Armok, сильно повлиявшими на игру в начале разработки, то получатся все 13 лет. Хотя вы можете бесплатно скачать игру прямо сейчас, версия 1.0 появится еще очень и очень нескоро. Тарн Адамс недавно сказал, что 1.0 можно ждать примерно через 20 лет, хотя скорее всего она появится еще позже «потому что я всегда недооцениваю время, необходимое для завершения работы».

Но какими бы ни были временные рамки, у братьев Адамс есть четкая цель. Они понимают, что уже не раз застревали на самых разных этапах разработки, так что их способ движения вперед заключается в том, чтобы разложить перед собой все идеи и выбрать, куда двигаться дальше в ближайшем будущем. «Мы стараемся оставаться в рамках плана» — говорит Адамс — «когда мы выполним его, получится версия 1.0. После этого можно будет добавить множество разных вещей, но нам будет более 50 лет — есть масса жизненных решений, которые надо принимать в таком возрасте, так что вряд ли мы будем придерживаться этого плана еще пять лет».


Читать дальше →
Total votes 59: ↑59 and ↓0+59
Comments38

Девятилетняя оптимизация маршрутизатора

Reading time16 min
Views42K
Хочу рассказать историю жизни сервера в кампусной сети Новосибирского университета, которая началась в далеком 2004 году, а так же этапы его оптимизации и даунгрейдинга.
Многие вещи в статье покажутся общеизвестными хотя бы по той причине, что речь пойдет о событиях почти десятилетней давности, хотя на тот момент это были передовые технологии. По той же причине кое что вообще потеряло актуальность, но далеко не все, так как сервер до сих пор живет и обслуживает сетку из 1000 машин.
Читать дальше →
Total votes 74: ↑74 and ↓0+74
Comments22

Создаем платформер за 30 минут

Reading time15 min
Views163K
Здравствуйте! Сегодня мы будем писать платформер, используя C++, Box2D и SFML, а также редактор 2D карт для игр Tiled Map Editor.

image

Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):



Исходники и exe — внизу статьи.
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments14

Motion planning: граф видимости, дорожные карты

Reading time10 min
Views27K

Всем добрый день. В этой статье я бы хотел рассказать про пару алгоритмов, относящихся к вычислительной геометрии, которые, в настоящее время, широко применяются при разработке игр. Если Вы хотя бы раз программировали игру, в которой есть передвигающийся по локации персонаж(и), Вам приходилось решать задачу поиска пути. Об одном из подходов к решению этой задачи и я хочу рассказать.
Читать дальше
Total votes 55: ↑55 and ↓0+55
Comments15

Алгоритм поиска пути Jump Point Search

Reading time6 min
Views123K
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


Читать дальше →
Total votes 110: ↑108 and ↓2+106
Comments37

Создание 1k/4k intro для Linux, часть 4

Reading time11 min
Views32K
Доброго всего, мои избыточно терпеливые друзья!
Как очень немногие из вас помнят, во второй части мы остановились на том, что получили прямоугольник на весь экран в сколько-то там сотен байт, и теперь вот уже полтора года стоим перед проблемой заполнения пустоты в наших кодах и сердцах творчеством.

Что же всё-таки можно нарисовать с помощью всего двух треугольников? Квадрат? Фрактал? Полёт сквозь мегатонной мощности взрыв в центре города? Есть ли предел безумию, где заканчивается реальность и начинается явь? Как правильно ухаживать за лучами, чем их кормить и обо что отражать вы узнаете во внезапном продолжении цикла статей про демомейкинг!


Читать дальше →
Total votes 108: ↑104 and ↓4+100
Comments11

Trac и его друзья Gitolite, Nginx и UWSGI

Reading time6 min
Views11K
Всем наверно известен замечательный OpenSource проект Trac, позволяющий организовать рабочий процесс при разработке программного обеспечения. Однако его развертывание и настройка является не простой задачей. Информация в интернете разрозненная и часто уже устаревшая. В этом я смог сам убедиться настраивая Trac интегрированный с Gitolite на связке Nginx+UWSGI.

После небольшой увертюры с бубном у меня родился этот документ являющийся практически пошаговой инструкцией по развертыванию проекта Trac. Надеюсь это пригодится кому-нибудь еще.
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments11

Картинки с внешних ресурсов — добро или зло?

Reading time6 min
Views33K
Большинство многопосещаемых площадок позволяют размещать у себя картинки с внешних ресурсов. Это очень удобная и полезная фича не только для простых пользователей, но и для людей, собирающих информацию о вас.

Большой брат следит за тобой

Вы хотите узнать больше информации о самых действенных методах? Вам интересно, как с помощью маленькой картинки определить разрешение экрана, локальное время и сменить парочку паролей? Добро пожаловать под кат!
Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments20

С камерой в облака. Часть 1

Reading time6 min
Views241K


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

Пост состоит из 2 частей. В первой — ответы на основные вопросы. Их легко найти в интернете по-отдельности, но сложно вместе: дальность полета (чем ограничивается и какая максимальная), качество картинки, грузоподъемность, стоимость и сроки (от выделения бюджета до первого полета).

Вторая часть (сейчас в процессе) — о сборе конкретной системы со всеми тонкостями, какие мне только удалось найти и испробовать. Что именно и где купить, как расположить на модели, зачем и что экранировать, где требуются ферритовые кольца, а где виброгасители.

Ну что же, перейдем сразу к делу.
Читать дальше →
Total votes 161: ↑156 and ↓5+151
Comments103

Lock-free структуры данных. Основы: Атомарность и атомарные примитивы

Reading time15 min
Views106K

Построение lock-free структур данных зиждется на двух китах – атомарных операциях и способах упорядочения доступа к памяти. В этой статье речь пойдет об атомарности и атомарных примитивах.

Анонс. Спасибо за теплый прием Начал! Вижу, что тема lock-free интересна хабрасообществу, это меня радует. Я планировал построить цикл по академическому принципу, плавно переходя от основ к алгоритмам, попутно иллюстрируя текст кодом из libcds. Но часть читателей требует зрелищ не мешкая показать, как пользоваться библиотекой, особо не рассусоливая. Я согласен, в этом есть свой резон. В конечном счете, и мне не так интересно, что там внутри boost, — опишите, как его применять! Поэтому свой эпический цикл я разделю на три части: Основы, Внутри и Извне. Каждая статья эпопеи будет относится к одной из частей. В Основах будет рассказываться о низкоуровневых вещах, вплоть до строения современных процессоров; это часть для почемучек вроде меня. Внутри будет освещать интересные алгоритмы и подходы в мире lock-free, — это скорее теория о том, как реализовать lock-free структуру данных, libcds будет неисчерпаемым источником C++ кода. В Извне будут статьи о практике применения libcds, — программные решения, советы и FAQ. Извне будет питаться вашими вопросами/замечаниями/предложениями, дорогие хабражители.

А пока я судорожно готовлю начало Извне, — первая часть Основ. Статья во многом не о C++ (хотя и о нем тоже) и даже не о lock-free (хотя без atomic lock-free алгоритмы неработоспособны), а о реализации атомарных примитивов в современных процессорах и о базовых проблемах, возникающих при использовании таких примитивов.
Атомарность — это первый круг ада низкий уровень из двух.
Читать дальше →
Total votes 119: ↑116 and ↓3+113
Comments37

Ещё одно консольное радио

Reading time2 min
Views23K
cmdradio


Недавно на хабре проскакивала статья о cmd.fm — консольном интернет радио плеере в браузере, что навело меня на мысль: почему бы не сделать реально консольный радио плеер?
Потому что их уже делали сто раз
Total votes 44: ↑39 and ↓5+34
Comments51

Встречайте RyuJIT: новый JIT-компилятор для .NET

Reading time4 min
Views19K
Мир движется к 64-битным вычислениям, несмотря на то, что в результате программы не всегда работают быстрее или производительнее по сравнению с 32-битными. Многие 32-битные программы, по разным причинам, могут работать быстрее 64-битных. Одним из таких примеров является 64-битный JIT-компилятор .NET-фреймворка. Он выполняет большую работу для того, чтобы ваша программа работала очень быстро, но сам он, увы, не настолько быстр, как хотелось бы. Это мы и собираемся исправить. Представляем x64 JIT-компилятор нового поколения, который способен компилировать 64-битный .NET код в 2 раза быстрее.
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments7

Внутреннее устройство Git: хранение данных и merge

Reading time9 min
Views86K
В процессе перехода с SVN на Git мы столкнулись с необходимостью переписывания наших внутренних инструментов, связанных с развёртыванием кода, которые ориентировались на существование линейной истории правок (и разработку в trunk). На Хабре уже публиковались возможные решения этой проблемы через Git-SVN, но мы пошли другим путём. Нам нужна поддержка таких возможностей Git, как branching и merge, поэтому мы решили разобраться в основах, как же работает Git и каким способом должна осуществляться интеграция с ним.
Читать дальше →
Total votes 77: ↑77 and ↓0+77
Comments10
1

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity