前段时间趁着 steam 上《古墓丽影:崛起》打折赶紧入了一发,
那几天基本除了上班睡觉吃饭就是打这个,上一个让我如此痴迷的游戏是《核平5》。
继续阅读 »
上段时间组内解决的一个奇葩内存泄露问题, 找到最终原因时发现真是奇坑无比的一个原因.
一开始怀疑某个逻辑会导致dict引用数一直增加, 或是其他对象始终不释放, 导致内存一直在涨, 期间开启gc collect也没用.
使用memory grapher 等内存泄露工具检测, 打印出一段时间对象的增长量, dict, list等数据结构的增长量, 从打印信息看虽然有一定问题, 但是确实不可能会导致那么严重的内存泄露, 我们某个游戏服有时甚至会突然从300MB进程内存, 很快就上涨到3GB.
继续阅读 »
介绍
一群恶魔的猪从无辜的小鸟那里偷走了所有的前端架构,现在它们要夺回来,一对特工英雄(愤怒的小鸟)将攻击那些卑鄙的猪,直到夺回属于他们的前端架构。(译者注:本系列是关乎前端架构的讨论,作者借用当前最风靡的游戏 - 愤怒的小鸟,为我们揭开了前端架构的真实面目。)
来认识一下我们的特工英雄
在接下来的几周里会逐渐向你介绍我们的超级英雄...
红色大鸟(大兄弟)
红色大鸟兄弟依靠 IIFE 的力量进行攻击,IIFE 是一切私有化的基础。封装你的代码,保护代码免受其他代码的干扰。
译注:IIFE (Immediately-invoked Function Expression) 立即调用的函数表达式
蓝色小鸟(分身
继续阅读 »
文/Robin
Apple One 订阅服务正式上线了,不过前提是你要有一个非国区的 Apple ID。
Apple One 是什么?Apple One 是 Apple 推出的一项捆绑订阅服务,将 Apple Music, Apple TV+, Apple Arcade, Apple News+, iCloud 存储空间和 Apple Fitness+ 捆绑销售,用户可以以更低的价格购买一整套服务。
Apple Music、iCloud 我们比较熟悉,除此之外,「Apple News+」是一个新闻媒体服务,「Apple TV+」类似于 Netflix 的流媒体服务,「Apple Acrade」是一个游戏订阅服务,「Appl
继续阅读 »
Github 作为代码分享平台在开发者中非常流行。此平台托管了包括游戏、书籍以至于字体在内的一千两百多万个开源项目(现在更多),这使其成为互联网上最大的代码库。Github 还提供另一个非常有用的功能,这就是 Gist。开发人员常常使用 Gist 记录他们的代码片段,但是 Gist 不仅仅是为极客和码农开发的,每个人都可以用到它。如果您听说过类似 Pastebin 或 Pastie 这样的 Web 应用的话,那您就可以看到它们和 Gist 很像,但是 Gist 比它们要更优雅,因为这些免费应用一般含有广告,而且带有很多其他杂七杂八的功能。
如果您不是极客您也可以按照如下方式使用Gist:
more
匿名张贴
您不需要拥有 Gi
继续阅读 »
一群恶魔的猪从无辜的小鸟那里偷走了所有的前端架构,现在它们要夺回来。一对特工英雄(愤怒的小鸟)将攻击那些卑鄙的猪,直到夺回属于他们的前端架构。(译者注:本系列是关乎前端架构的讨论,作者借用当前最风靡的游戏 - 愤怒的小鸟,为我们揭开了前端架构的真实面目。)
小鸟们最终能取得胜利吗?它们会战胜那些满身培根味的敌人吗?让我们一起来揭示 JavaScript 之愤怒的小鸟系列的另一个扣人心弦的章节!
阅读本系列的介绍文章,查看所有小鸟以及它们的进攻力量。
战况
红色大鸟 - 立即调用的函数表达式
蓝色小鸟 - 事件
黄色小鸟 - 模块化、依赖管理、性能优化
黑色小鸟 - 前端分层架构
白色小鸟 - 代码质量和代码分析
绿色小鸟 -
继续阅读 »
介绍
一群恶魔的猪从无辜的小鸟那里偷走了所有的前端架构,现在它们要夺回来。一对特工英雄(愤怒的小鸟)将攻击那些卑鄙的猪,直到夺回属于他们的前端架构。(译者注:本系列是关乎前端架构的讨论,作者借用当前最风靡的游戏 - 愤怒的小鸟,为我们揭开了前端架构的真实面目。)
小鸟们最终能取得胜利吗?它们会战胜那些满身培根味的敌人吗?让我们一起来揭示 JavaScript 之愤怒的小鸟系列的另一个扣人心弦的章节!
阅读本系列的介绍文章,查看所有小鸟以及它们的进攻力量。
战况
红色大鸟 - 立即调用的函数表达式
蓝色小鸟 - 事件
黄色小鸟的攻击力
在这片文章中,我们将看看黄色小鸟,它使用 RequireJS 作为助推器,利用动态脚
继续阅读 »
上周通了The Last Of Us,我的心情久久不能平静,我想会说这绝对是神作的。
more
故事讲的是一个末世背景下,一个大叔和萝莉活到了最后。我简直不敢相信一句话概括完了我玩了 2 年的游戏。
继续阅读 »
游戏里有很多事件, 可能会随玩家, 或场景内某个物品或某个生物体的状态, 来触发这些事件。比如那种跟随主人走动的宠物,可以认为随主人的状态变更为STATE_MOVE来触发宠物的某个事件, 比如跟随主人,宠物类和宠物的AI类, 以及人物类, 均是独立的, 我们需要一个观察器来连接他们之间的关联:
继续阅读 »
这里记录的是现在所在游戏的cpp代码里的, 关于事件调度和触发的源码分析.
EventDispatcher 是一个事件调度者
Event 事件基类
EventReceiver 所有需要接收世界的对象的基类, 它们都对EventReceiver做继承. 并重写RecieveEvent方法.
继续阅读 »