老游戏回顾:d2
游戏中玩家创建属于自己的角色,在一片片暗黑大地上奔跑、杀敌、寻宝、成长,最终打败统治各个大陆的黑暗势力,拯救游戏中的各个种族。
《暗黑破坏神II》的制作团队包括编程小组、运动物体制作小组和背景制作小组。游戏设计很大程度上是开放的,各小组成员皆有贡献与创新。比如,相比《暗黑破坏神》中独立固定的怪物,《暗黑破坏神II》有随机生成数千个怪物的系统,制作团队还利用更真实的透明度、光源和三维透视模式改进了游戏画面。
几乎所有《暗黑破坏神II》的游戏和电影艺术在3D Studio Max中构建和渲染,角色纹理和2D界面元素主要用Photoshop创建,程序员以C语言编写,用Visual Studio和SourceSafe进行版本控制。
尽管计划两年开发完成,但北方暴雪工作室花了三年多时间才完成《暗黑破坏神II》。虽有《暗黑破坏神》的原始代码,但《暗黑破坏神II》实际只有不到1%的代码来自《暗黑破坏神》,更多是从头开始制作。
二者也有诸多相同点,如都为玩家提供简单游戏乐趣,许多乐趣虽可能在游戏评价中未体现,但对《暗黑破坏神II》的成功至关重要。埃里希·谢弗用“杀戮/奖励”描述基本玩法,即玩家杀怪获宝藏和经验奖励。
再如,《暗黑破坏神》和《暗黑破坏神II》都容易上手,制作团队采用“妈妈测试”,若新玩家在玩游戏方面问题多则表明游戏不易上手,事实证明《暗黑破坏神II》容易上手。
----------------------










-----------
永恒的冲突
自太初以来,光明与黑暗就进行了一场名为“永恒冲突”的永恒战争,双方都在争夺统治所有造物的权力。这场冲突的一方是高天堂的天使,他们是由安吉里斯大天使委员会领导的战士,他们相信只有绝对的秩序才能统治领域;另一方面,燃烧地狱的恶魔居民由邪恶之源暗黑破坏神、巴尔和墨菲斯托领导,他们声称黑暗和混乱是万物的中心。
然而,尽管这些派系之间的战斗持续时间长、规模巨大,但双方都无法长期统治对方。大天使伊纳留斯(Inarius)因天堂与地狱之间无休无止的冲突而疲惫不堪,他试图创造一个和平的世界,避免长期以来吞噬两个领域的冲突。为此,他与仇恨之女魔女莉莉丝联手,聚集了同情他们事业的叛逆天使和恶魔,创建了凡人领域的庇护所。伊纳留斯利用世界之石,这是一件长期为两派争夺的强大神器,来隐藏庇护所,使其免遭天堂和地狱的窥视。
圣所的持不同政见的天使和恶魔诞生了人类的祖先:奈非天。当发现这些实体的力量可以超越它们的祖先时,一些人担心它们的力量可能会引起至高天堂和燃烧地狱的注意。当伊纳留斯离开并独自沉思这一启示时,莉莉丝担心她孩子们的安全,在庇护所中横冲直撞,屠杀了居住在王国中的每一个天使和恶魔。伊纳留斯被迫将她放逐到虚空,并篡改了世界之石以削弱奈非天的力量。每一代人都变得越来越弱,他们的寿命随着时间的推移而缩短,直到他们完全转变为对祖先知之甚少的凡人种族。
原罪战争
一时间,人类在庇护所过着和平的生活;但是,就像所有美好的事物一样,这种情况不会持续太久。燃烧地狱的领主们挖掘出了向他们隐藏的凡人领域,点燃了伟大的原罪战争。在这场斗争中,伊纳留斯与地狱的力量展开了较量,双方都试图巧妙地胁迫和操纵人类站在各自一边。两者都在争夺对人类的控制权,恶魔们试图将庇护所的凡人居民作为永恒冲突中的武器,而伊纳留斯则试图控制他所创造的完美世界。
为了影响人类,燃烧地狱的主要邪恶者建立了三位一体神殿。这个邪教由三个分支组成,在凡人不知情的情况下,它们致力于改变原罪的自我:梅菲斯、迪亚隆和巴拉。三位一体慢慢地、微妙地引诱人类走向罪恶的一边,随着几十年的过去,其数量不断增加,而原罪的影响却不受控制。为了抵消三位一体日益增长的力量,伊纳留斯以“先知”为幌子,创建了光明大教堂来传播高天堂的教义。
光明与黑暗的对峙在庇护所中继续着,就像在天堂与地狱中一样。三位一体神和光明大教堂都在大地上传播各自的福音,并聚集了大量的信徒,直到人类第一位母亲莉莉丝的回归打破了他们的棋局。
莉莉丝削弱了伊纳留斯对世界之石的抑制,让奈非天恢复了以前的力量。然后,她操纵了一位名叫乌迪西安·乌尔·迪奥梅德的农民,将他重新觉醒的奈非天能力武器化。乌迪西安带领他的奈非天同胞反抗三位一体和光明大教堂,进一步操纵世界之石来增强奈非天的超凡力量,并以此引起至高天堂对庇护所的注意。一场三重战争爆发了,直到伊纳留斯再次将莉莉丝放逐到虚空才结束,乌迪西安意识到不受控制的奈非天可能会给整个庇护所带来厄运。他牺牲了自己,再次压制了世界之石的力量,并在此过程中剥夺了他的奈非天同胞重新获得的能力。
乌迪西安牺牲后,安吉里斯议会和墨菲斯托召开会议决定庇护所的命运。原罪战争双方最终达成协议:作为交换,伊纳留斯被墨菲斯托永远囚禁在燃烧地狱中,天堂和地狱不再干涉庇护所的事务,而是让人类的子孙后代走上光明之路。或他们自己不带偏见的黑暗。至此,人类对于原罪战争以及曾经行走在人类之中的恶魔与天使的记忆都被抹去了,整个事件也悄然消失在历史之中。
拉撒路利用这种不确定性,团结了崔斯特瑞姆的人民来营救阿尔布雷希特王子,并将他们引诱到大教堂下方的地下墓穴中。城镇居民集体集结,但拉撒路的谎言却导致他们惨死在可怕的屠夫手中。暗黑破坏神在这些牺牲的滋养下,力量不断增强,并开始召唤恶魔来恐吓乡村,同时他继续恢复力量,准备将他的兄弟巴尔和墨菲斯托从他们自己的监狱中解救出来。
从黑暗中出现了一位不太可能的英雄,他是众多被崔斯特瑞姆吸引并寻求结束恶魔瘟疫的英雄之一。他深入大教堂迷宫般的内部,屠杀恶魔并揭露迪亚波罗的邪恶阴谋,然后与邪恶之源面对面。英雄成功击败了迪亚波罗,但被迫将灵魂石嵌入自己的额头上,以再次遏制恐惧之王。
邪恶归来
虽然英雄战胜了迪亚波罗,但灵魂石的力量却压倒了他。这位英雄在暗黑破坏神面前被掏空成一个容器,他是一个破碎的人,他继承了黑暗流浪者的衣钵,开始了向东的旅程。
----
主线剧情
前言
天堂与地狱的战斗(末日之战)在人类出现之前就已经开始,延续了数千年,此间天使和恶魔中都英雄辈出,可创造者暴雪小组设定的平衡度太高。这两帮人谁也奈何不了谁,于是死伤无数。其中Diablo(迪亚波罗)、Baal(巴尔)、和Mephisto(墨菲斯托)是地狱最高统治者,魔神三位一体,掌握恐惧、破坏和憎恶之力。大天使IZUAL(衣卒尔)则是天堂中最伟大的英雄。
故事内容
大天使IZUAL在某次突袭Hellfore(地狱入口)战斗中被打败,用天使长Tyrael(泰瑞尔)的话来说就是“他圣洁的灵魂被锁在地狱深渊,他的意志被封入一个恐怖的怪物身体”,不论如何美化,事实是大天使IZUAL终于投靠地狱,成为堕落天使(Fallen Angel)。
-----
相关文章:
老游戏回顾:d2
游戏中玩家创建属于自己的角色,在一片片暗黑大地上奔跑、杀敌、寻宝、成长,最终打败统治各个大陆的黑暗势力,拯救游戏中的各个种族。 《暗黑破坏神II》的制作团队包括编程小组、运动物体制作小组和背景制作小组。游戏设计很大程度上是开放的&…...
【深度学习】Pytorch的深入理解和研究
一、Pytorch核心理解 PyTorch 是一个灵活且强大的深度学习框架,广泛应用于研究和工业领域。要深入理解和研究 PyTorch,需要从其核心概念、底层机制以及高级功能入手。以下是对 PyTorch 的深入理解与研究的详细说明。 1. 概念 动态计算图(D…...
什么是 Vue 的自定义事件?如何触发和监听?
Vue 的自定义事件详解 什么是自定义事件? 在 Vue 中,自定义事件是组件之间通信的重要机制。自定义事件允许子组件向父组件发送消息,通常用于处理用户交互或异步操作的结果。这种机制使得组件间的通信更加灵活和解耦。 自定义事件的基本概念…...
windows上vscode cmake工程搭建
安装vscode插件: 1.按装fastc(主要是安装MinGW\mingw64比较方便) 2.安装C,cmake,cmake tools插件 3.准备工作完成之后,按F1,选择cmake:Quick Start就可以创建一个cmake工程。 4.设置Cmake: G…...
DEMF模型赋能多模态图像融合,助力肺癌高效分类
目录 论文创新点 实验设计 1. 可视化的研究设计 2. 样本选取和数据处理 3. 集成分类模型 4. 实验结果 5. 可视化结果 图表总结 可视化知识图谱 在肺癌早期筛查中,计算机断层扫描(CT)和正电子发射断层扫描(PET)作为两种关键的影像学手段,分别提供了丰富的解剖结构…...
Android:权限permission申请示例代码
Android应用项目每次最开始都要进行权限申请,贴一下权限申请的示例代码,方便后续Ctrl CV使用 1.AndroidManifest.xml 配置要申请的权限 <uses-permission android:name"android.permission.READ_CONTACTS" /> <uses-permission and…...
AI Agent Service Toolkit:一站式大模型智能体开发套件
项目简介 该工具包基于LangGraph、FastAPI和Streamlit构建,提供了构建和运行大模型Agent的最小原子能力,包含LangGraph代理、FastAPI服务、用于与服务交互的客户端以及一个使用客户端提供聊天界面的Streamlit应用。用户可以利用该工具包提供的模板快速搭建基于LangGraph框架…...
大数据SQL调优专题——Hive执行原理
引入 Apache Hive 是基于Hadoop的数据仓库工具,它可以使用SQL来读取、写入和管理存在分布式文件系统中的海量数据。在Hive中,HQL默认转换成MapReduce程序运行到Yarn集群中,大大降低了非Java开发者数据分析的门槛,并且Hive提供命令…...
Python程序打包 |《Python基础教程》第18章笔记
《Python基础教程》第1章笔记👉https://blog.csdn.net/holeer/article/details/143052930 第18章 程序打包 程序可以发布后,你可能想先将它打包。如果程序只包含一个.py文件,这可能不是问题。然而,如果用户不是程序员࿰…...
图论 之 迪斯科特拉算法求解最短路径
文章目录 题目743.网络延迟时间3341.到达最后一个房间的最少时间I 求解最短路径的问题,分为使用BFS和使用迪斯科特拉算法,这两种算法求解的范围是有区别的 BFS适合求解,边的权值都是1的图中的最短路径的问题 图论 之 BFS迪斯科特拉算法适合求…...
掌握Spring开发_常用注解详解
1. 前言 1.1 写作目的 本文旨在全面解析Spring框架中常用的注解,帮助开发者更好地理解和使用这些注解,提高开发效率和代码质量。Spring框架提供了丰富的注解,简化了依赖注入、AOP、事务管理、Web开发等多个方面的开发工作。通过本文的学习,读者可以掌握这些注解的使用方法…...
华为昇腾服务器(固件版本查询、驱动版本查询、CANN版本查询)
文章目录 1. **查看固件和驱动版本**2. **查看CANN版本**3. **其他辅助方法**注意事项 在华为昇腾服务器上查看固件、驱动和CANN版本的常用方法如下: 1. 查看固件和驱动版本 通过命令行工具 npu-smi 执行以下命令查看当前设备的固件(Firmware࿰…...
Kubernetes的Ingress和Service有什么区别?
在Kubernetes中,Ingress和Service是两个不同的概念,它们在功能、作用范围、应用场景等方面存在明显区别,具体如下: 功能 Ingress:主要用于管理集群外部到内部服务的HTTP和HTTPS流量路由。它可以根据域名、路径等规则…...
洛谷B3619(B3620)
B3619 10 进制转 x 进制 - 洛谷 B3620 x 进制转 10 进制 - 洛谷 代码区: #include<algorithm> #include<iostream> #include<vector> using namespace std;int main(){int n,x;cin >> n >> x;vector<char> arry;while(n){if(…...
vue组件,父子通信,路由,异步请求后台接口,跨域
1.组件注册 1.1局部注册 局部注册组件---1.导入import 组件对象名 from 组件网页路径 export default{ name:"名称", data(){return {}}, created(){}, …...
详解分布式ID实践
引言 分布式ID,所谓的分布式ID,就是针对整个系统而言,任何时刻获取一个ID,无论系统处于何种情况,该值不会与之前产生的值重复,之后获取分布式ID时,也不会再获取到与其相同的值,它是…...
.NET + Vue3 的前后端项目在IIS的发布
目录 一、发布准备 1、安装 IIS 2、安装 Windows Hosting Bundle(.NET Core 托管捆绑包) 3、安装 IIS URL Rewrite 二、项目发布 1、后端项目发布 2、前端项目发布 3、将项目部署到 IIS中 三、网站配置 1、IP配置 2、防火墙配置 3、跨域配置…...
软件测试之压力测试
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 压力测试 压力测试是一种软件测试,用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力&…...
矩阵-矩阵置零
矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为0 。请使用 原地 算法。在计算机科学中,一个原地算法(in-place algorithm)是一种使用小的,固定数量的额外之空间来转…...
【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter19-表单脚本
十九、表单脚本 表单脚本 JavaScript 较早的一个用途是承担一部分服务器端表单处理的责任。虽然 Web 和 JavaScript 都已经发展了很多年,但 Web 表单的变化不是很大。由于不能直接使用表单解决问题,因此开发者不得不使用JavaScript 既做表单验证…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
