V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
NaVient
V2EX  ›  JavaScript

关于前端小游戏的开发

  •  
  •   NaVient · 2017-06-11 09:21:30 +08:00 · 5788 次点击
    这是一个创建于 2504 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问各位大神是自己去写游戏的逻辑做 UI 还是用框架呢? 如果用框架,有什么厉害的 web 游戏框架推荐的呢?

    27 条回复    2017-06-21 13:48:23 +08:00
    sensui7
        1
    sensui7  
       2017-06-11 09:35:40 +08:00
    就跟开发桌面游戏一样, 没必要为了做个游戏开发个游戏引擎吧。之前尝试过 pixi.js, 看着蛮牛的, 支持 webgl, 向后兼容 canvas。 实际写起来,额,不太喜欢 api 的风格, 而文档写的也太粗糙,它更多关注图形资源, 游戏逻辑内容比较少, 恐怕还需要一些辅助库。

    游戏新手对 pixi 的一点浅见。
    tvallday
        2
    tvallday  
       2017-06-11 09:40:31 +08:00 via Android
    @sensui7 pixi 是渲染引擎不是游戏引擎。功能要求不一样。
    tvallday
        3
    tvallday  
       2017-06-11 09:42:45 +08:00 via Android
    phaser.io 写的连连看 llk.tangsem.com。其他没用过。
    NaVient
        4
    NaVient  
    OP
       2017-06-11 09:50:06 +08:00
    @tvallday 感谢。挺厉害的! get 到了 我也去试试
    chunqiuyiyu
        5
    chunqiuyiyu  
       2017-06-11 09:57:06 +08:00
    如果游戏逻辑比较简单,可以直接用原生 canvas 标签的 api 开发。但是如果想提升开发效率,用框架也不错,同楼上一样,推荐 phaser.js,上手简单,而且包含了游戏开发的各个方面,你只要拿来用就行了,唯一的缺点是体积比较大,这就要你自己取舍了。
    shoaly
        6
    shoaly  
       2017-06-11 10:10:07 +08:00
    搜一下白鹭 游戏
    AlisaDestiny
        7
    AlisaDestiny  
       2017-06-11 12:21:32 +08:00
    @tvallday 你这个斗地主 BGM 也是没谁了。
    tvallday
        8
    tvallday  
       2017-06-11 12:33:50 +08:00
    @AlisaDestiny 老司机啊...
    chairuosen
        9
    chairuosen  
       2017-06-11 13:45:18 +08:00
    没写过前端游戏,请教一下各位大佬,游戏的画面切换也是用的路由(抽象路由)么?比如菜单页,和游戏场景,以及通关后的分数页。
    coderluan
        10
    coderluan  
       2017-06-11 13:57:10 +08:00
    游戏一般都叫引擎,而不是框架,国外有 pixi.js,phaser.js 等等,国内也有 Egret 和 Laya 等等。
    分享我之前分别拿 Egret 和 Laya 做的一个对对碰游戏:
    https://github.com/LuanZhanKuangGe/Japanese-syllabary-game
    coderluan
        11
    coderluan  
       2017-06-11 14:00:27 +08:00
    @chairuosen 不管是不是页游,游戏一般都是 舞台->场景->对象 这种层次, 切换画面一般是切换场景,引擎都提供相应的类和对象的。
    ragnaroks
        12
    ragnaroks  
       2017-06-11 14:19:17 +08:00
    2d 的话, phaser 很不错
    tyrealgray
        13
    tyrealgray  
       2017-06-11 17:14:25 +08:00 via iPhone
    @chairuosen 少年你知道 canvas 这个东西么,游戏当然都在一个页面完成啊

    话说现在就在用 js 写游戏,用的 nwjs 来平台打包,加 pixi 渲染和 webpack 管理
    chairuosen
        14
    chairuosen  
       2017-06-11 17:17:34 +08:00
    @tyrealgray 我说的是抽象的路由
    slert
        15
    slert  
       2017-06-11 22:11:47 +08:00
    游戏和 web 开发不是一个思路了 建议找个游戏引擎学习一下 白鹭可以看看 配套工具很丰富
    fjzjk
        16
    fjzjk  
       2017-06-11 23:53:02 +08:00
    直接用游戏引擎呗,h5 的游戏引擎就多了。
    国内的白鹭、laya 都不错,creator 也可以但是臃肿一些。unity 的 h5 只能给 pc 用。
    还有一些冷门的就不提了,一般推荐用大众的,坑都被人踩过了好弄
    tlday
        17
    tlday  
       2017-06-12 08:36:40 +08:00 via Android
    练技术自己玩玩可以,但是个人不太看好网页小游戏的发展。
    tlday
        18
    tlday  
       2017-06-12 08:55:20 +08:00 via Android
    入门建议 egret,他们最近憋了半年出了个 5.0,据称是支持 WebAssembly,生态也比较完善,整个一套有 Wings 的 IDE,Dragon bones 的动画建模工具,以及各种 native app 打包支持,前端的资源文件管理,自动的代码压缩打包发布,所有工具都是 Mac/Win 双平台的,甚至你游戏写完以后的渠道支持都有,引擎也是开源的,文档还是中文的,手把手教你写游戏的感觉,推荐刚开始写游戏的试试。等有了底子,就可以自己选择适合自己的框架了。
    tlday
        19
    tlday  
       2017-06-12 09:00:54 +08:00 via Android
    国内的网页游戏引擎几乎都脱胎于 Flash,所以 api 是几乎一样的,转换成本很低。
    LeoEatle
        20
    LeoEatle  
       2017-06-12 11:03:22 +08:00 via iPhone
    直接 CocosJS,可以全平台打包
    mumuy
        21
    mumuy  
       2017-06-12 16:48:11 +08:00
    我用 canvas 写的一款小游戏,没有用第三方游戏引擎哦,自己写的动画和事件管理:
    https://github.com/mumuy/pacman
    mumuy
        22
    mumuy  
       2017-06-12 16:49:47 +08:00
    @coderluan 哈哈哈,我没有用游戏引擎,自己定义了场景对象什么的
    coderluan
        23
    coderluan  
       2017-06-12 16:57:32 +08:00
    @mumuy #22 简单的游戏确实用不到,不过我想说你这个吃豆人操作不对吧,怎么还带上下左右的...
    zohan
        24
    zohan  
       2017-06-12 17:00:58 +08:00
    推荐 phaser,简单易上手,demo 又多。引擎扩展性也不错
    mumuy
        25
    mumuy  
       2017-06-12 17:36:18 +08:00
    @coderluan 什么意思?为什么不带上下左右???
    coderluan
        26
    coderluan  
       2017-06-12 17:42:38 +08:00
    @mumuy #25 我记得原版吃豆人就左右两个方向负责拐弯,前后没用,而且可以提前按键,比如按左,等下有左边有路,它会自己拐弯。你去玩下原版的吃豆人就知道操作有啥不同了。
    mumuy
        27
    mumuy  
       2017-06-21 13:48:23 +08:00
    @coderluan you sure???你说的原版是红白机吗?
    哈哈哈,我没说我完全按原版来啊,原版每个幽灵的寻路算法都不一样呢~不是想我这样几个一起围堵玩家
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5674 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 02:06 · PVG 10:06 · LAX 19:06 · JFK 22:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.