惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
U
Unit 42
W
WeLiveSecurity
博客园 - Franky
Recent Announcements
Recent Announcements
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
月光博客
月光博客
The Cloudflare Blog
Spread Privacy
Spread Privacy
腾讯CDC
P
Privacy International News Feed
N
News and Events Feed by Topic
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
T
Troy Hunt's Blog
小众软件
小众软件
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Microsoft Security Blog
Microsoft Security Blog
L
Lohrmann on Cybersecurity
Webroot Blog
Webroot Blog
Y
Y Combinator Blog
量子位
P
Palo Alto Networks Blog
N
News and Events Feed by Topic
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
IT之家
IT之家
T
Threat Research - Cisco Blogs
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
C
Check Point Blog
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
G
Google Developers Blog
S
Secure Thoughts

机核

游戏性能旗舰最强之选,一加 Ace 6 至尊版国补到手价2999元起 6元钱自己更换电动车刹车线 《生化危机9:安魂曲》编剧Haris Orkin专访 摸金游戏?音乐游戏!暗区新赛季这把能弹的琴有何来历? 好评国产武侠SRPG《息风谷战略》免费DLC现已推出 | 机核 GCORES 碎片 《生化危机:安魂曲》将于5月实装首个免费更新内容 | 机核 GCORES 新锐东方游戏,谱写世界新章! 沉浸式恋爱视觉小说游戏《心象演算》免费试玩版现已正式上线 | 机核 GCORES 互动影游《代号三国:龙起》上线!穿越三国与曹操并肩、与佳人同行、与权谋博弈! 《老头收集梦想生活》,游戏酒桌会6,录音笔VOL.689 | 机核 GCORES 破界·共生——《白日梦:无限世界》五大核心游戏特点解析 价格已到史低,锐龙5 9600X/锐龙7 9700X正适合抄底 时间循环之旅即刻启程!《归环》一周目测试今日开启 热门在线韩游变魂游,洛奇衍生作能否打破“花瓶”魔咒? LG UltraGear evo 全新高端显示器系列:当“5K”遇见“AI”,不止强大,更懂热爱 反套路三国互动影游《代号三国:龙起》今日上线! 愿望单登记人数突破10万!备受瞩目的“女儿养成游戏” 《梦幻魔法公主》今日于Steam平台上线!限时八折优惠中 《黑神话:悟空》全球音乐会2026巡演将于4月29日12时开票 | 机核 GCORES “Snowguelike”生存肉鸽挖矿新作《蛙穿雪境》公布发售日期,5月7日正式上线 | 机核 GCORES 重塑移动办公、AI创作新境!全新华硕灵耀Air系列、ProArt 骁龙版震撼首发,创芯未来 均分88:《Saros》媒体评分汇总 | 机核 GCORES 上海烛龙公布合作遗迹探险游戏《吉时已到》首支预告片 | 机核 GCORES 首个独立游戏《萝薇日记》已上线Steam! 烛龙新IP《吉时已到》首曝,打造国内首款中式合作遗迹探险游戏 喜加一:《暗黑破坏神Ⅳ》国服现已开启限时免费领取本体活动 | 机核 GCORES 新版《生化危机》电影定于9月18日上映,官方网站现已上线 | 机核 GCORES 《冲就完事模拟器2》“星球大战”联动DLC正式宣布 | 机核 GCORES SteamController将于5月4日发售,售价99美元 | 机核 GCORES 事已至此,内存这么用也算省钱了,“2+1”非对称双通道应用实测 505游戏母公司现已收购《明末:渊虚之羽》IP | 机核 GCORES 基石 手动杂谈12|格斗游戏也能讲好故事 | 机核 GCORES I Love You Mr Snowball 我的向日葵小姐 会比GTA6先发售吗?最硬核的生存游戏《DAYZ》要推新DLC了 周记02:在2026遇到新怪谈 什么硬件,能让游戏Loading界面快速消失? | 机核 GCORES GadioSpec《百年风云世界杯》免费试听集 | 机核 GCORES 百年风云世界杯Vol.1丨足球崛起 | 机核 GCORES 100年前,一群人提前替我们经历了AI恐惧 | 机核 GCORES 《呼啸山庄》2026 ——一辆当代艺术的大卡车冲撞了我的大脑 手游《天穗之咲稻姬:日之香巡灵传》宣布将于7月27日停服 | 机核 GCORES 集结梦之队,征战世界杯,《最佳球会ONLINE》上线Steam 山水绝景随心拼 休闲建造游戏《千里山河录》Steam商店页公开 巫师帽、法袍、魔杖,为什么它们是影视、游戏里的法师必备三件套? 《无鞘信使》-第一章 复古风自动战斗肉鸽《终结之终结》Steam商店页面现已上线 电脑里有一款不破不立的MMO,录音笔VOL.688 | 机核 GCORES 《生化危机》30周年纪念周边发售,这次是真的“保护伞” 可靠耐用+AI全能,惠普战66 2025锐龙版深度体验 《时之书:无尽终章》关卡“大航海时代”全球首次公开 经典名作《乌龙派出所》改编经营模拟游戏《乌龙派出所~阿两的商店街物语~》正式宣布支持简体中文 明日开冲,解锁反套路三国互动影游《代号三国:龙起》即将上线 独立游戏《这是我的宝藏!》已发售~ 降低难度不是唯一解,无压力死亡也是好体验 Netflix官宣新片《普通人》:讲述韩国现代史上的权力风暴 《生化危机:安魂曲》全球销量现已突破700万份 《绝地鸭卫》PC版5月15日正式发售 亡妻回忆录?女性向情感叙事游戏《S-mail》现已正式发售 全新酷黑风格,酷睿Ultra 200S PLUS的高性价比搭档!七彩虹BATTLE-AX B860M-PLUS S WIFI7 V20 超级黑刃主板测评 胖狗 索尼发布了港台地区PS5产品价格调整公告,将于5月1日起实施 二次元怪猎+性感美女!《碧蓝幻想:无尽黄昏》开启Beta公测 这款怪谈类型中式恐怖游戏居然更新了?! 《百日战纪 -最终防卫学园-》改编漫画将于今年冬季开启连载 《如被附身,请致电我们》:匈牙利黑色幽默恐怖小说 《竹屿山房杂部卷五》(译文) 大树 超越引擎 摄影分享丨四月 碎片杂记vol.72 当老式FPS与老式动画技术碰撞出新时代的火花—《神探杰克鼠》 想做独游,如何避免首个项目就褒姒? 在线多人动作游戏《OCTOPinbs》将于5月12日上线Steam! 《酒鬼女神的酒诡》确定将于2026年登陆Steam 《CRYMELIGHT》将于11月5日(周四)正式发售!4月25日开始预购! 钢铁国度MKI部落Evolution,蛮兵部分 【钢铁国度】部落-Primal MK I,蛮兵部分 这是一个高中生用ai跑出来的作品,我自称他为物理神话 钢铁国度MKI部落Metamorphosis,蛮兵部分上 钢铁国度MKI部落Metamorphosis,蛮兵部分下 INDIE Live Expo于4月25日举办:首发9款新作,超200款独立游戏亮相 暗黑卡牌策略新作《魔忌:穷鼠啮狸》发布全新中文试玩版和发售预告片,4月30日正式上线在即 战锤40K长篇小说:变节者・苦难主宰(三)(全书完) 战锤40K长篇小说:变节者・苦难主宰(二) 战锤40K长篇小说:变节者・苦难主宰(一) 英语语言学习丨短语专题1:短语的特点 唯一的EVE战争 【少前同人】【M200】战术人形会梦见音乐会吗 【昏迷3】即将发售,前作主角悉数到场!“恶灵”宋老师化身可操控角色 业内人士:游戏公司“十有八九”使用生成式AI,包括卡普空 欢庆一周年:《光与影:33号远征队》全新纪念艺术图、超值折扣与免费更新同步上线 才刚刚开始呢 【抽奖】《星际卡车司机》推出免费大型更新,四折平史低折扣进行中 四人合作FPS游戏《佣兵猎手》抢先体验重大更新 1 现已上线 Raw Fury新作《深馅地牢 Deep Dish Dungeon》将于今秋加入 XGP 塔防幸存者游戏《魔怪来袭》推出首个 DLC 《饿狼传说:群狼之城》1周年纪念!新DLC“沃尔夫冈·克劳萨”今日参战 猫狗相伴 欢乐闯关 双人合作平台跳跃游戏《猫狗同行》上线Steam商店页 《同行:月球逃脱》(Together: Moon Escape)上线将于明日上线Steam
《兽人幸存者》:程序猿单刷Booom之旅
冻爪爪 · 2024-09-03 · via 机核

大家好,这里是冻爪,第二次参加BOOOM。这次是单人参赛,想挑战下自己的极限!

《兽人》是一个看上去很大的游戏:场景很大,敌人很多,装备很多。

这是我制造的假象,《兽人》的内容量和我的实际工作量是有出入的。我写了一个能支持一系列基本的指令的数据结构。然后只要将这些基本指令,排列组合,就可以生成大量的内容。就像搭积木一样。

"I have a plan"

Change your ___, not your ___.

这次Boom的题目看不懂。这个黑色字体填空题,我唯一能想到的就是耐克,因为耐克广告也是黑色字体。

既然没思路,那就从自己的优缺点开始分析。确定了游戏的类型,再决定题目。策划、剧本、美术、程序四个方面,单走的我该如何取舍呢?

  • 首先我没做过策划。我一个月前尝试写过策划案,只憋出来两页。作为比较,上一次Boom我们组的策划写了几十页,还有Excel和ppt。我的策划能力显然是地下室级别的。所以,我这次的游戏必须足够直白,不能有关卡,绝对不能有解密。

  • 我会写作,但不多。写剧本要占用很多游戏开发的时间,与其写一个半吊子剧本,不如多花时间写几行代码。所以不要剧情了,砍掉砍掉。

  • 我会画画,但速度很慢。速度慢,那最后肯定得加入素材图,一旦素材和自己的美术风格不统一,就会吃力不讨好。干脆全用像素素材包。不同像素素材包之间差别小,改起来也简单。

  • 我会编程...而且还挺强。所以我要强化自己的优势,挑战更难的代码:

开放世界,程序生成地形,做!

随机装备技能,肉鸽刷刷刷,做!

大场面战斗,屏幕里一百个敌人追杀主角,做!

我来用随机函数狠狠堆料!我要煮一锅乱炖,献祭给混..(划掉)随机女神!

大就是好,多就是美。

确定游戏方向后,我拍了拍脑袋有了主题。

兽人小贼,在无边无际人类地盘上不停的奔跑!一边偷盔甲,一边被追杀。不断升级词条,直到盔甲升级到能无视所有人的攻击!免伤100%。

我命名为《盾之勇(划掉)...《兽人幸存者》。

Change your armor, not your sword.

完美的计划,what can go wrong?

以为有素材包就万事大吉?

美术方面我决定使用2.5D像素风格。世界基地是3D的,是由类似MC的方块组成的,我只需要画几个方块,然后通过程序生成地形。世界里的小人儿和景物都是2D像素素材。

我在早先时候购入过两个像素素材整合包,一个是环境素材,另一个是像素小人各种动作的三视图。我天真的以为这就够了。但是...

一个2D角色,想在3D环境中自由转身,前左右三面是不够的......必须补全背面,前左,前右,后左,后右,八张图!

跑、跳、待机、攻击,每个动作8个方向,考虑左右、上下是镜像,我需要画5个方向。同时每个动作4帧动画,加起来就是4x5x4=80张图。扣掉素材包里有的,我还得补全大约50张图。

画主角小兽人画了5个小时,绷不住了,握鼠标的手都麻了。我决定所有敌人都不能跳跃,这样可以少画一个跳跃动作,每个角色起码省掉15张图。

在画了6个角色后还是受不了。于是我把魔法师敌人设定为固定炮台,省掉跑的动作。最后狗狗更是偷懒了,没画正面和背面。

画完敌人后,用以前项目写的状态机给敌人们加了AI,近战、远程、狗,一共三种行为模式。

此时,Boom过去了将近一半。

开放世界不是这么简单的

抠像素图严重扰乱了我的计划,于是我向公司请了一周假搞开发。

在网上学习了下如何用Unity柏松函数生成等高图,进而生成地形。我可以通过调节参数改变地形的崎岖程度,每套参数搭配一个独特的地块,就成了一种新环境。所以实际上的美术只需要一个方块的贴图,辅以像素图包里现成的2D景物图,就能实现好看的场景。我成功把美术问题转化成了程序问题。

地块生成会卡顿一下,然后地图突然加载出来。我不喜欢这样,我希望玩家能看到地图生成的过程,于是我把过程拆分成了十几帧,玩家就能看到地图从光秃秃的地面,慢慢填满景物和敌人的过程。游戏的开始界面就是世界生成过程。

要做开放世界的话,还要考虑性能表现。我开发使用的是2021年的macbook pro,已经很过时了,所以如果游戏能在我的电脑上流畅运行的话,大部分玩家都不会遇到问题。

如下图,我准备要根据主角的位置时时更新周围的场景。即根据和玩家的距离,决定是否显示。为了减少卡顿,这些刷新会拆分成4帧完成:第一帧刷新敌人和投掷物,第二帧刷新宝箱和警戒值,第三帧刷新景物,第四帧刷新地块。实际测试效果很不错。

然后我遇到了问题——敌人的寻路AI没办法跟着生成的地图动态变化。敌人没法识别新生成的地形,只会蠢蠢地目送玩家逃跑。

寻路AI需要预先扫描所有地形来计算AI的路径,但我的地图是实时生成的,这就导致我必须在游戏中,每隔几帧刷新下寻路的范围,不然AI就会撞上空气墙。这会给程序带来很大负荷,玩家可能遭遇卡顿。

权衡之后,我决定抛弃开放世界,采用关卡式设计,每一关使用一个200*200的随机生成地图,玩家在到达地图边缘后往下跳,就会进入下一个关卡。

难度曲线

采取关卡的设计,除了保障运行顺畅,还有一个额外的好处——我可以更轻松地控制难度曲线。如果玩家在上一关玩的太轻松,我就可以在下一关增加难度。

游戏里使用了如下难度调节:

  • 玩的时间越久,敌人伤害/攻速越高,攻击冷却越短

  • 玩的关卡越多,地图上的宝箱越多,宝箱里的装备越好

  • 上一关开的宝箱越多(游戏中用通缉度表示),意味着上一关难度过低,下一关就会提高远程敌人的数量

我有点沉迷做编辑器,花了不少时间做了难度调节界面,却只用了一次。纯纯浪费时间了属于是。其它Solo的同学引以为戒,给自己用的玩意,不需要弄UI。

既然提到了难度控制单元,我给大家看看其他控制单元吧。我这次所有控件全都用可编程对象(ScriptableObject)写成,也就是说所有的游戏逻辑是和场景解耦合的,控件间的交流是发生在场景之外的。

这比单例模式(Singleton)好的地方是,即便场景内缺少某个控件也不会报错,我可以单独测试一个或几个控件。单例是场景内唯一,可编程对象是整个游戏内唯一,每次改动控件参数,它们就会在所有场景生效。

技能和装备词条

在最后三天的时候,我终于开始做技能了,一个刷装备的游戏直到最后才开始做核心机制(捂脸)。

我放弃了许多设想的很酷很帅的技能,现在只要能把游戏做完我就谢天谢地了。

我的思路是把主角的所有属性划归为数值,然后所有装备的词条就是在围绕这些数值做文章。我避免一些独特的机制,比如与敌人有交互的机制,撞开敌人,吹飞敌人之类的。

我设计的技能就只是围绕主角本身的。比如加速技能,就是主角速度*2,在3秒后速度变为正常。无敌技能,就是把受到伤害锁定为0。多段跳,就是允许玩家在空中多按几次跳跃键。它们的实现只需要一两行代码。

我唯二专门做的技能是闪现和子弹时间。因为《兽人》是一个跑酷躲避敌人的游戏,玩家的移动性能必须足够高,闪现和子弹时间是快节奏游戏里必备的技能。

游戏中一共有4种闪现词条:往前闪现/短距离随机闪现/长距离随机闪现/闪现到下一关。他们搭配不同触发条件:受击触发/破甲触发/主动触发,有12种变种。子弹时间则是根据时长分了4个档次,同样搭配3个触发条件,12种词条。

为了填充数据方便,我给每种属性变化设了代码。最后好巧不巧,一共99种词条。这些词条按照强度,分成低、中、高3个池子。不同等级的装备会有概率从不同的池子里抽选词条。池子里有些技能的出现概率会高于别的技能,保证玩家不会突然爆发。

截止前12小时我还在填表。经过测试,最后的最后,在截止前6小时,游戏完成!!

感想

这次Boom我时间管理出了些问题,幸好我是一个人做,迅速调整了计划。这个题材我是拍脑瓜子决定的,没什么深度,真要给我再多时间,恐怕提升也有限。之前按照反馈更新了一次,提升了一些用户体验。但我之后也不会继续开发下去了。

这次Boom我可以算是莽过关了。能做完我很开心。自己缺乏的东西真的很多,下次希望和别人合作完成吧,一个人的力量确实是有限的。兄弟们下次约!