V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Rice
V2EX  ›  问与答

对于游戏工程不太了解,游戏开发一般用什么软件设计模式?比如 Web 或桌面前端软件一般都是 MVC 或者 MVVM,游戏呢?

  •  
  •   Rice · 2017-08-09 14:14:19 +08:00 · 1934 次点击
    这是一个创建于 2695 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于游戏工程不太了解,游戏开发一般用什么软件设计模式?

    比如 Web 或桌面前端软件一般都是 MVC 或者 MVVM,游戏呢?

    游戏这种特别的软件有没有什么经典的软件代码设计模式

    5 条回复    2017-08-09 15:38:00 +08:00
    KeepPro
        1
    KeepPro  
       2017-08-09 15:22:30 +08:00 via Android
    mvc 啥的 设计模式是一种架构思想,属于软件工程的范围,写游戏当然可以用。这个问题很 low
    经典的代码的话 简单点的贪吃蛇 魔塔,复杂的 quake
    Rice
        2
    Rice  
    OP
       2017-08-09 15:26:07 +08:00
    @KeepPro #1 我只是想问,游戏中常用的是不是也是这种 MVC 的思想,还是有其他的更适合游戏的
    acros
        3
    acros  
       2017-08-09 15:27:12 +08:00   ❤️ 2
    差别倒也不大,很多都是互通的,除了普遍性的设计模式,还有框架讨论什么的,比如以前 Entity (类继承),发展到现在的 Entity-Component 形式什么的,书籍 Game Programming Gems 里的 General 章节有不少讲这个的。

    这里有个比较出名的著作,网上免费看的。
    http://gameprogrammingpatterns.com/

    上面提到的实体书和电子书都有中文版。
    viator42
        4
    viator42  
       2017-08-09 15:32:27 +08:00
    游戏的结构比软件简单暴力的多,就是所有东西围着一个主循环转,设计模式在开发过程中估计起不了啥作用.游戏引擎的话应该会自己封装一套流程,不太需要自己组织代码结构
    acros
        5
    acros  
       2017-08-09 15:38:00 +08:00
    @viator42
    你说 hack 地方比较多,那是有可能的,所以大型游戏系统里面脚本还是必要的。
    设计模式还是必要的,游戏开发会有大量的反馈修改,像 MOBA 那种技能系统及其复杂的游戏,dota2 有些英雄技能一个版本一改,不是调数值,是整个改了,如果模块没设计好,后期不得改到死。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5780 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:43 · PVG 09:43 · LAX 17:43 · JFK 20:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.