---
title: "От Breakout (1976) до Arkanoid (1986): как ускорение мяча, прочные блоки и капсулы превратили отскок в глубокую игру"
description: "История жанра «разбей блоки»: правила Breakout 1976 года (8 рядов, очки 1/3/5/7, четыре ступени ускорения мяча, ракетка вдвое короче, максимум 896 очков), прототип Возняка на 44 микросхемах, Super Breakout с несколькими мячами и Arkanoid от Taito (июль 1986) с прочными и неразрушимыми блоками, капсулами-бонусами и боссом DOH. Плюс шаблон блоков и бонусов и код на JavaScript для своей игры."
slug: istoriya-arkanoidov-ot-breakout-do-arkanoid-1986
date: 2026-11-04
updated: 2026-11-04
scheduled_at: "2026-11-04T14:00:00+03:00"
rubric: istoriya-2d-igr
tags: ["istoriya-igr", "arkanoid", "gejmdizajn", "shkolnikam", "novichkam"]
reading_time: 9
draft: false
summary: "Breakout (Atari, май 1976) превратил Pong в игру для одного человека и заложил три рычага сложности: ускорение мяча по счётчику ударов, укорачивание ракетки и ценность верхних рядов. Через десять лет Arkanoid (Taito, июль 1986) добавил блоки, которые выдерживают несколько ударов или не разбиваются вовсе, капсулы-бонусы и 33 разных уровня с боссом. Каждая из этих идей — отдельный параметр, который легко повторить в своей игре: в статье есть таблица типов блоков и проверенный код на JavaScript."
---

## Коротко

*Breakout* (Atari, 13 мая 1976 года) сделал из *Pong* игру для одного человека и заложил три рычага сложности: ускорение мяча по счётчику ударов, укорачивание ракетки и более ценные верхние ряды. *Arkanoid* (Taito, июль 1986 года) через десять лет добавил прочные и неразрушимые блоки, капсулы-бонусы и `33` разные раскладки с боссом. Ниже — точные правила обеих игр, что из них следует для геймдизайна, шаблон типов блоков и код на JavaScript, который повторяет эти правила в своей игре.

## Содержание

1. Breakout 1976: точные правила одной стены
2. Прототип на 44 микросхемах и путь к домашним версиям
3. Arkanoid 1986: что изменилось через десять лет
4. Три рычага глубины: разбор с точки зрения геймдизайна
5. Практический сценарий: блоки с прочностью и капсулы в коде
6. Когда вам это не подойдёт

## Breakout 1976: точные правила одной стены

*Breakout* — это одна стена из `8` рядов кирпичей, один мяч и три попытки, чтобы разбить два экрана. Правила аркадной версии описаны так (Wikipedia, статья *Breakout (video game)* со ссылками на материалы Atari, проверено: ноябрь 2026):

Таблица: Ряды и очки в Breakout

| Ряды (снизу вверх) | Цвет | Очков за кирпич |
|---|---|---|
| 1–2 | Жёлтый | `1` |
| 3–4 | Зелёный | `3` |
| 5–6 | Оранжевый | `5` |
| 7–8 | Красный | `7` |

Максимум за один экран — `448` очков, за игру — `896` (два экрана). Из этих чисел можно восстановить длину ряда: в каждом цвете по два ряда, поэтому

```text
448 = 2 × (1 + 3 + 5 + 7) × N = 32 × N   →   N = 14 кирпичей в ряду
всего кирпичей на экране: 8 × 14 = 112
```

Сложность в *Breakout* растёт не со временем, а по событиям:

- мяч ускоряется после `4` ударов, после `12` ударов и при первом касании оранжевого и красного рядов;
- когда мяч пробивает красный ряд и касается верхней стенки, ракетка становится вдвое короче.

Сам автомат был монохромным: цвет рядам давали полоски цветной плёнки, наклеенные на экран.

## Прототип на 44 микросхемах и путь к домашним версиям

Прототип *Breakout* собрали без процессора, на дискретных логических микросхемах. Бушнелл предложил Стиву Джобсу `750` долларов за прототип и бонус `100` долларов за каждую микросхему меньше `50`; Стив Возняк спроектировал схему на `42` микросхемах, а собранная вместе с Джобсом плата-прототип содержала `44`. Atari не смогла запустить эту плотную схему в серийное производство и выпустила свою версию примерно на `100` микросхемах; по словам Возняка, игровой процесс и тайминги остались теми же (там же, со ссылками на интервью BYTE 1984 года и книгу Возняка *iWoz*, 2006).

Дальше жанр развивался так:

| Год | Игра | Что добавила |
|---|---|---|
| 1974 | *Clean Sweep* (Ramtek) | Предшественник: мяч стирает поле из точек |
| 1976 | *Breakout* (Atari) | Стена кирпичей, ускорение мяча, укорачивание ракетки |
| 1978 | *Super Breakout* (Atari) | Режимы с несколькими мячами одновременно |
| 1978 | *Breakout* для Atari 2600 | Цветная графика; `6` рядов вместо `8` и `5` попыток вместо `3` из-за ограничений приставки |
| 1986 | *Arkanoid* (Taito) | Прочные блоки, капсулы-бонусы, враги, босс |

## Arkanoid 1986: что изменилось через десять лет

*Arkanoid* превратил одну стену в последовательность уровней с разными блоками и бонусами. Игру сделали дизайнеры Taito Акира Фудзита и Хироси Цудзино; проект вырос из внутреннего конкурса, где две команды делали свою «разбей блоки», а победителей попросили объединить идеи. Неоновый стиль вдохновлён фильмом *«Трон»* (1982), а тестирование на игровых площадках началось всего через месяц после начала разработки. В Японии игра вышла в июле 1986 года (Wikipedia, статья *Arkanoid* со ссылками на интервью Цудзино в блоге BEEP!, 2019, и справочник М. Акаги, 2006, проверено: ноябрь 2026).

Что появилось по сравнению с *Breakout*:

- **Прочность блоков:** большинство блоков разбивается с одного удара, некоторым нужно несколько, а некоторые не разбиваются вовсе.
- **Капсулы:** часть блоков при разрушении роняет капсулу; если поймать её ракеткой (кораблём *Vaus*), она даёт бонус — длиннее корабль, несколько мячей, пушки, временное замедление мяча или дополнительную жизнь.
- **Враги:** летающие фигуры мешают мячу, их можно сбить за бонусные очки.
- **Уровни и босс:** у каждого этапа своя раскладка; на последнем (`33`-м в большинстве версий, `36`-м на NES) ждёт босс DOH, и продолжить после потери всех жизней уже нельзя.

Журнал *Compute!* в 1989 году отмечал, что кроме *Breakout* в *Arkanoid* видны элементы *Pong*, *Space Invaders* и *Pac-Man* — последний именно в бонусах.

## Три рычага глубины: разбор с точки зрения геймдизайна

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

1. **Темп по событиям, а не по таймеру.** В *Breakout* мяч ускоряется после `4` и `12` ударов и при достижении верхних рядов. Игрок сам приближает ускорение своими успехами, поэтому рост сложности ощущается как заслуженный, а не как случайный.
2. **Прочность как число.** Блок на `3` удара — это объект с переменной `Прочность = 3`. Один параметр меняет и время прохождения уровня, и маршрут мяча: неразрушимые блоки превращаются в стены, которые направляют отскок.
3. **Риск ради награды.** Падающая капсула заставляет выбирать: сдвинуть корабль за бонусом или остаться под мячом. Это главное новое решение, которое *Arkanoid* добавил игроку.

Таблица: Шаблон типов блоков для своей игры (наши стартовые значения, а не данные Arkanoid)

| Тип | Прочность | Очки | Шанс капсулы |
|---|---|---|---|
| Обычный | `1` | `10` | `10%` |
| Крепкий | `2` | `30` | `20%` |
| Бронированный | `3` | `60` | `30%` |
| Стена | неразрушимый | — | `0%` |

## Практический сценарий: блоки с прочностью и капсулы в коде

Все три рычага укладываются в несколько десятков строк: прочность — число у блока, ускорение — счётчик ударов, капсула — бросок случайного числа в момент разрушения. Задача: поле из `5` рядов по `10` блоков, мяч ускоряется после `4` и `12` ударов как в *Breakout*, блоки берут прочность из шаблона выше, а при разрушении с заданным шансом падает капсула «длинная ракетка». Множитель ускорения `1,15` — наше значение, а не данные оригинала.

```js
// Типы блоков из таблицы-шаблона (наши стартовые значения).
const BLOCK_TYPES = {
  normal: { hp: 1, score: 10, capsuleChance: 0.10 },
  strong: { hp: 2, score: 30, capsuleChance: 0.20 },
  armored: { hp: 3, score: 60, capsuleChance: 0.30 },
  wall: { hp: Infinity, score: 0, capsuleChance: 0 },
};
const SPEEDUP_AT = [4, 12]; // удары, после которых мяч ускоряется, как в Breakout
const SPEEDUP = 1.15;       // наше значение

function makeLevel(rows, cols, typeForRow) {
  const blocks = [];
  for (let r = 0; r < rows; r++) {
    for (let c = 0; c < cols; c++) {
      const t = typeForRow(r);
      blocks.push({ type: t, hp: BLOCK_TYPES[t].hp, row: r, col: c, alive: true });
    }
  }
  return { blocks: blocks, hits: 0, score: 0, ballSpeed: 300, capsules: [] };
}

// Вызывается, когда мяч столкнулся с блоком. random — функция 0..1.
function onBallHitBlock(game, block, random) {
  if (!block.alive || block.type === "wall") return; // стена только отражает мяч
  block.hp -= 1;
  game.hits += 1;
  if (SPEEDUP_AT.indexOf(game.hits) !== -1) game.ballSpeed *= SPEEDUP;
  if (block.hp <= 0) {
    block.alive = false;
    const t = BLOCK_TYPES[block.type];
    game.score += t.score;
    if (random() < t.capsuleChance) {
      game.capsules.push({ kind: "longPaddle", col: block.col, row: block.row, vy: 120 });
    }
  }
}

// Проверка: верхний ряд — бронированные, второй — крепкие, остальные обычные.
const game = makeLevel(5, 10, function (r) { return r === 0 ? "armored" : r === 1 ? "strong" : "normal"; });
let seed = 1;
function rnd() { seed = (seed * 16807) % 2147483647; return seed / 2147483647; } // повторяемый генератор
for (const b of game.blocks) while (b.alive) onBallHitBlock(game, b, rnd);
console.log("ударов:", game.hits);                 // 3×10 + 2×10 + 1×30 = 80
console.log("очков:", game.score);                 // 10×60 + 10×30 + 30×10 = 1200
console.log("скорость:", game.ballSpeed.toFixed(1)); // 300 × 1,15 × 1,15 = 396,75 → toFixed(1) печатает 396.7
console.log("капсул выпало:", game.capsules.length); // при seed = 1 — 11
```

Проверка в Node.js даёт `80` ударов, `1200` очков и скорость `396.7` после двух ускорений (точное значение `396,75`, вывод округлён); число капсул зависит от генератора случайных чисел: при `seed = 1` выпало `11` капсул из `50` блоков. Удалять разбитые блоки из массива прямо во время обхода не нужно: флаг `alive` и уборка после кадра безопаснее — подробно об этом в статье о спавне и удалении объектов.

## Когда вам это не подойдёт

Схема «стена, мяч, бонусы» хорошо работает для коротких аркадных сессий, но не для любой игры:

- **Нужна точная копия оригинала:** чисел вроде точной скорости мяча и шансов выпадения капсул в *Arkanoid* в проверенных источниках нет, поэтому значения в шаблоне — наши стартовые, их подбирают тестированием.
- **Физика с вращением мяча и сложными отскоками:** для точного управления углом отскока от разных частей ракетки нужна отдельная формула; она разобрана в статье об истории ключевых механик 2D-игр.
- **Повествовательная игра без «счёта»:** весь интерес жанра держится на очках, рекорде и росте темпа; если их нет, механика быстро надоедает.

Мы разрабатываем **J2DRU** — браузерный 2D игровой движок; он в разработке и публично пока не открыт, заявку можно оставить на [странице раннего доступа](/early-access?utm_source=blog&utm_medium=article&utm_campaign=istoriya-arkanoidov-ot-breakout-do-arkanoid-1986) (подача заявки не гарантирует приглашение).

**Источники (проверено: ноябрь 2026):** Wikipedia, *Breakout (video game)* — дата выпуска, ряды и очки, ускорение мяча, ракетка, 448/896 очков, прототип на 42/44 микросхемах (BYTE, 12.1984; S. Wozniak, *iWoz*, 2006), версия Atari примерно на 100 микросхемах, *Clean Sweep*, *Super Breakout*, версия для Atari 2600; Wikipedia, *Arkanoid* — Фудзита и Цудзино, конкурс внутри Taito, «Трон», выпуск в июле 1986, 33/36 раундов, DOH, капсулы, *Compute!* 07.1989. Число кирпичей в ряду, шаблон типов блоков, множитель ускорения и код — наши.

**Читайте также:**
- [От первых аркад и «Змейки» до инди-хитов: история ключевых механик 2D-игр](/blog/istoriya-klyuchevyh-mehanik-2d-igr)
- [Камера, параллакс и «джус» (Game Feel)](/blog/kamera-parallaks-i-game-feel-v-2d-igre)
- [Игровой цикл и физика столкновений AABB](/blog/igrovoj-cikl-i-fizika-stolknovenij-aabb)
- [Спавн и удаление объектов в 2D-игре](/blog/spavn-i-udalenie-obektov-v-2d-igre-vremya-zhizni-i-puly)
