- I work on the server side of online games: network protocols, game logic, in-game economies and the tools that keep a live server running
- I build netcode for real-time games: authoritative servers, client prediction, lag compensation and bandwidth tuning
- I make 2D game asset tools for maps, sprites and bitmap fonts that run in the browser or on the command line
- I work with MySQL / SQL Server for game data: schema design, backups and performance
|
Authoritative server for 2D side-scrolling multiplayer: client prediction with zero corrections, interpolation, lag compensation, delta snapshots and view culling.
|
Describe game packets once in YAML, including bit fields and conditional fields, then generate encoders and decoders for Java, C#, TypeScript and C++, a Wireshark dissector and a reference document.
|
|
Isometric and staggered map editor in the browser. Reads and writes Tiled maps and renders them pixel for pixel like Tiled.
|
View Aseprite files and export sprite sheets, GIFs per tag, scaled and per layer, in the browser or from the command line.
|
|
Check, convert and make BMFont bitmap fonts, including SDF and MSDF, or build one from a .ttf.
|
Lint Tiled maps for missing files, out of range tiles, overlapping or unused tilesets, locally or in GitHub Actions.
|
- colyseus/schema#245 (merged): reject collections of collections with a clear error when the schema is defined
- melonjs/melonJS#1759 (merged): place tile objects on isometric maps where Tiled draws them
- pixijs/pixijs#12324 (merged): add a safariFontDelay option so HTMLText can skip the fixed 100ms font wait in Safari
- melonjs/melonJS#1766 (merged): project isometric collision shapes with the map tile ratio instead of a fixed 2:1
- 專注在線上遊戲的伺服器端:封包協定、遊戲邏輯、經濟系統,以及營運用的管理工具
- 做即時遊戲的連線同步:權威伺服器、客戶端預測、延遲補償與流量優化
- 做 2D 遊戲素材工具:地圖、sprite、點陣字型,網頁和命令列都能用
- 處理遊戲資料用的 MySQL/SQL Server:結構設計、備份與效能調整
| 專案 | 說明 |
|---|---|
| sidescroll-net | 橫向捲軸多人連線的權威伺服器:客戶端預測(修正量 0)、內插、延遲補償、快照差量與視野裁切(線上試玩) |
| pktspec | 用一份 YAML 描述遊戲封包(支援位元欄位與條件欄位),產生 Java、C#、TypeScript、C++ 讀寫程式、Wireshark 外掛與文件;diff 檢查新舊版相容、fuzz 產生測試資料 |
| isotiles | 網頁版等角與交錯式地圖編輯器,讀寫 Tiled 地圖,渲染與 Tiled 逐像素一致(線上試用) |
| aseview | Aseprite 檢視與匯出:sprite sheet、逐標籤 GIF、放大、逐圖層,網頁與命令列都能用(線上試用) |
| fntview | BMFont 點陣字型檢查與轉檔,支援 SDF/MSDF,也能從 .ttf 產生字型(線上試用) |
| tiledcheck | Tiled 地圖檢查:缺檔、超出範圍的圖塊、重疊或沒用到的 tileset,可放進 GitHub Actions |
- colyseus/schema#245(已合併):多人連線狀態同步庫,巢狀集合在定義時就給出清楚的錯誤,不再到執行時才莫名失敗
- melonjs/melonJS#1759(已合併):HTML5 遊戲引擎,等角地圖上的圖塊物件改成放在 Tiled 畫的位置,不再偏移
- pixijs/pixijs#12324(已合併):2D 繪圖引擎,HTMLText 新增 safariFontDelay 選項,字型已載入時 Safari 不必再固定等 100ms
- melonjs/melonJS#1766(已合併):HTML5 遊戲引擎,等角地圖的碰撞形狀依圖塊比例投影,非 2:1 圖塊不再左右拉伸



