当前位置: 首页 > news >正文

黑神话:游戏的诞生

🛰 前言

近期,国产 3A 大作《黑神话:悟空》给我们带来了一波惊喜。相信各位或多或少都有所了解。看见如此激动人心的产品我们除了欣喜,也不禁让我们思考起来游戏是如何实现的?我们能否开发一款属于自己的游戏? 今天我们借此来讨论一下游戏的基本原理以及优质的游戏是如何诞生的。

🛰 神奇的动画

在开始聊游戏之前,不得不跟大家先聊一个核心知识——动画。什么是动画?动画是如何实现的?

动画是一种通过快速连续播放一系列静止图像来产生运动幻觉的艺术形式。每一个静止的图像称为“帧”,当这些帧以一定的速度连续播放时,观众会感受到其中的图像在运动,从而形成动画效果。动画的本质是利用人类视觉暂留效应(视觉持续性),使快速变化的静止图像看起来像是连续的运动。

上面的解释似乎晦涩了一点,我们可以结合以下内容来理解。

其实,我们发现:所谓的动画就是一张张连续播放的图片所形成的视觉效果。

🛰 与动画交互

知道了动画的原理,我们可以借助计算机制作出如同电影、动漫相关的影视作品。但是,想要制作出游戏似乎还差点什么。这其中差的就是交互。其实,电影和动漫也是可以交互的。大家回想一下,在观看电影或动漫等相关影视作品时,有时我们或多或少都会进行一些倍速、快进、后退等操作,这些操作就是在与动画进行交互。只不过这种交互只能局限于控制动画全局的播放速度。

影视作品的动画是由固定数量的关键图片连续播放从而形成的视觉效果。当这些图片按时间序列顺序播放时,如果我们在特定的时间和位置插入一些特定的图片会发生什么呢?

交互效果实现了,我们可以在动画里面通过插入图片的方式改变动画的固有播放效果从而形成控制动画的交互效果。

🛰 游戏引擎

基于游戏的运行原理,具有一定专业知识的人可以利用计算机开发出一些较为常规的小型游戏了。但是想要制作类似《黑神话:悟空》这样级别的游戏光是依靠这一点原理知识远远是不够的。因为,这种大型游戏是需要尽可能的模拟现实世界。这种模拟需要许多数学、物理学上的专业知识,为了减弱这些专业知识对游戏开发时的影响,一般在现代游戏开发中会引入游戏引擎。

游戏引擎主要为游戏开发提供了许多基础功能。例如:图形渲染、物理引擎、音频引擎、人工智能、脚本系统、用户界面、网络功能、开发工具和编辑器等。在这些基础功能之上,开发人员可以专注于游戏的设计和创意而不用花费大量的时间去研究开发游戏所需的基础设施。

🛰 技术中的艺术

一款高质量的游戏不仅需要技术还需要艺术。有了游戏引擎理论上可以有无限可能,但是个人的能力是有限的。一般而言,专业的开发人员拥有开发出游戏的能力,但这并不意味着就能够制作出画质精美的游戏。因为常规的开发人员是无法同时具有极强的技术能力和美术功底的。想要实现一款诸如《黑神话:悟空》这样的游戏,就需要专业的美术工作者才能够制作出如此高质量的动画。

在常规的游戏中,一般而言技术工作者相较于美术工作者的工作时间要长。但是,在某些游戏的研发周期中可能美术工作者所占的时间比重更大。此时的游戏更像是承载艺术的载体,而非单纯的游戏。所以,有时可以看到某些游戏能够形成这么一种现象:讨论游戏内容的人数远大于亲自下场玩游戏的人。

🛰 完美的开篇

高质量的游戏一般是技术和艺术结合的工艺品。《黑神话:悟空》并不只是一款单纯的游戏,其底层反映出的是技术能力和文化底蕴。所以《黑神话:悟空》的成功看似是游戏的成功,其实更多的是反应出我们技术上和文化上所得到的认可。

万事开头难。但是《黑神话:悟空》为大家做了一个好的开头,这是一个完美的开篇,希望未来的我们能够更好。

🛰 结语

本期的分享到此结束了,喜欢的朋友们麻烦点个关注吧!🥤🥤🥤


http://www.mrgr.cn/news/21287.html

相关文章:

  • C++开发基础之自定义异步日志库实现及性能测试
  • Linux block_device gendisk和hd_struct到底是个啥关系
  • 【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)
  • 基于yolov8的焊缝质量好坏系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • jmeter之循环控制器使用
  • 项目管理的完美看板:TaskCafe
  • golang学习笔记08——如何调用阿里oss sdk实现访问对象存储?
  • 使用PowerShell限制Microsoft Exchange邮件大小
  • C++和OpenGL实现3D游戏编程【连载8】——纹理文字实现与优化
  • http模块 - 创建Web服务以及案例
  • C++隐式转换
  • TYPE-C USB设计
  • 【C++二分查找】1818. 绝对差值和
  • C#/.NET/.NET Core推荐学习路线文档文章
  • 【30天玩转python】条件语句与循环
  • 012.Oracle-索引
  • Vulkan描述符、描述符Pool、Layout概念
  • C++ | Leetcode C++题解之第390题消除游戏
  • 深度评测热门翻译工具,携手你的翻译得力助手
  • 电器维修系统小程序的设计