dream-in-fly
路上...
posts - 31,  comments - 6,  trackbacks - 0

IRVINE, Calif. - June 06, 2005 - Blizzard Entertainment® today announced that World of Warcraft®, its massively multiplayer online role-playing game (MMORPG), has officially launched in China. Players in China can now download the game, create accounts and experience the epic adventure of the Warcraft® series in an immersive and continually evolving online environment. The commercial launch of World of Warcraft follows a highly successful open beta period in China during which the game reached a peak concurrency - the total number of subscribers playing simultaneously - of more than 500,000 players.

"It has always been a goal at Blizzard to become a major developer and publisher for the Chinese gaming market," said Mike Morhaime, president and co-founder of Blizzard Entertainment. "We feel that China offers a huge and eager audience and it is poised to become the next great region in gaming. We are simply thrilled to be bringing World of Warcraft to this great country. With fully localized content, a regional network infrastructure, and local, around-the-clock customer support, we believe that World of Warcraft will provide Chinese gamers with an unparalleled game experience."

To provide players with an incomparable level of service, Blizzard Entertainment has partnered with local publisher The9, who it believes to be the most talented MMO operator in China. The9 will help operate and manage World of Warcraft in China, including all aspects of support. The9's dedicated team, composed entirely of Chinese management and staff, will serve as an integral part of the game's development and customer service efforts. They will assist in the synchronization of content updates, the delivery of player feedback to the developers, and will help ensure accurate localization to keep the game relevant and tailored to Chinese gamers. Furthermore, this local team will offer 24-hour support year around, with direct game master (GM) support and local call-center representatives dedicated to helping players with questions regarding gameplay and/or technical issues.

To deliver top-notch customer support and maintain a safe and secure service, Blizzard and The9 have implemented an authorization CD-key system for the official launch of World of Warcraft. This system will help protect the game from malicious hack programs that could otherwise affect players' enjoyment of the game.

Only players who have purchased an authorized CD key will be able to activate their accounts and enter the game. Each CD key costs 30 Yuan/RMB and can be purchased with a World of Warcraft Points Card. Point Cards also cost 30 Yuan/RMB and can be used at a rate of 9 points per hour (0.45 Yuan/hour) to play World of Warcraft.

posted @ 2005-06-07 16:16 小毅 阅读(408) | 评论 (0)编辑 收藏

需要包含头文件:

#include <alloc.h>

#include <stdlib.h>

 

函数声明(函数原型)

void *malloc(int size);

 

说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。

 

从函数声明上可以看出。malloc new 至少有两个不同: new 返回指定类型的指针,并且可以自动计算所需要大小。比如:

 

int *p;

 

p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);

或:

 

int* parr;

 

parr = new int [100];  //返回类型为 int* 类型(整数型指针),分配大小为 sizeof(int) * 100;

 

malloc 则必须由我们计算要字节数,并且在返回后强行转换为实际类型的指针。

 

int* p;

 

p = (int *)  malloc (sizeof(int));

 

第一、malloc 函数返回的是 void * 类型,如果你写成:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。所以必须通过 (int *) 来将强制转换。

第二、函数的实参为 sizeof(int) ,用于指明一个整型数据需要的大小。如果你写成:

 

int* p = (int *) malloc (1);

代码也能通过编译,但事实上只分配了1个字节大小的内存空间,当你往里头存入一个整数,就会有3个字节无家可归,而直接“住进邻居家”!造成的结果是后面的内存中原有数据内容全部被清空。

 

malloc 也可以达到 new [] 的效果,申请出一段连续的内存,方法无非是指定你所需要内存大小。

 

比如想分配100个int类型的空间:

 

int* p = (int *) malloc ( sizeof(int) * 100 ); //分配可以放得下100个整数的内存空间。

 

另外有一点不能直接看出的区别是,malloc 只管分配内存,并不能对所得的内存进行初始化,所以得到的一片新内存中,其值将是随机的。

 

除了分配及最后释放的方法不一样以外,通过malloc或new得到指针,在其它操作上保持一致。

posted @ 2005-06-06 23:01 小毅 阅读(382) | 评论 (0)编辑 收藏
         阿,我年轻的朋友们,你们想成为游戏设计师,所以来问我有何好建议?我会给你们我最好的建议,但我猜想你们可能会听不进去。你们可能更愿意听那些说你们爱听的话的人所提供的建议。但这对我来说无所谓,我所能做的就是说些实事,并希望能进入某些人的耳朵里。

  首先,你们应该对自己的事业道路有个最初的规划,你想接受更专门的训练,还是想要更全面的教育?专门的训练能给你某些特别的技能,让你能一毕业就进入工作。但教育能给你一个更全面的素质培养,却不一定能马上看到好处,不过长期来看能给你带来更多的优势。这是个简单不过的选择:速成的路还是战略规划后的路。如果你非常急于求成,那就立马去那些专门学校,他们会教你最新最炫的电脑技术。精力充沛是年轻人的优势,但耐性决不是年轻人的特长,所以我完全能理解你们几乎不能忍受去学习那些看似无关的副科。当我还是你们年纪的时候,我总是对那些大学里的其他课程感到不耐烦。但现在,我对我当初的鲁莽想法感到羞愧,并真心的感谢当初教导我的师长。

  速成的路却是能立刻见效的路。如果你进了一家专门教授电脑游戏制作的学校,或者在正规大学主修电脑游戏设计。在此,你会学到很多关于电脑游戏设计最新的技术。毕业后,你很可能马上就能在正规的游戏公司找到一份工作,而这一切你可以在23岁之前搞定。

  请打住。在这里有一点需要指出。生产游戏和设计游戏是完全不同的。你所获得的第一份工作肯定是份渺小的工作,比如给一个无关紧要的npc画动画,而这个npc做的事情只是在背景上漫无目的的闲晃;或者写一段代码,这段代码的用处就是当用户按下exit的时候,显示“你确定要退出么?”。如果你很擅长做这些小事情,那不出几年就可能会让你画些更复杂的动画或写一段更重要的代码。然后再过几年,你就可能坐上某个更重要的位子,处理些更重要的事情。

  但请你别指望这些。根本的问题在于:有成百上千甚至上百万的学生,就像你们一样的学生,正做着同样的梦,想要进游戏业的梦。考虑一下供求曲线吧,如果职员的供应量十倍甚至百倍于员工的需求量,那么价格曲线将向下倾斜。你们必定将得到可怜的工资,并得不到任何的尊敬。你们当然可以抱怨,但得到的回答不仅简单也很实在:如果你不喜欢,你可以选择离开阿,门外有上百个像你一样的年轻人想要得到你的工作。

  事实上,这就是当前正在发生的事情。有可能的话你们可以去每年三月或四月在圣何塞举行的“游戏开发者大会”看看,你们并不需要真的去参加什么讨论会,只需要在圣何塞的会议中心转转,看看身边走过的人。你会发现两个惊人的事实:第一,每个人都穿着黑色衣服;第二,他们的平均年龄在25至30之间。

  我不知道为什么他们都穿着黑色,这可能是每个人都需要遵守的规则。但我能告诉你们,为什么他们都这么年轻:因为每个人都会在工作几年之后离开这个行业。游戏业就像是个奇怪的巨大建筑物,这个建筑物只有一个入口,却有很多个出口。成千上万个年轻人拥挤在入口处,争先恐后互相推挤着想要进门。只有很少一部分能顺利进入。但对于任何一个进入者来说,总会有另一个人离开——这才能让这个行业保持平衡。这个行业内的人有多么的年轻,就意味着被挤出去的人有多么的快。很少有人能撑到30岁。

  如果你想得再深些,那就会发现另一个事实:假设你是老板,既然有这么多小家伙想要为你做游戏,那你自然可以花一毛钱就雇一群人,像奴隶一样驱使他们,直到他们筋疲力尽,然后再找些替代者。你只需雇佣一些管理人员,能保证这些小家伙都努力工作就行。这个系统运转得非常完美。

  唯一的问题是,你是否打算成为他们中的一员呢?我希望不是。不过,要是你真狂热到打算削尖脑袋往游戏业里钻,那么就继续前进!我这个老笨蛋说再多也是无益。你自己去花时间看清这些吧。

  但在这里我还有另一个方案可以告诉你们。首先,你应该获得一个正规的教育,决不是什么一夜情式的培训。去一所正规的大学,学习任何专业除了游戏制作。几乎所有专业都可以:生物学、物理学(我当初就是念的这个)、艺术、文学、历史、心理学、语言学。你只需保证自己获得了常规教育,并尽量选修一些专业以外的课程,当然,你应该选修一下计算机。

同时,你应该开始试验制作游戏了。不要被时髦流行的图像技术所扰——这不能给你的游戏设计提供任何帮助。你应该专注于游戏的内涵:游戏的体系和架构。如何用很少的元素就能使整个游戏运转?别幻想能做出像商业游戏那么好的产品——我要大声告诉你,这些游戏要依靠很多人的力量才能完成。你此时所能做的这些小玩意同那些比较起来,只能用“可怜”两个字形容。要是把制作游戏比作造汽车,此时你根本不用管车子的外表涂层和喷漆,你应该专注于如何让活塞协作运转、如何控制阀门的正常闭合、搞清楚汽化器是个什么东西。你要制造的是个小卡丁车,而不是一辆劳斯莱斯。所有这些都是个试验的过程,别幻想你的这些小玩意会有商业用途,你要做的就是造好一个就扔掉一个——为了增加创造力,你要杀掉你自己的“孩子”。如果你沉迷于这些作品而不愿放弃,那你将永远也不会拥有一个真正游戏设计师所应有的创造力。

  继续不断的为增加你的创造力而努力。到目前为止,你的作品根本无法和一个经验老到的游戏设计师相抗衡,所以增加自己的能力是你此时唯一该做的。电影the matrix都看过吧,没经过训练的neo无论如何也不是agent smith的对手。学任何你能学到的东西。毕业前要把你学校图书馆所有的书架都翻一遍,在这些灰尘的覆盖下指不定隐藏着什么有趣的东西。

  当你出了学校,不要马上就进入游戏业。在一个正规公司找一份像样的工作,并挣些钱。更主要的是不断学习,你要学很多关于团队协作的方式,也要学会如何在众人面前寻找自己的位置。你应该学会何时何地站起来对你的老板说话——虽然这种机会不常有。还有,你应该学会如何同周围有经验的内行打交道。

  继续在你业余时间制作游戏,尽可能多的制作各种不同类型的“小卡丁车”,并试图了解各种类型卡丁车的性能,诸如操纵性、速度以及其他要素。当你做了六个或十个这种产品,你可能会想到继续亲自着手进行更大的项目。很好,去找些志同道合的朋友,他们会帮助你完成你的计划,我确信这将是个令人印象深刻的成果。完成之后,向全世界展示你的小宝贝吧。现在,你就可以把她作为你简历的一部分去申请游戏业中的职位了。如果你的那些产品确实好,你将能得到一个真正的游戏设计师职位,而不是去当那些小喽罗。此时你可能仍然只是其他游戏设计师的助手,但你已经处在了正确的位置上,如果你能努力出色的完成工作,你肯定会在游戏业中拥有前途。
  我知道这些并不是你们想听的内容。你们想要的是所谓的速成药,比如学习这个,然后学习那个,接下来就能确保得到一份高收入的工作、拥有巨大的办公室、用着最先进的电脑设备、做的是富有创造性的事情。没错,每个人都会这么想的,但没有人会得到这些。那些向你描述这些故事的人不过是些骗子,他们脑子里想的只是你口袋里的钱。一个令人悲伤的事实是:游戏先驱们主导世界的日子已经过去了,现在的游戏业是一个产业,没人会突然被发掘然后一夜之间成为巨星,对任何想入门的人来说,在你面前的必定是一条漫长的路。

  你们拥有激情和精力,想要让不可能变为可能。但你们是否对这条漫长的路做好了准备?或者说,你们是否打算在真正的准备完成前就冲进去?

  祝你们好运,孩子们,我相信你们会成功。


   谢谢您-----------chris crawford

 

posted @ 2005-04-21 06:21 小毅 阅读(480) | 评论 (3)编辑 收藏
开始安装EclipseME 0.5.5:

从0.5.5版本开始,EclipseME将采用新的安装模式。而在0.5.0版本及之前版本均是一个压缩文件解压到Eclipse的安装路径下即可。这种安装形式已经不在使用,我们将采用以下的新的安装模式。如果你仅是要升级EclipseME到0.5.5版本,那么也要按以下的新的安装方法来做。

1)第一步:打开Eclipse,选择Help -> Software Updates -> Find and Install。

























posted @ 2005-04-18 11:08 小毅 阅读(360) | 评论 (0)编辑 收藏

现在Eclipse的最新版本是3.0.2,但建议使用3.01M6版本。而EclipseME刚刚推出了0.9.0版本,完全支持Eclipse3.01M6版。
1、下载JDK:
http://java.sun.com 下载JDK1.4.2版本。或者此地址:

2、下载J2ME版本:http://java.sun.com 下载。或者此地址:

3、下载Eclipse3.01M6版本:http://www.Eclipse.org 下载。或者此地址

ftp://ftp.jaist.ac.jp/pub/eclipse/eclipse/downloads/drops/S-3.1M6-200504011645/eclipse-SDK-3.1M6-win32.zip

4、下载Eclipse3.01M6版本的中文语言包:http://www.Eclipse.org 下载。或者此地址

http://download.eclipse.org/eclipse/downloads/drops/L-3.0.1_Translations-200409161125/NLpack-eclipse-SDK-3.0.x-win32.zip

5、下载Eclipse3.01M6的J2ME插件EclipseME0.9.0版本:http://www.EclipseME.org 下载。或者此地址

http://nchc.dl.sourceforge.net/sourceforge/eclipseme/eclipseme.feature_0.9.0_site.zip

下载完以上五个文件后,进行相应顺序的安装。另外:Eclipse的软件不需要安装,直接解压即可,很方便吧。

posted @ 2005-04-18 11:03 小毅 阅读(456) | 评论 (0)编辑 收藏
在遥远古希腊的大草原中,驰骋着一批半人半马的族群,这是一个生性凶猛的族群。“半人半马”代表着理性与非理性、人性与兽性间的矛盾挣扎,这就是人马部落。部落里唯一的例外射手奇伦,是一个生性善良的男子,他对人坦诚真挚,谦逊有理。因此受到大家的尊敬与爱戴。

  有一天,英雄赫五力来拜访他的朋友奇伦。赫五力早就听说人马族的酒香醇无比,便要求奇伦给他拿来享用,可是,他喝光了奇伦的酒仍不尽兴,执意要喝光全部落的酒。奇伦非常耐心地解释给他听,酒是部落的公共财产,不是任何一个人可以独自占有的,希望赫五力不要因为一时的兴致而犯众怒。赫五力向来脾气暴躁,怎么能听得进奇伦的话,他把这个善良的朋友推到一边就闯进了人马部落。果不出奇伦所料,暴躁的赫五力和凶猛的人马族碰在一起,冲突不可避免的发生了。

  赫五力力大无穷,幼年即用双手扼死巨蟒,他完成国王的十项不可能完成的任务都游刃有余,连太阳神阿波罗都惧他三分,人马族虽然厉害,也并不是赫五力的对手,他们纷纷落逃。赫五力手持神弓紧紧追赶,借着酒劲,大肆进攻。人马族被逼的走投无路,只好逃到了奇伦的家中。人们惶惶不安,赫五力站在门口大声呵斥,如果再没人出来,他就把这个部落毁掉。奇伦听到这里,为了部落,为了朋友,为了化解这场争斗,他奋不顾身的推开门,走了出来。就在那一刹那,赫五力的箭也飞了过来!赫五力惋惜又痛心的看着自己的朋友被神箭射穿心脏,而奇伦则用尽最后的力气说到:“再锋利的箭也会被软弱的心包容;再疯狂的兽性也不会泯灭人性。”

  这时候,奇伦的身体碎成了无数的小星星,飞到了天上,它们聚集在一起,好象人马的样子,那只箭还似乎就在他的胸前。为了纪念善良的奇伦,人们就管这个星座叫射手座。

posted @ 2005-04-17 22:09 小毅 阅读(167) | 评论 (0)编辑 收藏
从嘉兴回来...兄弟没变多少 呵呵 一样的忙

认识了挺多的朋友 松哥,东哥,CEO,死过妹妹....

虽然前几天的笔试并没有成功  心情并不怎么好  在嘉兴却还是呆的开心的...^ ^


每次去看兄弟都能学到好多...
刚好碰上他在开发宠物系统...php-asp...
学了很多东西 有些习惯他好象是于身具来的  大概这就是天赋吧....


4月中旬了  毕业了近了...
工作还没定  心理有点烦了....
posted @ 2005-04-15 20:41 小毅 阅读(140) | 评论 (0)编辑 收藏
作者:xm4014

今天开始学习Java中多线程的实现.

  线程是一些可以并行的,独立的执行的代码.之前我编的程序都只能做一件事情,也就是只有一个线程.多线程的编程就是可以将程序任务分成多个并行的子任务,同时运行,互不干扰.我对多线程的理解是从格斗游戏得来的.格斗游戏中两人对打就是通过两个线程来实现的吧,否则如何能够你出你的招,我发我的冲击波呢.

  (1月18日)突然想到一个问题,补充一下.多线程是不是我们通常所说的多任务呢?我的理解是,不能这样说也可以这样说.

  简单说来,多线程提供了一种在进程内部进行多个线程并行调度的机制,而多任务则提供的是在一个操作系统内部运行多个进程的机制.

  多任务操作系统(如Windows)的基本原理是这样的:操作系统将CPU的时间片分配给多个线程,每个线程在操作系统指定的时间片内完成(注意,这里的多个线程是分属于不同进程的).操作系统不断的从一个线程的执行切换到另一个线程的执行,如此往复,宏观上看来,就好像是多个线程在一起执行.由于这多个线程分属于不同的进程,因此在我们看来,就好像是多个进程在同时执行,这样就实现了多任务.Whoops,真绕口.

  如上,多线程和多任务是有很明显的区别的.但是再想一下,在一个应用程序内实现多线程不也是靠CPU分配时间片吗?既然原理是相同的,那么多线程也可以说是多任务的.

  一个Java程序启动后,就已经有一个线程在运行,我们可以通过下面的例子来初步建立一个线程的实际印象

class testthread{
public static void main(String args[]){
Thread t=Thread.currentThread();
t.setName("This Thread is running");
System.out.println("The running thead:"+t);
try{
for(int i=0;i<5;i++)
{
System.out.println("Sleep time"+i);
Thread.sleep(1000);//挂起线程,就是让线程休息一会儿,
//不占用系统资源,因此其它线程可以继续.
//这里的Thread缺省表示主线程
}
}catch(InterruptedException e){System.out.println("thread has wrong");}
}
}

  这只是一个线程,那么我们怎么实现多个线程呢?又怎样让线程做我安排它要做的事情呢?

  实现线程体的构造有两种方法.

  第一种方法是通过继承构造线程体.

  在Java中专门有一个Thread类,这个类里面有一个函数run(),里面记录着线程要完成的操作,就好像通常所说的主函数main()一样,run()函数运行完了,线程就结束了.通过继承这个类,我们可以定义我们自己的线程,在run函数中告诉它该做什么事情.下面的程序就是继承了一个SimpleThread类,用两个线程来输出HelloWorld.

public class TwoThread{

public static void main(String args[]){
new SimpleThread("HelloWorld1").start();//创建两个线程的实例,就这么简单
new SimpleThread("HelloWorld2").start();
}

}
class SimpleThread extends Thread{ file://真正的内容在这里
public SimpleThread(String str){
super(str);//super代表SimpleThread类的直接父类,这里就是Thread
}

file://我们要线程做的事情都在这里了
public void run(){
for(int i=0;i<10;i++){
System.out.println(i+" "+getName());
try{
sleep((int)(Math.random()*1000));
}catch(InterruptedException e){}
}
System.out.println("Done!"+getName());
}
}

  运行的结果是两个线程交替显示各自的HelloWorld十次,输出是混在一起的,因为两个线程是同时运行的.

posted @ 2005-04-01 20:30 小毅 阅读(176) | 评论 (0)编辑 收藏

作者:xm4014


  今天第一次接触Java。

  虽然以前间或的也看了些书籍,但多是隔靴搔痒,上不了正席,绝不敢说自己懂Java。接触一门新的技术和初恋一样,都是第一次,但不同的是后者一般开始无比甜蜜,结局却很痛苦,而前者则往往开始很痛苦,越到后来却越是有味,简直是欲罢不能.现在我就正处于这个很痛苦的阶段,连一个最简单的Helloworld都运行不出来,总是提示Excepion in thread "main" java.lan.NoClassDefFoundError. 只好上网去查,去搜.记性又不好,所以搜出来赶紧保存下来,常备无患.

  一般来说安装完JDK之后,一定要按一下步骤配置,才可正确编译运行(假定jdk版本为1.4.0)

  1.将jdk1.4.0-安装在自己机器的某个盘符的根目录下,如:可安装在C:\jdk下。

  ***(以下出现的c:\jdk改为你自己安装JDK的目录)***

  2.如果你的运行环境是win98,则在C盘根目录下,autoexec.bat文件中,加入下面两条语句:

  set Path=%PATH%;c:\jdk\bin

  set CLASSPATH=.;c:\jdk\lib\dt.jar;c:\jdk\lib\tools.jar

  保存后,重新启动机器,就完成了jdk1.4的安装。

  3.如果你的运行环境是win2000的话,则需在“控制面板”的“系统”下,“高级”选项的“环境变量”中,添加两个用户变量。

  其中一个用户变量的名称为“path”,值为“.;d:\j2sdk1.4.0_01\bin”,

  另一个用户变量的名称为"CLASSPATH",值为“.;d"\j2sdk1.4.0_01\lib\dt.jar;d:\j2sdk1.4.0_01\lib\tools.jar”,单击“确定”即可。即完成了jdk1.4.0的安装。

  至于这样做的意义何在,我想应该是让Java系统在编译字节代码(.java)的时候需要一个什么东东的支持,如果你不告诉它这个东东放在哪个地方的话,它就犯傻了?!

  看到屏幕上终于显示出Hello world对我来说意义重大.这是我近一年来写的第一个程序!再次踏上程序之路,简直有恍如隔世的感觉,已经快找不准我的位置了.还好原来学的一些关于C++和面向对象的皮毛没忘光光,所以费点周折熟悉了JDK的环境之后,接下来的事情就好办多了,心里也踏实多了.

  用String类直接定义字符串变量比起C中讨厌的指针,感觉确实好的多,用惯了Object Pascal的我,如果再回去数* *,真要疯掉不可.

  数组的定义和C,C++好像略有不同,记不清了,先记下来再说

  int[] number=new int[5]

  String[] message=new String[5]

  变量这一部分想起来要交待的也就这么多吧。虽然是菜鸟,但我也知道,总是如谭浩强般在语法上面死抠的人简直是白痴:大多数情况下,漂亮的程序根本不需要无谓的点缀,工工整整,思路清晰就可以了.

  倒是对于Java程序的框架我倒想备忘一下,一个简单的java程序好像是应该是这样的框架

 class ProgramName
{
public static void main(String[] args)
{
file://程序的主体
}
public static int othermethod()
{
file://其它方法
}
}

  整个程序在一个大的类中,这个类的概念应该就跟pascal里面的单元差不多的。同pascal一样,文件名也要与单元名-在这里是类名-一样.Java对大小写要求的非常严格,我语法错了好几次都是因为这个.

  Java程序就是由一个或者多个或者很多个方法在这样一个大类当中组成的.

  在如上的代码中,定义方法的参数表示的意思分别为:

  public表示此成员函数是公有的,可以被其他类直接调用

  static表示main成员函数在ProgramName类的所有对象中是唯一的,Java将为其分配永久存储空间

posted @ 2005-04-01 20:18 小毅 阅读(201) | 评论 (0)编辑 收藏

<2005年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

blog 好友

友情链接

常用网站

技术网站论坛

搜索

  •  

最新评论

阅读排行榜

评论排行榜