聊聊认知的建立

0.前言 虽然有犹太谚语“人类一思考,上帝就发笑”,我们的思考确实有种种局限性:无论是数学运用的逻辑体系,还是物理和运用的科学探究方法,都有着难以克服的局限性。 但不可否认的是:思考,是一件挺有趣的事情。 就冲着这个有趣,也可以类似玩游戏一样去思考。 思考外界多了,很容易开始思考“思考”本身。 我是如何思考或者学习的? 我能思考些什么东西?会有什么东西是我无法思考的吗? 这是个人一直觉得很有趣的问题。其中第一个问题是思考核心。 基于我们上学时期的学习经验,通常会首先看看日常学习经验: 当我们学习一个英语单词,书本会用一堆的中文进行解释,类似于 当我门学习一个中文字时,字典也用一堆中文进行解释,类似于 这让我们通常一开始感觉,学习就是记字和字的包含关系,甚至认为不加理解地背古诗词也是学习。(费曼在书《surely you are …

全文聊聊认知的建立

GAMES101(19-20):相机光场与视觉-学习笔记

GAME101笔记汇总 19.Cameras,Lenses and Light Fields 19.1 Camera 相机或眼睛用类似凸透镜的成像本质和小孔类似,但相比于小孔成像,透镜能聚焦更多光子 相机的感光元件记录的是 Irradiance,因此必须要有小孔或者透镜,否则会直接糊掉 小孔成像虽然光子少但是效果也不一定差 19.2 Field of …

全文GAMES101(19-20):相机光场与视觉-学习笔记

GAMES101(17):材质和外观-学习笔记

GAME101笔记汇总 17.Materials and Appearances 17.1 Appearances 现实世界中的光影材质非常多样和复杂。 比如光可能会在光路上和微粒碰撞漫反射出一条光路。 比如头发的丝质感,和微透明的感觉。 比如布料的纹理通常甚至需要考虑到其针织的方式。 日出的双彩虹现象。 还比如三文鱼肉的次表面反射。 等等 17.2 …

全文GAMES101(17):材质和外观-学习笔记

GAMES101(13-14):光线追踪上-学习笔记

GAME101笔记汇总 13.Ray Tracing 1 13.1 Ray Tracing Introduction 使用光线追踪目的自然是为了解决光栅化做得还不够好的一些问题。 由于光栅化的算法原理,有很多表现上的限制,比如: 无法表现真实的软阴影 无法表现毛玻璃等粗糙的反射效果 无法表现非直接光照(只能用全局光照代替) 所以对比起来,光栅化快,但是效果差。 …

全文GAMES101(13-14):光线追踪上-学习笔记

使用阿里云CDN加速WordPress

1.CDN加速的原理简介 1.1 网页打开慢的原因 网页打开慢可能有很多原因,比如 数据库读取慢、网页逻辑处理慢(比如运行php)、网络传输慢。 对于逻辑处理和数据库导致的慢可以通过网页静态化处理以达到一定程度优化,个人使用插件 W3 Total Cache 完成这些优化。这里不多赘述。 但动态问题优化完毕后,依旧可能面临速度不佳的问题,体现在无法秒加载。 这往往就是由于网络传输慢的问题导致的,CDN可以进一步对这个问题进行优化。 CDN 优化,其背后的原理是基于网页是加载的方式: …

全文使用阿里云CDN加速WordPress

Java实现自动扫雷AI

0.工程源码 https://github.com/Raytto/AIforMinesweeper 由于是几年前写着玩的,代码质量比较一般。但思路和运行效果个人认为还是可以的。 1.说明 整体逻辑结构如下图。 实现了全自动玩扫雷的目的,可以主要分为三步: 识别屏幕中的扫雷窗口和游戏当前的信息(如格子矩阵大小、每个格子中的数字、旗子、还是未开状态)。 策略计算,或者找到一个一定是雷的格子,或者找到一个一定非雷的格子,或者在完全无法确定任意格子时停止。 控制鼠标将一定是雷的格子查旗,或者将一定非雷的格子点开。 经过测试,可以快速完成大部分局,但有少量的情况下确实无法确定,需要靠猜 比如上图,左下角的两个格子一定有一个格子是雷,但我们完全无法确定是哪个格子。 如果全图都只剩下这种需要猜的情况时,脚本就会停下。当然,你也可以修改脚本,让它去猜。 下面从游戏识别、策略计算、控制鼠标操作三块进行说明 2.游戏识别 …

全文Java实现自动扫雷AI

GAMES101(10-12):几何-学习笔记

GAME101笔记汇总 10.Geometry:Introduction 由于图形学表现的对象,总需要用几何方法表示或者记录以及检索。所以相关几何知识是必要的。 一个复杂的描述对象的例子 几何的隐式表示: 方便查询和检查 不方便遍历 几何的显式表示 方便遍历、采样 不方便查询 通过布尔运算组合出复杂形状 通过距离函数定义几何表面 距离函数的定义方法 用距离函数进行组合粘连 …

全文GAMES101(10-12):几何-学习笔记

GAMES101(5-9):光栅化-学习笔记

GAME101笔记汇总 5-6.Rasterization:Triangles 这节课主要介绍光栅化本身,和现代光栅化的对象–三角形 相关的一些操作。即在经过将场景进行基本变换后,如何将变换后的正方形内容呈现在屏幕上。 5.1 介绍成像 首先弄清楚什么是屏幕。 再弄清楚像素,Pixel 原来是 picture element 的浓缩版。 定义屏幕空间,和每个像素的坐标表示方法 此时介绍一下各种成像设备(不仅仅是矩阵式像素成像、甚至不仅仅是屏幕) …

全文GAMES101(5-9):光栅化-学习笔记

使用Docker-compose搭建与管理基岩版Minecraft

0.说明 使用 docker 或者 docker-compose 与直接下载基岩版服务端没有本质上的区别。 所以也可以自己去下载服务端进行搭建,详见: 但用 Docker-compose 部署会更方便,都不用去官网找连接下载,一行命令就可以搞定。重启等操作也很简洁。 1. Docker 安装 (注:整体参考 …

全文使用Docker-compose搭建与管理基岩版Minecraft

策略游戏设计概谈

0.说明 面向实习生的一次分享 1.引入 从三个方面聊聊策略设计 策略体验的价值:玩家为什么玩策略游戏?策略游戏内在有什么价值? 策略设计的目的:作为游戏的设计者,内容不应是多多益善(考虑开发成本、玩家学习成本、玩家精力剥夺),那在什么情况下可以加入策略元素? 如何设计策略:实际进行策略设计时的一些参考方法。 策略游戏的覆盖面挺广的。 但最有名的是其中的 4X 分支,包含 4 个要素: eXplore:探索 …

全文策略游戏设计概谈