欢迎来到我的小站。
我是一名喜欢折腾代码的开发者,平时大部分空闲时间都泡在各种各样的小项目里面。 最开始写代码只是出于好奇,想亲手做出可以在浏览器直接打开就能玩的小游戏。 从简单的贪吃蛇、小恐龙开始,一点点学习原生 JavaScript,研究游戏循环、碰撞检测、触屏适配。 慢慢之后,我不再只满足于做游戏,开始往别的方向探索:Python脚本、音频处理、自动化工具、开源项目。
在开发的路上踩过非常多坑。有时候一段代码调试整整一个晚上都找不到问题,有时候好不容易写完的功能,换一台设备直接就会出现兼容bug。 有时候写出来的游戏在电脑上运行一切正常,放到手机上就会出现点击失灵、画面错位、按键失效的各种奇怪问题。 浏览器环境千差万别,不同手机的屏幕尺寸、触摸事件行为都不一样,想要做到全设备兼容,需要反复测试大量机型。 但恰恰是这些不断试错的过程,才真正学到东西。我越来越喜欢写能够解决真实痛点的工具,而不只是用来娱乐的Demo。 makeotoini 就是这样诞生的项目,源于我自己在做UTAU声库的时候,反复手动编辑oto.ini带来的枯燥体验。
我建立这个网站,不打算写长篇大论的技术笔记,暂时更像一个自己作品的自留地。 我会把自己完成的项目集中放在这里,方便自己回看,也方便感兴趣的人直接体验。 我不会保证固定更新频率,有空的时候就写点新东西,或者回头维护旧项目。 有些早期作品是学习阶段的练手产物,代码写得比较粗糙,功能也不算完善,我依旧保留在这里。 这些不完美的作品记录了我一步步成长的轨迹,也代表了当时的思考与尝试。
做网页小游戏,最有意思的地方在于不需要安装任何软件。只要有浏览器,不管是电脑还是手机,点开链接就可以直接体验。 但也会遇到不少现实的限制。有些游戏设计之初就只针对电脑键盘操作,没有做触屏适配,在手机上游玩体验会大打折扣。 还有部分项目存在性能问题,在配置较低的设备上会出现掉帧、卡顿的现象。 我会持续优化一部分老项目,修复bug、改进交互,但并不会全部重写,保留历史版本也是一种纪念。
除了网页前端,我也会接触不少别的技术。比如Python脚本、音频处理、UTAU声库制作相关工具。 我很喜欢开源的氛围,把自己写出来的工具公开出来,让其他人也可以使用、修改,甚至在此基础上二次开发。 当然开源并不代表没有规则,代码会使用合适的开源协议,明确版权归属,也允许他人在遵守协议的前提下自由使用。
如果你想查看我已经完成的作品,可以点开左上角菜单浏览。 所有开源项目的完整源代码,都可以在我的 GitHub 主页找到。 如果你在游玩游戏、使用工具的时候遇到bug,或者有想法建议,欢迎去GitHub提交Issue反馈。 我会尽量抽空查看,但是不一定可以及时修复,毕竟开发只是课余的爱好。
编程是一场漫长的摸索,不用急于求成,一步一步往前走就足够了。 不必一开始就追求做出多么强大完美的项目,从很小的Demo开始,一点点迭代,慢慢就会收获很多。 遇到报错、遇到bug不要灰心,每一次排查问题,都是一次提升自己的机会。