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

标签 frameworks choice

概括:

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/

    相关文章:

    php - PHP 社区是否应该开始使用更具描述性的异常?

    java - 什么是满足我需求的最佳 Java Web 框架?

    java - 基于 Ajax 的应用程序中的问题

    c# - .NET 有哪些 Web API 框架?像 Frapi 或葡萄

    java - Camel 选择举例

    .net - 选择数据访问技术时要考虑的问题?

    javascript - 如何将JavaScript验证添加到选择字段并检查有效选项?

    PHP MVC 一般问题

    powershell - Powershell-让用户从一月到十二月的列表中进行选择