iOS版osu!(iosu!)开坑

项目地址:https://github.com/imxieyi/iosu

目前实现的功能:

  1. 用iTunes导入歌曲文件夹
  2. 读取并解析.osu谱面(不完整)
  3. 绘制HitCircle(包括Slider中的HitCircle)
  4. 读取.osu和.osb中的StoryBoard
  5. 解析并播放StoryBoard(初步实现)

StoryBoard播放演示视频:
http://www.bilibili.com/video/av9580463
http://www.bilibili.com/video/av9582040
http://www.bilibili.com/video/av9582174
http://www.bilibili.com/video/av9582511

以下是废话:

只要是音游爱好者,肯定不会不知道osu!这款游戏。在所有音游中,osu!将开放性做到了极致,任何人都可以制作谱面并提交,所以osu!的曲库虽然质量参差不齐,但是数量上绝对能碾压所有其他的音游。而且它独特的背景视频和StoryBoard机制可以大大增加游戏的乐趣。

不少人第一眼看到osu!都会怀疑它到底是不是PC游戏,他们吐槽“这种游戏就应该在手机平板上玩吧”。的确,这种全屏幕点击的核心玩法在触摸屏上看起来更简单。但事实上触摸屏在高速连打时就显得无能为力了。即便如此,很多人还是希望能随时随地来上几把,而不仅仅只能在电脑上玩。

大约在5年前osu!官方出了款叫osu!droid的Android游戏,它可以读取PC版osu!的谱面,拥有接近PC的体验,甚至可以改皮肤。不过由于当时手机性能普遍较低(或者开发者太懒),它只能显示背景图片,并不能显示背景视频或StoryBoard。可惜的是这个项目最后一次的更新在2014年。后来的版本由贴吧大神们基于osu!droid制作维护,还加入了在线排名功能。

在iOS平台上,有个叫osu!stream的游戏,早在2011年就发布。不过,这跟PC版的osu!是完全不同的两个游戏。它不能读取PC版的谱面,歌曲也少得可怜,其中很大比例还需要付费。除此之外,官方论坛上还有人开发了osu! iPhone,不过早就停止更新,而且只能在越狱设备上运行。

osu!从2016年8月开始全部开源,所有代码放在https://github.com/ppy/osu上。事实上早在2014年就有大神用Java语言编写了opsu,游戏体验和原版osu!非常接近,在PC上甚至可以播放背景视频(Android版依旧不行)。

最近在学习iOS开发,以我的习惯,从头跟着教程系统地学习是学不下去的。突然想到iOS上还没有一个相对完整的osu!,于是决定从零开始开发iOS版的osu!,目标就是去一点一点实现PC版osu!的大部分功能(包括背景视频和StoryBoard,先立个flag),同时学习Swift语言和游戏开发。经过查阅资料,决定使用SpriteKit框架。

由于个人精力有限,这个项目很可能会烂尾。不过我还是希望能偶尔抽空更新,并在将来的某一天实现所有预期的功能。

文章目录
|