我的早期VB作品:方块大作战、半成品RPG、MIDI Piano、闪截、随机旋律

爷的青春

群里面发现的一些很早很早以前的坑,大多是初中捣鼓vb的时候挖的。挑几个完成度还算高的展示展示,
以下项目点击蓝色标题就可以下载。

方块大作战

2015年的,能找到的最早的作品(更早的其实是一个用vb的shape搭出来的机器人下楼,找不到了)。那会看着小伙伴玩球球大作战便自己做了一个,不过因为当时能力不足只有一个玩家对战弱智AI。
源码已丢失,但是exe还在。

半成品RPG & 地图编辑器Mapalette

花了大量时间在优化地图绘制速度上,以至于整个RPG只能控制一个角色在无法互动的地图上闲逛。游戏使用GDI/GDI+绘制。

绘制速度优化

当时比较自豪的是通过先用效率不高的GDI+在加载时拼接地图,再把拼接好的地图实时更新时使用速度更快的GDI呈现。通过这种讨巧的优化,相比同样不使用硬件加速绘图的游戏能够呈现更大的游戏窗口、人物地图平滑移动。许多这种RPG游戏窗口不大、频繁需要黑屏切换地图就是因为图像面积大了绘制速度上不去。

物件遮挡关系

地图分两层绘制,人物绘制在背景层和前景层之间,来实现遮挡效果。例如,将一颗树上部分绘制在前景层,树干部分绘制在背景层,这样在主角走在树前时能够遮挡树干,向上走又能被树叶遮挡,避免了实时的贴图遮挡计算。

碰撞检测

地图数据里对每一个16*16像素单元标记了是否可行走的信息,没有什么好说的。

地图编辑器

地图素材使用了RPG Maker的素材,使用这套素材可以以16×16像素图块的为最小元素拼接地图。因此我打算利用这套拼图以及自定义的地图数据实时拼接地图。

因为地图图块细碎,手动写地图数据是不可能的,所以顺便做了一个可视化编辑器,名字由Map和Palette组合。支持批量填充数据、绘制可行走区域、分图层编辑,最终生成对应的地图数据。

最后想内置一个脚本解释器来实现更好的地图交互效果,但是心有余力不足,遂弃坑。

Piano & 随机旋律

都是使用MIDI来播放钢琴音效的东西。
前者是一种类似别踩白块的、随机生成乐块的、手感稀烂的伪音游;
后者是我受到李特基老师的三字经谱曲法启发写的旋律生成器。当然效果并不动听,大晚上点开甚至还有恐怖游戏内味。

动态波浪效果


正弦曲线里套正弦曲线….循环绘制….就挺好康的,没了。

无聊桌宠

一只会盯着看鼠标的猫。

闪截

当时为了参加某个竞赛做的,就是个有简单标记功能的截图软件。
当然现在因为电脑都有DPI缩放问题没法正常运行…

0

2 Comments

  1. nb 我做过的不是什么垃圾就是已经灰飞烟灭了

Leave a Reply