博文

[转]小日本的GAME製作方式(2006-12-19 14:17:00)

摘要: 日本GAME製作方式   项目管理检讨 一、 现阶段问题点(1) 组织架构  公司与项目应有不同之架构(2) 各职务定位  各职务工作执掌与权责须划分更加清楚,特别是各部经理与总监。(3) 项目经理与制作人的角色差异  须更进一步划分工作执掌与权责(4) 项目管理  尚未进行,项目是否已算成立? 不清楚界定标准。 二、 附录 (参考资料)(1) 何谓项目管理?  针对特定目标的一系列规划、组织、人事、领导与控制等活动,其目的在有效运用组织内人力、物力、财力等资源,以达成组织目标。   规划:为设定项目发展目标、制定政策、研拟策略及实施步骤,及如何达成该目标的基本过程。   设定目标:目标必须写下来。必须让所有参与者都能清楚明白它的意思。   研拟策略的要点:    1. 要把欲达到的结果,清楚地表达出来。    2. 这些结果要合理可行。设立一个难以达到的目标,会使参与的人望而却步。    3. 要把一系列的行动细节,详尽地陈述出来。    4. 必须指定负责人,使整个计划能因此而推动、进行。    5. 要提供合理的资源。    6. 计划的每一个阶段,均须有时间表。    7. 要设立工作表现的标准,以衡量所欲达到的成就。  组织:为了达成共同的目的,规定各个角色的职务,并依据一定的权限与责任的分配,决定各职务间相互的关系。   管理人必须知道自己究竟负责哪些活动,哪些人需对自己负责、自己又该对哪些人负责。此外,管理人还必须清楚整个公司的结构、自己在公司的位置、可以使用哪些沟通管道等。这些都必须以达成部门和公司的目标为主,并且定下所要完成的效果,最后再用文字陈述出来。   许多公司都把组织营建在员工身上,而不是先决定所要的结果,然后再寻找适当的人选来占据那些职位。通常,小公司并没有真正的组织架构,都是把现有人员分配去做所有的工作。不用多久,又会有另一批人被聘来分摊各部门的工作。一个简陋架构的公司,有时也能维持好几年的时间,但这样很难继续维持成长。   为了让企业成功,整个组织必须以「结果为导向」作为建筑架构的基础。公司的目标需明确且实际可行,整个管理工作也必须以达成公司的目标来进行。公司的架构完全依照所要达成的结果来设计–––每个职位是专为达成某个目的而设,然后再找寻最适当的人选来执行职务。人事 甄选优秀人员于适当职位上,从事项目各......

阅读全文(4135) | 评论:0

转贴 我的第一个J2ME商业游戏源代码 (2006-11-07 14:49:00)

摘要:我写的个贴子被移动到了非技术区,刚才发不小心自己也发到了非技术区,现在重发,请管理员把非技术区我的帖子删除。为了让更多同行得到原代码,再开贴,希望管理员不要移动,那样看到的人很少,不利大家共同进步。 我以前写的商业游戏原代码,原来在国外SP使用,似乎国内一直没有用,部分被重写(有些原公司不让公开),如果是BIG5版本的大家找个东东翻译一下好了,呵呵 需要的可以去下面网址看样本 ,更多代码到群里去下,这里只能发代码段不能发完整的带图片的整个程序 http://L999.68ab.com QQ群:8294554龙王J2ME游戏制作,交流技术,共同进步   import javax.microedition.lcdui.*;import javax.microedition.midlet.*;import java.util.*;import com.nokia.mid.ui.*;import com.nokia.mid.sound.*; public class csbw extends MIDlet{        private Display dp;        //re1,rz2是人质,dr1,dr2是敌人,xue1:血条值,qiang1:枪,qiang2;枪(太久或雷,我忘了);yyx1也忘了        Image ftu,rz1,rz2,dr1,dr2,xue1,qiang1,qiang2,yyx1;        Timer tm,tm2;        private Fca fca;        //声音单音        Sound s = new Sound(800, 120);     ......

阅读全文(4914) | 评论:1

J2ME 不断修改(2006-11-03 13:56:00)

摘要:import javax.microedition.midlet.MIDlet;import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;import javax.microedition.media.*;import javax.microedition.media.control.*;import javax.microedition.rms.*;import java.util.*;import java.io.*; //简单的动画canvas by sword2008@程序之巢 //我原本的图片有张超过了200k,传不上来。 public class test2 extends MIDlet{ private Display display;  public test2(){   }  public void startApp(){  new HCanvas(Display.getDisplay(this)).start();}  public void pauseApp(){ }  public void destroyApp(boolean unkowmn){ } class HCanvas extends GameCanvas implements Runnable{ private Display display; private boolean sleeping; private long frameDelay; private int inputDelay; private Random rand; private Image background; private Image chickenHead; private Sprite chickenSprite; private Sprite[] carSprite=new Sprite[4]; private int[] carYSpeed=new int[4]; private boolean gameO......

阅读全文(4436) | 评论:0

J2ME 声音播放程序(2006-11-02 22:45:00)

摘要:package sound; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.media.*; import java.io.*; public class SoundMIDlet extends MIDlet { private Player player = null; /** Constructor */ public SoundMIDlet() { try{ InputStream is = this.getClass().getResourceAsStream("/sword2008.wav"); player = Manager.createPlayer(is,"audio/x-wav"); }catch(IOException e){ System.out.println("1:" + e); }catch(MediaException e){ System.out.println("2:" + e); }catch(Exception e){ System.out.println("3:" + e); }} /** Main method */ public void startApp() { if(player != null){ try{player.start();}catch(MediaException e){System.out.println("4:" + e);} }} /** Handle pausing the MIDlet */ public void pauseApp() { } /** Handle destroying the MIDlet */ public void destroyApp(boolean unconditional) {}}......

阅读全文(3849) | 评论:0

j2me 书上完整游戏代码(2006-10-31 08:37:00)

摘要:import javax.microedition.midlet.MIDlet;import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;import javax.microedition.media.*;import javax.microedition.media.control.*;import java.util.*;import java.io.*; //简单的动画canvas by sword2008@程序之巢 //我原本的图片有张超过了200k,传不上来。 public class test2 extends MIDlet{ private Display display;  public test2(){   }  public void startApp(){  new HCanvas(Display.getDisplay(this)).start();}  public void pauseApp(){ }  public void destroyApp(boolean unkowmn){ } class HCanvas extends GameCanvas implements Runnable{ private Display display; private boolean sleeping; private long frameDelay; private int inputDelay; private Random rand; private Image background; private Image chickenHead; private Sprite chickenSprite; private Sprite[] carSprite=new Sprite[4]; private int[] carYSpeed=new int[4]; private boolean gameOver; private int numLives;&......

阅读全文(3903) | 评论:1

J2ME HCanvas(2006-10-30 09:17:00)

摘要:import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;import java.util.*;import java.io.*; public class HCanvas extends GameCanvas implements Runnable{ private Display display; private boolean sleeping; private long frameDelay; private int inputDelay; private Random rand; private Image background; private Image chickenHead; private Sprite chickenSprite; private Sprite[] carSprite=new Sprite[4]; private int[] carYSpeed=new int[4]; private boolean gameOver; private int numLives; private int score;public HCanvas(Display d){ super(true); display=d;  frameDelay=33; inputDelay=0;    }///////////////////////////////////////////////////////////////////////////////////public void start(){ display.setCurrent(this);  rand=new Random();  gameOver=false; numLives=3; score=0;  try{ background=Image.createImage("/001-G_Water01.png")......

阅读全文(3609) | 评论:0

J2ME SpriteTest(2006-10-17 09:11:00)

摘要:import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import javax.io.IOException; public class SpriteTest extends MIDlet implements CommandListener,Runnable{ private static int SHIP_FRAME_WIDTH=16; private static int SHIP_FRAME_HEIGHT=16;  private MyCanvas myCanvas; private Command quit; private Image[] shipFrames; private boolean running; private int currentFrame; class MyCanvas extends Canvas{ protected void paint(Graphics graphics){ graphics.setColor(0); graphics.fillRect(0,0,getWidth(),getHeight());  graphics.drawImage(shipFrames[currentFrame],getWidth()/2,getHeight ()/2,Graphics.HCENTER|Graphics.VCENTER);              }        } public SpriteTest(){ try{Image shipImage=Image.createImage("/005-Fighter05.png");  shipFrames.ImageSet.extractFrames (shipImage,4*SHIP_FRAME_WIDTH,0,4,4,SHIP_FRAM......

阅读全文(3436) | 评论:0

J2ME Hello程序,实验一下吧(2006-10-16 08:48:00)

摘要:import javax.microedition.midlet.MIDletStateChangeException;import javax.microedition.lcdui.*; public class Hello extends javax.microedition.midlet.MIDlet implements CommandListener{ protected Form form; protected Command quit;  public Hello(){ form=new Form("我的MIDlet"); form.append("欢迎,MIDLET WORLD!");  form.setCommandListener(this); quit=new Command("离开",Command.SCREEN,1); form.addCommand(quit);         } protected void startApp() throws MIDletStateChangeException { Display.getDisplay(this).setCurrent(form); } protected void pauseApp(){     } protected void destroyApp(boolean unconditional) throws MIDletStateChangeException { }  public void commandAction(Command command,Displayable displayable) {  try{   if(command==quit){    destroyApp(true);    notifyDestroye......

阅读全文(3751) | 评论:0

J2ME伪高手先锋开讲—扫雷游戏的设计[专](2006-09-01 17:14:00)

摘要:J2ME伪高手先锋开讲——扫雷游戏的设计 首先我要装得像高手一样,来假装把系统稍微分析一下。 一般,按照java得开发模式,这种程序一般是分为三个模块来开发。 如下三个: 一个程序运作的主文件,也就是一个midlet的继承; 一个界面的表示类,也就是一个canvas的继承,界面上应该有些菜单,如new、exit 什么的,那就应该要 implements一个 commandListener消息监听类(大家可以把java的消息监听理解为一个线程,一直像倭寇那样对看得顺眼的东西虎视耽耽,当然这里指的是他所能触及到的消息,当收到消息的时候,会调用一个抽象函数public void commandAction(Command c, Displayable d),而这个抽象函数使得我们可以通过对他的实现来处理收到的消息,即消息响应) 最后一个当然就是与界面无关的逻辑单元了,在这里我们定义整个游戏的逻辑,做到逻辑与界面分开。这是我学java的最大收获,呵呵。 首先正式开始第一讲 <扫雷游戏的逻辑> 我的设想是,扫雷的地图一般是一个矩形,因为,圆形屏幕的手机看起来蛮变态的,没有必要迁就他,所以,我用一个a*b的二维数组就完全可以表示整个地图。 有了地图以后地图里面的类容自然就有一部分是表示地雷啦,既然这样,那不如就这样<废话来的,小朋友不要学> /** * 20 标志该位置为地雷 * <=10的数字表示未翻开的方块及周围的地雷数目 * >=10的数字表示已翻开的方块及周围的地雷数目 * */ 表示方法就出来了,逻辑也明朗起来了。 我要将某个块翻开,只要将他加上10就可以了。 Java编程第一步,当然是先要class啊 package games; import java.util.Random; import java.lang.Math; class gamelogic { /**表示一个10*10的棋盘*/ private int[][] pan = new int; private Random random;//一个随机变量,主要作用是用来指定哪些位置为地雷 private int BombNum = 0; //统计地雷总数 /**游戏是否结束*/ private boolean GameOver; 接下来就是要初始化地图了,地图首先要扔......

阅读全文(2557) | 评论:0

J2ME简单的格子(2006-09-05 15:00:00)

摘要:import javax.microedition.midlet.MIDlet;import javax.microedition.lcdui.*; //made by sword2008·程序之巢 //http://blog.programfan.com/blog.asp?author=qq14923349 //游戏第一课  画格子public class Gofirst1 extends MIDlet{   public Gofirst1(){            } public void startApp(){  Display.getDisplay(this).setCurrent(new First1());         } public void pauseApp(){} public void destroyApp(boolean unkown){}     } class First1 extends Canvas{  private int color; private int startX=getWidth()/4-40;//起点坐标和终点坐标非常重要,格子剩下的是分成等分 private int startY=getHeight()/4-40;    public void paint(Graphics g){  color=g.getColor(); g.setColor(255,255,255); g.fillRect(0,0,getWidth(),getHeight()); g.setColor(255,0,0); g.drawRect(startX,startY,200,200); drawline(g);        &n......

阅读全文(3880) | 评论:1