Как стать автором
Обновить
23
0

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

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

Однобитный компьютер

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

Картинка для привлечения внимания:

Внимание! Под катом много картинок!

В этой статье будет описано проектирование и создание однобитного компьютера. Всем кто заинтересовался, добро пожаловать под кат.

Читать далее
Всего голосов 82: ↑81 и ↓1+111
Комментарии54

Учебный курс по React, часть 13: компоненты, основанные на классах

Время на прочтение5 мин
Количество просмотров18K
Сегодня мы публикуем перевод очередного занятия учебного курса по React. Оно посвящено компонентам, основанным на классах. Такие компоненты создают с использованием ключевого слова class.

image

Часть 1: обзор курса, причины популярности React, ReactDOM и JSX
Часть 2: функциональные компоненты
Часть 3: файлы компонентов, структура проектов
Часть 4: родительские и дочерние компоненты
Часть 5: начало работы над TODO-приложением, основы стилизации
Часть 6: о некоторых особенностях курса, JSX и JavaScript
Часть 7: встроенные стили
Часть 8: продолжение работы над TODO-приложением, знакомство со свойствами компонентов
Часть 9: свойства компонентов
Часть 10: практикум по работе со свойствами компонентов и стилизации
Часть 11: динамическое формирование разметки и метод массивов map
Часть 12: практикум, третий этап работы над TODO-приложением
Часть 13: компоненты, основанные на классах
Часть 14: практикум по компонентам, основанным на классах, состояние компонентов
Часть 15: практикумы по работе с состоянием компонентов
Часть 16: четвёртый этап работы над TODO-приложением, обработка событий
Часть 17: пятый этап работы над TODO-приложением, модификация состояния компонентов
Часть 18: шестой этап работы над TODO-приложением
Часть 19: методы жизненного цикла компонентов
Часть 20: первое занятие по условному рендерингу
Часть 21: второе занятие и практикум по условному рендерингу
Часть 22: седьмой этап работы над TODO-приложением, загрузка данных из внешних источников
Часть 23: первое занятие по работе с формами
Часть 24: второе занятие по работе с формами
Часть 25: практикум по работе с формами
Часть 26: архитектура приложений, паттерн Container/Component
Часть 27: курсовой проект
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии2

Вся правда об ОСРВ. Статья #11. Задачи: конфигурация и введение в API

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


Понятие задачи было введено в предыдущих статьях. По сути, задача – просто набор значений, которые могут быть загружены в регистры процессора (для выполняемой задачи) или могут храниться в состоянии, готовом к контекстному переключению на задачу в будущем. Чаще всего задача имеет собственный стек.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

«Герои Меча и Магии» в браузере: долго, сложно и невыносимо интересно

Время на прочтение22 мин
Количество просмотров104K
Как реализовать в браузере игру, на которой годы назад залипал без всякого браузера? С какими сложностями столкнёшься в процессе, и как их можно решить? И, наконец, зачем вообще это делать?

В декабре на конференции HolyJS Александр Коротаев (Tinkoff.ru) рассказал, как он сделал браузерную версию «Героев». Ранее уже появилась видеозапись доклада, а теперь для Хабра мы сделали ещё и текстовую версию. Кому удобнее видео — запускайте ролик, а кому текст — читайте его под катом:

Читать дальше →
Всего голосов 214: ↑210 и ↓4+206
Комментарии63

Операционные системы с нуля; уровень 2 (младшая половина)

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

В этой части мы напишем менеджер памяти для того, чтоб разблокировать использование Vec, String, HashMap и всего этого. Сразу после этого реализуем файловую систему FAT32 и подключим драйвер для EMMC (такая штука для общения с SD-карточками). В конце концов в нашей командной оболочке появятся пара новых команд: cd, pwd, cat, ls.


Нулевая лаба


Первая лаба: младшая половина и старшая половина

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

Разработка игр под NES на C. Главы 1-3. От введения до Hello World

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

Впервые я задумался о том, как разрабатывают игры под приставки где-то через 20 минут после того, как в самый первый раз увидел Turbo Pascal. На глаза иногда попадался Subor с клавиатурой, и появилась мысль: "Наверное можно набрать какую-то программу, а потом в нее поиграть". Но интерес быстро затух, потому что абсолютно никакой информации по этой теме тогда не было доступно. Следующий раз эта же идея всплыла, когда увидел вполне играбельные эмуляторы старых консолей. Тогда стало ясно, что вбивать листинг в саму консоль и необязательно. Где-то очень потом появился Хабр с благожелательной аудиторией для таких вещей. В какой-то момент даже начал собирать разрозненную инфу чтобы написать мануал самому, и вот сегодня наткнулся на готовый учебник, который явно надо перевести.


Разработка под старые консоли документирована вдоль и поперек, но именно по NES 99% информации относятся к разработке на Ассемблере. Меня почему-то зарубило, что надо освоить именно работу с С.


следующая >>>
image

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

Создаём собственный физический 2D-движок: части 2-4

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


Оглавление


Часть 2: ядро движка

  • Интегрирование
  • Метки времени
  • Модульная архитектура
    • Тела
    • Формы
    • Силы
    • Материалы
  • Широкая фаза
    • Отсечение дубликатов контактных пар
    • Система слоёв
  • Проверка пересечения полупространств

Часть 3: трение, сцена и таблица переходов

  • Трение
  • Сцена
  • Таблица переходов коллизий

Часть 4: ориентированные твёрдые тела

  • Математика вращения
  • Ориентированные формы
  • Распознавание коллизий
  • Разрешение коллизий

Всего голосов 52: ↑51 и ↓1+50
Комментарии8

Система перемотки времени в стиле Prince of Persia

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

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

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


Демонстрация основных возможностей

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

Готовы? Поехали!
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии13

Постмортем Super Meat Boy

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


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

Потом я вырос… но мало что поменялось.

Super Meat Boy начинался как простой прототип на Flash, который мы в свободное время с моим другом из Интернета Джоном Макэнти (Jon McEntee) создали за три недели. Я не представлял, что он станет одной из моих самых популярных игр на Flash, не говоря уже о выпуске полномасштабной консольной игры.

В 2008 году меня наняли Microsoft и Nintendo, чтобы я создал что-нибудь для их Интернет-магазинов. Изначально я хотел сделать для Microsoft Gish 2, а Nintendo больше заинтересовала расширенная версия Aether, но главным фактором, повлиявшим на меня, стала случайно завязавшаяся дружба.

Я познакомился с Томми Рефенесом в 2008 году. За долгие годы я успел поработать с множеством программистов, и отношения между художниками и программистами всегда были немного отчуждёнными. Работа с Томми напоминала общение с лучшим другом из колледжа, мы чудили и выкидывали трюки, бесившие всех вокруг. Я сразу понял, что любой наш совместный проект будет интересным, именно так и получился Super Meat Boy.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии12

Создаём собственный программный 3D-движок

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

Часть 1: точки, векторы и базовые принципы


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

В этой части мы рассмотрим точки и векторы, а также всё интересное, что с ними связано. Если вы владеете основами алгебры (переменные и математика переменных) и информатики (основы любого объектно-ориентированного языка), то сможете разобраться в этой статье. Но учтите, некоторые из тем будут довольно сложными.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии12

Как (и зачем) мы портировали Shenzhen Solitaire под MS-DOS

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

Кейт Холман и Зак Барт — разработчики из игровой студии Zachtronics. Если вы любите запутанные технические статьи о создании игр для 25-летних компьютеров, возможно, вам понравятся наши игры-головоломки: SpaceChem, Infinifactory, TIS-100 и SHENZHEN I/O!

Приступаем


Смогут ли два программиста, привыкшие к созданию игр для современных компьютеров с гигабайтами ОЗУ и полноцветными HD-дисплеями, портировать свои игры под MS-DOS? Никто из нас не имел опыта разработки на таком старом оборудовании, но работа в искусственно ограниченных системах — основа дизайна игр Zachtronics, поэтому мы были обязаны попробовать!

Проект начался с того, что Зак создал макет SHENZHEN SOLITAIRE, мини-игры в пасьянс из нашей игры SHENZHEN I/O (также продаваемой как отдельная игра). Вот как пасьянс мог выглядеть на экране 256-цветного VGA-дисплея:



Похоже на игры, которые можно было увидеть на экранах PC начала 90-х! Теперь осталось только написать код, правда?
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии20

Как работает видеопроцессор

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

[Прим. пер.: оригинал статьи называется GPU Performance for Game Artists, но, как мне кажется, она будет полезной для всех, кто хочет иметь общее представление о работе видеопроцессора]

За скорость игры несут ответственность все члены команды, вне зависимости от должности. У нас, 3D-программистов, есть широкие возможности для управления производительностью видеопроцессора: мы можем оптимизировать шейдеры, жертвовать качеством картинки ради скорости, использовать более хитрые техники рендеринга… Однако есть аспект, который мы не можем полностью контролировать, и это графические ресурсы игры.

Мы надеемся, что художники создадут ресурсы, которые не только хорошо выглядят, но и будут эффективны при рендеринге. Если художники немного больше узнают о том, что происходит внутри видеопроцессора, это может оказать большое влияние на частоту кадров игры. Если вы художник и хотите понять, почему для производительности важны такие аспекты, как вызовы отрисовки (draw calls), уровни детализации (LOD) и MIP-текстуры, то прочитайте эту статью. Чтобы учитывать то влияние, которое имеют ваши графические ресурсы на производительность игры, вы должны знать, как полигональные сетки попадают из 3D-редактора на игровой экран. Это значит, что вам нужно понять работу видеопроцессора, микросхемы, управляющей графической картой и несущей ответственность за трёхмерный рендеринг в реальном времени. Вооружённые этим знанием, мы рассмотрим наиболее частые проблемы с производительностью, разберём, почему они являются проблемой, и объясним, как с ними справиться.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии12

Магия разработки видеоигр id Software

Время на прочтение15 мин
Количество просмотров30K
От переводчика: эта статья написана Дэвидом Кушнером в 2002 году, годом позже он издал известную книгу «Masters of Doom». Статья показалась мне интересной, потому что в ней есть подробности реализации технологий id, почему-то отсутствующие в книге.

За кулисами экшена и агрессии игр id скрыта революция в технологии настольных компьютеров



image
В течение последних 12 лет эволюция реализма графики Id Software поднимает планку для всей отрасли видеоигр. Среди игр-новаторов находятся [снизу вверх, справа налево] Commander Keen (1990) [прим. пер.: на самом деле на скриншоте Dangerous Dave in the Haunted Mansion], Hovertank (1991), Wolfenstein 3D (1992), Doom (1993), Quake (1996) [прим. пер.: на самом деле Quake II] и Return to Castle Wolfenstein (2001).

После полуночи начинается схватка. Солдаты преследуют нацистов по коридорам замка. Огнемёт изрыгает чудовищный язык пламени. Это Return to Castle Wolfenstein, компьютерная игра, ставшая не только спинномозговым приключением, но и чудом науки. Она же — последний продукт Id Software (Мескит, штат Техас). Благодаря своим технологически инновационным играм id оказала огромное влияние на мир компьютерных вычислений: от привычных в современных PC высокоскоростных полноцветных графических карт высокого разрешения до появления армии программистов и игроков в онлайновые игры, внёсших вклад в поп-культуру.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии19

Ищем сокровища в исходном коде Aladdin

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


На момент своего выхода в 1993 году Disney’s Aladdin на Sega Genesis (или Mega Drive, если в начале 90-х вы жили с другой стороны лужи) была удивительно красивой игрой.

Благодаря использованию технологии, которая позже стала известной, как Digicel, правильному выбору промежуточного ПО и впечатляющему таланту авторов Aladdin смогла выделиться на фоне других игр Genesis той эпохи. Красивая нарисованная от руки графика Aladdin установила новую планку качества для того, чего можно добиться на «железе» Genesis. Это стало возможным не с помощью особенно интересных растровых эффектов или тайных аппаратных приёмов, а благодаря сочетанию эффектной графики, дизайна и правильно выбранной технологии.

Эта уникальная смесь графики и технологий стала основной причиной, позволившей игре Aladdin занять особое место в истории видеоигр. Поэтому мне так радостно было найти архив с полным исходным кодом игры в коллекции Video Game History Foundation! Кроме бесценного источника данных, этот архив является для меня отличной возможностью создать стандарты для сохранения исходного кода, отслеживания зависимостей инструментов и многих других процессо-ориентированных аспектов в VGHF.
Всего голосов 109: ↑107 и ↓2+105
Комментарии14

Создание языка программирования с использованием LLVM. Часть 7: Расширение языка: Изменяемые переменные

Время на прочтение37 мин
Количество просмотров8.1K
Оглавление:

Часть 1: Введение и лексический анализ
Часть 2: Реализация парсера и AST
Часть 3: Генерация кода LLVM IR
Часть 4: Добавление JIT и поддержки оптимизатора
Часть 5: Расширение языка: Поток управления
Часть 6: Расширение языка: Операторы, определяемые пользователем
Часть 7: Расширение языка: Изменяемые переменные
Часть 8: Компиляция в объектный код
Часть 9: Добавляем отладочную информацию
Часть 10: Заключение и другие вкусности LLVM



7.1. Введение


Добро пожаловать в главу 7 руководства “Создание языка программирования с использованием LLVM”. В главах 1-6 мы построили полноценный, хотя и простой, функциональный язык программирования. На этом пути мы изучили некоторые техники парсинга, изучили, как строить и и как представлять AST, как построить LLVM IR, и как оптимизировать результирующий код, и как JIT компилирует его.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии0

10 бесплатных и крутых шрифтов

Время на прочтение5 мин
Количество просмотров77K
Сегодня рассказываем про шрифты, которые часто используют наши дизайнеры — все они бесплатные, минималистичные и удобные в использовании. Надеемся, наша подборка пригодится вам при выборе шрифтов.

Шрифт – часть фирменного стиля, которой нельзя пренебрегать. Форма и начертание букв – основа читабельности и настроения бренда. Текст окружает нас повсюду: название компании, слоган или реклама в журнале. Встречают по одежке. Притягательность текста зависит от того, зацепится ли взгляд за приятные очертания букв или излишние закорючки вызовут отторжение у читателя. Создание шрифтов – наука, но всемирная сеть предлагает неисчерпаемый источник публичных семейств от гуру типографики.

1. Open Sans


image
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии14

Компьютерные сети for dummies

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

После прочтения такого материала как «PHP 7 Д. Котерова», или «byte Of Python», может возникнуть один очень интересный вопрос, и нет, он не будет связан с языком, о котором была книга, он будет взят как правило из первых глав книги, которые обычно посвящаются «устройству интернета», как правило такие книги сильно глубоко пользователя не погружают, и оставляют его на уровне прикладных данных, то есть не дальше чем протокол HTTP, и работа TCP/IP. Но как всем нам известно, есть очень «прожорливые» умы, которым одного только
Каждый из протоколов в идеале «ничего не знает» о том, какой протокол «стоит над ним»
совершено не хватит. Вариантов занять свою «прожорливость» уйма, и сегодня я расскажу об всех основных моментах компьютерных сетей, кратко.

Читать дальше →
Всего голосов 21: ↑9 и ↓12-3
Комментарии69

Магия SSH

Время на прочтение11 мин
Количество просмотров510K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии75

Must-Have 3: игровые интерфейсы и ассеты для дизайнера и художника

Время на прочтение4 мин
Количество просмотров15K
Эти наборы интерфейсов будут незаменимыми для тех, кто хочет придать игре окончательный вид или добавить в нее графический интерфейс, способный объединить остальные ассеты.


Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии2

Дайджест интересных материалов для мобильного разработчика #202 (2-8 мая)

Время на прочтение4 мин
Количество просмотров8.8K
Поздравляем всех с наступающим Праздником! В новой подборке рассказ о разработке в «Тинькофф», компьютерном зрении, о ключевых ошибках в UX и опыте тестировании иконки в Star Walk 2, о лучших библиотеках мая и росте спроса на взрослые раскраски.

Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии0
1
23 ...

Информация

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