Shadowkeep
A top-down maze explorer where the Spectrum's attribute system IS the game — ink and paper define walls, floors, items, and danger.
Coming Soon
Shadowkeep is currently in development. Check back soon!
What You’ll Build
Top-down maze explorer. Navigate rooms of a dark keep, collect keys, avoid creatures, find the exit.
The attribute system is the game. Walls are INK colour, floors are PAPER, items are BRIGHT, hazards FLASH. Collision detection is a single attribute read. The Spectrum’s most famous limitation — colour clash — becomes the core mechanic.
Why This Game?
The ZX Spectrum’s attribute system is what made Spectrum games look distinctly Spectrum. Each 8×8 pixel block shares one foreground colour and one background colour. Most games fight this constraint. Shadowkeep embraces it.
Every room is built from attributes. You’ll learn:
- Screen memory layout — the infamous non-linear thirds
- Attribute memory — INK, PAPER, BRIGHT, FLASH bits
- Wall collision — reading attributes to detect walls
- Room data structures — tile maps for multi-room worlds
- Item collection — keys, doors, and inventory
- Enemy patrol AI — simple path-following creatures
- Beeper sound effects — pitch variation for audio feedback
By the end, you’ll have a complete maze explorer worthy of the Spectrum’s golden age.
Skills You’ll Master
- Attribute system — INK, PAPER, BRIGHT, FLASH
- Screen memory — non-linear layout and thirds
- Character-cell movement — 8-pixel grid navigation
- Wall collision — attribute-based detection
- Room data — tile maps and transitions
- Item collection — keys, doors, inventory
- Enemy AI — patrol paths and chase behaviour
- Beeper sound — pitch variation effects
- Multi-room worlds — room transitions and state
Prerequisites
This is Game 1. No prerequisites — just enthusiasm and a willingness to learn Z80 assembly.
Time Investment
128 units at 60-90 minutes each. Roughly 128-192 hours total.
Unit Roadmap
Foundation
Build the core game mechanics
Expansion
Add features and content
Unit 17
Coming SoonUnit 18
Coming SoonUnit 19
Coming SoonUnit 20
Coming SoonUnit 21
Coming SoonUnit 22
Coming SoonUnit 23
Coming SoonUnit 24
Coming SoonUnit 25
Coming SoonUnit 26
Coming SoonUnit 27
Coming SoonUnit 28
Coming SoonUnit 29
Coming SoonUnit 30
Coming SoonUnit 31
Coming SoonUnit 32
Coming SoonRefinement
Enhanced gameplay and variety
Unit 33
Coming SoonUnit 34
Coming SoonUnit 35
Coming SoonUnit 36
Coming SoonUnit 37
Coming SoonUnit 38
Coming SoonUnit 39
Coming SoonUnit 40
Coming SoonUnit 41
Coming SoonUnit 42
Coming SoonUnit 43
Coming SoonUnit 44
Coming SoonUnit 45
Coming SoonUnit 46
Coming SoonUnit 47
Coming SoonUnit 48
Coming SoonIntegration
Connect systems and flow
Unit 49
Coming SoonUnit 50
Coming SoonUnit 51
Coming SoonUnit 52
Coming SoonUnit 53
Coming SoonUnit 54
Coming SoonUnit 55
Coming SoonUnit 56
Coming SoonUnit 57
Coming SoonUnit 58
Coming SoonUnit 59
Coming SoonUnit 60
Coming SoonUnit 61
Coming SoonUnit 62
Coming SoonUnit 63
Coming SoonUnit 64
Coming SoonPolish
Visual effects and menus
Unit 65
Coming SoonUnit 66
Coming SoonUnit 67
Coming SoonUnit 68
Coming SoonUnit 69
Coming SoonUnit 70
Coming SoonUnit 71
Coming SoonUnit 72
Coming SoonUnit 73
Coming SoonUnit 74
Coming SoonUnit 75
Coming SoonUnit 76
Coming SoonUnit 77
Coming SoonUnit 78
Coming SoonUnit 79
Coming SoonUnit 80
Coming SoonChallenge
Advanced modes and difficulty
Unit 81
Coming SoonUnit 82
Coming SoonUnit 83
Coming SoonUnit 84
Coming SoonUnit 85
Coming SoonUnit 86
Coming SoonUnit 87
Coming SoonUnit 88
Coming SoonUnit 89
Coming SoonUnit 90
Coming SoonUnit 91
Coming SoonUnit 92
Coming SoonUnit 93
Coming SoonUnit 94
Coming SoonUnit 95
Coming SoonUnit 96
Coming SoonOptimisation
Performance and memory tuning
Unit 97
Coming SoonUnit 98
Coming SoonUnit 99
Coming SoonUnit 100
Coming SoonUnit 101
Coming SoonUnit 102
Coming SoonUnit 103
Coming SoonUnit 104
Coming SoonUnit 105
Coming SoonUnit 106
Coming SoonUnit 107
Coming SoonUnit 108
Coming SoonUnit 109
Coming SoonUnit 110
Coming SoonUnit 111
Coming SoonUnit 112
Coming SoonMastery
Distribution and final polish