前端?请叫我游戏开发
本文转载自公众号:流利说技术团队
一、背景
半年前项目组决定开发一款游戏化的 app。但是组内还没有游戏开发人员。作为一个前端工程师,还算熟悉号称“镇后端”、“镇客户端”的 JavaScript。遂果断跳入游戏开发的坑中。这篇文章从比较 general 的方面对比了前端开发和游戏开发的一些区别,算是这段时间工作的一个总结,希望更多前端小伙伴们也可以尝试下游戏开发。
二、引擎选择
市面上存在的游戏引擎有很多,比如 Unity,Cocos2d-x,Egret 等。最终选择了 Cocos Creator,原因主要有几下几点:
- 跨平台,平台无关的代码共用,可以提高开发效率
- 使用 JavaScript/TypeScript 作为开发语言,对于前端比较友好。对 ES201X 语法支持比较完善。
- 1.x 版本(笔者开始做时还未发布2.0版本)是基于 Cocos2d-x 实现的。文档资源和社区环境都比较成熟,便于上手。
- 编辑器提供了集成式的开发、设计环境。最大程度上提高了程序员和设计师的合作效率。
- 支持多种平台,可移植性比较好
本文以下部分提到的”游戏“均指 Cocos Creator 引擎,其他游戏引擎可能会有所不同。
三、游戏和前端开发的区别
1、共同点
- 主要编程语言都是 JavaScript/TypeScript,JavaScript 中常用的 deisgn pattern 都可直接使用
- 使用 prettier 进行代码风格管理,使用 tslint/eslint 对进行代码质量管理
- 使用 jest 进行单元测试
- 基于组件。组件在各种前端框架中很常见,同样游戏中也是基于组件封装隔离各个模块的。当然游戏中的组件跟前端框架中的组件还是有很大区别的,后面会专门介绍。
- PM还是会不断地改需求
前端?请叫我游戏开发相关推荐
- python和vue结合开发前端,请手动配置Vue开发环境
vue怎么全局定义一个变量代替路径 . 原理:设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用exportdefault暴露出去,在里面使用Vue.prototype挂载到vue实例 ...
- 【第二届青训营-寒假前端场】- 「小游戏开发」笔记
前端场景下的游戏开发 开发角色和链路 为什么要用游戏引擎 前端过渡到游戏开发 游戏引擎 市面上常见游戏引擎 特定类型的客户端游戏引擎 The NVL Maker **RPG Maker** Web游戏 ...
- Win32 游戏开发:贪吃蛇 上篇
1)贪吃蛇游戏介绍(摘抄自百度百科) 1976年,Gremlin平台推出了一款经典街机游戏Blockade.游戏中,两名玩家分别控制一个角色在屏幕上移动,所经之处砌起围栏.角色只能向左.右方向90度转 ...
- U3D游戏开发从入门到弯道超车(2):《Flappy Bird》场景动画及角色动画制作
1. 前言 上节课我们重点说了游戏开发和其他开发岗位的区别,以及如何高效地学习游戏开发.今天这节课,我们就正式开始运用上节课中提到的HOPL(hands-on project learning)学习大 ...
- 在Web 3D 游戏开发的前端如何快速上手进行
本文以「余额宝3D跑酷游戏」为例,介绍了前端如何快速上手 Web 3D 游戏的开发.跑酷游戏是余额宝七周年的主玩法,用户通过做任务来获取玩游戏的机会并且解锁游戏道具,从而在游戏中获得更多的金币,最终可 ...
- 视频教程-老司机讲前端之微信小程序开发成语消消乐游戏视频课程-微信开发
老司机讲前端之微信小程序开发成语消消乐游戏视频课程 中国实战派HTML5培训第一人,微软技术讲师,曾任百合网技术总监,博看文思HTML5总监.陶国荣长期致力于HTML5.JavaScript.CSS3 ...
- 老司机讲前端之微信小程序开发成语消消乐游戏视频课程-陶国荣-专题视频课程...
老司机讲前端之微信小程序开发成语消消乐游戏视频课程-102人已学习 课程介绍 本课通过一个完整.真实的游戏项目,带着学员手动开发代码,本课分项目介绍.界面效果.技术分析.代码实现.打包 ...
- 前端游戏开发和h5前端开发_人们不告诉您有关前端开发的10件事
前端游戏开发和h5前端开发 介绍 (Intro) Front-end development involves the building of webpages and user interfaces ...
- 「脱单实验No.1」长沙 | 91年,游戏开发、Web前端,爱好厨艺与文学
Creator游戏开发社区「脱单实验室」,旨在帮助广大游戏开发者解决单身问题.欢迎单身游戏开发者或者想找程序猿/媛朋友的非程序员青年前来报名投稿. PS. 敢比会更重要,不要让你的另一半,等得太久了 ...
最新文章
- .pth is a zip archive (did you mean to use torch.jit.load()?)
- Python的装饰器
- OSPF LSA序列号问题
- apache/nginx/tomcat的区别
- SAP UI 搜索分页技术
- [SDOI2011]消耗战
- 公司招聘中不能说的秘密,简历只有这么发才有希望
- 日常管理随笔一 (转载)
- vue组件(Vue+webpack项目实战系列之三)
- 洛谷 P5708 三角形面积 C语言
- 时域信号的频谱、功率谱和功率谱密度计算
- 申请开通微信支付教程
- ubuntu 查询uuid_ubuntu
- 浏览器工作流程_浏览器如何工作
- Linux-ssh隧道详解
- Azkaban配置Work Flow案例实操
- 长安大学计算机学硕毕业要求,长安大学研究生学习期间发表学术论文规定.doc...
- “大数据”挖出老鼠仓的政治价值
- 【Gaze】A Survey on Using Gaze Behaviour for Natural Language Processing
- vivox21支持html,vivo X21支持双卡吗_vivo X21支持双卡双待吗-太平洋IT百科
热门文章
- Java接口的定义与实现
- 电脑分屏设置主屏_WinXP电脑双屏显示设置的方法
- EasyCVR接入大华CVS录像机,下载录像文件名为空是如何解决的?
- [公式推导]用最简洁的方法证明多元正态分布的条件分布
- 奥利给:力扣160:相交链表
- RTKLIB中的各种AR mode 详解
- 分布式与传统的对比简介
- linux脚本的编写
- 关于MOS管栅极和栅介质(氧化物)的材料选择
- 此计算机无法与域 cluster,创建0xc000005e群集时出现错误 - Windows Server | Microsoft Docs...
- python和vue结合开发前端,请手动配置Vue开发环境