06 2010 档案
摘要:CLR 是控制线程移入/移出应用程序域和上下文的实体。作为开发者,无需知道线程在哪里结束(或者准确地说,在什么时候被放置在新的边界上),但至少应该知道获得 Underlying Primitive 的不同方法。
阅读全文
摘要:现在希望进一步地提高SL GameEngine 的性能;同时考虑到未来的发展,并行编程是一种趋势;而且现在对数学和神经网络产生了一定兴趣,令人高兴的事,我发现神经网络,离散化这些或许是并行编程的一个突破点。所以接下来我会用1-2个月的时间来研究这一块。 1.学习神经网络,离散数学,偏微分的基础理论。 2.学习C#中关于并行编程的类(主要是在SL中可以使用的类)。 3.学习F#。
阅读全文
摘要:遗传算法(Genetic Algorithm)。 能解决任何实际问题,具有可实现的并行计算行为。 遗传算法的操作对象是一组可行解,而非单个可行解;搜索轨道有多条,因而具有良好的可行性。 遗传算法只需要利用目标的取值信息,而不需要梯度等高价值信息,因而适用于任何大规模,高度非线性的不连续多峰函数的优化以及无解析表达式的目标函数的优化,具有很好的通用性。 遗传算法择优机制是一种“软...
阅读全文
摘要:有限元法是一种求解偏微分方程的方法,这一方法需要在这些方程所在的空间上对其进行离散化。单元离散化后,最初的偏微分方程将变成某种形式的矩阵方程,它们把节点上的已知量(输入)和未知量(输出)联系起来,这样就可以逐个单元求解。 离散化:将一个大的区域划分成一些结构简单但形状任意的局部小区域(有限单元) 如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微...
阅读全文
摘要:F#的并行机制,和其他语言不同,虽然有些相像,比如都是通过发送消息,有些语言基于特殊的虚拟机,比如一次共享一百条消息;而F#是发送消息到一个队列里,然后推到线程池里,这样,不论发送100条消息也好,1000条消息,实际上都是处理线程池。实际上遵循的是先到先处理。我觉得这些思路也可以用到C#的编程上来,或者说他们是通用的。我们需要时时看到代码的目标是什么,注意到“What”,...
阅读全文
摘要:并行编程确实是件麻烦的事情,为了得出一个较为准确的结论,需要大量的测试,才可能得到一个概率性的结果。 在使用Monitor的时候,使用 Monitor.Wait 和 Monitor.Pulse 的时候很容易造成死锁,非常需要注意。
阅读全文
摘要:前言: 其实并行编程和语言并没有必然的联系,和游戏开发也没有什么必然的关系。把它们联系在一起的是我,因为我想在Silverlight游戏开发中使用并行编程来获得更好的效果。 有并行编程经验的朋友们都知道并行编程非常困难而且艰巨,但它是在摩尔定律失去作用后的唯一希望。 并行编程是一门科学和艺术完美结合的学科。——多么好的句子!科学与艺术。不论多么艰难,都值得付出努力。第...
阅读全文
摘要:1.人之所以痛苦,在于追求错误的东西。 2.如果你不给自己烦恼,别人也永远不可能给你烦恼。因为你自己的内心,你放不下。 3.你永远要感谢给你逆境的众生。 4.你永远要宽恕众生,不论他有多坏,甚至他伤害过你,你一定要放下,才能得到真正的快乐。 5.当你快乐时,你要想这快乐不是永恒的。当你痛苦时,你要想这痛苦也不是永恒的。 6.今日的执著,会造成明日的后悔。 7.你可以拥有爱,...
阅读全文
摘要:游戏世界是一个乱哄哄的世界,乱哄哄的各种各样的人物,怪物奔跑着,发射着五花八门的子弹;各种古里古怪的地形,会吃人的建筑物;如果“上帝”愿意,随时可以刮风下雨。哦,MG!我的头脑里容不下这么多东西了,这简直是场灾难。 我希望把他们统一起来,而不是区别对待;我希望用一种逻辑来控制管理他们,而不是一万种。 可以做到吗? 很高兴,可以。 把这些游戏元素统一成一个整体,并且提...
阅读全文
摘要:上篇文章的访问量竟然超过了1000,哈哈,还从来没有这么多人看过我的文章呢。虽然在公司内部,我十分看重交流,互相汲取经验,避免重复造轮子的事情发生,但在这之外,还没有过如此多的人来看自己的东西。 我仍然要强调一个事情,虽然已经强调多遍:朋友们,如果你打算腾出你宝贵的时间来看我写的文章,那么请你一定腾出更多的时间去实践一下,用代码来实践这一切。这要比阅读困难的多,我只花了个把小时就读完了调度器这个...
阅读全文
摘要:正如上篇文章《游戏里的调度器》提到的,游戏里的时钟是非常重要的一个环节。但想把时钟做好,却可能更加困难,因为我们没有更多的手段来对付这个难题。 大部分的游戏都采取 Main Game Loop 机制,只要游戏在运行,循环就在持续,每帧一次,永不停息。来让我们看看,每帧都需要做些什么:Accept User Input :接受用户的键盘/鼠标输入更新游戏场景里的一切渲染所有可见对象网络游戏中要处理...
阅读全文
摘要:前言: 说实话,很久没有正儿八经写东西了,都不知道咋写了。如果不幸看到这篇文章的哥们们,凑合看吧。 我这个比不了深蓝的东西,也不是教程。只能说是拾人牙慧,人云亦云吧,从各种书籍里汲取自己能看得懂的东西,结合自己的开发经验,弄成自己的一套东西。《游戏编程精粹》、《游戏人工智能编程案例精粹》(这两本是邮电出版的)《游戏编程中的人工智能技术》(这本是清华的),都是些不错的书。如果您已经看过而且理解...
阅读全文
摘要:昨天在写一个调度器的Demo,发现了几个bug,bug本身倒不是什么大的问题,就是些拼写错误,和一个异或的顺序。但是发生的地方却令人警惕!因为这里是基础架构,整个游戏是要搭建在上面的,如果这里出了问题,造成的影响将是非常广泛的。如果不能够非常快地定位到这里,在整个系统内大海捞针般地寻找Bug,将是非常可怕的。 回头看看,在开发过程中对Bug这个问题没有给予足够的重视,对于测试也没有相应的措施。只...
阅读全文
摘要:在CSDN上读过这样一篇文章,“仅有10%的专业程序员能把这个小程序写的完全正确”,这里的小程序,其实指的是一个二分查找。书中的一段原话: 例3.4 Bently【1986】要求超过100个专业程序员把下面这段有关二分法的简要描述“写成一个程序,语言由他们自己选择............. 他报告说,“我感到非常惊讶,给了他们充足的时间,仅有10%的...
阅读全文
摘要:这里是读书小记,而不是读书笔记,或者其他什么,是因为仅仅是些随感,而且只是随便翻了翻20多页。 但是我注意到了几点: 一、并行计算 人脑的运算速度虽然比电脑要慢很多很多,但人脑是并行计算的。这本书很老旧了,我想这本书出版的时候,电脑的运算速度还是很慢的(相对于现在),更重要的是,多核的电脑肯定是没有出现的。但现在多核已经是趋势了。神经网络如果能够在多核电脑上以并行计算的方式进行 再加上高速的运...
阅读全文
摘要:Independent Game什么是独立游戏? 独立游戏制作,是相对于商业游戏制作而存在的另一种游戏制作行为,这一点和电影领域中,商业电影和独立制作电影是非常相象的。对于独立制作的理解,国内和国外也不尽相同。就国外来说,在没有商业资金的影响或者不以商业发行为目的,独立完成制作,都可认为是独立游戏制作行为。而独立游戏制作和商业游戏制作之间的界限,也随着游戏产业的发展,一天天变得模糊起来。许多著名...
阅读全文
摘要:Great hope makes great man.------------------------ * * ---------------- * * --------------------------------------------- 我很多的游戏编程经验都是从《游戏编程精粹》这个系列中学习来的,而在里面与这样的序言。 “系列丛书的目的是鼓励游戏开发人员将自己的知识拿出来...
阅读全文
摘要:记得以前听过一句话:不动笔不读书。我想吧这句话借用过来,不动笔,不写程序。 “一个很蹩脚的建筑师比一个蜜蜂高明的地方就是在房子盖起来之前,建筑师已经建造好了。”我们在写程序之前,应该是有个大概的思路和想法,对程序的流程有个估计,而不是在按下F5的时候,同时祈求上帝保佑。即便上帝保佑了,程序运行的完全正确,也是有隐患在里面的。所以,拿起笔来,在纸上随便画画,整理一下思路。这...
阅读全文
摘要:或许这再一次印证任何人每一次的成功背后都有不为人知的付出和汗水。 哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间,就没有晒太阳的时间。 作为闻名于世的学府,哈佛大学培养了许多名人,他们中有33位诺贝尔奖获得者、7位美国总统以及各行各业的职业精英。究竟是什么使哈佛成为精英的摇篮?哈佛学子接受了什么样的精神和理念?这些问...
阅读全文
摘要:3D的表现力确实震撼不过这让我想起来中国画和西方写实油画2D和3D,一个写意一个写实2D的更清新优雅一些,3D的铺面而来一种霸气,一个满足心灵,一个满足眼球。一个王道,一个霸道。
阅读全文

浙公网安备 33010602011771号