笔记

18
Mar

【更新】最近玩的一些游戏的开发引擎统计

因为最近在构思游戏,但没有想好用哪个引擎,所以整理了一下最近我玩的游戏(大部分为独立游戏)用的引擎。仅供参考

炉石传说 - Unity
崩坏3rd - Unity
影之诗[Shadowverse] - Unity
Madness Project Nexus 2 - Unity
星球探险家[Planet Explorer] - Unity
奥日与黑暗森林 - Unity
Unturned - Unity

Terraria - Microsoft XNA
星露谷物语[Stardew Valley] - Microsoft XNA
Secrets of Grindea - Microsoft XNA

点击英雄[Clicker Heroes] - Adobe Flash(AIR)
RustyLake:Roots - Adobe Flash

Undertale - Game Maker Studio

饥荒 - C++核心引擎/Lua脚本(游戏主体内容)
以撒的结合:胎衣[The binding of issac:Afterbirth] - C++/Lua脚本
冒险岛2 - 目测是C++/Lua
Starbound - C++ (UI疑似Qt)
铁锤守卫[Hammerwatch] - C#/OpenGL
监狱建筑师 - C++/OpenGL

CSGO - Source
Garry's Mod - Source

15
Feb

Uncaught (in promise) DOMException: Failed to load because no supported source was found. 解决方案

如果在Chrome 50+ 通过js控制Html5 video/audio 元素的play(),可能会弹出下列问题

Uncaught (in promise) DOMException: Failed to load because no supported source was found.

会在promise中触发原因是Chrome的一次更新

一开始我在使用DPlayer by Diygod引用部署在阿里云oss上的视频时报的错,看了stackoverflow上的一些答案都不能解决,然后发现原来是一句crossOrigin = "Anonymous"的问题

<video src="someoss.com/xx.mp4" crossOrigin = "Anonymous"></video>

去掉后就可以了,我想原因是阿里云oss的来源监控不允许匿名访问,虽然我设置是公共读并且没有refer限制。

22
Jan

SBT项目构建过慢/卡在Getting解决办法

找了找网上的镜像 发现现在阿里云和bintray的都挺好用

步骤:
window:C:\Users\用户目录.sbt\

linux:~/.sbt/
建立repositories文件(不要后缀名)
里面输入

[repositories]
#local
public: http://maven.aliyun.com/nexus/content/groups/public/
typesafe:http://dl.bintray.com/typesafe/ivy-releases/ , [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
ivy-sbt-plugin:http://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
sonatype-oss-releases

sonatype-oss-snapshots

保存,再重新构建即可,亲测下载挺快的

27
Dec

Flstudio Fruity Delay 2/Bank 不起作用解决方案

最近发现写的钢琴加Fruity Delay 2/ Fruity Delay Bank在有时候不起效..

各种研究排除错误之后发现 如果你拉了速度包络线,而且当前正在变速就会不起效。。

往往是因为目前的线不平导致的,可以用复制值/粘贴值来弄平

12
Sep

Canvas 插入 fontAwesome

事先准备: 引入fontawesome官网文件
或单独引入fontawesome.otf并在全局css中指定@font
每个图标的unicode码在Cheetsheat获取

draw事件中:

//canvas = ...
//ctx = ...
ctx.save();
ctx.font = "12px FontAwesome"; //字体大小
ctx.fillStyle = "rgba(255,255,255,1)"; //颜色
var txt = "\uf036";  //Unicode码
ctx.fillText(txt,x,y);
ctx.restore();

23
Aug

Canvas 镜头(Camera/viewport)效果的实现

1、DrawImage实现法

http://jsfiddle.net/gfcarv/QKgHs/#embed

2、RPGmaker型,图块型

http://stackoverflow.com/questions/11464550/html5-creating-a-viewport-for-canvas

22
Aug

关于Ubuntu15/16等版本安装Spotify,Brackets,遨游,Chrome等缺少Libgcrypt11支持的解决方案

具体表现为用软件安装没反应,而执行
$ spotify

$ sudo dpkg -i Brackets.1.2.Extract.64-bit.deb
均报找不到libgcrypt11的问题。
主要原因是Ubuntu新版不再支持Libgcrypt11而原装Libgcrypt20,而这些应用目前还依赖11,解决方案很简单,就是强制安装旧版的Libgcrypt11。

32Bit from LaunchPad
64Bit from LaunchPad

或者从官网获取

15
Jul

Flash逝去时代的替代方案.

(16/08/15编辑: 完善了条目)

作为独立Animator/AS3 coder,最近一直在探索flash的一个替代方案,也找到不少不错的方案。

游戏开发

Adobe Flash cc时代和后继的Animate cc采用的html5替代方案,基于Canvas,拥有三大法宝:EaselJS基本绘制,TweenJS做补间,SoundJS音效,简单动画基本搞定了。AS和JS差距也不大平滑过渡也可以,可惜现在h5的效率还是有点问题,比不上flash,复杂的矢量素材难以支持,复杂的动画也比较卡。

  • Cocos2d-js / Unity2d

优点是大厂大品牌,用的人多,但似乎诟病也不少,主要是性能方面,我没有试用过所以不太清楚。

一个对Flash开发者非常亲和的h5游戏引擎,简单试用了下确实如此。基于canvas/WebGL,主要竞争对手是cocos2d-js,相对于上述解决方案来说对纯程序员更适合。缺点可能还是比较新吧。

  • layabox
    比Egret对Flash更亲和,主要优势在于能够直接转化AS3游戏到H5项目,配备自研player提升运行效率。其中后出的LayaAir则是弥补非flash程序员的空白——提供Typescript,javascript,as3三种语言的支持。

  • 其他Html5-Canvas/Webgl引擎

这个就有不少了,实际上上述都有个自己的框架,不过配备了IDE而已。比较出名的有kiwi.js,three.js(webGL),impact.js等。具体可以参考这里


2D动画

  • Adobe Edge Animate

这个也是Adobe自己弄了一个edge.js,目测和上面差别不大。不过似乎不是基于Canvas而是DOM。Edge Animate简单易用,容易上手。一般用来做一些简单的网页动画。对于逐帧动画不太亲和。

不过考虑到Adobe Edge四件套(Animate,Reflow,Code,Inspect)死了一大半,所以估计这个Edge Animate活不长。毕竟Animate比他功能更多,对逐帧支持也更好。可能Edge Animate唯一的优势就是相对轻量以及简单了。

  • Toonboom系列
    无需多说,flash本来在2D动画领域就不是多么高精尖。Toonboom系列还是更专业的。

  • Tvpaint Animation
    无纸绘图专属位图动画软件,很赞,比较适合板绘FBF型逐帧动画。