游戏设计的巧思

owofile Lv5

游戏设计的巧思

我从小就喜欢游戏,喜欢冒险,喜欢解密,我怀念了曾经在地牢将背后托付给朋友,怀念意见不合的时候彼此的挣扎和事后的复盘。

现在我的更加感兴趣那些游戏背后的技术,当你踏入这个领域,顿时就理解了游戏开发者的厉害之处,当我们因为发现了一个捷径感到沾沾自喜的时候,作者已经在背后露出了欣慰的笑容,

同样的效果,往往有不同的实现方式,这些方式也决定了游戏的优化和流畅,你可以使用很笨的办法, 给每一个区域增加很多的判断来人物不会穿模,亦或者写一个精练的算法来完成,不论那种方法效果看起来都是一样的,但背后使用的内存和计算可能不同,在前期将游戏的程序框架设计好,减少无用的代码,使用更加高效的算法,来减少硬件的负担,同时让你的游戏在更多的设备上运行,相信我,如果你做了这些,未来的你将会感谢现在的自己。

我知道我接下来说的这些可能有一些争论,但这只是我个人的看法,而我的目的也是为了让生态圈更好。

据我观察,中国的程序员在对优化的权重上比较低,对大部分人来说,项目能够运行和稳定就足够了,再加上如果是在公司,那么面临业绩考核,大家比起优化做的更多的是修复BUG和增加新的功能,所以让项目更加的臃肿不堪。

如果你玩过《动物井》,你会知道作者为了优化,自研开发引擎,最终在20MB的大小内塞入了一个游玩时长6个小时左右的游戏,这样的精神让人敬佩。

我不觉得我们就很差,我们是缺少一个环境,一个能够让我们花费数十周只为了优化一个节点的环境。

生活简单一点,工作简单一点,专一。

godot上关于概率的方法设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
extends Node
# 自定义成功几率并判断制作是否成功的函数
func craft\_item(success\_chance: float) -> bool:
# 检查成功几率是否在 0 到 1 之间
if success\_chance < 0.0 or success\_chance > 1.0:
print("成功几率必须在 0 到 1 之间!")
return false # 返回 false 表示无效
# 生成一个0到1之间的随机浮点数
var random\_value = randf()
if random\_value < success\_chance:
print("制作成功!")
return true # 制作成功
else:
print("制作失败!")
return false # 制作失败
# 在\_ready()或其他合适的位置调用此函数
func \_ready():
Randomize() # 初始化随机数生成器
# 尝试不同几率制作物品
var item1\_success = craft\_item(0.1) # 10%的成功概率
var item2\_success = craft\_item(0.5) # 50%的成功概率
var item3\_success = craft\_item(0.9) # 90%的成功概率
  • Title: 游戏设计的巧思
  • Author: owofile
  • Created at : 2024-08-21 05:11:01
  • Updated at : 2025-04-11 21:18:27
  • Link: https://owofile.github.io/blog/2024/08/21/游戏设计的巧思/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments