Repository navigation
[Hacktoberfest Athens] Critical Mesh: build a heat-conduction browser game (Team B) #4
Copy link
Copy link
Open
Labels
Description
Critical Mesh: a heat-conduction game, Team B (AI allowed)
This issue is a hands-on example prepared for the Hacktoberfest Meetup Athens x FEAScript, 2026.
Build Critical Mesh, a browser game powered by FEAScript. Players add heat sources to a
metal plate turn by turn. After each turn FEAScript solves the steady-state temperature field.
If the hottest point goes above the critical limit it's game over.
Before you start, give your AI assistant the FEAScript guide:
https://gist.github.com/nikoscham/e9de187f72bb9e0ff0ca66d26ccfd078
The board (physics)
- Steady-state heat conduction on a 4 m × 2 m metal plate, using FEAScript's internal 2D mesh
- Use the main-thread
FEAScriptModel(workers cannot take coefficient functions) - Bottom edge: cooled, fixed at 20 °C
- Top edge: loses heat by convection (h = 1) to 20 °C
- Left and right edges: insulated
- Choose the mesh yourself: each solve must take under 1 s
Tuning
Pick the conductivity, source strength and critical limit yourself. On Normal, a typical game
should hit MELTDOWN after about 5–8 sources.
Game rules
- Roll: a d6 roll sets the strength of the next heat source (stronger roll, stronger source).
- Place: the player clicks the board (or enters x, y) to place a circular source of radius 0.3.
- Solve: rebuild the heat source and conductivity fields from all placed items and solve again.
- Check: show the max temperature. If it exceeds the critical limit, the game shows MELTDOWN.
- Bank or push: the player can bank the score (number of sources placed) or keep rolling.
- Mutation (every 3rd turn): a random circular zone gets a much lower conductivity. The material degrades.
Required features
- Board contour plot updates after every turn
- Panel showing: turn number, last roll, max T, critical limit, score
- Bank, Roll and Restart buttons
- Difficulty levels (Easy / Normal / Hard)
- Placed sources and weak zones are visible on the board (markers or shapes)
- MELTDOWN / banked end screen
- Each solve takes under 1 s (log the solve time to the console)
Rules for using AI
- Only use API documented in the guide. If the AI invents a function, catch it and replace it.
- In the PR description list the AI tool you used.
Definition of done
- Game is playable from start to MELTDOWN or bank
- With no sources placed, the max T equals 20 (sanity check)
- Every team member has at least one commit
- PR includes a short GIF or screenshot of a game in progress
- PR description contains
Closes #<this issue number>
Bonus goals
- Two-player mode (alternating turns, highest banked score wins)
- "Coolant" card: once per game, removes the strongest source
- High-score table in
localStorage
Where and how to contribute
- Repository: FEAScript-website
- File:
tutorials/critical-mesh-game.html(one self-contained page that also works when
opened by double-click, asfile://) - Workflow:
- One team member forks FEAScript-website and adds the others as collaborators on the fork
- Everyone clones the fork and works on the branch
critical-mesh - Commit small steps with clear messages (e.g. "Add board plot", "Add roll and bank buttons")
- Push and open a pull request to
FEAScript/FEAScript-websitemain
Reactions are currently unavailable

Activity
[-][Hacktoberfest Athens] Critical Mesh: build a heat-conduction browser game with FEAScript (Team B)[/-][+][Hacktoberfest Athens] Critical Mesh: build a heat-conduction browser game (Team B)[/+]