---
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.