尝试开发某种游戏,即使只是作为闲暇时的业余爱好提供有用的(专业)体验,还是幼稚的浪费时间?
在整个编程生涯中,我一直在追求小型个人游戏项目。我发现(通常)严格的性能要求和不断升级的设计复杂性教会了我一些最有用的编程课程。
在这些项目中仅举几例,我很快就面对面地说:“小N的一切都很快”。我还发现了使用基本的面向对象设计原则来管理复杂性的艰难方法。
在许多技术和主题可能相当干燥/枯燥的领域,我认为爱好游戏开发对于激励新的(而不是那么新的)开发人员在同时享受乐趣的同时提高基本技能非常重要。
This question谈论一般的爱好项目,但是在这里我特别关注游戏项目以及它们对专业程序员的价值。
答案 0 :(得分:22)
您可以从游戏开发中学到很多东西。游戏开发需要在其他编程项目中找不到的学科。
以下是游戏开发教给我的一小部分内容:
由于游戏程序员被迫使用更少的资源,他们会成为更好的程序员。
答案 1 :(得分:3)
我认为无论是否是游戏,课外发展都是好事。首先,您可以尝试不同的技术和开发平台,这是保持技能最新的好方法。我更喜欢数学算法和游戏,但这只是一种偏好,并没有说明这样做的价值。
如果您将这些内容带回给您的雇主,那么他们将获得您在自己的时间获得的更广泛知识的好处。这对他们也有好处。
我代表你的内容代码!
答案 2 :(得分:3)
游戏有一些最复杂的处理方式,对于外行,业余爱好者程序员来说是“令人愉快的”。在高中,我写的都是游戏。想探索物理?写一个游戏。 3D图形?写一个游戏。高性能计算?写一个游戏。 AI?经济学?军事战略?自然语言处理?定理证明?写一个游戏。
您不必发布它,您不必记录它,您甚至不必播放它,您只需要摆弄它,并且您将学习任何您觉得有趣的算法你尝试在游戏中应用它。
游戏很有趣,因为它们可以涵盖广泛的领域。其他一切都只是数据处理,你可以在工作中做到这一点!
答案 3 :(得分:2)
游戏开发(或任何其他类型的个人编程)是一种很好的方式:
这些项目让您可以自由地探索编程世界中您无法在工作中完成的各个方面。如果您在工作中遇到业务线应用程序,您可能不会处理物理引擎或空间渲染。但是你可以在你的游戏中探索这些主题。
如果/当你面试新职位时,这也可以为你提供一个很好的代码组合。假设您编写的代码形式正常......
答案 4 :(得分:2)
如果你想在游戏开发方面找到一份工作,那么在你看的时候,你绝对应该做一些爱好开发。能够发送一个或多或少的完整游戏以及你的简历,使其脱颖而出。当我们列出一个游戏编程工作时,我们会得到大量的简历,虽然我很高兴雇用没有行业经验的人来填补它们,但是在所有选项之间挑选很难。
答案 5 :(得分:1)
坐下来解决问题并使用手头的工具解决问题(无论问题是什么,修复数据库,编程接口或用ascii制作象棋)都可以帮助你成为更好的程序员。
放手。
答案 6 :(得分:1)
是强>
我使用Psion Series 3 TopSpeed C SDK自学了C(以及Psion的专有OO扩展)并编写了几个我在GNU许可下发布的游戏。 (之前我在Strega Pascal和Pascal上的Amiga和Borland C ++ 3.1在Window 3.1的财务分析实习中进行信号处理方面有相当多的经验,但是当我得到Psion时,我必须回到C并使用K& R为该代码奠定了坚实的基础。)
然后,我将我学到的关于Psion平台的专业知识变成了一个3年的演出,使用他们的工业手持设备进行移动开发,我也获得了数据库方面的经验。对他们来说这是一次巨大的转变,产品陷入混乱,我在平台上的经验比其他任何人都多 - 只是从那年开始写游戏。
我把它变成了一个Windows开发工具,我最终成为了IT主管,并获得了大量的SQL Server,Windows,ASP,数据中心,DR等经验。
然后我进入了数据仓库咨询。
由于C语言和特定的基于C的图书馆系统的平台经验,我真的能够为第一家公司带来巨大的变化,因此我欠了很多回到我的第一步。
答案 7 :(得分:1)
我认为更重要的是,爱好游戏开发是否让你开心?
游戏开发的许多方面绝对可以在更专业的水平上应用,但如果这是您将游戏作为业余爱好开发的唯一原因,那么您可能需要重新评估情况并将您的努力付诸实践开源项目可以自豪地显示在简历上(不是那个爱好游戏开发不能)或在面试时讨论。
你的爱好应该是你喜欢做的事情,如果你喜欢游戏开发,那么绝对坚持下去,嘿,也许你会发现自己在专业上做到这一点,这最终似乎是适合你场景的理想情况。
答案 8 :(得分:1)
我没有看到任何让你学习,练习和实验的东西都被认为是“幼稚的”。
此外,如果你的目标是制作一个体面的(甚至是“专业的”)游戏,那几乎肯定需要学习和掌握可直接转移到“常规”角色的技能。优化,测试,跨平台工作,UI设计和可用性...列表继续。