高级掌握:WTF是脉冲代码调制吗?

如果您是音乐制作人(或打算成为音乐制作人),则您可能会不可避免地与发烧友交谈,这些发烧友吹嘘原始WAV音频比MP3等压缩文件的优势。 我们中的一些人冒险(出于好奇心)进行了更深入的挖掘,只是由于在创建数字(甚至模拟)记录时所使用的低级系统的复杂性而感到困惑。 本文将尝试解释PCM的基本原理, PCM是当今用于对自然声音进行采样以将其转换为音频的最著名协议。 脉冲编码调制 (或简称PCM)是一种将模拟信号表示为离散数字信号的方法。 这个想法听起来很吓人,但实际上并不像看起来那样复杂。 本质上,PCM描述了计算机如何解释它从模拟信号中捕获的样本,这是许多协议之一。 要了解PCM,首先我们必须谈论比特。 位是信息的很小的单位,值为0或1。字节是由位组成的较大的信息单位,一个字节等于8位, 半字节等于4位。 为了简单起见,我们将使用一个半字节。 在二进制世界中,我们从右到左读取这些数字。 数字10的四位表示如下所示:1010。每个0和1都像是一个打开(1)或关闭(0)的门。 这些门后面的隐含数字基于2基系统(因此为二进制),其含义如下:2³,2²,2¹和2⁰(等于1)。 所以1010等于10,因为打开的两个“门”是值8(2³)和2(2¹)的门,它们的总和为10。 这与PCM有什么关系? 一切!…

如何制作游戏-从商业应用程序和网站开发过渡到游戏

电子游戏是许多程序员渴望的原动力。 我在Commodore 64上长大,并拥有磁带机和自己的3个游戏。 在击败了所有三个人之后,我想要更多……但是小时候,买更多游戏是不可行的。 知道自己买不到游戏,所以我决定尝试制作自己的游戏。 我研究了C64的基本语言,在屏幕上写了文字,发现了惊人的GOTO功能,并做了一些非常糟糕的事情。 虽然我制作的游戏真的不值得玩,但编写自己的代码的经验激发了我的内心。 我意识到,即使是一个孩子,也可以控制计算机,使计算机能够执行我想要的操作……我了解到我可以编写代码。 即使像许多人一样,我最初的编码尝试都是与游戏有关的,但我的第一个实际编程工作与游戏完全无关。 实际上,我的整个职业生涯都花在了商务应用程序,高流量网站,硬件测试工具以及各种其他非游戏软件上。 那时,我遇到了数十位“商业程序员”,他们受到视频游戏的启发而学习了手工艺。 他们中的许多人还长期渴望有一天可以编写自己的游戏。 但是,由于他们是专业的开发商,承担着账单,家庭和责任,所以他们常常难以潜水。 他们中的一些人试图过渡到“游戏开发”中,但是大多数人都难以入门,这是有充分的理由的。 有一种趋势,很多人不得不认为“编程就是编程” ..它们都是一样的,只是使用的库或语法略有不同。 我总是发现这种说法是有缺陷的。 您无需雇用固件程序员来构建高流量的AWS托管网站。…

您应该自己制作游戏引擎吗?

剧透:可能不会! 当我开始制作游戏时,我花了很长时间研究合适的工具。 我知道我想为Windows制作游戏,因为它是我玩的平台,但是即使在这个伞下,也有很多选择。 在本文中,我将首先回顾一下游戏引擎的真正含义,以及构建自己的游戏引擎是否有意义。 在以后的文章中,我计划讨论某些游戏开发工具(专有引擎和用于自己制作的框架)的优缺点,并分别与我分享各自的个人经历。 免责声明时间:我不是游戏开发专家,尽管我必须制作一百多个糟糕的,残破的游戏原型,但我已经发布了完全零个游戏。 但是,在做出任何长期决策时,我都非常神经质-选择正确的开发工具可能需要花费多年的时间。 我一生中浪费了无数小时(例如整整五个小时),这些时间都困扰于这些选择,因此您不必这样做! 现在,我已将您的期望值设定得较低,让我们加油。 到底什么是游戏引擎? 有两种关于游戏引擎的思考方式,您所订阅的定义将可能决定您是应该尝试从头开始制作游戏引擎,还是使用市场上许多商用引擎之一。 游戏引擎是工具 对于诸如Unreal,Unity或CryEngine之类的通用引擎而言,该引擎实质上是超越简单编程语言的工具集合,这些语言合在一起可以大大加快游戏的制作速度。 各个引擎之间的特定工具集差异很大,但通常包括诸如关卡/场景编辑器,处理艺术品和声音的内容管道以及处理诸如碰撞检测,spritesheet动画之类的常见问题的工具套件。 Crysis begat CryEngine是在游戏开发过程中诞生的。 虚幻的生成虚幻引擎。…