<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[twopointfive的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/twopointfive</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; twopointfive]]></copyright><item><title><![CDATA[推箱子游戏自动求解和关卡生成]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/158920503</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/158920503</guid><author>twopointfive</author><pubDate>Wed, 11 Mar 2026 18:52:57 +0800</pubDate><description><![CDATA[推箱子游戏自动求解部分使用A*寻路算法 ，优化后20x20大小加10个以内box的地图，求解耗时基本可以控制在1秒以内。]]></description><category></category></item><item><title><![CDATA[Rpg游戏地形生成]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/134790893</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/134790893</guid><author>twopointfive</author><pubDate>Mon, 04 Dec 2023 19:18:01 +0800</pubDate><description><![CDATA[rpg游戏中的地形一般使用高度图的形式来绘制。写了几个随机生成高度图的算法。最常见的是基于分形算法生成高度图，网上有很多资料，这里不再介绍。为水体加入 flowmap 这里简单使用梯度来代替flowmap。地形刷子可以使用自定义形状刷子，等高线刷子等。给腐蚀后的地面加入自动生成的降雨水流湖面，术语好像叫地表径流。地形的纹理使用四层纹理混合，使用法线贴图、高光贴图强化细节。一种生成断层效果高度图的算法。对高度图进行降雨腐蚀的算法。梯田化地形  风吹形成山脊。集成到一个流程图编辑器。为水面加上shader。]]></description><category></category></item><item><title><![CDATA[随机生成植物生长及舞动算法]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/127011249</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/127011249</guid><author>twopointfive</author><pubDate>Sat, 24 Sep 2022 08:00:00 +0800</pubDate><description><![CDATA[几年前写过一套随机树木的生成算法，其中使用了分形和放样建模。那时候还不知道有speedtree这款软件，写的比较粗糙，最近看了speedtree的演示把原算法改进了一下，算是一个speedtree的简化版本。]]></description><category></category></item><item><title><![CDATA[townscaper随机生成城镇算法分析]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/123593711</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/123593711</guid><author>twopointfive</author><pubDate>Sat, 27 Aug 2022 07:00:00 +0800</pubDate><description><![CDATA[使用MarchingCube随机生成城镇的算法。可以配合编辑器手动编辑。仿townscaper，根据一个体素8个顶点是否为空对应256种情形（模型）来拼接最终的模型。]]></description><category></category></item><item><title><![CDATA[软模拟光栅化渲染器]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/125931142</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/125931142</guid><author>twopointfive</author><pubDate>Sat, 23 Jul 2022 08:00:00 +0800</pubDate><description><![CDATA[软模拟光栅化渲染器，实现了统一的引擎渲染接口。和d3d、ogl渲染管线相比，前面的世界空间和观察空间矩阵变换基本没多少区别，差异较大的是投影矩阵的构造。]]></description><category></category></item><item><title><![CDATA[2D横版摩托游戏源码]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/125699568</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/125699568</guid><author>twopointfive</author><pubDate>Sun, 10 Jul 2022 00:03:14 +0800</pubDate><description><![CDATA[这是一款2D横版摩托特技游戏，版。代码结构和传统写法有些差异，但是效果还算不错。传统的写法可能会使用box2d引擎，或者至少模拟出一个简单的物理模型，这里代码甚至连速度变量都没有却能模拟出一个赛车游戏......]]></description><category></category></item><item><title><![CDATA[流沙画模拟器源码]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/125453207</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/125453207</guid><author>twopointfive</author><pubDate>Fri, 24 Jun 2022 23:12:26 +0800</pubDate><description><![CDATA[流沙画，在密封的玻璃镜框内，装入氧化铝、磨刚沙、无色的混合液和适量的气泡。当镜框倒竖时，利用氧化铝和磨刚沙的比重不同以及气泡的上浮力，使氧化铝和磨刚沙按不同速度下沉到空腔的底部，形成层次分明，跌宕有序的画面。
	此处使用变通的方法模拟流沙动画，所有粒子沉降速度相同，这样粒子运动不会发生穿插，每一个像素上的粒子数量有限。利用...]]></description><category></category></item><item><title><![CDATA[魔塔类游戏实现源码及关卡生成]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/125189655</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/125189655</guid><author>twopointfive</author><pubDate>Thu, 09 Jun 2022 13:01:36 +0800</pubDate><description><![CDATA[《魔塔》》是一种策略类的固定数值RPG游戏。 本篇主要讨论红塔游戏，侧重于路线的寻找。
一般RPG类游戏可以使用脚本语言来编写任务剧情，这样可以使得剧情更复杂和灵活多变，这同样适用于魔塔游戏。但是为了自动生成关卡的目的，还是使用数据驱动的方法来实现游戏逻辑，这样方便编写搜索算法。
游戏关卡的设计一般可以使用编辑器来编辑，编辑器很好实现，但要设计一个耐玩的关卡似乎不太简单，后面会做一些自动生成的尝试。...]]></description><category></category></item><item><title><![CDATA[随机生成游戏建筑物的算法]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/125098210</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/125098210</guid><author>twopointfive</author><pubDate>Thu, 02 Jun 2022 12:34:35 +0800</pubDate><description><![CDATA[随机生成游戏建筑和导航网格。版本一，使用房屋四壁扩张生长的方式生成。.版本二，先生成道路网，划分地块，再生成大厦类建筑。存在一些缺陷，有机会重构一下]]></description><category></category></item><item><title><![CDATA[联机棋类游戏《憋尿罐》实现源码]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124861140</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124861140</guid><author>twopointfive</author><pubDate>Fri, 20 May 2022 19:36:21 +0800</pubDate><description><![CDATA[自己写的一个棋类小游戏，支持3D和2D显示，支持联机对弈和ai对弈。这是上小学时经常玩的一个小游戏，不知道叫什么名字，我们那叫“憋尿罐”。分为两个阶段，前期可以用 ‘顶’、‘夹‘、’挑’ 来吃棋子，后期只剩一个棋子时有点像民间游戏围虎棋，将最后一个棋子围入‘尿罐’即胜利。]]></description><category></category></item><item><title><![CDATA[网络游戏编程-联机版植物大战虫子]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/85055268</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/85055268</guid><author>twopointfive</author><pubDate>Thu, 12 May 2022 13:00:30 +0800</pubDate><description><![CDATA[这是多年前写的小游戏初版，游戏逻辑部分后来已经重构，变成了支持通用塔防游戏的结构，重构版源码后续整理好再介绍，这里先介绍下网络消息部分。
 可以开启两个客户端创建房间进行游戏。也可以开启一个客户端然后添加ai玩家进行游戏。.]]></description><category></category></item><item><title><![CDATA[曲线的平滑和随机生成]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124682396</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124682396</guid><author>twopointfive</author><pubDate>Tue, 10 May 2022 12:34:59 +0800</pubDate><description><![CDATA[曲线生成是随机生成算法中不可或缺的基础，
比如之前介绍过的随机生成赛道，第一步就是生成一个好看的平滑曲线。
比如随机生成树木，每一根树枝都可以使用一段横截面曲线沿着另一段路径曲线放样得到。
比如随机生成森林中的藤蔓，可以沿着一些悬链线曲线来使用路径变形动画。

曲线的差值：
    合理选择差值方式可以生成不同类型的平滑曲线。

//线性插值
vec3 Linear_Interpolate(const vec3&amp; a, const vec3&amp; b, float t)...]]></description><category></category></item><item><title><![CDATA[游戏中的捏脸系统]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124628808</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124628808</guid><author>twopointfive</author><pubDate>Sat, 07 May 2022 19:43:24 +0800</pubDate><description><![CDATA[游戏中的捏脸系统一般有两种实现方式，一种是用骨骼动画来实现，另一种是使用变形动画（morph）来实现。
用骨骼动画实现捏脸要求在面部每个细节部位绑定若干骨骼，通过移动骨骼带动面部网格顶点移动，网格顶点的移动再反馈到另外一套用于表情动画的骨骼蒙皮中。
用变形动画实现捏脸要求先制作若干极端情况下的脸型模型，通过调节参数（权重）来混合这些极端模型，产生新的面部网格顶点。面部网格顶点生成后可以反馈到骨骼蒙皮中用于表情动画，也可以继续使用变形动画的方式和代表表情的极端模...]]></description><category></category></item><item><title><![CDATA[随机数、随机方向、随机点生成算法]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124569535</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124569535</guid><author>twopointfive</author><pubDate>Wed, 04 May 2022 13:55:59 +0800</pubDate><description><![CDATA[关于随机数生成算法，这是所有其它随机生成算法必须用到的基础。总结了几个随机数，随机方向，随机点的生成算法。]]></description><category></category></item><item><title><![CDATA[攻城布阵类游戏实现]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/123964887</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/123964887</guid><author>twopointfive</author><pubDate>Tue, 03 May 2022 18:20:09 +0800</pubDate><description><![CDATA[这是一款类似 《三国志大战》的攻城布阵类游戏。游戏玩法进行了重新设计和简化。]]></description><category></category></item><item><title><![CDATA[游戏服务器编程-iocp及封包处理]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124501371</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124501371</guid><author>twopointfive</author><pubDate>Fri, 29 Apr 2022 19:34:33 +0800</pubDate><description><![CDATA[测试服务器：凑合着先用，就一个进程，没做分布式，界面是win32api做的很简易。]]></description><category></category></item><item><title><![CDATA[联机带AI版3D桌球游戏源码]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124434362</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124434362</guid><author>twopointfive</author><pubDate>Tue, 26 Apr 2022 20:15:00 +0800</pubDate><description><![CDATA[这是款联机版3D桌球游戏，带有自动挂机算法，支持单机npc和联网对战。添加了击球辅助线功能。统一的架构，可以方便的嵌入rpg中。选手模型可以使用mmorpg中的玩家的模型。]]></description><category></category></item><item><title><![CDATA[纯c++实现光线追踪渲染器]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124409260</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124409260</guid><author>twopointfive</author><pubDate>Mon, 25 Apr 2022 18:36:18 +0800</pubDate><description><![CDATA[这是一个几年前用c++实现的光线追踪渲染器，使用cpu多线程计算，没有使用任何gpu加速。最后画面的呈现也是使用的gdi绘制，没有使用d3d或ogl。不同于某些基于shader的光线追踪限制性太大，对于通用模型的支持不好（只支持一些标准集合体，且模型都是通过算法产生的）。本渲染器可以支持通用模型的渲染]]></description><category></category></item><item><title><![CDATA[联机版俄罗斯方块带自动挂机源码]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124328389</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124328389</guid><author>twopointfive</author><pubDate>Thu, 21 Apr 2022 18:45:09 +0800</pubDate><description><![CDATA[这是一款联机版俄罗斯方块游戏。共配置了13种方块。支持ai挂机功能。双人比赛，右下角显示对手的进度。
每消除一行，会给对手投递一个停滞蛛网，暂停对手的进度。]]></description><category></category></item><item><title><![CDATA[用minscript脚本语言实现数学函数曲线编辑器]]></title><link>https://blog.youkuaiyun.com/twopointfive/article/details/124280866</link><guid>https://blog.youkuaiyun.com/twopointfive/article/details/124280866</guid><author>twopointfive</author><pubDate>Wed, 20 Apr 2022 19:08:15 +0800</pubDate><description><![CDATA[这是一款数学函数曲线编辑器，c++开发，函数解析使用了自己开发的脚本语言minscript。]]></description><category></category></item></channel></rss>