Featured image of post 我的编程启蒙

我的编程启蒙

回忆一下童年的游戏时光

这篇文章为原创文章 | 封面来自网络

接触的第一款PC游戏

在我的童年,对身边大部分家里有电脑的同龄人来说在那个页游最流行的时代,大部分人玩的大概是4399小游戏上的《赛尔号》、《奥奇传说》、《奥拉星》之类的网页游戏,要么就是 快玩游戏盒上的学习版游戏了,而对我来说却不是,对我而言我接触的第一款PC游戏是与我年龄相仿的RTS类游戏:《魔兽争霸Ⅲ:冰封王座》(以下简称"w3"),在当时不是每户人家都能通网的时代,光是玩游戏自带的常规对战地图设置不同难度的人机玩家虽然至今都没成功打过"(电脑)令人发狂的"。,就能让我爽玩一个晚上,更别说还有自带的战役模式了。到了后来升到初中以后接触了对战平台后就开始与许多素未谋面的其他w3玩家一起玩了,开始接触了非暴雪官方创建的自定义地图,经典地图有很多,像守城地图:守卫剑阁、守护雅典娜、保卫卢沟桥、神之墓地等,RPG类型:伏魔战记、世界RPG等,益智小游戏类:英雄赛跑、逃离金字塔、钩肥大战等,对战类(除开常规对战):城堡战争、战就战(这张图在当时非常火,以至于还出了同名手游,不知道现在还在不在就是了)、兔羊之战等,生存类:雪地幸存者、侏罗纪公园、僵尸岛3等,moba类:DOTA(就是你所知道的那个刀塔,DOTA2的前身,同IP手游《刀塔传奇》也是来源于此)、澄海3C等以及其他类型的地图这里不再一一例举,到这里你就会发现为什么一个传统的RTS类游戏会有如此多的衍生玩法?但这实际上就是得益于它自带的强大的地图编辑器功能,而这也是我与"编程"这个概念接触的起源。

由此开始的编程启蒙

在w3的根目录(非重制版)下,可以找到一个羽毛笔和羊皮纸地图组合成的可执行程序图样,这就是这个游戏附带的地图编辑器。打开它你就可以创造属于自己的游戏地图了(其实说成"游戏"也不为过,像世界RPG这张图甚至可以支持通过输入特定指令实现玩家数据的存储,在下次进入这张地图时再次输入指令就能延续上次游玩这张图的数据,没有其他地图那种"一局游戏"的感觉。当然,我觉得这种功能实现离不开对战平台提供的api)。

对于刚接触地图编辑器的玩家来说,可能只能通过简单的设计地图地形、布局地图上的野怪、放置中立建筑来制作一张只有常规玩法的对战地图(类似游戏内自带的地图那种)。但实际上光是这样也需要一定的时间去学习的,如果你想设计出地形和场景不突兀、过渡自然的那种地图的话。在淡游之前自己做图都没做出来(笑)

那么对战平台上那些脱离常规对战玩法的多样地图是如何产生的呢?这就要提到编辑器的高阶玩法了:触发器。实际上地图上对于任何情况的发生(英雄释放技能、建筑破坏等)都可以理解为"事件",而触发器就是根据一个个"事件"去执行相应的功能。整个触发流程你可以理解为编程语言中的条件判断语句、多(双)分支语句、循环语句使用,以及类和方法的调用。但它的表述却是用文字描述的(例:“当玩家1的英雄释放技能时,执行……."),所以你也可以称它为"伪代码”。自从发现了触发器这个玩法后,就沉溺于探索它的艺术中去了。印象深的就是做了一个动漫人物的防守地图。但又借鉴了其他游戏的玩法:比如模仿moba游戏在敌方的进攻路线上部署了防御塔,且摧毁后无法再生,没有按序摧毁沿线上的防御塔是无法直接摧毁防守目标的。在攻击模式的设计上是当防御塔攻击非英雄单位时伤害高,而攻击英雄单位时伤害低,与传统moba游戏相反是因为这个地图的敌方是6个"令人发狂的"人机玩家,而他们的单位生产速度是很快的所以需要快速解决,而英雄数量没那么多,通过解决敌方英雄来保护防御塔也是一个不错的玩法。在英雄选择上则是模仿一些经典RPG地图的鼠标双击选择,以及输入指令解锁隐藏英雄。在隐藏英雄上印象深刻的就是设计"时崎狂三"这个角色了因为当时沉迷于看《约会大作战》虽然具体的技能名记不清了,但具体的技能还是有点印象的,而且也参考了原著设定:像被动技能就是在攻击时会召唤一个不可被索敌的分身跟随英雄一同作战,存在一定时间后消失,且分身只能存在一个。终极技能是将时间暂停,在暂停的这段时间只有英雄本身可以行动。游戏条件也很简单,将敌方的建筑全部摧毁就是胜利(与常规对战胜利条件一致),但防守目标被摧毁则游戏失败。这时可能会问你的自定义英雄模型是怎么实现的?这实际上也是得益于编辑器自带外部模型的导入和创作社区的资源了虽然花了一定时间寻找就是了。在那段时间因为一直在捣鼓这个甚至有了想开发真正意义上的游戏的想法,被表哥得知这个想法后,他就建议我接触unity开发,但可惜的是后来就不了了之。但即使是这样的伪代码编程,还是为我未来接触编程语言时打下了基础:在刚开始时常常因为设计得不合理导致地图在游戏内运行测试时导致游戏奔溃,要么就是给英雄设计技能时,放完技能导致英雄消失,还有就是在触发器设置触发时,没有及时清除"点"导致游戏运行卡顿等。到后来学习编程时开始给项目debug时,这段经历给了我很大的帮助。

结语

某种意义上《魔兽争霸Ⅲ:冰封王座》是现在许多游戏玩法的启蒙,在现在游戏爆发的时代,每当我看到某个游戏的玩法PV时,我总能从记忆深处中找到某一张魔兽地图。令人惋惜的是,虽然这些玩法很火但最后都没导致这个游戏的基本玩法:RTS火起来但也不能怪玩家不买账,因为上手难度确实高,曾经一段时间我也曾邀请身边的朋友接触这款游戏,但都被难度劝退了。直到最后我也将之前的作品放在某个二进制之海的角落,然后离开了它。但不可否认它陪伴了我很长一段童年时光。

版权所有,侵权必究,未经许可严禁转载
最后更新于 Mar 14, 2026 19:36 UTC
雨缄信笺 | 十六夜嵐的博客
萌ICP备20250486号|使用 Hugo 构建
主题 StackJimmy 设计 | 由Arashi定制 | 版权声明
载入天数...载入时分秒... | 37.13k 字 | 22篇文章 | 总访问量 次 · 您是本站第 位访问者
Website Version Hugo Version
0%