FeastSC 发表于 2021-8-9 07:55

想做游戏开发,应该学什么?

学生,有时间,学了一点点Python,真的不想放弃,但是unity和虚幻不支持py,且很多人也说py不行,痛苦地打算学完py,然后转c++或者c#,请问哪个语言好一点啊,电脑配置很低,python也是入门级别,学的再难都没问题,偏向开发2d或2.5d的游戏,偏向unity,很多人都在吹c++,而unity听说c#好一点,犹豫不决

Arzie100 发表于 2021-8-9 07:55

我说几个点吧。
如果真的是想要做游戏,而不是仅仅为了就业,配置不应该成为影响你选择的问题。即使你做的是unity,C++也是迟早要学的。在学习编程的过程中,语言很重要,但也很不重要。重要是因为它会影响你的编程习惯和入门效率,不重要是因为如果你在以后的几年十几年甚至几十年都在编程,你很可能会经历十门甚至二十门甚至更多不同的语言。你迟早会明白深入一门语言编程和在一门语言里编程的区别。我的建议是继续学python,找个python游戏框架试手做些简单的游戏,比如pygame。等你熟悉了代码,开始理解编程和写代码的区别之后,无论是转向unity还是UE都可以,你还可以尝试cocos2dx、cocoscreator、layabox等引擎,甚至是自己写一个简单的引擎玩。
https://www.pygame.org/news

Ilingis 发表于 2021-8-9 07:56

想做游戏开发,应该学什么?
其实我是倾向于 Unity 的,C# 写起来那叫一个爽!!!至于 C++,我没有作为工作语言使用过,并不太了解。Python 也不错,主要是有时间,时间充裕,可以先来个大概览。
Unity 丰富的学习资料




再加上,有题主你这句话就放心了:
学生,有时间




既然有时间,先给你整个清单列表,然后再来分享更系统的,来自 GitHub 的游戏开发 “学习线路图”。较为松散的清单列表用于提升兴趣,系统化的学习线路图可作为系统学习游戏开发的参考,最终成为专业的游戏开发者。




但也必须来一个免责声明,我并不是专业的游戏开发者,曾经有意向往游戏方向发展,遗憾的是,最终没成事。资料倒是收集了不少,有着松鼠一般的收集癖,有些资源到现在未必还合适,只是作为参考。例如,Python 中,Pygame 算是稍为了解;另外,由于我本身是 C# 程序员,加上 Unity 对于学习非常友好,闲来无事也捣鼓捣鼓。
Pygame 快速出作品






清单列表之 —— Python 游戏开发相关



Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用 C++ 编写, 针对 Python 进行了完全的封装。Pygame:Pygame 是一组 Python 模块,用来编写游戏。PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。PySDL2:SDL2 库的封装,基于 ctypes。RenPy:一个视觉小说(visual novel)引擎。Arcade:一个现代 Python 框架,用于制作具有引人入胜的图形与声音的游戏。Harfang3D:支持 3D,VR 与游戏开发的 Python 框架。




清单列表之 —— .NET 游戏开发相关



MonoGame: 创建强大的跨平台游戏的一个框架。CocosSharp: CocosSharp 是 Cocos2D 和 Cocos3D API 的 C# 实现,可以在任何运行 MonoGame 的平台上运行。Duality: Duality 是一个 2D 游戏开发框架。 专注于模块化,配有视觉编辑器。Xenko: Xenko 是一款 2D / 3D 跨平台游戏引擎,具有场景编辑器,粒子,物理渲染(PBR),脚本编写等等。Wave Engine: Wave Engine 是一款免费的基于 C# 组件的现代游戏引擎,可以让您创建支持 kinect,oculusrift,vuforia,纸板,跳跃等功能的跨平台游戏。UrhoSharp:UrhoSharp 是在 iOS,Mac,Windows,Android 和 Linux 系统上运行的 Urho3D 游戏引擎的 C# 实现。Nez: Nez 是一个免费的 2D 集中框架,与 MonoGame 和 FNA 合作。




来自 GitHub 的游戏开发 “学习线路图”



以上只是零散的资源,但是,如果作为捣鼓的话能“快速见效”。例如使用 Pygame 能“轻松”写出一个“装 .逼”的小 Demo。不过,要成为一位专业的游戏开发者,还必须进行系统学习,例如 GitHub 上的这份线路图 —— game-programmer,由孩童时期到计算机科学,再到编程语言,游戏编程,直到游戏引擎开发,完完整整的一条线路,十分的系统。
游戏开发学习线路图,图片来自 game-programmer 截图






<hr/>



延伸阅读:



一些关于 .NET 学习的知乎问答
如果想要从事C#. Net开发,具体的学习路线是什么样的(看了一下招聘网站的要求,发现有好多技术)?能推荐点关于c#学习的网站和书籍吗?关于学习c#有什么帮助文档吗?程序员是技术重要,还是处事重要?

闲鱼技术01 发表于 2021-8-9 08:01

编程语言是工具,不是大学专业。
工具是根据使用场景来选择的
你应该考虑的是,你想做什么游戏
做独立游戏还是进公司工作,做高画质游戏还是创意小品,登录pc还是手游或者是h5
通过这些决定你使用什么游戏引擎,游戏引擎要求什么语言就用就好了

Mecanim 发表于 2021-8-9 08:01

谢邀,本科毕业从事游戏行业马上一年。我们工作室unity和虚幻的项目客户端服务端都有python部分。以及对应插件。这条路可以走。


但是插件不开源,个人开发者你怎么用呢?说说我稍微熟悉一点的虚幻。一个开源插件unreal enginepython,作者已跑路,只支持到4.23 。而且很多泄漏问题和各种bug。公司大佬继续维护,我个人也没法用,因为保密协议。
我近期计划封装一版插件自己用,这是需要cpython扩展方面知识的,如果我写出来了就回来补链接,但是其实如果选虚幻c++是逃不掉的。
然后unity 就选c#吧。同时这两个的lua插件应该都很成熟。
但是我校招进游戏公司都没用过游戏引擎呢……忙着算法竞赛。其实计算机基础知识 算法数据结构 计算机网络 操作系统 数据库 设计模式也很重要呀 这个看很少回答提到。
上面是扯淡,如果让我帮你选一条简单的路 那就是unity加c#

Zephus 发表于 2021-8-9 08:02

学c#入手unity然后转c++学UE(我怎么记得虚幻有py文档支持用py,但还是不要用py的好),c#和unity比较简单,上手快,能带你快速入个门,引擎基本上都是一个模子,当你熟悉之后上手另一个就会快很多,不要怕学习,现在的程序员随随便便就是掌握5、6种主流开发语言,熟悉各种主流框架。

pc8888888 发表于 2021-8-9 08:04

其实不管是想进公司还是自己做一些游戏都可以先学unity然后考证书,在学习期间不管是证书还是相关的作品在你大学毕业的时候都是非常有用的,你可以通过校招直接进入大厂实习,如果真的打算从事游戏行业 可以关注我们的公众号 会有老师带你学习 考证 磨作品 面试 一步步送你到大厂

redhat9i 发表于 2021-8-9 08:06

学生建议直接从Unity 学起。py和C# 不冲突,同步进行学习就可以。
这里推荐一个专栏文章。
[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了 - 知乎 (zhihu.com)
页: [1]
查看完整版本: 想做游戏开发,应该学什么?