gpt4 book ai didi

frameworks - 游戏编程 - 如何避免重新发明轮子

转载 作者:行者123 更新时间:2023-12-04 01:16:40 25 4
gpt4 key购买 nike

概括:

Can I program a "thick client" game in C without reinventing wheels, or should I just bite the bullet and use some library or SDK? I'm a moderate C programmer and am not afraid to work with pointers, data structures, memory locations, etc. if it will give me the control I need to make a great "thick-client" game. However, I'm thinking of eschewing high-level languages & frameworks for the sake of power and control, not ease of use.



有时我对修补 2D 格斗/平台游戏作为一个副项目很感兴趣。我主要是一名具有 Python、Ruby 和 PHP 经验的 Linux 服务器端程序员。我知道其中一些语言有很好的框架,比如 PyGame .我也知道人们在 Air 和 .NET 等方面取得的成功......但我有一些担忧:
  • 业绩 : 脚本语言是出了名的慢。如果我正在制作一款实时游戏,我希望它尽可能快。
  • 巨大的二进制文件 :使用 .NET 之类的框架或 Ruby 之类的脚本语言通常会产生大的 CLR 或您不需要的库。我想做的游戏会小而简单——我不希望它的CLR比游戏本身大!
  • 额外的东西 : 老实说,我只是不喜欢继承一些大型游戏库的包袱,如果我能更好地围绕我自己的代码。

  • 我问这个问题是因为我知道我很容易患上这里没有发明综合症。我一直想自己编程,我敢肯定这会浪费很多时间。然而,这对我来说非常有效——例如,而不是使用 Rails (一个非常大的 Web 项目框架,内置了 ORM 和 GUI 工具包),我使用了一系列较小的 Ruby 工具,例如 racksequel完美地结合在一起。

    所以,我转向你,SO专家。我是不是太天真了?这是我的看法:
  • 使用 C
  • 缺点
  • 可能会让我讨厌编程
  • 重新发明轮子的高风险
  • 需要很长时间以至于我失去兴趣的高风险
  • 优点
  • 久经考验 - 大多数 A-list 游戏都是用 C 语言完成的(今天仍然如此吗?)
  • 对内存管理、速度、 Assets 管理等的高度控制,我相信自己会学会处理
  • 没有垃圾
  • 使用框架或 SDK
  • 缺点
  • 交付物过大的风险
  • 在游戏开发的各个方面都依赖于原始库作者——如果没有我想要的功能怎么办?我必须自己编程,这还不错,但部分违背了首先使用高级框架的目的
  • 性能问题的高风险
  • 优点
  • 更快的开发时间
  • 可能更容易维护
  • 无需浪费时间重新发明通用范式

  • 我还能在这个列表中添加什么?这是一个纯粹的判断电话,还是有人可以为我达成交易?欢迎提出书籍建议。

    最佳答案

    我相信你在一个谬误下工作。

    有几个专门用于游戏编程的框架——由对游戏设计复杂性有丰富经验的人编写,几乎可以肯定比你做的更多。

    换句话说,如果您不使用框架,您将面临“性能问题的高风险”。

    关于frameworks - 游戏编程 - 如何避免重新发明轮子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/235151/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com