有点编程基础,目的是自娱自乐,没有靠这个找工作的想法
有没有什么偏基础的书 /教程之类的,包括怎么设计代码架构,常用的数学 /物理在游戏中的应用
不是那种 xxx 精通 unity 的
1
israinbow 2021-12-23 13:31:14 +08:00
复现 Minecraft, 很有意思.
|
2
66beta 2021-12-23 14:05:57 +08:00
|
3
byx 2021-12-23 14:53:16 +08:00
|
4
coderluan 2021-12-23 15:24:19 +08:00
想理解设计层面的知识,个人建议,先拿 pygame 开发一遍,再拿 Godot 引擎开发一遍,再拿 Unity 引擎开发一遍,这三种开发的体验是完全不同的,然后再考虑后者是为什么要这么设计又是如何带来提升的,之后按照最复合引擎的方式设计代码结构,当然最后你发现处理的核心还是逻辑,类似于业务开发而不是开发框架,毕竟这就是游戏引擎存着的意义。
数学物理这个有独立的书,《游戏开发的数学和物理》之类的,买本边学边看就行了,和上面的没啥优先级。 |
6
churchill OP @coderluan 谢谢回复,不过我现在纠结于一些具体的实施细节中很,一些在我看过的书中少有提及的内容。
比如说 ecs 模式,我可以有 MovementSystem 有 PyhsicSystem ,玩家上下左右我可以放在运动系统里完成,但是射击这个动作呢,多出来一个攻击系统吗。 比如说写碰撞检测的文章很多,但是少有提到碰撞了之后怎么解决,不同的方向撞到了我怎么重置这些对象的坐标速度等等 我可以用蛮力搞定这些问题,做出一个完整的小游戏,但直觉告诉我,这样的代码味道是坏的。 我写的碰撞系统可能换个方式就无效了,用户输入,碰撞检测,物理系统可能纠结在一起。 不知道我有没有表达清楚我心中所想,也许我要的是某种“最佳实践”? |
8
coderluan 2021-12-23 16:06:35 +08:00
@churchill 你说的“最佳实践”大多包含在游戏引擎中,好的游戏引擎就是为了让你少写代码,你要对底层的实现感兴趣,去研究引擎的源码,比如我推荐的 Gogot 就是开源的。
|
9
uiosun 2021-12-23 16:11:06 +08:00
@churchill
先了解一下 Minecraft Web——最早期的 Minecraft ,当时长期在官网上可免费玩,我们说的复刻,一般是指那个。 Minecraft 本身已经相对复杂了,所以如果有人说复刻最新版的 MC……建议直接复刻 WOW 、EVE ,对吧兄弟,复刻完了还能拿去卖。 顺带多嘴一句,请直接使用游戏引擎,没听过让你去实现碰撞的……相关的论文很多,但这就像是“飞行员怎么能不清楚飞机是怎么造出来的呢?”一样滑稽。 你是飞行员。 |
10
zacksz 2021-12-23 16:47:08 +08:00
@churchill
> 玩家上下左右我可以放在运动系统里完成,但是射击这个动作呢,多出来一个攻击系统吗。 是的,多一个攻击系统用来处理各个 Entity 之间的攻击动作 > 碰撞了之后怎么解决,不同的方向撞到了我怎么重置这些对象的坐标速度等等 因为那不属于碰撞了。你首先需要一个 Collision resolver ,之后就是 Simulation 系统根据 Resolver 的结果更新位置和速度。 能上 YouTube 的话推荐这个系列[Game Engine Series]( &list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT),初期侧重渲染,后来开始引入 ECS 、GUI 、Physics 等各个系统,还在连载中 |
11
ffire 2021-12-23 17:14:39 +08:00 via iPhone
@churchill 看起来是业余的兴趣学习。那谨慎建议,别碰什么 ECS ,只会让你的游戏编程复杂度增加。一上来别去管什么架构,都是浮云。试着自己写一个小游戏,别考虑游戏设计,游戏性这些,仅仅是一个游戏即可。
|
12
Rwing 2021-12-23 17:19:21 +08:00
学学 C#基础语法,然后找个 unity 教程,就完事了
|
13
Celebrity 2021-12-24 13:19:51 +08:00 via iPhone 1
逐梦旅程:Windows 游戏编程从零开始。 游戏入门当然看这本书。
|