• 跨平台游戏引擎开发实录之一 – 设计文档

    我目前正在开发一个跨平台游戏引擎,我准备将整个开发过程通过博客记录下来。欢迎各位朋友提出宝贵意见。


    下面是我的设计文档初稿。


    项目名称

    Portable Game Engine (PGE )


    目标

    • 跨平台,希望能支持Windows,Linux,Mac OSX,iPhone,WinCE, Android, Blackberry, Symbian phone 等
    • 简单,尽量简化编程接口
    • 2D和3D
    • 组件可选,以减小目标代码
    • 支持Unicode


    组件

    • 核心:游戏主循环,线程,垃圾收集,插件等
    • 图形系统(采用OpenGL或OpenGL ES):图像(纹理),动画,字体
    • 声音系统(采用OpenAL):音效,音乐,乐器
    • 资源管理器:压缩/解压,加密/解密
    • 输入:键盘,鼠标及触摸屏(重力感应)
    • 网络:Tcp/ip,Http, UDP
    • GUI(用户接口):菜单,文本,按钮,列表框,下拉框,选择框
    • 游戏AI
    • 游戏Physics


    开发按阶段进行。第一阶段开发Windows下的OpenGL 2D引擎,然后移植到iPhone下。

     
  • Flash游戏,iPhone用户准备好了吗?

    (译者批:本人并不看好此公司。因为Adobe即将推出最新beta版的flash cs5。谁愿意分一杯羹给别人呢?特别是这杯羹是如此之大 – 50%的净收入)

     

    iPhone引领的休闲游戏复兴的风潮似乎已经过热。感谢早些时候Adobe发布的新Flash开发软件beta版,一个新启动的公司OneAppAtATime允许开发者使用Flash开发iPhone程序。从本周开始,此公司为Flash游戏开发者打开了一道大门,他们提供将Flash游戏转换为iPhone游戏并使其获得App Store批准的服务,作为回报他们将收取35%的收入。(也就是说在Apple拿走30%后与开发者平分剩下的70%。)

     

    OneAppAtATime 是Evan “Rabble” Henshaw-Plath的杰作,他们以前曾为源于Yahoo Brickhouse的卫星服务公司Fire Eagle以及传播Twitter的播客公司Odeo工作。

     

    Henshaw-Plath,位于乌拉圭的蒙得维的亚,宣称希望每月生产“数十甚至数百个游戏“。他们的目标是许多Flash游戏的兼职开发者以及由于网上用户不希望付费过去有困难从他们的项目中赚到钱的开发者。

     

    但是在iPhone平台上,人们通常是需要付费的,Henshaw-Plath希望将这些游戏的价格定在$2.99。而且尽管Adobe宣布 计划在2009年底发布Flash专业CS5的公众beta版,OneAppAtATime在竞争中已经抢先一步。Henshaw-Plath宣称他通过乌拉圭大量的Flash开发者获得了先机。

     

    不像它的名称,OneAppAtATime希望成为一个工厂,能够大量生产出尽可能多的程序,但是,Henshaw-Plath特别希望能够改编利用了iPhone特性如重力计,GPS,罗盘和地址簿的程序。例如,一个公司的游戏利用Atari经典的Breakout游戏允许玩家通过前后移动设备来控制他们的摇杆。(由于这些程序还没有通过Apple的批准,你现在还不能玩这个游戏。)

     

    Henshaw-Plath通过其Ruby on Rails顾问公司Cubox注资。他希望通常需要“数百甚至数千美金”开发的每个Flash游戏只需花几天时间转换。

     

    OneAppAtATime正在释放一个怪物;目前已经有大约100,000 iPhone程序,而且有远超此数的Flash游戏存在。具有如此之多的竞争,维持生意并不是件容易的事情。Henshaw-Plath说他的程序将在与其他iPhone程序的竞争中胜出因为用户在购买之前可以通过Flash进行测试。而且他还并不具有对游戏的独家许可证,这样Flash开发者在认为他们可以做得更好时有权与OneAppAtATime竞争。并且公司保证为每个游戏提供大量的公共市场宣传和广告。

     

    原文见:iPhone Users, Get Ready for Flash Games
     
  • OpenGL ES 02 – 绘制基本图形2 – 正方形

    严格地说,正方形不是OpenGL ES的基元,但是它们确实是很基本的,而且渲染正方形像渲染三角形一样容易。本教程中,我们将把绘制三角形基元的代码转变成正方形的代码。我们仍将采用静态渲染,但我们会很简单地介绍一下变换(如移动)。当然,一旦我们绘制了正方形,我们就可以绘制正方体,然后甚至是带纹理映射的正方体……

     

    读文章 »

     
  • iPhone游戏编程教程之四-游戏简单音频

    本教程系列的最后一讲将介绍怎样为你的游戏加上声音。由于这是针对初学者的教程,所以我不会讨论复杂的音频技术,如OpenGL和Audio Queue。今天的主题是播放一段短的声音(少于30秒)。如果你不要求任何背景音乐,这将是最容易的播放音频的方式了。这种方式的缺点是一次只能播放一个音频文件。好,我们开始吧……先从上次教程的代码开始。我们今天将使用两种声音,一个是击打球的声音,另一个是得分的声音。

     

    读文章 »

     
  • 一款App Store上架游戏的源代码

    发现一款App Store上架游戏的源代码,游戏名为Tweejump。它是以Cocos2D为引擎的。想学习开源Cocos2D引擎的朋友可以参考下。

    源码下载地址在Github,直接按“Download”就可以下载了。

     
  • OpenGL ES系列之0 – 建立Xcode项目

    为iPhone建立一个OpenGL ES的Xcode项目是很容易的事,特别是在苹果公司的SDK发布时引入了模板的概念后。我们所需要做的只是在适当的地方快速而简单的加入代码。这就是我们今天的主题。

    读文章 »

     
  • iPhone游戏编程教程之三- 启动画面

    今天,我将介绍怎样为你的程序加一些“铃和哨”(注:指一些附加的花哨的东西)是你的游戏显得更完整。首先,我们为游戏增加一个启动页面。

    读文章 »

     
  • iPhone游戏编程教程之二-用户互动,简单AI,游戏逻辑

    今天,我将讨论玩家互动,简单的游戏AI即游戏逻辑。还将探讨一下简单的碰撞检测以便检测到什么时候球碰到球拍。根据大家要求,我还会在教程最后加入一些“挑战”以改进一些更高级的创意。首先打开第一部分的代码…

    读文章 »

     
  • iPhone游戏编程教程之一

    这是此系列教程的第一部分,我将从最基本开始教大家怎样编写一个iPhone游戏。众所周知,OpenGL和Quartz的学习不是那么简单的。本教程将简化开发的过程而不会使用这两种技术。我们将使用UIImageView作为图像部分。

     

    在此教程系列中,我将教大家有关iPhone游戏编程的方方面面。游戏包括图形,音效,游戏逻辑以及简单的电脑AI。

    读文章 »