Пожалуй, многие из вас помнят, какими были мобильные игры до и после выхода первого iPhone. В начале 2000-х годов, ещё до появления яблочного смартфона, игры для телефонов в основном были весьма интересными, но тем не менее, достаточно простенькими с точки зрения графики и реализации в целом. После запуска AppStore в 2008 году, на iPhone начали выходить самые разные красочные, невиданные раннее по уровню детализации и проработке 2D и 3D игры. Но появление таких игр — отнюдь не заслуга Apple, а относительной малоизвестной компании PowerVR (подразделение Imagination Tech), которая смогла разработать на базе видеочипа Dreamcast и внедрить один из первых действительно массовых мобильных 3D-ускорителей, имя которому — PowerVR MBX! Сейчас мы с вами привыкли, что почти любой дешевый смартфон может отрисовывать графику уровня PS3 в 1080p, а то и выше, но когда-то даже уровень PS2 был роскошью… Сегодня мы с вами: узнаем предысторию появления аппаратно-ускоренной 3D-графики на телефонах, рассмотрим такую фирменную фишку PowerVR, как тайловый рендеринг, а в практической части статьи нам поможет легендарный КПК Dell Axim X51v с MBX на борту, под который мы напишем 3D-игру «про жигули» с нуля! Интересно? Тогда добро пожаловать под кат!Читать полностью »
Рубрика «ненормальное программирование»
Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля
2024-03-14 в 8:01, admin, рубрики: 2d, 3d, 3d графика, appstore, bodyawm_ништячки, d3d, direct3d, iphone, j2me, java, MBX, nokia, PowerVR MBX Lite, sony ericsson, symbian, timeweb_статьи, WAP, игры, кпк, ненормальное программирование, программирование 3DПро́клятый огонь, или магия препроцессора C
2024-01-21 в 16:13, admin, рубрики: магия, ненормальное программированиеЗадавались ли вы когда-нибудь вопросом, можно ли полноценно программировать при помощи директивы #define
в языке C? Полнота по Тьюрингу шаблонов C++ известна весьма широко, например, люди пишут трассировщики лучейЧитать полностью »
Что ты такое, dhclient?
2023-11-20 в 7:02, admin, рубрики: dhclient, dhcp, iptables, linux, администрирование, ненормальное программирование, сетевые протоколы, яндексСетевой стек Linux не прост даже на первый взгляд: приложение — в юзерспейсе, а всё, что после сокета, — в ядре операционки. И там тысяча реализаций TCP. Любое взаимодействие с сетью — системный вызов с переключением контекста в ядре.
Чтобы лишний раз не дёргать ядро прерываниями, придумали DMAЧитать полностью »
Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?
2023-10-06 в 8:01, admin, рубрики: 3d, 3d графика, bodyawm_ништячки, bodyawm_программирование, d3d, direct3d9, DirectX, Gamedev, gpu, OpenGL, timeweb_статьи, автоваз, ваз, геймдев, гонки, графика, жигули, игры, ненормальное программированиеСтатьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая хаброторная статья о разработке игры с нуля? Тогда добро пожаловать!Читать полностью »
Я люблю питон, и вот почему он меня бесит
2023-08-10 в 5:36, admin, рубрики: python, господи за что, КодоБред, недостатки, ненормальное программирование, Питон, погромист, Программирование, Совершенный код, язык программирования, язык программирования pythonВас приветствует ваш зануда!
Если вы следите за моей ленивой активностью, то заметили бы, что у меня много от чего пригорает. Вот, например:
-
У меня пригорает от низкосортных статей на потоке: Питон против Безумного Макса, или как я посты на Хабре замораживал
-
У меня пригорает от Django: Читать полностью »
Внутреннее представление и оптимизации строк в JavaScript-движке V8: «отмываем» строки, «обгоняем» C++
2023-08-08 в 9:00, admin, рубрики: javascript, node.js, nodejs, ruvds_статьи, V8, Блог компании RUVDS.com, Компиляторы, ненормальное программирование, оптимизацияС самого рождения JavaScript в каком-то смысле был языком для манипулирования текстом — от веб-страничек в самом начале до полноценных компиляторов сейчас. Неудивительно, что в современных JS-движках достаточно много сил уделено оптимизации внутреннего представления строк и операций над ними.
В этой статье я хочу рассмотреть, как могут быть представлены строки в движке V8. Попытаюсь продемонстрировать их эффект, обогнав C++ в очень честном бенчмарке. А также покажу, в каких случаях они могут, наоборот, привести к проблемам с производительностью, и что в таких случаях можно сделать.Читать полностью »
Релейный компьютер, телетайп и интересный алгоритм игры в крестики-нолики
2023-08-03 в 5:07, admin, рубрики: a fistful of relays, consul 254, diy или сделай сам, крестики-нолики, ненормальное программирование, разработка игр, Сезон DIY, старое железо, телетайпКрестики-нолики – классическая игра, которую наверное пытался написать каждый. При этом программы иногда получаются довольно запутанные, несмотря на простоту правил. Электромагнитные реле – классическая элементная база для компьютеров и калькуляторов. Они тёплые, ламповыеЧитать полностью »
Пишем микро-shellcode в формате ELF вручную
2023-07-21 в 0:23, admin, рубрики: AmateursCTF, AmateursCTF 2023, ctf, elf, ELFcrafting-v2, golf, python, shellcode, ненормальное программированиеНа Хабре уже не раз публиковались статьи про устройство формата ELF и написание файлов в таком формате вручную, но я не считаю лишним опубликовать и свой вариант решения этой задачи. В результате получился файл, вызывающий /bin/sh
и занимающий всего 76 байт (что на 8 байт меньше, чем сумма длин заголовков ELF, необходимых для запуска).
Постановка задачи
Начну с того, откуда взялась задача. На этой неделе проходил AmateursCTF 2023, одной из задач на pwn была «ELFcrafting-v2»:
The smallest possible 64 bit ELF is 80 bytes. Can you golf it down to 79 bytes?
NFC-крокодил: продвинутая разработка под Flipper Zero
2023-07-19 в 11:45, admin, рубрики: C, flipper zero, NFC, Блог компании Selectel, крокодил, ненормальное программирование, реверс-инжинирингМое желание делать игры с использованием различных неподходящих для этого технологий только прогрессирует. Мне показалась забавной идея реализовать игру «крокодил», где нужно объяснять слова через пантомиму, с использованием технологии NFC. При считывании метки выбирает случайное слово из памяти и отдает его телефону. Игрок видит слово на своем телефоне и начинает его показывать. К сожалению, существующие и легкодоступные NFC-метки не умеют существенно изменять содержимое без команды перезаписи.
Недавно коллеги из Selectel одолжили мне Flipper Zero, который может прикидываться NFC-меткой с любым содержимым. В интернете множество материалов о Flipper Zero. Обзор, еще один обзор, инструкция, как настроить IDE для разработки приложений, обзор внутренностей, быстрый старт и первое приложение…
В этой статье я расскажу про подход к организации GUI-приложений на Flipper Zero, про работу с NFC и NDEF, а также о том, как не бояться отсутствия документации в активно развивающемся проекте.
Читать полностью »
Звучащий код — пишем музыку на языке ByteBeat
2023-06-24 в 22:17, admin, рубрики: Brainfuck, bytebeat, chiptune, open source, sizecoding, Блог компании Undefined DIY fest, взрыв мозга, Демосцена, зачем программисту математика, звук, ненормальное программирование, функциональное программированиеДорогой Хабр, через два месяца мне предстоит организовать и провести фестиваль компьютерного искусства, поэтому я уже сейчас собираю информацию про необычные проявления демосцены, на которые обычно никто не обращает внимания. Язык программирования для генеративной музыки ByteBeat — это как раз то, что я ищу.