HOLLERITH by pankun

[raw]
made by pankun for Ludum Dare 60 (JAM)

HOLLERITH

A punch card does not lie. It only tells you what the machine can read.

The setting

  1. The US Census is drowning in paper — 62 million people, and the count is still being tallied by hand years after it started. A young engineer named Herman Hollerith has an answer: punch each person's data as holes in a card, feed the card to a machine, and let metal pins find the holes instead of humans.

You are the new hand at one of those machines.

How it plays

Census cards come down the chute one at a time. Each card has eight slots, fixed in one row. Some are punched, some are blank. Each slot has a weight: the four on the left are 4 3 2 1, the four on the right are 1 2 3 4. Add up the holes on each side and press the right key before the card hits the gate:

  • Left side heavier — press A (sort left)
  • Right side heavier — press D (sort right)
  • Equal, or no holes at all — press S (send it back)

A wrong key or a missed card is one jam. Three jams and the shift is over.

Eight days

One shift per day, seven minutes of work in total. The first shift is twenty cards, one hole each, and about a second and a quarter between them. From the third day some cards arrive completely blank — nothing punched, nothing to weigh, straight back. The fifth day is where it gets serious: cards start carrying a second hole, sometimes one on each half, which is the only way a tie can happen. By the eighth day you are reading a hundred and twenty cards, a hole or two at a time, half a second apart. Your best score per day is kept, so you can go back and clean up a bad shift.

Why the cards are shaped like that

The 4-3-2-1 / 1-2-3-4 weighting is the whole game. It looks symmetric, but it isn't: a hole in the outermost slot is worth four times a hole in the inner one. That single rule is enough to make every card a small arithmetic problem you have to solve by eye, under time pressure, a hundred times a shift.

The eight slots are one column of a real census card. On Hollerith's machine each column answered one question — age, sex, occupation — and the pin read one position at a time. I kept the column and threw away the rest.

Under the hood

There are no sprites. The machine, the room it stands in, the 45 dials on the cabinet, the wall clock, the cards themselves — all of it is drawn pixel by pixel in code at runtime, and the sound effects are synthesized on the fly. The music loop was generated with Suno and trimmed to a seamless loop.

Nine achievements to punch along the way, most of them about finishing a shift without a single jam.

Made with Tuanjie (Unity) in 48 hours for Ludum Dare 60, theme "Old Tech".

Controls

  • A / D / S — sort left / sort right / send back
  • Arrow keys — same thing (down = send back)
  • Space — next line of dialogue
  • F — skip the whole conversation
  • Esc / P — pause, level select, volume
  • M — mute

Language

The game starts in English. Pick 语言 from the title menu or the pause menu for Chinese, and it stays that way next time you open it.


中文

打卡机不会说谎,它只告诉你机器读到了什么。

背景

1890 年,美国人口普查卡在了纸上——六千二百多万人,靠人手一张张数,普查开始好几年了还没数完。一个叫赫尔曼·霍列瑞斯的年轻工程师给出了办法:把每个人的信息打成卡片上的孔,再把卡片喂进机器,让金属探针去找孔,而不是让人去找。

你就在这样一台机器前面,刚上班。

怎么玩

普查卡一张接一张从滑槽落下来。每张卡八个孔位,固定排成一行,有打穿的,有没打的。每个孔位有分量:左边四格是 4 3 2 1,右边四格是 1 2 3 4。把两边的孔加起来,在卡片撞上闸门之前按下去:

  • 左边重 —— 按 A(分到左)
  • 右边重 —— 按 D(分到右)
  • 一样重,或者一个孔都没有 —— 按 S(退掉)

按错一次、漏掉一张,都算一次卡纸。三次卡纸,这一班就废了。

八天

一天一班,八班加起来七分钟。第一班二十张卡,每张一个孔,隔一秒二五一张。第三天开始出现一种完全空白的卡——一个孔都没打,没什么可算的,直接退回去。第五天开始难起来:卡片可能带第二个孔,有时一边一个,这是唯一可能出现平票的情况。到第八天,你半秒读一张,一班一百二十张。每天的最高分会被记下来,所以你可以回去把打坏的那一班补干净。

为什么卡片长这样

4 3 2 1 / 1 2 3 4 这套权重就是整个游戏。它看着对称,其实不对称——最外圈的孔,分量是里圈的四倍。就这一条规则,足够让每一张卡都变成一道要用眼睛算的小算术题,而且是一班要算上百次的那种。

八个孔位对应真实普查卡上的一列。霍列瑞斯的机器上,一列只回答一个问题——年龄、性别、职业——探针一次读一个位置。我只留了这一列,别的都扔了。

技术

游戏里没有一张精灵图。机器、房间、机柜上的 45 个表盘、挂钟、卡片,全部是运行时逐像素画出来的;音效也是实时合成的。背景音乐用 Suno 生成,再裁成无缝循环。

另外有九个成就孔可以打,多半跟“一整班不卡纸”有关。

用团结引擎(Unity)在 48 小时内做完,参加 Ludum Dare 60,主题「Old Tech」。

操作

  • A / D / S —— 分左 / 分右 / 退掉
  • 方向键 —— 同上(下 = 退掉)
  • 空格 —— 下一句台词
  • F —— 跳过整段对话
  • Esc / P —— 暂停、选关、音量
  • M —— 静音

语言

游戏默认英文。在标题菜单或暂停菜单里选 语言 切中文,下次打开还是中文。

Ratings

Given 7🗳️ 16🗨️