百万棋盘:单进程服务器承载千万级实时棋局的挑战与反思

2025-07-16
百万棋盘:单进程服务器承载千万级实时棋局的挑战与反思

作者开发了一款名为“百万棋盘”的在线多人棋类游戏,其核心创新在于将1000x1000个棋盘整合为一个全局游戏,玩家的每一步棋都实时影响全局。该游戏在单一Go语言进程中运行,10天内吸引超过15万玩家,处理了超过1500万步棋和数亿次查询。文章详细介绍了游戏的系统设计、数据分发、协议优化、以及乐观锁和回滚机制等技术细节。作者分享了开发过程中的经验教训,包括性能优化、架构选择,以及如何平衡游戏规模和玩家体验。最终,作者反思了游戏设计的不足,例如缺乏震撼的规模感,并表达了对未来游戏开发的展望。

阅读更多
游戏

百万棋盘:史上最疯狂的在线多人棋类游戏

2025-04-28
百万棋盘:史上最疯狂的在线多人棋类游戏

一位开发者打造了一个名为“百万棋盘”的网站,上面有整整一百万个棋盘!所有玩家共享同一个棋盘,可以实时移动棋子,无需轮流回合。开发者克服了巨大的技术挑战,用Go语言编写后端,采用单一写入线程和大量读取线程的架构,并巧妙地运用乐观锁机制来处理并发冲突。这个项目堪称技术奇迹,邀请你一起体验前所未有的多人在线棋类游戏盛宴!

阅读更多
游戏

在浏览器标签页中运行Pong游戏

2025-02-20
在浏览器标签页中运行Pong游戏

一位开发者利用巧妙的技巧,在240个浏览器标签页中运行了Pong游戏!他通过AppleScript创建了一个标签页网格,并使用Web Workers和Broadcast Channel实现标签页间的同步通信,最终在标签页的favicon上显示游戏画面。这个项目充分展示了浏览器API的强大功能以及开发者创造性的解决问题的能力。

阅读更多
开发 创意编程

Vim黑魔法:用6500个正则表达式在Vim中播放Bad Apple

2025-01-12
Vim黑魔法:用6500个正则表达式在Vim中播放Bad Apple

作者在Vim编辑器中仅使用搜索查询,就播放了Bad Apple音乐视频。他将视频的每一帧转换为二进制像素数组,然后将其分解成多个矩形,每个矩形都用一个Vim正则表达式表示。最终,他创建了一个包含6500多个正则表达式的文件,并用Vim宏来循环播放这些正则表达式,从而在Vim中呈现Bad Apple视频。这是一个充满创造性和挑战性的项目,展现了Vim强大的功能和作者精湛的编程技巧。

阅读更多
开发 Bad Apple

iOS相册里玩转“毁灭战士”

2024-09-30
iOS相册里玩转“毁灭战士”

本文讲述了作者如何利用iOS快捷指令,将经典游戏“毁灭战士”搬到了iOS相册应用中。他们利用快捷指令下载图片和视频,并通过不断删除和更新图片的方式,在相册中实现了游戏的动态效果。作者详细介绍了他们尝试过的各种方案、遇到的问题以及最终的解决方案,展现了他们奇思妙想和解决问题的乐趣。

阅读更多
未分类

一百万个复选框背后的秘密

2024-08-30
一百万个复选框背后的秘密

文章讲述了作者创建“一百万个复选框”网站的故事。该网站允许用户勾选或取消勾选一百万个复选框,任何用户的操作都会实时影响所有用户。作者分享了网站意外爆红、用户用二进制编码隐藏信息、以及一群技术爱好者利用网站特性进行创作的经历。

阅读更多
未分类

游戏开发日志:用 PICO-8 打造“DVD 角标游戏”

2024-07-05
游戏开发日志:用 PICO-8 打造“DVD 角标游戏”

本文是开发者记录使用 PICO-8 游戏引擎创作一款名为“DVD 角标游戏”的简单游戏的开发日志。开发者详细介绍了 PICO-8 引擎的特点,包括其对图形、声音和代码大小的限制,以及内置的精灵编辑器、音效编辑器和音乐编辑器等工具。开发者还分享了使用 PICO-8 进行游戏开发的体验,例如如何处理碰撞检测和粒子效果,以及如何将代码编辑器替换为更现代的 VS Code。最后,开发者总结了游戏的主题和机制,并表示未来会继续使用 PICO-8 开发更多小型街机风格的游戏。

阅读更多
未分类 PICO-8