- 博客(78)
- 收藏
- 关注
原创 Rewired(知名Unity输入插件)与IL2CPP编译冲突问题
1、Rewired介绍:目前Unity提供的输入系统,有传统的Input Manager,和新的Input System两种。前者功能陈旧,不能胜任跨平台输入、玩家自定义输入的需求;后者过度复杂,引入了太多不必要的功能,学习成本高又不是完全成熟,性价比低。所以现在外网提到输入系统,总是会谈到Rewired插件。这是一个资源商店里的畅销插件,有一定用户基础,地址如下:https://assetstore.unity.com/packages/tools/utilities/rewired-21
2021-06-26 12:47:49 1275 1
原创 平凡的人生or开挂的人生——对知乎相关问题的回答
知乎原题:为什么有些人的人生和开了挂一样?https://www.zhihu.com/question/37106162楼上说的都特别好,我很想补充一点。我先抛出一个背景概念——我认为开挂人生,本质不同,分为两种第一种:由于境遇不幸,或者仅仅是由于童年时的一个深刻的心理期望,从而对人生平常事失去了体验的乐趣,反而对挑战与奋斗充满了渴望,把世俗的成
2017-06-26 16:07:36 2750
原创 游戏开发培训的两难与探索
游戏开发培训的两难与探索游戏培训的现状说到游戏培训,其实包含的范围比较广。容易想到的一是游戏美术,包括原画、3D美术等几大类;二是游戏编程培训,几年前Cocos2D比较火,现在清一色的Unity3D。CSDN博客 善良的兽人Goodorc EMail:[email protected]打开百度,搜索“游戏培训”,看前几名。可以点进去看看课程介绍。会发现一个问题,不了解行业的人可能察觉不到。后面细说
2017-03-13 23:12:39 4768 2
原创 To The Moon 玩后感
惭愧,这都2016年了,才玩了这部作品(说读过更合适)虽然它不是一部刻意催泪的作品,但我依然感动的一把鼻涕一把眼泪。 这部作品的主线剧情极为完美,倒叙的表达方式、主角通过努力让老大爷最终获得完美的记忆,都很不错。 但是,从结局里走出来看。丽娃的经历与努力,这条暗线,才是剧情最大的闪光点吧。 爱情是永恒的主题,我们都在从不同的角度去表达。
2016-05-11 16:34:39 1865
原创 两个加锁相关的算法,非常基础,带图。原创思路抛砖引玉
算法一:如果需要从一个较慢的地方,比如DB里,隔几秒反复读取配置,如果配置变化了,就更新逻辑里的参数。那么算法一可以参考。 算法一主要是避免了锁的使用。在读取到参数没有变化的时候,不做任何事。如果参数变了,在参数成功更新到逻辑内之前,也不做任何事。算法二:常见的生产者——消费者模型,优点是比较简朴,而且上锁时间非常短,还是比较实用的。
2016-04-22 17:30:12 1289
原创 DLL和lib的不同之一——一个要外部链接,一个不需要
今天发现,如果dll库函数里用了一个std::string&类型的参数,且在使用时修改了string的内容,那么可能会因为调用者用的内存分配器与dll库里的不一致,而导致崩溃等严重问题。 神奇的是,同事把dll改为lib,就解决了这个问题。准确来说,lib方式,库内的函数调用new函数时,也会跳转到已经被重载的全局new上面去。 仔细看了下VS2013的工程设置
2016-04-21 14:41:10 1144
转载 跨平台内存分配器TCMalloc
http://www.cppblog.com/feixuwu/archive/2010/07/10/119980.aspx跨平台内存分配器TCMalloc,看着很屌的样子。楼主是Windows开发为主,很有参考价值。一定要点进去看,这篇文章一半的精华在评论里。评论里提到,windows下做dll注入和linux下方式不同。windows的方式更hack一点评
2016-04-21 14:35:04 952
原创 微信开放平台SDK笔记
从昨晚开始看微信开放平台的内容。今天略有成果,把关键点记录一下。 整体思路: SDK客户端部分。由于HTML5,客户端也是在服务器上,所以导致一开始我没搞清楚这个JSSDK是什么东西。 后来在白鹭论坛里找到了真正的PHP服务器端的代码,才知道确实是两部分。 纯服务器端的部分我在微信官网没找到例子,建议到白鹭引擎的论坛里
2016-04-10 18:56:53 1407
原创 《经济解释》私人笔记
《罗辑思维》真是个好节目。 一个节目好不好,有时候不是它本身好不好,而是它带来了怎样的信息,对你产生了什么启发;或者干脆只是一些零碎的信息,其中某些信息引起了你的兴趣。有时这种无意的信息是灵感的来源也是知识的来源。 甚至于,一本书错误百出,但是作者的主题却能让你恍然大悟,如醍醐灌顶——在阅读“罗辑思维”所推荐的《经济学通识》时,我体验到了这种神奇的经历。
2016-01-08 16:46:34 1309
转载 quake3 code 源代码 编译调试。保证通过。
原地址:http://www.cnblogs.com/roland1982/articles/5045624.htmlquake3 code 源代码 编译调试 。保证通过。Quake3引擎的源码已经公开了,研究过的人都认为虽然它年代比较久远,但是代码写得非常漂亮,非常值得一探究竟。Quake3引擎的源码是完全开源的,但是Quake3这款游戏的资源(声音、图片等)并非免费
2015-12-14 16:26:39 3835 2
原创 我为什么学习Python
在我的编程生涯中,Python给了我第二次热情。第一次热情——编程之路的开始。 和不少人学过BASIC的人一样,我从小就接触到了编程,但是那时无论是研究小霸王学习机,还是在课外兴趣班里由老师教。对编程方法都还是保持着一个模糊的印象。当时觉着,稍微复杂一点的问题——比如解方程式,播放动画——都挺难想出做法,所以也就知难而退了。现在回想,用编程实现解方程或者是在小
2015-11-12 16:13:13 2488
原创 Python游戏服务器开发日记(九)近期问题总结。(打酱油中……)
由于领导提出的多进程方案有很多问题,进展缓慢。好在有另一个同事慢慢进展中,我主要是做各种单独的试验,集成各种技术进行尝试。 Python多子进程方案的核心是共享内存,除了mmap方式,还有shm方式,都是linux提供的共享内存方案。 无论哪种共享内存方式,都需要自行申请整块内存,然后在创建对象时,将对象数据放在共享内存区域,实现多进程都能访问的目的。
2015-11-12 15:25:39 2110 2
原创 Python游戏服务器开发日记(八)整体方案改变了……
老大和CTO提出了新的方案,之前的架构被推翻了。 简单来说,就是使用多进程,工作进程启动python环境。 最奇葩的是,我们回到了利用共享内存保存entity的方案。entity里保存纯data,是一个纯的二进制数据块。 Entity在用的时候,包装成PyObject给Python使用。如果修改了,则重新打包成二进制块存回去。
2015-10-16 18:27:59 2663
原创 Python游戏服务器开发日记(七) 关于协程(greenlet)和C语言的思考
前两周埋头在服务器的具体技术试验里,不断的遇到小问题,不断的解决。 大量的问题核心就是在利用dlfcn库调用python so时,API的用法会有变化。导出符号本身不是什么难题,难在某些Python C API是用宏或者其他方式提供的。最奇葩的是greenlet库,把所有API放在一个全局指针数组里,而且初始化方法也和标准python扩展库不甚相同。后来是采取把greenlet库
2015-09-20 23:26:45 1793
原创 Python游戏服务器开发日记(六) 解决GIL难题!——Python再认识
本系列文章的第一章就已经提到,用加载多个python动态链接库的方式,可以巧妙的避开GIL,实现多个python环境运行在同一个进程内。 但是从上一个试验,到思考具体的实际用法,又经过了长达一周多的思考试验。到此时,Meme服务器框架的最底层疑难才彻底明朗。本文将彻底分析多线程下多python环境的使用。
2015-09-02 22:09:04 2426
原创 Python游戏服务器开发日记(五)skynet_messagequeue和skynet_timer
最近,skynet群里有同好与我一起讨论skynet底层一些比较难理解的实现细节,乘此机会仔细看了一下源码,我最关心的是skynet_mq和skynet_timer两个我会用到的部分。 本文不想讨论太细节的问题,具体的实现思路我并没有理的非常清晰,还是看代码为好。我这里从实际需求出发,写一些tips,方便新来的小伙伴参考。 skynet的time
2015-09-02 22:02:16 3658 1
原创 Python游戏服务器开发日记(四)scons编译工具、C和C++混合使用
今天在编译python so时出现点问题——把其他C库链接到同一个so里——尝试了一早上发现了方法,已经更新到本系列的第二节里了。 整理了一下工程目录,打算用scons管理。 scons毕竟是一种新型的build工具,比makefile肯定有很大进步,至少更清晰好学,少了很多晕晕的trick。但是相比其他高级工具比如cmake之类的,就不清楚优劣了。
2015-08-26 20:57:33 2708
原创 Python游戏服务器开发日记(三)用greenlet模拟lua coroutine的研究
分布式系统中,如果一个Entity访问其他Entity,那么这个调用一般都是异步的,也就是说当时不能立即得到返回值。如果用callback的方式实现,函数就会变得很碎。 skynet在核心层处理了这个问题,并提供了skynet.call来做异步调用。 据我研究,Python2.x提供了生成器(generator)模拟coroutine的方法,但是显然是不
2015-08-19 17:44:03 1844
原创 Python游戏服务器开发日记(二)绕过GIL启动多线程Python环境
说道Python和多线程,很容易想到GIL,GIL意味着只要是用Python做的多线程程序,就无法利用多个CPU。 经过一些失败的尝试后,我也一度认为GIL是无解的。我们甚至把注意力转向了IronPython等无锁Python,但是实际上那样问题可能更多,比如我们不熟悉mono,mono也没达到完全成熟的程度。 直到skynet的QQ群里一位朋友介绍了另
2015-08-19 17:22:56 3368
原创 Python游戏服务器开发日记(一)目标
到了新的环境,老大让我有空研究下一代服务器技术,作为一个长期任务。 新的服务器想达到的目标:1、分布式系统,对象(Entity)之间的关系类似于Actor模型。 2、逻辑服务,是单进程、多线程的,对象之间发消息进行通信,但是简单读取属性尽可能做到直接。3、必须使用Python语言。开发方式类似于BigWorld引擎。这个目标还是很宏伟的
2015-08-19 17:03:21 7094
原创 巧用exec语句修改string.Template的delimiter
http://jianpx.iteye.com/blog/899230原文名字叫做:浅析python的string.Template最终这篇文章没有解决修改模板类的参数的问题。其实问题简单来说就是:能否在定义一个class的时候,在class创建的“第一时间”,将一个变量传进去。这个“第一时间”在__init__函数之前,因为在Template这种用模板创建
2014-01-02 19:05:58 1397
原创 《乔布斯:遗失的访谈》观后感;《基地》第一部中的三次危机。
《乔布斯:遗失的访谈》优酷播放地址:http://v.youku.com/v_show/id_XNTUxNDY1NDY4.html?f=19236226 我被这部视频中乔布斯的表现彻底吸引了,他说话的语气、神态、思考时停顿、举例子的方式、情绪的变化,这些引起了我强烈的关注,进而对他所说的内容也留下了深刻印象。 这种强烈的代入感甚至让我在视频后半段不愿
2013-05-04 17:23:53 9296
转载 Facebook接入ios,要点记录(不回调,info.plist写法等问题)
我遇到的问题是将Facebook接入cocos2d-x项目(iOS平台),下面这篇文章已经说的非常好了,建议先阅读。http://blog.csdn.net/xiadasong007/article/details/8599611这里要记录两个问题:1、项目的Info.plist里,有一个URL Types参数,此参数填法应该是—— fb + AppID,例如你申请的F
2013-04-19 10:44:21 3038
原创 【XXXXX】近几个月来完成的工作提纲
从2012年5月底开始,手机游戏《XXXXX》正式开工。我们的技术团队是第一次接触手机游戏项目,现在想起来,一路走来还是做了不少事情的。 10个月的时间,我到底做了哪些事情呢。1、Excel表格读取。 Excel表格(转存为TXT格式)读取方面我至今做了3次,第一次是Python版本,用在数据提取工具上;第二次是C++版本,实现了所有基本的按列的数据类型读取
2013-04-05 17:59:37 2607
原创 小孩子打架的寓言
你是一个很有知识很有才华的人,但是因为种种原因,生活比较窘迫。你的一个朋友很欣赏你,也愿意帮助你。所以长期以来,你在生活上都受到他很多照顾。还有你写书、发表文章的资金和渠道,外加你那一点点小名气,很大程度上都依赖于他。 你朋友的孩子今年6岁,刚上小学一年级。不想刚到了新的环境,就和班里一个同学掐上了。那个孩子今年7岁多,身体很结实。你朋友的孩子两三下就被揍得青一块紫一块。
2013-02-03 12:47:43 1257 2
原创 【生活日记】最近心态不好啊,沉不住气
近期工作室方面进展还算顺利,几个大的门槛,包括资金和项目进度,都似乎看到了一线曙光。我在这种时候最容易一下子放松下来,老毛病了。 最近玩的东西挺多。冬天没法玩短卡,于是受sanshi怂恿搞了一个美嘉欣四轴小飞机,室内飞+室外航拍,玩的非常过瘾;以前收留的小猫,也被新主人送来暂时寄养在我这里,好久不见,长大了依然很可爱。 但是结局是——前两天四轴X
2013-01-02 17:15:00 1127
原创 关于逻辑服务器并行计算的思考
注:本文纯属个人思考过程的记录,仅供参考,估计有众多不当之处欢迎指正。 服务器并行化,对我们现代的程序员来说有着极强烈的吸引力。分布计算、云服务、高并发数据库、虚拟机、无缝大世界网游服务器,等等,所有这些热门技术,都指向了同一个目标:并行计算。 并行计算的最终形态我认为是——可以通过增加硬件实现几乎无限的服务器负载。 从
2012-12-16 13:59:37 2394 3
原创 lua调用C++函数崩溃时,查看lua的调用栈信息 (特别适用于tolua++)
cocos2d-x这个开源引擎目前在移动开发领域挺火,我用了一阵子,非常喜欢它的lua绑定,一旦理解了其工作机制,用起来相比C++有不同的感受。 但是想要用好lua脚本,实在不是件容易的事情。要让lua绑定变得非常好用,可能依然需要大量工作。 这里记录一个很实用的技巧:在lua调用cocos2d-x的接口而导致崩溃时,无法直接看到lua的调用栈,也就无法
2012-12-06 23:39:19 11589 2
转载 MySQL优化总结
http://tech.it168.com/a2009/0526/577/000000577940_10.shtmlMySQL优化总结,写的非常好,平白易懂,看了前一半,后面的暂时用不到,留着。
2012-11-15 11:42:28 935
转载 在shell中启动后台执行程序,然后退出shell会引发 IOError [Errno 5] Input/output error
详见:http://www.iteye.com/topic/1114469http://hi.baidu.com/dalier/item/a6723a0db60b73e2f55ba6fa补充: 今天我也第一次遇到这个问题,还以为是阿里云的BUG,原来shell还有这个毛病,估计职业搞网管的同学比较清楚。 长期运行的服务器,输出需要专门处理
2012-11-07 23:25:10 3384
原创 TXT格式的Excel表格读取问题优化解法(目前我所知的最简洁算法)
做大型游戏的国内公司,据我所知全都在用Excel做数据——程序把数据接口抽象出来,给策划在Excel里填写数据——除不同的编辑器之外,数据的使用方法几乎都是一样的。 把Excel表格存为txt格式,就得到了一个很简单的文本表格。把它拿给程序识别,只需要解决两个问题: 1、正确的按行、列分析读取数据 2、数据存储我打算把这篇博客写的尽
2012-10-27 22:33:01 1939 1
转载 【转一篇C++的dynamic_cast讲的很明白的文章】C++中的dynamic_cast
(博主按:多年编写“C++”代码,今天头一次想起来还有dynamic_cast这个东西,从来没有用过。大概在网上学了下,找到这篇不错的文章。另外,想不起来在哪里用dynamic_cast合适,嗯。)—————————————————以下是引用—————————————————————————————引用地址(貌似链接失效了):http://skywalkerj.spac
2012-07-16 21:59:28 1447
转载 [手贱知识多]Linux下误移动根目录文件导致系统出现异常的解决方法
原地址:http://blog.7xiaowu.cn/2012/03/06/1603.htmlLinux下误移动根目录文件导致系统出现异常的解决方法三月 6, 2012今日在整理VPS上面的文件的时候,手贱,打错命令,把根目录下的文件全部移动到一个目录下去了。本来要打?View Code SHELLmv 1
2012-06-26 11:44:06 6595 4
转载 gcc和g++的区别。四个理解误区
原帖地址:http://forum.byr.edu.cn/pc/pccon.php?id=1942&nid=56349http://hi.baidu.com/walker20100000/blog/item/0be87acfa3852b0a01e928d4.htmlgcc和g++的区别 我们在编译c/c++代码的时候,有人用gcc,有人用g+
2012-06-17 11:00:02 1851
原创 【忙到没空写博客的程度】表格型配置文件内存优化之一:简单内存分配器
最近是生平第一次全时间投入coding,甚至连写博客的精力都没了。这种感觉不是很好,希望能早日调节过来。努力工作之余深入思考我觉得很重要。 说正题,目前国产大型游戏开发里,经常用到Excel配置文件,这是一种文本文件,用Excel编辑表格后存为txt格式即可。除一些特殊情况外可以认为是用和换行分割的csv文件。这种配置文件的分析和读取不算难写,只要试验清楚Excel对待引号、换
2012-06-16 17:16:46 1375 1
转载 留一个神python代码——混合使用wxpython和pyglet(cocos2d编辑器)
import wximport pygletfrom pyglet.gl import *import sysif sys.platform == 'win32': from pyglet.window.win32 import _user32 from pyglet.gl import wglelif sys.platform.startswith
2012-06-02 16:14:52 3702
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人