普及 (fukyū) :: The Spread
fukyu.net — A strategy game on a hexagonal grid for one or two players.
Two factions — Organic and Crystal — clash in the void. Built with plain HTML, CSS, JavaScript (no framework) and a PHP/MySQL backend.
Gameplay
The Void: An energetic core pulsates in the emptiness of space. Biomass and crystalline matter use this energy to grow. Organic branches and crystalline veins expand and leaves/prisms and fruits/clusters form on them. Soon the limits of space are reached and the two factions fight for the ever-shrinking space. Who will gain the upper hand?
Match Games
Organic and Crystal compete for territory on a hexagonal board (n=9, 217 cells). The core occupies the middle 7 hexes in match games. The Organic Faction begins the game, after which the turn changes. A player has one minute to place a stone. The first move can only be a branch or a vein, which can only touch the core on one edge. Further branches and veins must rest on existing branches/veins (in folding: bridges) of your own faction; here too, only contact via an edge applies. Leaves and prisms must be in contact with your own bridges, but may touch cores and opponent's pieces across multiple edges. Fruits and clusters are the most valuable stones, but also have the most restrictions. You must have contact with your own bridges, but may not touch the core or other fruits/clusters of your own faction.
While the shapes of the branches/veins and the leaves/prisms are the same for both factions, the premium stones of the fruits and clusters differ. The two factions also differ in the number of straight and curved branches/veins.
Spores and Shards is the last group of pieces. They are fillers and the only requirement is that they must be in contact with any stone of their own faction.
The game ends when the competitor who is behind cannot place any more pieces. If the leader has no more placement options, his moves are skipped and the player behind has the chance to place all the pieces he can. If he overtakes the opponent's score, the game ends at that moment. A game can also end in a draw.
Score = occupied hexes + piece bonus (see Factions table)
Solitaire / Solo Games
On a smaller board (n=7, 127 cells) the player tries to occupy as many hex-cells as possible. The game and a timer start with the placement of the core. The game ends when no more pieces can be placed. Extra bonus is awarded if the game finished below 5 minutes.
Score = occupied hexes + piece bonus (see Factions table) + time bonus
Factions
| Organic | Crystal | Bonus | |
|---|---|---|---|
| Bridges | 3× straight + 5× curved | 5× straight + 3× curved | +1 |
| Fillers | Moss (2-hex), Seed (1-hex) | Chip (2-hex), Dust (1-hex) | +1 |
| Structures | Leaves (4-hex) | Prisms (4-hex) | +2 |
| Premium | Fruits (5-hex, compact/round) | Clusters (5-hex, chain/linear) | +5 |
Features
- Hex grid, pointy-top axial coordinates
- Placement rules: adjacency, isolation (Fruit/Cluster), enclosure detection
- 2 takebacks in practice games vs. bot and solo games
- 3 levels/bots in practice games, selectable side
- Solo/Solitaire mode (n=7 board, moveable Core as first move, timed under 5 mins time-bonus apply)
- User management: register, login, BIP-39 mnemonic seed recovery (optional email)
- Multilingual UI: start with English, Deutsch, 日本語, Español, ไทย (more to follow)
Setup
# 1. Config — create a local override in parent dir of webroot
# (config.php auto-detects the environment from its own path)
#
# Minimal content:
# <?php
# define('DB_HOST', '10.x.x.x');
# define('DB_NAME', 'yourprefix_dbname');
# define('DB_USER', 'yourprefix_user');
# define('DB_PASS', 'yourpassword');
# 2. Run migrations (creates tables, backs up DB first if BACKUP_PATH is set)
php migrate.php
Contributors
Game idea and concept
- Alexander Strestik
Development
Implementation in plain HTML, CSS, JavaScript (no framework) and PHP/MySQL backend
- Alexander Strestik
- Co-Authored-By: Claude Sonnet 4.6
- Co-Authored-By: DeepSeek
License
Copyright (c) 2026 Alexander Strestik
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.