My son (9 yrs old) used plain JavaScript to make a game, and wants your feedback

Overall reception

  • Very positive reaction; many found the game charming, surprisingly polished for a 9‑year‑old, and genuinely fun.
  • Several adults said it triggered nostalgia for early web/Flash, QBasic, HyperCard, and BBS/MECC‑style games.
  • Multiple parents plan to show it to their own kids; some kids reportedly enjoyed it and were inspired.

Game design & UX feedback

  • Biggest recurring issue: the “charge” mechanic is unclear.
    • Players can’t tell when attacks are charged, what charges them, or how much charge each move costs.
    • Suggestions: greyed‑out or dimmed buttons, charge bars/counters, distinct colors, “CHARGED” labels, or a shared charge meter near HP.
  • Many want HP and damage feedback improved:
    • HP changes before the hit animation; people prefer syncing HP drop with the visual hit and animating the health bar.
    • Some want clearer hit/miss feedback, damage numbers (“hitsplats”), and less confusing simultaneous win/lose states.
  • UI/visual suggestions:
    • Change blue/black text on red to higher‑contrast colors (often white on dark).
    • Center the layout, improve readability on large screens and mobile.
    • Replace alert()/prompt() with in‑page UI for questions and answers.
    • Provide a way to exit battles or return to main menu.

Math mechanics & difficulty

  • The math‑based attacks were widely praised as a clever edu‑game twist.
  • Some want:
    • Time pressure (timers increasing damage or driving enemy attacks).
    • Difficulty levels and question tuning (no trivial “0 + n”, more nuanced “hardness”).
    • Configurable question sets for other subjects.
  • Several note that with consistently correct answers, fights can feel long and inevitable.

Bugs and exploits

  • Known quirks: spamming attack buttons rapidly charges moves; cancelling prompts (e.g., Escape) can still increment charge; turn order isn’t enforced, leading to confusing overlapping attacks and end screens.
  • JS‑disabled environments make the game appear non‑functional; adding a fallback/error message was suggested.

Code quality & technical discussion

  • Many are impressed by readable, reasonably structured vanilla JS/HTML/CSS for a first project.
  • Suggestions:
    • Use "use strict", clearer naming conventions, avoid dead code, and consider structuring data in objects/maps.
    • Move away from inline onclick handlers; consider event listeners and less global state.
    • Improve deployment/archiving via GitHub and continue using version control.

Use of AI in learning

  • The learning process (using an LLM as an interactive tutor, then implementing solutions) is seen as a compelling pattern:
    • Child asks for explanations, restates understanding, and has the model correct misunderstandings.
    • This is framed as “learning with AI,” not just copy‑pasting.
  • Some recommend other tools (e.g., Claude, p5.js, game engines), but many agree simple web tech is a great starting point.

Parenting, pedagogy, and kids & screens

  • Several discuss pathways from Scratch‑style blocks to text‑based programming and share their own kids’ learning stacks.
  • A recurring theme: distinction between “consumption” (games, social media) and “creation” (coding, art, music), with more leniency for the latter.
  • Some worry about too much tech exposure; others argue that steering kids toward creative, skill‑building uses is beneficial.

Skepticism, marketing, and authenticity

  • A few are skeptical that a 9‑year‑old could produce this without heavy adult involvement, citing best practices and blog prose.
  • The parent clarifies:
    • Both parents are programmers; they acted as “senior dev” mentors.
    • The child did the coding and art, while adults guided architecture, tooling, and writing structure.
  • Some question promoting a child’s project across multiple platforms and adding a blog/newsletter; others see it as teaching real‑world “build–share–iterate.”

Accessibility & broader reflections

  • One commenter tested with a screen reader and found the game surprisingly accessible thanks to native HTML controls, while suggesting ARIA and text feedback improvements.
  • There’s broader reflection on how LLMs, better tooling, and ubiquitous computers let today’s kids reach much further than previous generations, while also changing how programming is learned.