--- title: Ikemen-GO HTML/JS KFM Port emoji: 🥋 colorFrom: red colorTo: yellow sdk: static app_file: index.html pinned: false --- # Ikemen-GO HTML/JavaScript browser port — KFM playable slice This is a browser port of a playable Ikemen/M.U.G.E.N character-engine slice. Unlike a look-alike demo, the runtime loads and executes the upstream KFM character files and sprite bank: - `.def` character metadata and its declared file set - `.cns` state definitions and `HitDef` parameters - `.cmd` command declarations and `State -1` attack transitions - `.air` actions, frame timing, flips, and `Clsn1`/`Clsn2` boxes - `.sff` v2 sprite and palette banks (including KFM's RLE5/LZ5 frames) The canvas renderer draws the original KFM sprite frames and the combat loop uses their AIR collision boxes and CNS hit data. Included sample assets are Kung Fu Man from the official [Ikemen-GO Screenpack](https://github.com/ikemen-engine/Ikemen-GO-Screenpack/tree/master/chars/kfm). ## Play 觀戰模式為 CPU vs CPU:雙方會自動走位並使用 KFM 招式。使用頂部按鈕暫停或重開對戰。 ## Project This is a pure HTML/CSS/JavaScript static site with no Go runtime or backend. Use any static HTTP server; browser ES modules cannot run from `file://`. ## Port boundary The current port is deliberately a character/fight-core slice, not the full desktop engine. It currently executes common KFM ground/air movement, selected KFM command entries, animation playback and collision/HitDef resolution. Lua, ZSS, helpers, projectiles, screenpack menus/lifebars, rollback networking, gamepad configuration, and the full common-state library are not yet ported. The KFM `.cns` parser retains and reports all statedefs, but only implements the standard movement and selected `State -1` attack transitions in runtime. The upstream engine is MIT licensed. The bundled Elecbyte KFM sample is non-commercial Creative Commons; screenpack assets retain their respective licenses. Refer to the linked upstream repositories for complete terms.