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