算法数据结构和效率

有关算法效率分析的笔记,包括Big-Oh表示法、Master定理和部分算法与数据结构的算法分析。

封面
阅读更多

数据结构:常见排序算法解析

因为我经常忘记各种排序算法的思路,所以我写了这篇文章。文章中使用了结构体数组来完成排序,已经完成了快排、希尔等多种排序方法。其中,我采用了 arr[0] = {} 这样的方式来置空数组,并将其作为哨兵来使用。

阅读更多

计时器

[TOC]

游戏设计中的计时器类通常用于控制、管理和记录游戏中时间相关的功能。计时器类的作用是在游戏中跟踪时间的流逝、延迟执行特定事件、限制某些活动的时间长度等。

计时器类的功能包括启动计时器、停止计时器、重置计时器、设置计时器的时间间隔、执行回调函数等。

我们先通过植物明星大乱斗的计时器实现代码来分析,然后从实例中讲解每一步的实现

阅读更多

游戏评测-Balatro小丑牌

概述

Balatro是一款牌组构筑式类rogue游戏,玩家可以依照德州扑克的出牌规则,通过出牌弃牌两个简单的行为积累分数,当分数高于当前盲注要求的分数时便通过该盲注,每次通过盲注时会进入商店,商店中售卖小丑牌、不同卡包,玩家可以通过购买小丑牌、卡包完成卡组的构筑。

阅读更多

PBR 理论

欢迎大家关注原文作者 hsz!原文地址:https://www.hszsoft.com/2024/04/30/pbr-theory/

简介

PBR(Physically Based Rendering),基于物理的渲染,指的是一些基于现实的物理原理所构成的渲染技术的集合,而非单一的某一种光照算法。

本文主要依据 LearnOpenGL 上的 PBR 理论篇,但在其中文版文章中有一些翻译问题,并且在理解上有一定难度,博主在这里对其进行了一定的简化。

阅读更多

游戏设计知识分享笔记-依赖性

飞鱼丸的个人博客建成啦,欢迎大家参观!点击传送原文

前言

在构思一个新游戏时常常会有许多想法,诸如不同的挑战、系统以及界面,完整的游戏常常会包含上百种机制及子系统,在已经构思好许多子系统后,紧接着我们要开始游戏的开发,现在我们有以下的选择

  • 最简单的模块
  • 最擅长的模块
  • 最具特色的模块
  • 常常能听到的核心玩法

绝大多数游戏开发者都会建议从核心玩法开始开发,但是为什么要这样做呢?

阅读更多

自己设计一个游戏通用的2D摄像机累。Camera2D

在2D游戏开发中,摄像机是一个至关重要的组件,允许开发者控制玩家的视角,决定他们能看到游戏世界的哪些部分。这对于引导玩家的注意力和提供沉浸式体验非常重要,在战斗场景中聚焦于战斗区域;而在探索场景中扩大视野以展示更多的环境细节,跟随主要角色移动,确保玩家始终能够看到控制中的角色和周围的环境,将摄像机焦点对准可交互对象,用来提示玩家这些对象的存在和重要性,还可以用来实现特殊效果,如震动或动态缩放等,在下文中我们将会实现这样一个摄像机类用于自己的游戏。
ICON

阅读更多

程序化游戏地图生成浅析(一)

使用 程序化内容生成(PCG) 的优势:

  • 无限地图内容:两个维度,一是单次游玩的地图内容趋近于无限,即无限大世界;二是可以生成近似无限多的世界,提升游戏的可重复游玩性;
  • 节省开发成本:开发者只需要定义生成规则来描述世界最底层的机制,而不需要从上到下事无巨细地完成玩家可游玩的全部内容;
  • 挑战与变化:使用程序生成地图可以很好地控制随机性,给玩家创造挑战的机会,更具趣味性;
  • 动态难度调整:使用规则描述世界生成可以站在更高的维度去调控世界资源,更好地平衡游戏难度或创造特殊难度的世界。

在大多数情况下,程序化生成地图的游戏也并不能完全地摆脱传统的手工制作的部分,即便是程序化内容生成主导的世界中,也存在细粒度的部分需要开发者进行人工设计(如 Minecraft 中的村庄等内容),这同样也可以使用更细致的生成规则来描述。

阅读更多