
以前跟朋友一块儿玩捕鱼,要么坐在同一台机器前面挤着,要么各自开各自的客户端,各打各的,没啥互动。后来找了一圈,发现开源的网页版捕鱼本来就少,能支持几个人同时在线同屏对战的更不好找。这套源码就是补这个缺的——PHP做后端服务,Canvas画游戏画面,四个人可以在同一个房间里一起打鱼,谁抢到算谁的。
核心玩法与对战机制
游戏场景是一个共享的海底世界,四个人各自操作自己的炮台,瞄准、开火、捕鱼。谁的子弹先命中鱼,分数就归谁,不存在“各打各的互不影响”那种情况。鱼群是全屏共享的,一条大鱼游过来,四个人同时开火抢最后一击,那个紧张感跟单机版完全两码事。炮台等级、技能、子弹特效这些该有的都有,狂暴、冰冻、黑洞、激光四种技能栏位,CD倒计时可视化。射击模式支持手动、自动、追踪三种,左手控炮台等级,右手控瞄准方向。
画面和反馈
鱼种做了16种不同风格,圆润的、扁平的、修长的、剑鱼、河豚、海马、章鱼、鲨鱼、鲸鱼甚至龙和美人鱼都画进去了,每种鱼有自己的轮廓、鳞片花纹和发光光晕。子弹打到鱼身上有爆炸粒子特效,最多能反弹五次,每次反弹颜色跟着变。炸弹鱼炸掉之后会触发190像素半径的清屏冲击波加金色星花特效,视觉效果够爽。背景也做了细化,丁达尔光柱、珊瑚礁、摇曳的海草、气泡群这些细节都铺上了。
四人对战的房间逻辑
四个人进入同一个游戏房间后,系统自动分配炮台槽位,左下角优先给本地玩家。每个人的积分榜实时更新在右上角,谁领先谁落后一目了然。每场游戏5分钟倒计时,时间到了自动提交战绩,不用手动结算。
技术架构与部署
后端纯PHP + MySQL实现,不需要Node.js、不用Composer,解压就能部署到任何支持PHP 7.4+的虚拟主机上。测试环境跑在Nginx + PHP7.4 + MySQL5.7上面,稳定性和并发表现都够用。
目录结构清晰——index.html是登录注册页,home.html是游戏主菜单,game.html是Canvas游戏画面,api/目录下面是登录、金币读写、任务、签到、技能、皮肤、排行榜、好友等全套接口。前端游戏引擎用纯Canvas实现,没有依赖任何第三方框架。另外配了每日签到、每日任务、技能升级、皮肤商店、排行榜、好友系统这些周边功能,用户粘性方面不用自己额外开发。
安装流程
上传文件到网站根目录,创建MySQL数据库并导入install.sql,编辑config.php填好数据库信息。访问install.php走安装向导,填数据库信息、设管理员账号,完成之后用管理员账号登录admin.php。最后访问index.html注册或登录游戏账号,横屏开玩。整个过程不用敲命令行,虚拟主机控制面板里就能搞定。
运营配套
后台带了广告系统,管理员可以配置图片广告、链接广告、视频广告。系统公告支持信息、警告、活动三种类型,可以设成登录后自动弹窗。竖屏访问时会自动弹出横屏提示遮罩,引导用户旋转设备。


