2009年03月05日

 自从阴错阳差的在大学里学了四年网络应用和电子商务之类的东西,就一直觉的对不起自己,毕竟选择程序这个方向一开始是本着开发游戏的兴趣来的,现在想要转方向去却发现时间不够了(马上毕业的人了)。不过在剩下不多的时间里还是学了一点东西,现在梳理一下。一方面作为以后学习和关注这方面东西的参照,另一方面给完全没有接触过制作游戏的人一点帮助(虽然只是很小的一点帮助)。当然因为本人纯属业余,所以如果有错误的话欢迎指出。
        什么人才能做游戏?
        如果看过《料理鼠王》这部片子,其中最核心的“人人皆可烹饪”讨论的很透。这样对我要说的“人人皆可游戏”就比较好理解了。每个人都可能做出一款出色的游戏,但不是每个人都有能力制作一款出色的游戏。首先要明确的一点就是现代游戏是围绕美术资源来开发的,作为独立游戏开发者尤为如此。所以想要开发一款游戏首先先从美术资源做起,如果是从事美术相关专业当然好,其次就是能和专业美术人员合作,否则就会陷入“无米之炊”的尴尬境界。
        另一个关键的问题是一个游戏开发者一定要是一个专注和坚定的人,因为可以负责任的说开发游戏是一件非常枯燥的事情。而且要求拥有多方面知识(包括美术、音乐、编程、物理、网络等)。当然,如果是一个团队来做的话就会简单得多,而且也会更有效率。
        做游戏需要学习哪些东西?
        现代游戏开发已经有很完整的分工和流水线了,所以首先要决定的就是制作游戏是你的爱好还是你的职业。目前游戏引擎得开发还是需要c\c++语言。虽然其他语言的游戏开发目前也有来月流行了,但是如果想把游戏程序开发作为自己的职业的话,还是把c\c++学好吧。
        作为游戏引擎的核心,图像渲染部分,对于普通开发者目前只有两种选择:微软的d3d(目前版本10),OpenGL。d3d的好处是它是目前pc显卡默认的标准,无论是n卡还是a卡都又很好的支持,而且配和directx sdk中的其他工具可以开发风格统一的代码,另外目前微软有志于推广它的包括XBOX和Zune在内的统一平台,所以向XBOX的x64架构有专门支持。坏处也是一大堆,首先一条就是它是微软的,而微软是很不讲究的(笑)。DX sdk的标准,版本一直在不停的变化,没出一个新版本你就要重新学习(毫不夸张),另外DX对于程序员是不友好的,COM风格的编程使得一个函数常有7、8个参数。相对,openGL的状态机风格就很适合初学者入手,但要是用GsGL来写Shader的话这点的优势就不明显了,好在N公司提供了cg sdk来改善这一点。另外就是OpenGL是跨系统平台的(想要开发linux的小游戏吗?我….)。缺点也很显然,OpenGL目前只有n卡支持较好,a卡由于历史原因刚刚开始对OpenGL的支持(我的笔记本上的ati 1400就几乎无法运行OpenGL的游戏,帧数奇低)。另外还需要glut或sdl以及openAL或fmod的支持。
          像ps,3dmax等地球人都知道的工具就不用说了,学吧。
          现在是时候列一个工具清单了。
          不用编程的工具:2dfm(2d格斗游戏),RPG大师,FPS游戏大师,virtools等。
          免费引擎:TorqueX(时间限制),XNA(微软),HOHO(2d)
          开源图像引擎:OGRE 3D(如果有人能想到更好的就告诉我)
          声音:OpenAL,fmod,dx等
          控制:dx,SDL等
          物理:newton,ODE,Phyx sdk(n卡8系列以上)等
          快速原型开发:Flash,virtools,GameMaker等
          图形SDK:OpenGL+cg,d3d等
          网络:RakNet,winsocket等
          UI:CEGUI,MFC(除非没得选),widget等 
  目前本人正在研究XNA,有机会的话会写一个教程,努力吧。

2007年02月03日

总有些东西可以登峰造极。

2006年12月02日

    真是好长时间没写了,有三个月了。

    这三个月实在是太离奇了,有的人离开了,有的人来了。学了很多东西,却又有一科不及格。这很像是个讽刺,我很想笑。
    有时候我就想,我有什么没做好吧,否则为啥会这么“背“呢?很多倒霉的事都攒到一块犯了,不过仔细想想,很多时候倒霉的是别人,只是我再操心罢了。
     总想快些学会所有的东西,然后再去面对纷繁的问题。然而终于回头,才发现自己还是很无知,面对前程,也就只好无奈了。
     可是我却偏偏不是那种会感到无奈的人,会感到无奈的都是聪明人,我不是。我只是在走我的路,就想某个只想跑自己的步的人一样。
     这三个月太离奇,不去想。

2006年09月03日

SQL2000无法安装的解决办法
    1。将Program files下的SQL安装目录删除(此处如果有重要的数据,请先备份)

C:\Program Files\Microsoft SQL Server\80\Tools。
C:\Program Files\Microsoft SQL Server\MSSQL。

    2。注册表中的相关信息删除:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。
    3。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目

    4。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup
    删除ExceptionComponents

    这个项目下的内容可能很多,只有在上面几个办法不行的情况下,使用此方法(注意不要全部删除)

    删除内容前先看下内容说明

    5。Windows   目录中的   Sqlstp.log   文件,该文件列出了安装程序所执行的操作的详细信息,并包含安装期间遇到的所有错误。通过检查该文件,可以详细了解安装在什么地方失败、为什么失败。  

    6。SQL安装的时的错误信息保存在一个叫Errorlog的日志文件中,默认情况下该文件位于   Program   Files\Microsoft   SQL   Server\Mssql\Log   目录中。该错误日志包含安装程序试图启动   SQL   Server   时   SQL   Server   所遇到的错误,这些信息可以帮助您深入检查错误原因。

    7。需要检查的另一个组件是   Microsoft   数据访问组件   (MDAC)   安装程序,它作为   SQL   Server   2000   安装程序的一部分启动。SQL   Server   2000   安装程序会安装   MDAC   2.6。MDAC   安装程序会创建名为   Dasetup.log   的单独的日志文件;您可以查看此日志文件并确保   MDAC   安装程序没有出现问题。

    SQL Server 服务器安装剖析
    sql server 2000以前的版本,例如7.0一般不存在多个版本,只有标准版跟桌面版,用户如果不清楚该装什么版本的话,可按安装上的安装先决条件指示安装,一般在WIN2000 服务器版上装标准版,其他的系统装桌面版的就可以;而SQL Server 2000安装问题就比较大,时常见问题有如下:

  (1)配置服务器时中断.

  (2)注册 ActiveX 时中断.

  (3)显示到100%的时候中断.

  (4)提示:command line option syntax error, type command /? for help,继续安装,最后在配置服务器的时候出现:无法找到动态链接SQLUNIRL.DLL于指定的路径……

  (5)以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动

  (1)(2)(3)的解决办法:
    提醒:为避免误操作,先备份注册表和数据库进不了SQL Server 2000,可以备份 Program Files\Microsoft SQL Server\MSSQL\Data 文件夹的文件.
    1、先把SQL Server卸载(卸载不掉也没有关系,继续下面的操作)
    2、把Microsoft SQL Server文件夹整个删掉。
    3、运行注册表,删除如下项:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
    4、需要的话就重新启动系统
    5、重新安装

    另外也可尝试单步运行安装 SQL Server 2000的方法:

    1:放入 SQL Server 2000 光盘.
    2:在"开始"–"运行"键入 "F:\x86\setup.exe k=dbg" (F是光盘)

    注意:
    一、不同的操作系统支持的SQL Server 2000版本以及对硬件的要求。
    Windows 2000 Server可以安装SQL Server 2000的任何版本.
    Windows 2000 Professional只能安装SQL Server 2000的个人版、开发版、评估版、MCDE
    二、SQL Server 2000各版本以及对硬件的要求。
  (4)的解决办法

    因为安装文件的路径(完整路径)里有中文.比如 c:\SQLSERVER中文企业版\       ,改成 c:\SQLSERVER\

  (5)的解决办法
    a、重启机器,再进行安装,如果发现还有该错误,请按下面步骤
    b、在开始->运行中输入regedit
    c、到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置
    d、选择文件->倒出,保存
    e、在右边窗口右击PendingFileRenameOperations,选择删除,然后确认
    f、重启安装,问题解决
——————————————————-
如果问题依旧,试试先修复操作系统

命令提示符下执行:
sfc /scannow

最后的方法:换Windows 2000 安装盘 和SQL Server2000安装盘
有时候问题的原因很奇怪,有人曾更换了一个电源就解决了问题。

1 先卸载您的 SQL Server 2000,必要的时候删除 Program Files\Microsoft SQL Server 文件夹
2 打开注册表
  在"开始"–"运行"键入 "regedit"  
3 按下列顺序点击打开
  + HKEY_LOCAL_MACHINE
    + SOFTWART
      + Microsoft
        + Windows
          + CurrentVersion
            + Setup    
              + ExceptionComponents
4 将 ExceptionComponents 下面的文件夹全部删除!
  如 {60BFF50D-FB2C-4498-A577-C9548C390BB9}
    {60BFF50D-FB2C-4498-A577-C9548C390BB9}
    {60BFF50D-FB2C-4498-A577-C9548C390BB9}
    {60BFF50D-FB2C-4498-A577-C9548C390BB9}
6 重新启动:
7 重新安装 SQL Server 2000

XP+SP2的问题
1.winxp+sp2的系统需要安装SQL Server SP3(服务包补丁3),如果之前已经安装,必须再安装一次。
SP3可以在微软网站免费下载,中文版地址如下:
SQL Server 2000 Service Pack 3a
http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe

2006年09月02日

  估计大家已经迫不及待的想要知道原理了,这两天因为开学事多一直没写,让大家久等了。

  首先我们在命令台下输入jar,会出现以下信息:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Piece>jar
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 …
选项:
    -c  创建新的存档
    -t  列出存档内容的列表
    -x  展开存档中的命名的(或所有的〕文件
    -u  更新已存在的存档
    -v  生成详细输出到标准输出上
    -f  指定存档文件名
    -m  包含来自标明文件的标明信息
    -0  只存储方式;未用ZIP压缩格式
    -M  不产生所有项的清单(manifest〕文件
    -i  为指定的jar文件产生索引信息
    -C  改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按’m’ 和 ‘f’标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 ‘classes.jar’ 的存档文件中:
       jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 ‘mymanifest’ 将 foo/ 目录下的所有
           文件存档到一个名为 ‘classes.jar’ 的存档文件中:
       jar cvfm classes.jar mymanifest -C foo/

  现在我们就明白了jar cvf classes.jar Foo.class Bar.class的意思,就是将文件压缩到一个jar文件中。
  通过对各种参数的组合我们就可以做很多事情,上次用到的umf意思就是将新的列表清单更新至文件
,说到这里就是我们要面对的最重要的问题列表清单文件(manifest〕。

  熟练使用rar等工具的朋友一定对清单不陌生,它是用来描述压缩文件内容的清单。在上次我们提到

Manifest-Version: 1.0
Created-By: 1.4.2_04 (Sun Microsystems Inc.)
Main-Class: xxxxxxx
(即主类名,带有main方法的类名

  其中前两行分别是清单文件版本号和jdk版本号,需要我们自行添加的是第三行,通过它记录了入口
类的名称,这是很重要的。我们的文件之所以能够双击运行原因在于jdk将jar文件与javaw相关联,双
击式自动调用解释类文件,而javaw会从清单中查找入口类的位置。原理就是这样,很简单不是吗?

  本人文字水平有限,还望雅正。

2006年09月01日
你的考试类型: 英语四级
你的准考证号: 23219006110xxxx

你的成绩总分:543
  • 听力:230
  • 阅读:170
  • 综合:60
  • 写作:83

作文果然没写好,不过过了就好吗!向着六级加油!

2006年08月23日

  java的初学者常常会问这样一个问题,编译完成后生成class文件一定要在命令行下java运行吗?要知道这个过程相当繁琐无聊,如果能像c/c++那样生成可执行文件多好。当然这可以通过专用工具达到,但这没有意义,无论是效率上还是移植性上。一般教材上会采取比较不负责的态度无视这一点。秋草费了很大劲才找到两种解决法:

  1-〉写bat文件
  2-〉压缩为jar文件

  第一种方法我没试过,有强人敬请赐教,大家交流。
  第二种方法是这样:
      
  将所有类文件和相关图片、声音等文件放在同一个目录中,为方便起见这里设为c:\根目录。
 
进入命令行输入  c: 进入c根目录。
  命令行输入
jar cvf qczs.jar [文件名1] [文件名2] ……. (文件名带有扩展名,命令行下的规矩)
  这时候在c:\下就有一个名为qczs.jar的jar文件了,但它是不能双击运行的,把它解压找到manifest.mf文件,复制到根目录下。用记事本打开,可以看到:

Manifest-Version: 1.0
Created-By: 1.4.2_04 (Sun Microsystems Inc.)
Main-Class: xxxxxxx
(即主类名,带有main方法的类名

  我们要修改这一行  Main-Class: xxxxxxx ,将xxxxxxx内容修改为你的包中的带有main方法的类名(不用写扩展名.class),比如hello.class就这么写Main-Class: hello,保存退出。

 进入命令行输入  c: 进入c根目录。
 输入jar umf manifest.mf qczs.jar,再双击我们的qczs.jar文件,大功告成!

 以上就是方法,至于原理,下次再说。

2006年08月18日

震撼!

2006年07月19日

  极目远眺,望过重山,看到了自己的后背。

  在路上走啊走,因为发现前面的路还没有走过。
  所以想我以前爱说的,路还很长啊。

  每个人都有一种颜色,红色、蓝色、黑色,如同火焰,如同花开。
  我呢,我是什么颜色的呢?

  面朝大海,春暖花开。
  从明天起。

  毕加索的牛。

  轮到你了。

2006年04月19日

下载地址:

                    http://free.6to23.com/lixude/mapv1.0.rar

  这个东西花了我一星期的时间,不过总算做成了。