【躁动光标】开发日志#1 立项
【本文参与GWB有奖征文活动】联系方式:beafraid2@163.com
经过一年多的开发,本人利用闲余时间独立开发的“躁动光标”终于成功上架Steam并迭代到第三版,实现了之前规划的大部分功能(创意工坊、SDK、自定义参数、可视化编辑器等想起都头疼的模块)。有兴趣的小伙伴可以通过以下链接了解:
现在是时候停下来,回顾一下这段时间的经历。本文主要侧重项目的立项及规划阶段,好的开头能减少走弯路,前期想清楚明白才能避免后期狂打补丁甚至弃坑的遗憾。
之前在做一个管理程序时,需要更换默认光标,因为本人喜欢没事找事,不屑于仅更改光标图片这种基本操作,正好在Unity AssetStore上看到下图的游戏3D飞船模型(Luminaris Starship),于是我一拍脑袋,使用飞船代替平面系统光标,让其沿着光标的移动方向飞行,最终效果看起来非常酷炫,用户对其印象深刻。
在此之后,我产生了一个新的程序想法:为何不将系统光标替换成3D模型,为其赋予不同功能,并注入不同性格?现存的系统美化类程序中一个容易被忽略的范畴,那就是针对系统光标的深度定制。当前市场中热衷于更换桌面背景(如著名的WallpaperEngine),或者是添加各种功能各异的桌面Widget,但是针对系统光标的定制可谓是少之又少,其中可能一方面是系统提供的配置项比较有限(仅能更改光标在不同状态下的样式),另一方面是光标所在窗口需要时刻置顶,然而目前暂时没有能将应用持续置顶的方法(原因看这个文章,总结就是窗口抢高,用户受伤)。只要解决了这些问题,并提供创意工坊支持,一个长生命周期的软件将破壳而出闪耀登场。
还记得小学刚接触电脑时(Win95/98时代),屏幕上的一切元素都是简单但有趣,看到光标能拖出轨迹就觉得新鲜,遇到系统卡死导致窗口重叠绘制时更是能玩上半天。用过古董系统的同学还可能对以下屏幕常驻小工具有印象,它们分别是Office的大眼夹助手(生平介绍),以及瑞星公司的小狮子,虽然并没什么鸾用,但是他们既活泼又可交互,为我们枯燥的上机课提供了调戏对象,至今想起仍然记忆深刻。可以看到在20世纪,前辈们就已经尝试充分利用屏幕空间,避免用户面对方正的系统界面容易厌腻(尽管大眼夹是出了名的讨厌)。通过学习这些小工具的精华部分,我设想的光标程序应该是有趣有用但又不惹人厌。
有了基本构思,接下来就是确定项目规划。因为很多领域从未涉猎(如创意工坊及SDK部分),所以最有效的办法是学习借鉴现存的成功软件。在Steam商店中,以创意工坊为核心的热门软件如下,它们在细分领域都有特定参考价值:
- Wallpaper Engine(提供易用的壁纸编辑器,程序框架专业稳定)
- Garry's Mod(丰富的素材,无限的可能性)
- VRChat(基于Unity,提供完善的SDK,在多人交互方面值得学习)
经过一番探索并结合自己的想法,我初步列出了程序的核心构成模块:
- 光标主体(此类物体必须提供精确指向功能):
- 与箭头光标形体类似的物体(如飞船、钻头、剑、鱼/蛇等)
- 游戏相关的物体(如准星)
- 其他有指向功能的物体(如激光笔)
- ...
- 附件(此类物体起锦上添花作用):
- 持续追随主光标(如地鼠、汽车等)
- 与主光标互动(如蜘蛛会干扰或攻击主光标)
- ...
- 光标功能:
- 同步系统光标状态(如输入、忙碌等状态)
- 同步系统时间(通过UI、VFX、模型等呈现)
- 响应音频(可按需实现律动效果)
- 显示自定义素材(如表情包、短视频、网页内容等)
- 记笔记(提供笔和橡皮,让用户在屏幕临时记录信息)
- 联网(如千人同屏鼠标追逐小游戏)
- ...
面向使用方,应提供以下功能:
- 模型制作者:
- 可通过SDK上传自定义光标到创意工坊
- 可替换光标模型
- 通过逻辑代码更改光标在不同状态的行为,实现AI定制
- 暴露参数以供用户设置
- 用户:
- 可修改及分享每个创意工坊物品的自定义配置
- 通过云存储上传主题配置
至此,程序的前期规划完成,接下来就是苦逼开发阶段。正是:脑子一热自挖坑,有的放矢陈出新。要知后事如何,且看下回分解。
PS:其实在此之前也曾断续想过数十个点子,结果都是毫不意外逐一夭折。究其原因,还是多想少做,缺少动力及压力。在这个项目立项后,我跟自己说:你TM必须在30岁前做一项能代表自己的作品!缺少外界支持不是你项目失败的原因,内在的傲慢及懒惰才是。不管结果如何,至少做了自己想做该做的事,以后能骄傲地指着程序对别人说:“这,我做的!”