0%

【开发日志】游戏 Demo 开发日志 1(暂未定游戏名称)

Hello,大家好,这里是 Rayan。今天为大家介绍一下最近业余时间开发的一款游戏 Demo。

首先为大家介绍一下开发背景及其相关信息。

我本人非常喜欢 Roguelike 类游戏,玩过大量该类型游戏,尤其喜欢《以撒的结合》、《杀戮尖塔》、《死亡细胞》、《传说法师》等。

阅读全文 »

A* 算法实现

已联系原作者,取得翻译授权

原文地址:https://www.redblobgames.com/pathfinding/a-star/implementation.html

前文:A*算法介绍

本文相关代码地址:打开

———-分割线———-

这篇文章是我对A*介绍的配套指南,其中我解释了算法的工作原理。本文我将展示如何实现广度优先搜索、Dijkstra 算法、贪心最佳优先搜索和 A* 算法。我尝试保持代码简洁。

图搜索有一系列相关算法。算法有很多变体,实现上也有很多变体。将本文展示的代码视为一个起点,而不是适用于所有情况的最终版本。

阅读全文 »

ECS 架构概述

作者:C.y.

Github:https://github.com/yangruihan

0x00 何为ECS架构

ECS,即 Entity-Component-System(实体-组件-系统) 的缩写,其模式遵循组合优于继承原则,游戏内的每一个基本单元都是一个实体,每个实体又由一个或多个组件构成,每个组件仅仅包含代表其特性的数据(即在组件中没有任何方法),例如:移动相关的组件MoveComponent包含速度、位置、朝向等属性,一旦一个实体拥有了MoveComponent组件便可以认为它拥有了移动的能力,系统便是来处理拥有一个或多个相同组件实体集合的工具,其只拥有行为(即在系统中没有任何数据),在这个例子中,处理移动的系统仅仅关心拥有移动能力的实体,它会遍历所有拥有MoveComponent组件实体,并根据相关的数据(速度、位置、朝向等),更新实体的位置。

阅读全文 »

A* 算法介绍

已联系原作者,取得翻译授权

原文:https://www.redblobgames.com/pathfinding/a-star/introduction.html

在游戏中,我们经常想找从一个位置到另一个位置的路径。我们不仅试图找到其中最短的路径,还希望考虑到时间成本。

要找到此路径,我们可以使用图搜索算法,该算法在将地图表示为图(Graph)这种数据结构时起作用。A* 是其中一个非常流行的选择。广度优先搜索(BFS) 是最简单的图搜索算法,因此,我们从它开始介绍,一步步深入到A*算法。

阅读全文 »