请教各位大佬,想入门游戏开发有什么好的途径

2021-12-23 13:05:09 +08:00
 churchill

有点编程基础,目的是自娱自乐,没有靠这个找工作的想法

有没有什么偏基础的书 /教程之类的,包括怎么设计代码架构,常用的数学 /物理在游戏中的应用

不是那种 xxx 精通 unity 的

3120 次点击
所在节点    问与答
13 条回复
israinbow
2021-12-23 13:31:14 +08:00
复现 Minecraft, 很有意思.
66beta
2021-12-23 14:05:57 +08:00
byx
2021-12-23 14:53:16 +08:00
coderluan
2021-12-23 15:24:19 +08:00
想理解设计层面的知识,个人建议,先拿 pygame 开发一遍,再拿 Godot 引擎开发一遍,再拿 Unity 引擎开发一遍,这三种开发的体验是完全不同的,然后再考虑后者是为什么要这么设计又是如何带来提升的,之后按照最复合引擎的方式设计代码结构,当然最后你发现处理的核心还是逻辑,类似于业务开发而不是开发框架,毕竟这就是游戏引擎存着的意义。

数学物理这个有独立的书,《游戏开发的数学和物理》之类的,买本边学边看就行了,和上面的没啥优先级。
uiosun
2021-12-23 15:40:53 +08:00
推荐 @israinbow 老哥的推荐,复现 Minecraft 真的是很有意思、很适合入门的。(如果想入 3D 的话)
churchill
2021-12-23 15:59:31 +08:00
@coderluan 谢谢回复,不过我现在纠结于一些具体的实施细节中很,一些在我看过的书中少有提及的内容。

比如说 ecs 模式,我可以有 MovementSystem 有 PyhsicSystem ,玩家上下左右我可以放在运动系统里完成,但是射击这个动作呢,多出来一个攻击系统吗。
比如说写碰撞检测的文章很多,但是少有提到碰撞了之后怎么解决,不同的方向撞到了我怎么重置这些对象的坐标速度等等

我可以用蛮力搞定这些问题,做出一个完整的小游戏,但直觉告诉我,这样的代码味道是坏的。
我写的碰撞系统可能换个方式就无效了,用户输入,碰撞检测,物理系统可能纠结在一起。

不知道我有没有表达清楚我心中所想,也许我要的是某种“最佳实践”?
churchill
2021-12-23 16:02:29 +08:00
@uiosun 入门造航母,有这能力我也不用发帖了。。。。
coderluan
2021-12-23 16:06:35 +08:00
@churchill 你说的“最佳实践”大多包含在游戏引擎中,好的游戏引擎就是为了让你少写代码,你要对底层的实现感兴趣,去研究引擎的源码,比如我推荐的 Gogot 就是开源的。
uiosun
2021-12-23 16:11:06 +08:00
@churchill

先了解一下 Minecraft Web——最早期的 Minecraft ,当时长期在官网上可免费玩,我们说的复刻,一般是指那个。

Minecraft 本身已经相对复杂了,所以如果有人说复刻最新版的 MC……建议直接复刻 WOW 、EVE ,对吧兄弟,复刻完了还能拿去卖。

顺带多嘴一句,请直接使用游戏引擎,没听过让你去实现碰撞的……相关的论文很多,但这就像是“飞行员怎么能不清楚飞机是怎么造出来的呢?”一样滑稽。

你是飞行员。
zacksz
2021-12-23 16:47:08 +08:00
@churchill
> 玩家上下左右我可以放在运动系统里完成,但是射击这个动作呢,多出来一个攻击系统吗。

是的,多一个攻击系统用来处理各个 Entity 之间的攻击动作

> 碰撞了之后怎么解决,不同的方向撞到了我怎么重置这些对象的坐标速度等等

因为那不属于碰撞了。你首先需要一个 Collision resolver ,之后就是 Simulation 系统根据 Resolver 的结果更新位置和速度。

能上 YouTube 的话推荐这个系列[Game Engine Series]( <amp-youtube data-videoid="JxIZbV_XjAs" layout="responsive" width="480" height="270"></amp-youtube>&list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT),初期侧重渲染,后来开始引入 ECS 、GUI 、Physics 等各个系统,还在连载中
ffire
2021-12-23 17:14:39 +08:00
@churchill 看起来是业余的兴趣学习。那谨慎建议,别碰什么 ECS ,只会让你的游戏编程复杂度增加。一上来别去管什么架构,都是浮云。试着自己写一个小游戏,别考虑游戏设计,游戏性这些,仅仅是一个游戏即可。
Rwing
2021-12-23 17:19:21 +08:00
学学 C#基础语法,然后找个 unity 教程,就完事了
Celebrity
2021-12-24 13:19:51 +08:00
逐梦旅程:Windows 游戏编程从零开始。 游戏入门当然看这本书。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/823966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX