Open
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…pt before game JS loads
记录功能模块、技术实现、数据结构、版本历史等完整信息。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Pre-hash salt with md5 to avoid esc_js corrupting special chars - Keep only top 20 all-time scores - Weekly leaderboard shows top 10 - Auto-discard records older than 3 weeks
- Move CSS out of admin-only PHP block so all users see card grid styles - Add TECHNICAL.md with detailed architecture docs for all features
- 后端新增 pomodoro_get / pomodoro_save 两个 AJAX action - 状态和番茄计数存 wp_options(document_pomodoro_state / document_pomodoro_counts) - 前端启动/暂停/停止/阶段切换时防抖500ms同步到服务端 - 页面加载优先从服务端拉取,失败降级 localStorage - 不同设备打开页面即可看到同一番茄钟状态 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 新增 pomodoroMinutes 记录每个任务累计专注分钟数 - 完成一轮专注记 25min,中途停止记录已用时间 - 侧边栏和列表显示 🍅×3 · 1h15m 格式 - 后端新增 document_pomodoro_minutes wp_option 同步 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Canvas 2D raycasting engine (DDA), 24x24 maze map, 4 wall types with distance shading - 3 weapons (pistol/shotgun/machinegun), 2 enemy types with AI state machine - HUD: health bar, ammo, crosshair, minimap, kill count, score - WASD + mouse pointer lock controls, weapon switching via 1/2/3/scroll - Leaderboard: alltime top 20, weekly top 10, 3-week auto-cleanup - Anti-cheat token + rate limiting, same architecture as Snake Game
- Enemy attacks now spawn visible glowing projectiles instead of hitscan - Q key cycles through owned weapons - Normalize player angle to [0, 2PI] to prevent sudden camera jumps
- Fix guard at (3,18) placed inside wall, moved to open tile - Add spawn validation: skip entities placed on wall tiles - Enemy wall check now uses radius (0.3) to prevent clipping into walls - Clamp mouse movement to 150px/frame to prevent sudden camera jumps
- Clamp individual movementX to ±50px per event - Reduce frame-level cap from 150 to 80px total - Prevents accumulated mouse events from causing sudden camera rotation
Replace per-event clamp with exponential moving average (factor 0.6) and per-frame rotation cap of 18 degrees to eliminate camera jumps
Drop movementX values >200 (browser pointer lock bug), direct apply rest. Removes EMA which caused sluggish/drifting rotation.
…anvas - Game and leaderboard now stack vertically (no more side-by-side offset) - Override .main-content background to transparent for Doom page - Canvas uses width:100% + aspect-ratio for responsive sizing - Leaderboard header now flex row with tabs inline
- Pistol: sharp snap + low thump - Shotgun: loud boom + deep bass - Machine gun: quick ticks - Hit enemy: meaty impact - Kill enemy: descending buzz - Player hurt: descending sawtooth - Footsteps: soft thuds every 350ms while moving - Pickup items: ascending chime - All sounds generated procedurally, no external audio files
- 新增 build.js 构建脚本,一键压缩所有前端 JS/CSS 为 .min 文件 - 修改 load.php 加载逻辑,自动检测并加载压缩版(向下兼容) - 新增 CLAUDE.md 提供项目上下文和开发工作流说明 - 版本号升级至 1.5.1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Reduce bullet min-distance from 0.3 to 0.1 so point-blank shots register - Enlarge hitbox at close range (0.6 vs 0.4) for easier hits - Enemies deal 1.5x melee damage when within 0.8 distance
- Increase player-enemy collision radius from 0.5 to 0.7 - Add player collision check in isWallForEnemy so enemies can't walk into player
- Knife: 50 damage (2x pistol), range 1.0, unlimited, slash animation - Melee hit: finds closest enemy in front within range - Swoosh sound effect, no muzzle flash - Weapons: 1=Knife 2=Pistol 3=Shotgun 4=MachineGun, Q cycles
- 所有 wp_enqueue_script 的 in_footer 参数改为 true - 通过 script_loader_tag 过滤器为所有前端脚本添加 defer 属性 - jQuery 排除 defer(inline script 依赖其立即可用) - 效果:HTML 解析不再被 JS 下载阻塞,首屏渲染速度显著提升 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Multi-level architecture: LEVELS array, level transitions carry weapons/HP/score - Level 2 "The Fortress": complex corridors, locked doors (E to open) - Sniper rifle (key 5, right-click scope zoom) and M4A1 (key 6, auto-fire) - Grenades (G key, AOE explosion, 3 per level on Level 2+) - Floating damage numbers, screen shake, enemy coin drops (+50 score) - New sounds: door, explosion, sniper, m4a1 - Updated HUD with level indicator, grenade count, accumulated score Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…unce - Default weapon changed from knife to pistol - Grenades now have vertical arc (gravity + upward throw velocity) - Ground bounce with energy dampening (45% retained) - Wall bounce with reflection (50% energy) - Rolling friction when settled on ground - Shadow rendered below grenade during flight - Bounce sound effects, 3s fuse timer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Sniper: long barrel, scope with lenses, bipod legs, bolt handle, wooden stock - M4A1: barrel with handguard rails, carry handle sight, curved magazine, collapsible stock, trigger guard Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Bump version to 1.5.2 - Add comprehensive technical blog below the game, covering: Raycasting/DDA algorithm, fish-eye correction, billboard sprites, Pointer Lock mouse rotation bug (4 fix iterations), grenade physics (gravity + bounce + wall reflection), enemy AI state machine, procedural Web Audio sounds, and anti-cheat design - Add .doom-blog CSS styles for article section Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… button - Reduce pistol damage to 15 for better balance - Sniper scope now activates on long-press left click (300ms hold), releases on mouseup, replacing right-click toggle - Add language toggle button CSS for bilingual blog article Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- M4A1 rifle damage increased to 25 - Coins now tracked with counter, displayed on HUD as golden text - Coin pickup float text shows emoji for better visibility - Coins reset on new game Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Revert long-press left-click scope back to right-click toggle - Sniper scope is 2x zoom (FOV / 2 = 30°) - Update controls hint text Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Grenade initial velocity now adds player's current movement speed, so running forward throws farther, backpedaling throws shorter, and strafing adds lateral drift. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.