LudoArt Blog

The programmer of tomorrow is the magician of the future.

游戏编程精粹1

第一章:通用编程技术

1.0 神奇的数据驱动设计 逻辑部分定义游戏引擎的核心原则和算法,数据部分则提供其内容和行为的具体细节。 1.0.1 基础 创建一个能按需解析文本文件的系统。意义在于——不用修改一行代码,就可以进行各种新尝试。 1.0.2 最低标准 不要用硬编码常量,把常量放进文本文件中。 1.0.3 杜绝硬编码 要假定任何东西都可能(并且很有可能)改变。对游戏进行抽象,把其核心部分抽...

Unity Shader

Unity Shader结构

Unity Shader结构 基础结构 Shader "ShaderName"{ Properties{ // 属性 } SubShader{ // 显卡A使用的子着色器 } SubShader{ // 显卡B使用的子着色器 } Fallback "VertexLit" } Shader的名字 每个Unity Shader文件的第一行都需要通过Shader...

世嘉新人培训教材

第一章:第一个游戏

第一章:第一个游戏 第一个游戏是做一个“推箱子”游戏。 以下是自己写的: #include <iostream> #include <stdlib.h> using namespace std; struct pos { int x; int y; }; char player = 'P'; char box = 'o'; char wall = '#'...

Game AI Pro

《星球大战》的绝地武士AI设计

《星球大战》中的绝地武士AI 示例代码可以通过网站 http://www.gameaipro.com 下载demo。 存储 绝地武士AI需要的第一件东西是关于整个游戏世界的内部知识图谱,为此我们需要一个世界状态模型。它包含了在游戏世界中,可以通过动作(Action)操作的所有事物,包括绝地武士自身、绝地武士当前正在攻击的目标、附近的敌人和任何即将到来的威胁等。 它包含了两个函...

通用为本,专用为末

【深入理解C++11】第三章

通用为本,专用为末 1. 继承构造函数 适用场景:当基类A有很多构造函数的版本,而派生类B想要拥有A那么多的构造方法时,会造成不便。 使用方法:通过using声明来声明继承基类的构造函数。 优点:书写便捷;节省目标代码空间(继承构造函数如果不被相关代码使用,编译器不会为其产生真正的函数代码) 缺点:只会初始化基类中的成员变量,对于派生类中的成员变量,则无能为力。 示...

Unity Editor Scripting

1.构建一个自定义的Inspector using UnityEngine; using System.Collocetions; public class LevelScript : MonoBehaviour { public int experience; public int Level{ get { return experience ...

【游戏制作知识杂烩】

关于战旗游戏中的六边形网格

【游戏制作知识杂烩】关于战旗游戏中的六边形网格 六边形网格有多种不同的存储形式,各有特点,对比结果见下表:   Offset Doubled Axial Cube Pointy rotation evenr, oddr doublewidth ...

【游戏编程模式】原型模式

原型模式

【游戏编程模式】原型模式 原型设计模式 假设我们要用《圣铠传说》的风格做款游戏。 野兽和恶魔围绕着英雄,争着要吃他的血肉。 这些可怖的同行者通过“生产者”进入这片区域,每种敌人有不同的生产者。 在这个例子中,假设我们游戏中每种怪物都有不同的类——Ghost,Demon,Sorcerer等等,像这样: class Monster { // 代码…… }; class Ghost ...

【游戏编程模式】单例模式

单例模式

【游戏编程模式】单例模式 单例模式 设计模式像这样描述单例模式: 保证一个类只有一个实例,并且提供了访问该实例的全局访问点。 保证一个类只有一个实例 有时候,如果类存在多个实例就不能正确的运行。 通常发生在类与保存全局状态的外部系统互动时。 考虑封装文件系统的API类。 因为文件操作需要一段时间完成,所以类使用异步操作。 这就意味着可以同时运行多个操作,必须让它们相互协调...

【游戏编程模式】观察者模式

观察者模式

【游戏编程模式】观察者模式 观察者应用广泛,如MVC架构。 Java将其放到了核心库中(java.util.Observer),而C#直接将其嵌入了语法(event关键字) 案例:成就解锁 假设我们向游戏中添加了成就系统。 它存储了玩家可以完成的各种各样的成就,比如“杀死1000只猴子恶魔”,“从桥上掉下去”,或者“一命通关”。 要实现这样一个包含各种行为来解锁成就的系...