На чем писали игры для денди

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

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

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

следующая >>>
На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Всем привет.
На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

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

Особенностью блога будет использование чистого С, так что другие программисты смогут начать писать быстро и не особо вникая в ассемблер для процессора 6502. Насколько мне известно, других туториалов такого формата по компилятору cc65 пока нет, кроме нескольких примеров игр на сайте Shiru.

Также помните, что я не профессионал ни в разработке, ни в ведении блога. Если возникнут вопросы по NES, скорее всего ответы найдутся в Вики.

Я постараюсь максимально упростить обучение, и использовать самые простые примеры. Также рекомендую начать с простейшей идеи игры. Читателю явно захочется сделать новую Зелду, но это не получится. Простейшая игра потребует 2-3 месяца на разработку, Зелда — 2-3 года. Такой проект скорее всего будет заброшен. Ориентируйтесь на Пакман, хотя бы первое время.

Память консоли

Начнем с памяти процессора.

Здесь более подробная информация.

Таблица имен, nametable, связывает тайлы фона и их позицию на экране.

Зеркалирование позволяет управлять горизонтальной или вертикальной прокруткой, но всему свое время.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Еще в PPU есть отдельная область памяти OAM, Object Attribute Memory, размером 256 байт. Доступ к ней реализован через регистры в адресном пространстве процессора, и она позволяет управлять отображением спрайтов.

Другой тип картриджа использует CHR-RAM вместо CHR-ROM. Это позволяет подгрузить часть графики в эту дополнительную оперативную память. Это сложная техника, и в этом туториале не рассматривается.

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

В этом туториале рассматривается только cc65. Это один из лучших компиляторов для 6502, процессора NES.

Во-вторых, надо создать графику. Я использую YY-CHR

Для предобработки графики нужен любой графический редактор: Photoshop или GIMP, по вкусу.

Код удобно писать в Notepad++. У него есть подсветка сишного синтаксиса и нумерация строк — это облегчает отладку.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

А теперь эмулятор. Я использую FCEUX 90% времени, потому что в нем есть крутой дебаггер и инструменты для работы с памятью, просмотрщики спрайтов и все такое. Но он не самый точный в эмуляции. Игры надо будет тестировать где-то еще. Судя по отзывам, самые точные эмуляторы это Nintendulator, Nestopia, и puNES. Еще желательно подгрузить более точную палитру — лежит здесь.

Есть две версии FCEUX — SDL и Win32. Первая работает почти везде, вторая только в Windows. Так вот, отладчик есть только во второй. Так что в случае альтернативной ОС придется воспользоваться виртуалкой или Wine.

И наконец расстановщик тайлов. Мы можем сделать игру без него, но он точно поможет. Я рекомендую NES Screen Tool. Он отлично показывает ограничения консоли по цветам и отлично подходит для одноэкранных игр. Для игр с прокруткой лучше подойдет Tiled map editor.

Как же всем этим пользоваться?

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Надо сжать изображение до адекватного размера, например 128 пикселей в ширину. Потом преобразовать в 4 цвета и подправить при необходимости огрехи. Теперь можно копипастить в YY-CHR.

В YY-CHR надо проверить, чтобы цвет был двухбитный.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Палитра сейчас не имеет значения, потому что она все равно задается в другом месте.

Как работает сс65

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

В приставке используется 8-битный процессор MOS 6502. Он не умеет просто обращаться к переменным больше 8 бит. Адресация 16-битная, из математики есть только сложение, вычитание и битовые сдвиги. Так что код придется писать с учетом этих факторов.

Оптимизация жизненно необходима, потому что у 8-битного процессора очень мало ресурсов, и в некоторых случаях надо следить за временем выполнения кода. А обычный код на С этим требованиям не соответствует.

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

а если это символ из нулевой страницы памяти, то добавьте директиву

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

а потом импортировать в С как

Знак _ здесь критичен, потому что при компиляции в ассемблерный код cc65 добавляет _ перед каждым именем переменной. Нам надо этому соответствовать.

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

Еще можно вставлять ассемблерный код прямо в сишный. Я так почти никогда не делаю, но наверное иногда это необходимо. Выглядит примерно так:

Кроме того, я заменил громоздкий код инициализации crt0.s на компактный reset.s, и подправил конфигурацию для всего этого. Эти файлы иногда будут меняться. nes.lib используется стандартный, из состава компилятора. Проект собирается с опцией –add-source, которая не удаляет промежуточные ассемблерные файлы — можно порассматривать сгенерированный код.

Удобней определить переменные в сишном коде, а потом импортировать в ассемблерный через

Но это вопрос вкуса, на мой взгляд, такой код наглядней.

Hello World

Эта программа будет просто печатать текст на экране. Надо помнить, что приставка вообще не знает про кодировку ASCII и работу с текстом в любом виде. Но зато есть возможность вывести картинки размером 8х8 поверх фона.

Так что делаем массив спрайтов-букв, чтобы адреса букв в нем соответсвовали их ASCII-кодам. Потом их можно будет дернуть из кода на С.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Код инициализации приставки пока берем как есть, после его выполнения происходит переход на main().

Нам надо сделать такие операции:

Выключение экрана нужно, потому что работа с видеопамятью вызывает мусор на экране. Надо или выключить экран, или ждать кадровый гасящий импульс (V-Blank). Детально этот вопрос мы рассмотрим в следующий раз.

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

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Дропбокс
Гитхаб
На Гитхабе чуть исправил Makefile, чтобы корректно работал под Windows.

Включение экрана через “PPUMASK = 0x1e” описано в Вики.

Источник

Как писали игры для приставок: чудеса оптимизации и жёсткий кодинг

Для всех, кто вырос, проходя восьмибитного Марио.

В 1980-х годах, когда приставки только появлялись, вышла NES — Nintendo Entertainment System. В Россию она попала в виде китайского клона «Денди», «Кенги» и прочих, поэтому если у вас была восьмибитная приставка, то это была NES.

У NES было очень мало памяти и очень медленный по нынешним меркам процессор. Эта статья о том, как сделать крутую игру в очень ограниченных условиях.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиТа самая приставка, справа пока ещё две кнопки вместо четырёх. Для разбора мы взяли видео из канала Morphcat Games — How we fit an NES game into 40 Kilobytes. Там разработчики повторяют опыт геймдизайнеров прошлого и пишут игру для старого железа. Как обычно, если знаете английский, то лучше посмотрите видео целиком, а если нет — держите наш текстовый вариант.

Почему именно 40 килобайт

В 1980-х объём памяти на цифровых устройствах измеряли в килобайтах, потому что ещё не было таких продвинутых её технологий. В большинстве картриджей для восьмибитных приставок было по 40 килобайт памяти. Для сравнения, это в сто тысяч раз меньше, чем на флешке в 4 гигабайта. Даже эта статья весит больше, чем 40 килобайт, так что по современным меркам этого действительно мало.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиДва блока памяти в картриджах, 8 и 32 килобайта, в сумме — 40 килобайт.

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

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

Одна из игр, которая взорвала мозг всем в своё время, была та самая «Супер Марио»: в ней было огромное количество разнообразных уровней разной сложности, боссы, секретные уровни и непростой, очень насыщенный геймплей. Были уровни на земле, под землёй, под водой и даже на небе; у героя было несколько режимов — низкий, высокий, в белом комбинезоне. А как вам идея разрушаемого мира? А как вам атаки с воздуха? Короче, «Марио» была безумной, невероятной игрой для своего времени, а всё благодаря оптимизациям.

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

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди«Супер Марио» — игра, в которую играл каждый, у кого была приставка.

Логика игры

Чтобы в игру было интереснее играть дольше пяти минут, разработчики поставили такие требования:

Так как у нас ограничения по памяти, всю игру пишут на Ассемблере — это язык, который работает напрямую с процессором. С одной стороны, код Ассемблера исполняется очень быстро; с другой — в нём работа идёт тупо с перекладыванием данных из одной ячейки процессора в другую. Это примерно как готовить суши, работая с индивидуальными рисинками.

Память распределили так:

Персонажи

В игре есть два вида графики: статичный фон и движущиеся предметы — игроки, противники, боссы и выстрелы. Всё, что движется, называется спрайтами. Разработчики делят всю графическую память на две части — одну под спрайты, вторую под фон:

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиКаждая клеточка — это мини-квадратик 8 на 8 пикселей. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиВ каждом таком квадратике можно что-то нарисовать, но использовать при этом только три цвета. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиЕсли объединить несколько квадратиков в один, получится метаспрайт. В нашем случае — персонаж. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиПриставка может использовать одновременно только 4 вида палитры, поэтому у нас получается 4 цветных главных героя и нераскрашенный злодей. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиНовое ограничение: на экране одновременно может быть только 8 спрайтов — на большее не хватает памяти. Поэтому для злодея места не остаётся. Можно пойти на хитрость и показывать их быстро-быстро по очереди, но тогда картинка будет мерцать и выглядеть хуже. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиРазработчики радикально уменьшили размеры героев и злодея до одного спрайта. Теперь они выглядят более условно, зато помещаются на экран. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиМеньше размер героя — больше свободного места для дизайна злодеев, боссов и спецэффектов. Сейчас в табличке собраны все варианты того, как может выглядеть персонаж в игре — и в прыжках, и на бегу.

Большой босс и оптимизация памяти

Если с персонажем всё стало проще, когда его уменьшили, то с боссом всё немного сложнее. Он большой, занимает много места и у него много анимации. Задача — сделать так, чтобы боссы занимали как можно меньше места в памяти.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиБольшой босс и все его варианты анимации. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиЕсли мы распределим все спрайты по таблице один в один, то у нас быстро закончится место и один кусочек не поместится. Запомните эту картинку как пример неоптимизированной работы с памятью. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиДля начала разработчики разбили босса горизонтально на три части, и каждая анимируется отдельно. Видно, что анимация причёски состоит из трёх картинок, каждая из которых немного отличается от остальных. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиЕсли разбить картинки с причёской на отдельные квадратики, то мы заметим, что у них есть повторяющиеся части. Поэтому достаточно нарисовать одну деталь, а потом использовать её во всех трёх вариантах причёски. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиНаходим оставшиеся одинаковые части и тоже оставляем только одну из них. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиА вот тут видно, что это один и тот же спрайт, только в зеркальном виде. Компьютеру несложно нарисовать его отражённым, поэтому тоже можно смело оставить только один из них. С последними треугольничками в каждой картинке — то же самое: это отзеркаленные первые спрайты. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиВ итоге вся верхняя часть босса вместе с анимацией поместилась в четырёх спрайтах. Это и есть оптимизация: было 16 спрайтов, стало 4. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиТо же самое делают для средней части. Сейчас она занимает 3 × 8 = 24 спрайта. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиА сейчас — 7. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиПосле полной оптимизации босс занимает всего 21 спрайт. Из этих кусочков собирается итоговый вид босса. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиСравните с первоначальным вариантом до оптимизации 🙂

Карта

Для карт у нас столько же памяти, сколько и на спрайты (то есть мало), поэтому разработчики будут действовать так же:

Главная задача на этом этапе — максимальная экономия видеопамяти. Для этого каждый экран с уровнем игры разбивается не на метаплитки 2 × 2, как в примере выше, с персонажем, а на метаметаплитки или суперплитки — 4 × 4 ячейки. Вот для чего это нужно:

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиЕсли разбить просто на квадратики 8 × 8, как в памяти, то вся видимая на экране часть уровня займёт 960 байт. Это почти килобайт, и это очень много. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиРазбивают уровень на метаплитки 16 × 16. Теперь на одну карту нужно 240 байт, чтобы пометить каждую такую метаплитку, но это всё равно много. Уменьшаем дальше. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиТеперь уровень делится на супербольшие плитки по 16 ячеек в каждой. В итоге для того, чтобы пронумеровать каждую такую суперплитку, нужно всего 60 байт. Уже можно работать. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиВот так собираются метаплитки — из четырёх ячеек в памяти. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиТеперь можно собирать такие метаплитки в виртуальные наборы и каждой присвоить какой-то код. Но и это ещё не всё. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиВот теперь получилась суперплитка. Это готовый блок для уровня, и чтобы собрать такое, нужно совсем немного памяти. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиКоллекция виртуальных суперплиток. С ними можно сделать любые уровни и фоны.

Рисуем карты (и оптимизируем их)

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

Первый вариант — уменьшить количество памяти для отрисовки карты: сделать их симметричными, что даст нам 30 байт вместо 60. Мы рисуем одну половинку карты, а потом просто отзеркаливаем её. Сравним с картой, которую мы бы хотели получить:

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиВроде всё на месте, а выглядит плохо — сразу видна симметрия и доступ наверх закрыт блоками.

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

Если вы не знаете, что такое двоичная система счисления, — почитайте нашу статью об этом, а потом вернитесь сюда.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди4 суперплитки дают 4 бита. Посмотрим, что можно с ними сделать. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиСначала делают симметричный уровень… На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиА затем сдвигают верхнюю полосу вправо по кругу. 1100 — это 12 в десятичной системе счисления, именно столько сдвигов вправо нужно сделать, чтобы получилось как на картинке. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиТо же самое делают с третьей строкой и получают уже приемлемое начало уровня.

Действуя таким образом, разработчики могут менять уровни до неузнаваемости, не затрачивая при этом вообще лишней памяти. Помним, что наш экран — это ещё не весь уровень, сверху нужно нарисовать ещё много раз по столько же.

Добавляем в игру сложный режим

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

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

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиЧтобы игрок понял, что начались трудности, просто меняют палитру. Это почти столько же по памяти, но выглядит сложнее. На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для дендиУровень можно поменять так: берут исходную картинку, накладывают сверху новые детали и получают сложную локацию. В среднем на это уходит по 7 байт на каждый экран.

В чем оптимизация, брат

Источник

Как писались игры на Dendy

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Всё ещё пишут игры для нэс? Дайте примеров годных новых игр плз, это же в тысячу раз лучше говна из плэймаркета

А если для сеги есть новые, то я совсем в экстазе буду

Слишком холодно для праведности

Бывает.

Муж купил снегоход. Я возмутилась:
— А ничего, что ипотека?!
Свекровь:
— У мужчин должны быть свои игрушки.

Я купила себе оверлок. Шью и давно мечтала об этом аппарате. А тут как раз предпраздничная скидка.
Свекровь:
— И нафига? Нет бы что полезное в дом. Тем более, у вас ипотека!
— Второй снегоход, например?

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Бесплатное кафе

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Нашел себе календарь

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Участковый

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

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

Допив, кидает бутылку в стену нашего офиса и разбивает одну из облицовочных плиток, после чего оба парня убегают.

Тут же был вызван участковый, который посмотрел запись, взял свой телефон, набрал номер, и… «Вася (имя изменено), ты нахера бутылку в здание бросил?» Тот, судя по всему, начал оправдываться, участковый снова: «У тебя 30 минут, жду у себя в кабинете». И ушёл.

Ровно через час приходит тот парень, извиняется, берет образец плитки, едет, покупает новую и ставит на место, после чего извиняется еще раз и уходит.

Так я к чему? Хороший участковый знает всех алкашей и гопников на своем участке. Наш, судя по всему, знает).

p.s. опорный пункт полиции находится ровно в 10 метрах от нашего офиса.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Русская хтонь

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Ничего святого

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Экспертиза за 382 000 рублей для студента

Подал на меня в суд сосед с требованием снять отопительный котел (полностью оформленный по всем правилам).

Ленинский районный суд г. Пензы назначил строительно-техническую экспертизу в лаборатории в Саранске. Организация при Минюсте РФ. Специалист выдал заключение, что переустройство соответствует строительным нормам и правилам; а установленный котел не угрожает жизни и здоровью других людей. Обошлась эта экспертиза в 25 тысяч рублей.

Суд усомнился в правильности данного заключения (интересно почему. )

В итоге суд назначает повторную экспертизу, на этот раз ее должна провести частная московская фирма АНО «Центр технических экспертиз». Стоимость заключения — 300 тысяч рублей. Что в 12 раз превышает рыночную. На слушаниях мы настаивали на том, чтобы провести экспертизу в других организациях по рыночной цене. Но судья И. Егорова вынесла вердикт, чтобы все проверяли по новой, и именно в московской лаборатории. Ее не смутили наши доводы, что цена данной экспертизы явно завышена, и что я — студент, ее просто по деньгам не потяну.

Московские эксперты, такие «эксперты»

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

Суд удовлетворило представленное заключение. Оно, понятное дело, не в мою пользу. Суд постановил снять котел из квартиры, что уже сделано.

Однако это не снимает ряда вопросов к московским «экспертам» из АНО «ЦТЭ».

1) Почему они так и не дали ответа по соответствию индивидуального газового котла санитарным и противопожарным нормам. Это, собственно, тот пункт, из-за которого и назначалась повторная экспертиза.

2) Из чего сложилась столь баснословная сумма за исследование — 382 100 рублей?

Несколько месяцев назад я обратился в ФАС, чтобы узнать финансово-экономическое обоснование стоимости экспертизы.

И получил обескураживающий ответ.

Экспертиза за бешеные деньги

В представленной калькуляции затрат при производстве, мягко скажем, спорной экспертизы 10 пунктов. В статьи затрат включены пункты работ, которые не проводились, и это было озвучено в суде. Например, за «выезд специалиста на осмотр» «Центр технических экспертиз» выставил 70 000 рублей, но этого по факту не было, так как меня даже в городе не было.

Идем дальше. 60 тысяч рублей в лаборатории запросили за то, что якобы они проводили исследование «с целью ответа на вопрос о соответствии переустройства системы отопления санитарным и противопожарным нормам и правилам». Оно, как понимаем, точно также не проводилось, и это подтверждено специалистами лаборатории в суде.

Еще 30 тысяч АНО «ЦТЭ» решила «содрать» за исследование с целью фиксации последствий отключения. Как вы уже поняли, его тоже никто не проводил.

И еще в итоговый прайс внесено несколько пунктов, которые специалисты не выполняли.

Таким образом, несуществующую работу московская лаборатория оценила в 292 100 рублей. Неплохо, согласитесь.

Но и по оставшимся трем, имевшим место пунктам, есть вопросы. Их лаборатория оценила в скромные 90 тысяч рублей.

Чтобы доказать абсурдность выставленного счета московской лабораторией, был отправлен запрос в АНО «ЦТЭ» от другого человека, с вопросом, сколько будет стоить аналогичная проверка оборудования.

Нам ответили, что цена экспертизы составит 32 тысячи 100 рублей.

Сейчас дело находится на обжаловании в саратовском суде. Сейчас с меня по решению суда хотят взыскать порядка 430 тысяч рублей. 382 100 — за «экспертизу» от московских товарищей, остальная сумма — судебные расходы.

На суды надежды мало, разве что на огласку.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Слушай песеля

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

В Одинцово смуглый бородатый курьер напал на Сергея с 7-летней дочкой после сделанного замечания о парковке

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

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

Сергей подошел ближе к автомобилю, сделал замечание водителю и попросил убрать авто, однако в ответ услышал отказ в грубой форме.

Мужчина решил не связываться с агрессивным водителем и, взяв дочку за руку, попытался протиснуться рядом с припаркованным на тротуаре авто. Места было настолько мало, что Сергей задел курткой автомобиль. Водитель, наблюдавший за действиями мужчины из салона, внезапно выскочил на улицу. Разъяренный курьер подбежал к мужчине с ребенком и сильно ударил Сергея по голове. Сергей оттолкнул агрессивного курьера в сторону и загородил собой дочку. Курьер выкрикивал оскорбления и угрожал избить мужчину, если тот сейчас же не уйдет.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Экзамен автоматом

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Инвалиды и толерастия

У меня дико подгорело.

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

Весь цимес в том, что решения о том, оскорбляет ли термин «инвалид» инвалидов принимают НЕ инвалиды, а вполне себе здоровые (хотя и вкрай охуевшие) личности.

Обе ноги парализованы выше колена. Вторая группа пожизненно. Это к вопросу, с чего это я тут так развыступался.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

При этом, у меня 15 лет стажа работы на руководящих должностях в ИТ, 11 лет педагогического стажа на должности зав. кафедрой.

На чем писали игры для денди. Смотреть фото На чем писали игры для денди. Смотреть картинку На чем писали игры для денди. Картинка про На чем писали игры для денди. Фото На чем писали игры для денди

Очень хорошо мои чувства к этому вопросу выразил Владимир Абрамов у книге «Дедушка П»:

Так что, как минимум, я не один в своих убеждениях.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *