Jing的世界 08/05/2010
 
好久没有进过这站点了,转眼间,半年过去了.这半年里经历了很多事情,但距离当初的目标却偏差了很多.
本想成为独立开发者,但现在却成了外包公司的主力员工.生活.
 
雄起 03/24/2010
 
好多天没写博客了.
这些天发生了很多事.我借朋友的信用卡成功注册了IDP,但至今依然一款应用也没有出.而且还辞了职.
雄起的时候到了.


另外卢总的pdf应用进了美国总榜的top30.一个传说般的存在.
原来我离传说依然是很近的.
 
榜单密码 03/01/2010
 
特效/风格之比值的最大化.或是真实类型的游戏.

1.简单风格.
2.特效明快.

a.火柴人.
b.类型游戏.

飞行射击.动作.枪击.防守.
 
Box2D笔记1 02/23/2010
 
cocos2d + box2d = iphone游戏.


一.核心概念
    •    body.刚体(rigid body).
    •    shape.形状.形状具有摩擦和恢复的属性.其中恢复属性不必理会.
    •    constraint.约束.也就是消除物体自由度的物理连接.Box2D会自动创建一个恢复约束,这也是我们不必理会shape中恢复属性的原因.在2D中一个物体具有3个自由度.?为什么是3个自由度?除了平动和转动之外,第三个自由度是什么?
    •    contact constraint接触约束.防止刚体穿透,以及用于模拟摩擦和恢复的特殊约束.
    •    joint.关节.一种用于把两个和多个物体固定到一起的约束.关节类型有旋转,棱柱,距离等.?棱柱约束是什么意思?
    •    joint limit.关节限制.如人胳膊只能做某一范围角度的运动.
    •    joint motor.关节马达.
    •    world.物体,形状,约束相互作用的集合.Box2D支持创建多个世界.
二.使用Box2D构建世界的步骤.
    1.    创建一个世界包围盒.然后创建一个世界对象.
        b2AABB worldAABB;//世界包围盒
        worldAABB.lowerBound.Set(-100.0f,-100.0f);
        worldAABB.upperBound.Set(100.0f,100.0f);

        b2Vec2 gravity(0.0f,-10.0f);//重力朝向的向量
        bool doSleep=true;//当物体静止移动时允许物体休眠

        b2World world(worldAABB,gravity,doSleep);//创建世界对象.
    2.    创建一个地面盒
            物体通常由以下步骤来创建:
            1.定义body
            2.创建body
            3.定义shape
            4.在body上创建shape
            5.调整质量(可选.物体质量默认为0)
            
            b2BodyDef groundBodyDef;
        groundBodyDef.position.Set(0.0f, -10.0f);

            b2Body* ground = world.CreateBody(&groundBodyDef);            
            b2PolygonDef groundShapeDef;
        groundShapeDef.SetAsBox(50.0f, 10.0f);//该函数传入宽和高的一半

        groundBody->CreateShape(&groundShapeDef);

        每个形状都必须有个父物体.
    3.    创建一个动态物体(被设置了质量的物体.默认质量为0.在Box2D中,质量为0的物体为静态物体)
            b2BodyDef bodyDef;
        bodyDef.position.Set(0.0f, 4.0f);
        b2Body* body = world.CreateBody(&bodyDef);

        b2PolygonDef shapeDef;
        shapeDef.SetAsBox(1.0f, 1.0f);
        shapeDef.density = 1.0f;//质量
        shapeDef.friction = 0.3f;//摩擦
        body->CreateShape(&shapeDef);
        body->SetMassFromShapes();
    4.    模拟世界
            1.设置时间步.也就是Box2D主循环的调用频率.应不低于60Hz.时间步应尽量是恒定的,所以不要把它关联到帧.通常:
            float32 timeStep = 1.0f / 60.0f;
        2.设置解束器的迭代数.通常:
            int32 iterations = 10;

        3.主循环中
        {
            world.Step(timeStep, iterations);
            b2Vec2 position = body->GetPosition();
            float32 angle = body->GetAngle();
            printf("%4.2f %4.2f %4.2f\n", position.x, position.y, angle);
        }
        4.注意要清除超出作用域的对象.
 
Post Title. 02/23/2010
 
为成为一个自由的iphone dev,我还有如下欠缺:
1.OpenFeint.
2.box2d.
3.信用卡.
4.美工.
3和4就是钱的问题,也就是说我还要再熬上两三个月的工资.
1基本不是什么问题,应该很简单.
难点在于2.希望能于三周内搞定.
 
Hello World 02/21/2010
 
最近囊中羞涩,无奈受了女友接济.2k的月薪,对于程序员的工作来说实在是太过可怜.
做了进三周的游戏bubble war终于发售了,老板说销量很不理想.定价1.99美刀,第一天买了25套,第二天买了十几,第三天只有个位数,第四天也就是昨天,掉出了相应分类的第一页,居然一套也没卖出去.不出意料.
这种销量对于一个公司来说当然是很差的,但若是对于一个独立dev来说还是可以接受的.根据前三天的销量,再尝试一些推广手段,第一个月销售出一百套还是比较容易实现的.扣除苹果收取的百分之三十,那么至少可以盈利950人民币.这对于我目前的悲惨薪酬来说还是比较可观的.况且,那游戏很是无聊,我完全可以设计出更好的.
我已经有了macbook,生产资料不是问题.程序方面我自己也能做,销路也很明朗,推广也不是太难,发帖就是了,至多托个英语达人帮帮忙,我想NME会帮我的.况且还有田胖子在,让他帮忙出个韩文版,又多一道销路.要是运气好的话,还能联系上双双姐,可以再弄个日语的.
自从买来macbook之后的那天起我就一直在筹划着做自己的游戏,但至今依然是停留在光说不练的阶段.
为了二丫早日拿上单反相机,为了妈妈未来的蛋糕店,为了爸爸不用再旅居他乡,为了奶奶和姥姥日渐衰老的身体,我必须迅速提高自己的收入,为了我们的家.
我几乎拥有成为一个优秀游戏制作者所必需的所有天赋,当然,除了美工方面.我有成功的条件.
我的百度空间,记录了我的成长.但当前这一独立博客,将会见证我的成功.
天赋俱备,东风不欠.Just do it.
 
货比货 02/21/2010
 
俗话说,人比人该死,货比货该扔,这话一点也不假.
开了博客之后,就一直在过春节,于是也就没写过博文.今天假期结束,开始上班了.
刚才看收到一封E-Mail,来自此博客空间的服务商weebly.其实也就是一封召回信,提醒提醒我好久没有使用他们的服务了,别把他们给忘了.
这封信当然是机器生成的,然而却很人性化,读起来很温馨.开篇如下:
We haven't seen you for a while, Worldofjing It's been 6 days, 3 hours, 24 minutes and 3 seconds since you last logged in, and we're starting to get really worried.


We were just getting to know each other. You created 1 site, 2 pages, dragged on 6 elements, and then... nothing.


We were really excited for your new website, it had so much potential!

相比起来,来自中国的服务商就差劲得太多太多.
 
Hello world! 02/13/2010
 
独立博客终于折腾出来了.