A. 怎么学习编程
学习编程是一件好事,不要认为编程很难,其实它并不难,不过之前你得先了解你学习编程的目的是什么?这个很重要,因为目的决定你的发展方向。目前对于编程有很多种编程语言以及相对应的开发软件,根据你的情况选一种语言进行专业学习,不要盲乱学习。编程是一种融汇贯通的东西,学会基础到后边就越来越简单了。而且可以向多种语言发展。因为毕竟世上没有永远不过时的东西嘛!下面说明一些常用的编程语言。
C语言 是一种可移植性和多系统平台的编程语言
java 是一种功能强大可移植性强的开发语言
HTML 是一种超文本标记语言
Java Script 是一种基于客户端的脚本语言
程序语言,顾名思义就是一种语言,是用于交流的,程序就是计算机的语言和人类语言的翻译者,做一个程序员就是要把人类世界的问题用计算机的方法去解决和展现,可是因为种种原因,大多数人在如何学好语言,如何学好开发平台上疲于奔命,到头来你只会敲写代码。如果想做一个合格的程序员,C++、JAVA、sql、都是一定要学的,另外,不要去学你喜欢的,也不要去费劲脑子想该学什么,看看IT界,IT市场需要什么,你就学什么。
新手学编程要从根本出发
从理论上来说,需要广泛的阅读,了解算法的博大精深和计算机的基本理论。
从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。
然后就是创新精神和数学思维能力,这些都是需要培养的。
基础要打好
学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 、从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 、学程序设计要有一定的逻辑思维能力,“思维能力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程的过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言、 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类:
1.本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。
2.跨平台开发开发工具如 Java 等。
3.网络开发对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、jsP 、ISAPI 、NSAPI 、CGI 等。以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。 (但现在已经过时)
培养好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
多问多学习
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
总结
1、先照书上的题目写,题目的设计是有道理的巩固基础知识。
2、找数学题,写个小程序解决,熟悉算法和基础函数。
3、自己出题目,小一点的,如自编资源管理器、自编写字板之类,练习WINDOWS下的编程。
4、结合身边的事,找个中等课题,或看别人的程序,自已想办法实现。
5.把教材中的例子,自己仿照着写一遍,上机运行,看结果.要知道,任何产品都是有例子的,有机结合或仿照。
6.从自己熟悉的事情入手,如成绩统计,编制一段程序,完成一个功能.然后再完善。
7.要反复破坏代码,从破坏中寻找代码的规律。
8.必须经常反复上机练习。
编程是要用计算机能够识别的语言让计算机去运行,现在所说的语言多指高级语言。编程时,先用高级语言编出程序,因为计算机不能识别高级语言,机器只认识0和1,所以要再用专门的编译程序将高级语言翻译成计算机可以识别的机器语言。就像你要将你的意愿告诉计算机,你就要有一个翻译,让他把你的意愿翻译给计算机,语言就是具有这个功能的,同样,翻译可以有好多种,现在的计算机语言有好多种,每种语言都有自己的特点,并且随着时代的发展,一些语言已经被淘汰了,一些语言被改进了(如c语言发展了c++,微软将Java弄成了C#),现在比较热门的语言有Java(适用于网络编程,现在很热门,并且与平台无关)、c语言(尽管很老了,可是效率很高,可移植性很好,大学的计算机,非计算机专业的学生几乎都要学习它)、VB(即微软的Visual Basic,由原来的BASIC发展,语法很简单,但是很多高级程序员嘲笑vb为玩具语言,但是美国的一些大学仍然将此语言作为编程的入门课程)、Dlphi等等。
每种语言都有自己的特点,我的感觉是你还是先学习VB吧,我就是从它开始的,如果想以后搞得大一些,c 、vc++比较好一些,不仅仅因为效率,还因为平台可移植性好。至于Java或者微软吹嘘的.NET,我的感觉是,他们的功能确实很好,Delphi也很不错的,也有好多的人在学习。但是作为一个中学生,你不可能有太多的时间学这么多多东西。
如果我建议的话,你还是从VB或者c语言(也有些人说c++比较好)开始吧。等你把这些东西学的有点门路了,再接触Delphi Java甚至是微软的.NET的几种语言。
编程是很有意思的事情,祝学习顺利!
B. 如何制作一个简单的RPG游戏
在这个丰收的季节,天气逐渐变凉,首先非常感激在这里能为你解答这个问题,其次让我带领着大家一起走进这个问题,就让我们一起探讨一下。
希望以下为大家分享一这个问题对大家有所帮助,我希望我的分享关于这个问题能够帮助到大家,也同时也希望大家能够喜欢我的分享。
如果你想制作的是一款电脑的单机游戏,我建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,我建议你学unity,cocoscreator。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。我自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
上面的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家,同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。
最后在这里,祝愿大家都有一个好的心情,明天有一个好的开始,愉快的上班,升职加薪在等你。谢谢!
阿颖曾经想做一个的!
曾经我有个同学,在学校的老师与领导巨大的压力之下,三天两头跑学生会,凭借着三寸不烂之舌与持之以恒的耐心,终于成功组建了我们学校第一个电子游戏有关的社团。
RPG社
我们当时的情况和你们非常的类似。
一个学完了高中计算机科学的男子。
一个立志要考上美国最好的艺术学校,却每天被美术老师骂成憨憨的愚蠢艺术生。
一个每天做着音乐老师也听不懂的电音的艺术生。
一个在起点更着没人看的小说的垃圾作家。
两个根本没玩过RPG的游戏爱好者。
就这样,六个男人踏上了做RPG的征途。
然后一年之后,因为什么都没做出来而被迫关闭了社团。
所以我过来帮你们把可能会走的歪路堵上。
第一制定剧本
首先,剧本是这整个游戏制作过程中最重要的部分,当然,这是你的职责所在。剧本的写法可以很简单,无需写出每一个人物的每一句对话,但是一定要写好的是,这是在什么地方,发生了什么事,有多少人出场,这些人在场景结束时发生了什么?在把文章都处理成剧本之后,统计人物出场次数,他们要干的事,综合设定出人设。
第二制定游戏的基本规则
这一点主要是要做出游戏的基本框架,游戏的类型(回合制?战棋?横版过关?),加入的武器种类,攻击方式,是否加入技能或职业,道具的种类,以上元素的获得方式,解密的过程,先把框架做好,接下来就会简单很多。
第三NPC
怪物,敌人,队友,村民都放在这里做,包括之前的人设角色。包括这个角色要让他出场在哪里,重不重要,怎么让玩家看出他的人设,有没有固定的台词来烘托人物性格,会不会加入主角,与玩家控制角色的互动(战斗?交易?谈话?)。
最重要的一点,让你的画师们统一画风。
第四地图
这个也要看剧本,主要考虑因素有:地图有多大,有没有隐藏地图,这个地图的作用,敌对生物的位置和行动方式,地图要不要加入特有的BGM,玩家在这个地图会受到什么样的效果,重点是制作出地图的特点。
第五细枝末节
存档点的位置,BGM的切换,如何平衡主角和游戏系统,这些虽然不是游戏的重头,但做好了很明显会有加分。
说了这么多,反正是粉丝作,我相信你的粉丝肯定不会挑三拣四,说这个作者游戏做得不好玩什么的。
你开心就好了。
别废话,热爱就开始动手,先别去找些乱七八糟的软件教程,都是劝退的,先用文字框出你想勾勒的世界,主角是谁,时代背景是什么?是个怎么样的故事?
然后想想:
1.我的定位,我是画画好?去画人设。画游戏场景。我是编程好?去研究游戏引擎。我是写作好?去吧整个游戏的故事写好。我做音乐好?去把音乐准备好。
2.如果以上我都牛皮,那么恭喜你,可以选择一个引擎开始动工了。最简单的当然是RPGMAKER,大量的素材,傻瓜操作,贴吧各种大神的教学,能基本实现一个2d的RPG,别看不起这像素RPG,RPGmaker也出了很多优秀的作品的。《tothemoon》《undertable》都是大名鼎鼎的神作。
3.如果自己只有第一点里个别牛皮,那么就可以在网上找几个志同道合的小伙伴,各自发挥自己的长处,来组成一个游戏,好比《太吾绘卷》创始人茄子拉了几个小伙伴跨省创作,历史5年,最后狂卖200w套,可以看看我的文章《狂砍1.36亿的太吾绘卷,究竟做对了什么?》。
最后如果你作为兴趣,就不要跟经济效益挂上钩。为了赚钱我建议你不要去做游戏。
我是神犬,你留着这关注与赞有何用?
开发单机游戏的想法,我自己曾经也有过,也曾经行动过,以自己的经验和了解,分析如下
1.如果你想制作的是一款电脑的单机游戏,我建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,我建议你学unity,cocoscreator。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。我自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
cocoscreator它是一款由国内团队开发的二弟三弟,游戏开发软件。通俗易懂,相应的教程也很多,他的编程语言是js,我现在还在用这个软件来学习游戏开发。
以下是我接触过的软件,可以参考一下学习。
Photoshop可以绘图,制作人物,皮肤,贴图
瓦片地图编辑器可以编辑像素的方格地图
骨骼编辑器可以用来制作游戏人物动作
3dmax和Maya3d建模软件人物或者场景都可以制作
像素制作软件初学者建议使用
以上是我个人观点和经历,如有雷同,纯属巧合,欢迎评论吐槽转发,谢谢大家(^_^)
1.如果你想制作的是一款电脑的单机游戏,我建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,我建议你学unity,cocoscreator。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。我自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
cocoscreator它是一款由国内团队开发的二弟三弟,游戏开发软件。通俗易懂,相应的教程也很多,他的编程语言是js,我现在还在用这个软件来学习游戏开发。
以下是我接触过的软件,可以参考一下学习。
Photoshop可以绘图,制作人物,皮肤,贴图
瓦片地图编辑器可以编辑像素的方格地图
骨骼编辑器可以用来制作游戏人物动作
3dmax和Maya3d建模软件人物或者场景都可以制作
像素制作软件初学者建议使用
电脑上制作最简单的方法是下载《RGP制作大师》,工具最齐全,具有制作游戏的所有条件,还有说明和使用方法(详细攻略)好像还有手机版的。
如果你想制作的是一款电脑的单机游戏,我建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,我建议你学unity,cocoscreator。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。我自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
cocoscreator它是一款由国内团队开发的二弟三弟,游戏开发软件。通俗易懂,相应的教程也很多,他的编程语言是js,我现在还在用这个软件来学习游戏开发。
以下是我接触过的软件,可以参考一下学习。
Photoshop可以绘图,制作人物,皮肤,贴图
瓦片地图编辑器可以编辑像素的方格地图
骨骼编辑器可以用来制作游戏人物动作
3dmax和Maya3d建模软件人物或者场景都可以制作
很高兴回答你的问题
开发单机游戏的想法,我自己曾经也有过,也曾经行动过,以自己的经验和了解,分析如下
1.如果你想制作的是一款电脑的单机游戏,我建议你用rpg游戏大师,你不用去学一些编程语言,绘画技术,建造模型,因为这中中里面这个软件都涵盖过了,里面的编程虽然不是很复杂,但是对于初学者来说是一个很好的学习工具,这个软件里面提供的素材十分的丰富,只要你把整个故事情节想好,在内容上添加相应的节点,通过自己的调试,就很容易得到一个单机游戏了,至于好不好玩就要看开发者的想象力,行动力和逻辑思维能力了。
2.如果你是想做一款手机游戏的话,我建议你学unity,cocoscreator。其中,unity是现今市场上很多手游端游的开发引擎,但是关键它是一款英文开发软件,汉化程度没有那么高,有些地方很难去理解,而且还要去学一些编程语言的基础,例如C语言,C++语言。我自身也接触过这款软件,如果你想入门的话,建议你看多一些课程,了解一些相关的案例,就很容易入门了。
cocoscreator它是一款由国内团队开发的二弟三弟,游戏开发软件。通俗易懂,相应的教程也很多,他的编程语言是js,我现在还在用这个软件来学习游戏开发。
以下是我接触过的软件,可以参考一下学习。
Photoshop可以绘图,制作人物,皮肤,贴图
瓦片地图编辑器可以编辑像素的方格地图
骨骼编辑器可以用来制作游戏人物动作
3dmax和Maya3d建模软件人物或者场景都可以制作
像素制作软件初学者建议使用
以上是我个人观点和经历,如有雷同,纯属巧合,欢迎评论吐槽转发,谢谢大家(^_^)
一个简单的RPG游戏首先,要制作一个RPG的游戏。所需要涉及到的方面,有以下几个:1.使用键盘控制精灵。2.由于精灵有四个走动方向,而每个方向又应该有几帧动画(这里定为二帧)。考虑到每个机器的配置不一样(CPU和显卡不同)。所以帧与帧之间必须有延迟。3.当精灵在我们所定的迷宫里行走时,当它碰到"障碍"时,应该无法继续前进。4.在游戏里,还应该有"坏精灵"。在我这个游戏里,其表现状态为"追赶受控的精灵"。(目前,只使用了简单的追逐算法,所以"坏精灵"有时会卡住。在将来的版本里将考虑使用A*算法。)5.精灵的移动不应该只局限于屏幕的高宽,这时就需要卷轴了。以下是具体解决办法:(对应上面4个问题)1.只需使用WINDOWS消息WM_KEYDOWN即可。在DX环境下使用DirectInput来操作键盘。2.为每一张精灵位图分别分配一块内存保存其图像信息。这样每一张位图对应一个指针。(这里我使用一数组实现,其大小由具体的图像数量决定)具体访问时,我又指定了一个指向此数组的指针,在精灵运动时,只需操作指针+=偏移量即可,这样在绘制时,只需绘制此指针的值就行了。在这里,我设定受控精灵的运动偏移量为2(像素)。接着定义一int数,初始其为0,在每次精灵的有效运动(这里只是指UP、DOWN、LEFT、RIGHT四个方向操作,而且每次只允许一个有效。要不然就会当用户同时按下以上四个方向任何两个时,出现此精灵斜向运动,因为此时它的位置坐标x和y可能同时发生了改变)时递加。规定一个常量值,在上个int整数等于此常量时,令其清零。这整个操作的意义为,当此int数等于常量值时,此时精灵状态为当前方向的第一张动画;当等于常量值*2时,为第二张。这样就产生了动画效果。再谈谈延时,只需在WM_CREATE消息时定义一个TIMER。然后在每次设置指针偏移时,首先判断TIMER是否有效即可。例:首先定义TIMER,再定义一变量state=0(其变化为:当TIMER发生时,state=1-state)第一张动画if(时间延时)if(递加的变量==常量值)指向精灵数组的指针=精灵数组+偏移量;第二张动画if(!时间延时)if(递加的变量==常量值*2)指向精灵数组的指针=精灵数组+偏移量;3.用一单色位图记录地图信息。其中白色为可通行,黑色为不可行。然后绘制时由此位图生成用户可视地图。并用一全局二维数组记录此地图。然后每次精灵移动时,其实是在此二维数组里移动,在其移动前进行判断下一步是否可行。具体的判断方法由精灵的坐标来换算出其实际在我们的地图数组中的位置,然后取此位置值,判断此处是否可以通行。4.至于"坏精灵"的跟踪算法。目前只是简单的递加和递减,没有必要再进一步阐述。将来使用A*算法,再写出具体思想吧。5.为了表现游戏的世界观,有很多时候精灵是在一个很大的地图上行走,其大小会大于我们所见的屏幕大小,这时就要用到卷轴。现在已知有两个方法,简单的是拥有或创建一个所需的大地图,其具体表现形式可能是BMP位图,在DirectDraw里的概念叫“表面”。方法是,每当操作者控制精灵移动时,只需改变精灵的朝向和状态,并不改变其实际坐标。而真正发生变化的,是操作者所看到的屏幕。也就是背景移动而在中心的精灵不动,这样会给人以错觉,觉得是精灵在移动。而我们所要做的,就是计算一个矩形,这个矩形的范围也就是操作者所能看到的。它实际上是整个地图中的一部分。BMP位图有一个操作函数叫做StretchBlt和DirectDraw中表面的Blt方法类似,都是从源位图拷贝矩形区域到目标位图中去。利用它们的功能和我们先前计算出来的矩形数据,就可以实现了!具体来说:无卷轴时是精灵本身移动,地图不动;而卷轴的时候,是整个屏幕(即我们所要计算它实际在地图中的矩形位置)在地图里移动(注:其移动是与精灵相反的),在地图卷到尽头时,精灵开始无卷轴时的移动,其它时候不动。------------这里有个网站,RPG制作大师,希望对你有点帮助
C. c++程序员如何创业案例
程序员,是一个很累的行业,经常要熬夜赶代码。以下是我为大家整理的c++程序员如何创业案例相关 文章 。
c++程序员如何创业案例:
这是我多年来招聘培训游戏程序员的一点想法。一直想汇总一下。主要目的是为了更好的对公司新进C++程序员进行培训,并且建立起游戏程序员培训,发展,成才,成为核心骨干,管理层,期权收益人等一整套体系。因为对于MMO游戏制作来讲,解决好C++技术队伍,是保证合格软件的基础之一。
我在的H3D Studio核心技术人员和游戏制作管理人员全部是SMTH BBS游戏制作版成员。从99年开始截止BEGINER的历任版主都在H3D STUDIO里工作过。在这里我把具体的培训以及技术队伍组建的内容去掉,只和大家聊聊关于游戏程序员切身利益相关的事。
另外这不是居高临下来评判什么事情。我本人也不是多么高级的技术人员或者管理人员。只是坚持做一件事情年头很长教训很多而已。所以有些体验。文中所有评判其他结构或人水平低,并不是说我本人水平有多高。不要误会。
一、C++游戏程序员现状
中国C++程序员100%都是自学的。因为中国几乎没有象样的C++培训机构。大家都知道社会培训是赚钱为主要目的。能在那里成才是个大运气。也不象JAVA有SUN公司一手推行。中国大学 教育 里也根本没有C++教学。关于C/C++基础课的知识,只是让学生入门。但对于实际的C++软件工程应用,大学课本知识实践意义不大。最重要的是,大学里没有合格的C++老师。编程是门技术,叫手艺也行。而大学是搞科研的,多的是科学家,靠出PAPER教科凭职称为生。并不是技术员。没有10万行以上代码 经验 和成功软件项目经验的人,很难教出中高级C++程序员。
游戏制作业对C++程序员的要求是比较高的。比一般行业软件高很多。因为任何一个MMO都是个中大型软件项目。日使用人次达到几十万上百万,同时使用人数几十万在线的大型网络多人交互软件,集成了超过十几项专业领域编程技术的软件,想不大都不行。
另外,中高级C++程序员能力一般都很强。因为都是自学成才,这需要较高智商,很强的自学能力,解决问题能力,和克服困难的毅力。但是这种人才在游戏行业里人数并不多。抛开凤毛麟角具备整体大型软件架构能力的高级人才不谈。能够承担独立模块开发,具备独立解决问题的能力,写出在空间,性能,可维护性等几个方面达到要求的C++程序员,也是很难找到的。而具备这些能力,同时又具备一些专业领域技术的人(图形引擎,网络引擎,等),更加稀少。
所以,即便是大游戏公司,对于C++游戏程序员的需求,也是永远不能够得到满足。而已经在公司工作的C++程序员,不经过短则3个月,长达1年的锻炼,也无法真正胜任独当一面的C++游戏程序开发工作。
二、MMO游戏开发对C++游戏程序员要求
前面提到,所有MMO游戏都是中大型软件。软件占用空间,稳定性,性能,可维护性等各项衡量软件质量的指标,对MMO游戏软件的要求都非常严格。远大于普通行业软件。这种规模和银行系统类似。而客户端和软件逻辑比一般的商业软件又要复杂很多倍。这就要求软件编写人员具备较高的程序编写素质。
游戏软件中,解决好软件工程部分,只是项目的1/3。另外两部分是策划和美术/音频。从经验来看,需求变更对于MMO游戏软件,不是偶然事件,而是一种MMO游戏软件开发的基本属性。游戏软件投入大,周期长,风险高。MMO市场变化也大,交互电子游戏发展迅速。游戏软件必须面对外界变动。又因为开发周期长,所以软件需求变动成为了软件开发的一种基本属性。犹如复杂性是软件工程的一项基本属性一样。
这导致游戏软件的开发充满了不确定性。交互娱乐不同于商业应用。娱乐是属于理性和感性之间的领域。而C++开发面对就是0和1的二元世界逻辑。这两个领域存在着不可调和的矛盾。这种情况,对C++游戏程序员提出了更高的要求。
首先,基本C++知识,C/C++运用技能,必须极其扎实。并不是游戏软件开发用到什么平时书本上很难得到的知识点或者技能点。游戏C++开发的知识体系和技能体系,利用现有C++书籍就可以满足。比如《C++ PAORGRAMMING LANGUAGE》《C++ PRIMER》《EFFECT C++》《MORE EFFECT C++》等。但是在开始游戏编程之前,把这些书本吃透并且实践熟练的人,非常难遇到。当然能够真做到这点的人,已经是个中高级C++程序员了。我曾经遇到过一个, 毕业 工作不久就去了GOOGLE
其次,对于面向对象的深入理解。是非常重要的。熟练掌握C/C++语法,编程技巧,只是满足了C++游戏程序员一部分要求。而面向对象观念的深刻理解,会为大型C++项目开发带来翻天覆地的变化。 有时候,在一个10人以上并行开发的C++游戏项目中,面向对象 方法 会成为救命稻草。《设计模式》以及《设计模式解析》相关的书籍,也是必修课。
最后,好技术人员的本质是自大的。这属于正常。但是如果这种习性影响了自身继续提高和团队合作。以及影响了其成为技术管理者和项目技术核心时,那么这种技术人员的自身价值会大打折扣。 如果早日越过自命不凡这一关,扩大眼界,继续在综合素质上提高。在技术管理能力,架构能力上提高,其自身价值才会继续增长。落到实处,就是待遇和身家增长。
由于游戏开发的本质是团队开发。任何时候,只有对一个团队有价值的技术人员,其本身的价值才有可能得以体现。
三、成长和技术发展路线
一般技术人员发展有几个阶段
1 、具备独立开发局部功能的能力
比如为某个UI编写逻辑接口函数。为某个LOGIN对话框编写自绘制控件等。
2 、具备独立开发和攻关某个功能模块的能力
比如为游戏增加一个小型逻辑功能模块。
3 、具备独立设计并开发某个系统的能力
比如设计和开发AUTOPATCH 系统
4 、具备解决技术难题,设计架构的能力
比如开发网络同步仿真系统,开发一个中大型游戏制作工具
5 、具备整体架构,管理,协调其他人共同开发一个大系统的能力
客户端主程,服务器主程,引擎主程等
6 、技术director
制定技术发展方向,技术团队建立,技术管理等
在迈向每个阶段的过程中,伴随的都是巨大的工作量和工程压力。有时候是跨越1年的失败等等。在公司项目不成功时转换单位,重新开始,或者继续做为核心团队留在公司继续从新的机会做起,都是好的办法。但关键是吸取经验教训,尽量多学多练。并且结合自身长处发展。当然,游戏制作人员,最好还是依靠一个核心团队。成为核心团队的一员。
能够达到第三档的程序,已经是公司不可缺少的人才了。但往往程序员自身对自己的认识,和公司对其的认识,有时候会有差异。我碰到过一些人,脑子好用,写东西很快。各种技术都有涉猎。但总是不放心让他独立开发设计某个系统。哪怕是相对独立的工具。也会被搞得一塌糊涂。要后面人不停擦屁股。可自己还觉着自己水平很高。这种人浮躁,眼高手低,不愿意细致周全的做好一件完整的事。所以就可以看到他不停的跳来跳去,可在新公司的职位也没有见多么提高。公司非常重视交给一个程序员一件事,他是否能完整,考虑周全的把事情做完。哪怕时间长一点,也不能不做完。这会给工程带来致命的后果。
四、发展待遇
从自身经验出发谈一下公司是怎么考虑技术员工待遇的。
前面提到的6档,粗略了划分了待遇水平。其实到了第三档,你的待遇已经是这个行业所决定的了。而不是某个公司决定的。因为游戏业大量缺乏这样的C++程序员。如果具备这个水平,在几个大城市游戏公司找到工作并不难。大公司提升慢,还有我这种不到百人规模的公司要。所以行业价格才是公司要考虑的。如果给少了,软件项目的C++程序员流失会带来较大影响。但给的多,其实是 C++程序员自己的价值增长瓶颈。如果几年下来一直以为自己水平就该拿这么高,结果到了一家整体技术水平比较高的企业,就会彻底傻眼。这个时候再放低心态去重新开始,对技术员来讲就是件很艰难的事了。
在目前游戏行业技术水平普遍较低的情况下,哄抬程序员工资水平对程序员自身好处也不会很大。就算一个新手本来拿几千的水平,给他1万。他根本就不会知道自己到底有多少水。一年下来也就多拿了3-4万人民币。可耽误的是学习,影响了心态。而那些心态好,知道努力方向的技术人员,干个3-5年后如果有拿期权和股权的机会,比那些一开始虚高的人,身家就不知道高多少倍了。
c++程序员如何创业案例:Visual C++程序员 职业规划
有很多的程序员刚毕业时充满活力,经过几年的工作之后,激情就会慢慢消失,现在软件行业环境变化很快,一旦无法跟上行业发展的步伐,工作上就更难有所进境了。对于应届生,以前只要考得一个资格认证,会受到很多企业的青睐,现在证书满天飞,企业更加注重求职者的能力。应届生的第一份工作也是越来越难把握。很多人在求职的过程中开始转行。对于读者你,是否有职业的危机感呢?
对于应届生或者经验不多的程序员,或许有很完备的理论知识,但是公司衡量员工的标准是效益,谁能创造效益,就会收到重视。应届生往往很难找到一份满意的工作。第一份工作是职业生涯的开始,是需要慎重的,然而,究竟用怎样的标准选择工作呢?由于实践经验的缺乏,应届生不必关注第一份工作的薪水,时常听到一些人为找不到工作而发愁,他们已经接收到了几个公司的录取通知,但是因为薪水的原因,选择了放弃。其实没有必要攀比第一份工作的薪水,这在刚刚走出校园的大学生中是很常见的,然而必须明白,我们的工作经历可能要持续到60岁左右,是一场 马拉松 长跑 。起跑最快的未必是最后的胜者。刚踏足社会,在500强公司一个月大概能拿到4000左右的工资,有些特别才能的人会拿到8000左右,而5年以后,工资水平也就5000到10000了,增幅也是有限的。后面的年轻人追赶的压力却愈来愈大。所以第一份工作找一个符合自己专业的或者能力的公司去,你的开端会低点,但是你会有很持久的耐力。
在工作了一段时间后,有时会发觉自己的工作和想象相去甚远,甚至会觉得自己入错了行业。为自己的待遇没想象的好感到委屈。这时候需要冷静的思考一下自己的处境,看是否是因为自己过于理想化的结果。如果是,就有必要对当前行业的现状进行深入的了解,搞明白当前的行业发展在向什么方向前进,由于环境的突变,这点有时很难做到,但是适当的理性分析是很必要的。如果一味的埋怨下去,工作没有做好,还耽误了自己的职业发展。如果原因出在自己身上,比如说个人习惯等问题,就要看能不能改正一下自己的习惯,慢慢的适应当前的环境。
程序员在一个发展良好的工作上做久了,就会积累丰富的技术经验,再往后发展的途径有很多。到底该如何选择?要结合自己的兴趣和当前的技术水平。在做了几年的技术之后,对于程序员来说,可有几种基本的职业规划:技术专家、软件架构师、高级顾问销售或自主创业。程序员毕竟是偏重技术的职业,主要的发展方向会是资深技术专家。无论是那种领域,都要努力让自己成为专家,然后在发展为架构师。有些人当架构师工作一生,有很好的待遇,然而这种工作很有限,而且,在中国,架构师的需求量比较少。
我们想要达到的目标,往往就在起初确定了,而且注定了我们职业的目标不是一蹴而就的,相对于我们所能工作的年限来说,职业生涯可能要终其一生。然而我们在不同的职业阶段有阶段性的目标,应届生希望在工作上积累经验,经验达到了自己当初的所想,我们就离自己的最终目标近了一步。职业规划并不是一成不变的,会有很多的机遇和经历改变你的思想。但是不论你会有怎么的规划,都要把社会条件考虑进去。我们进入一个阶段,思想认识更加深刻,眼界更加开阔。有时会对自己未来的职业进行更加深入的思考。这时候是需要慎重的。我们都需要过一个阶段点评一下自己。看自己是否在进步,下一步又该如何做。我们发现现在的环境不能满足自己的发展要求,就要考虑换个合适的环境,或者考虑从自己的目标是不是过于理想化,适当的贴近现
实考虑一下。不论会作出怎样的决定,都要保证你在向进步的方向前进。不要因为一时的放松而断送了即将到来的目标。
工作是一件需要理智的事情,不要因为自己懂的多而在工作上耍个性,现在公司注重员工的团队意识,大型软件的开发过程,需要一队人的共同参与,自己耍个性并不能帮助提升你的工资,也可能阻碍你的职业发展。所以工作中要谦虚学习,努力的学习新技术,从别人身上学习优点,会帮助你发展的更好。
每个人依照自己的兴趣会有不同的职业规划,不要偏求自己的目标多么伟大。也不要轻视任何一个努力工作的人。职业规划不是一成不变的,很多人在不同的人生经历后会改变自己发展方向。但是有一条,不要希望奇迹的出现,勤勤恳恳工作是成功的基本法则。
追求目标的实现更多的是为了享受成功带来的欢乐,不要因为一时的攀比搞乱了自己的职业发展。如果你做好了自己的职业规划,那么,不要等待明天,从现在开始,行动起来吧!
c++程序员如何创业案例:
1.什么是创业
关于“创业”二字有必要重新学习一下,找了两个相对权威定义:
创业就是创业者对自己拥有的资源或通过努力能够拥有的资源进行优化整合,从而创造出更大经济或社会价值的过程。——网络 网络
创业是一种思考、推理和行为方式,它为机会所驱动,需要在方法上全盘考虑并拥有和谐的领导能力。创业必须要贡献出时间、付出努力,承担相应的财务的、精神的和社会的风险,并获得金钱的回报、个人的满足和独立自主。——互动网络
两者都给出了明确的创业定义,这里想着重想强调一下创业的目的:物质目的和精神目的,现代社会唯金主义人群不乏少数,提到创业自然而然想到“赚钱”,其实创业的目的不仅是“收入大于成本”,还有精神丰收。按照网络+互动网络的说法,最终极的创业应该是个人物质精神、社会物质精神四丰收。
当然,不是人人创业都追求“四丰收”,完全可以只追求个人金钱丰收,或是追求其中的任何一项或几项,但要注意——千万不要损害未选的,比如为个人赚钱损害社会或他人利益。
2.怎么才算创业成功?
创业的成功(这里定义为达到创业初级制定目标)一定是依赖于合理的目标+个人的努力+合适的方法+良好的运气+主动把握机遇,各个条件没有顺序也没有主次,但这五点缺一不可,相互有机结合才有可能成功。
成功的创业往往在最初一两年甚至五年或更长时间收入会低于预想,亏本很正常,只要目标坚定,不断改善,因为独立自主,上升空间会很大。
当然每个人的想法、定位都不一样。你想创业,那你想创个什么规模的事业?什么才算得上事业有所成?
如果你认为腾讯、阿里巴巴这样的才算“业”,那么我建议你最好别轻易去“创业”,即使你比马云、马化腾等人更聪明,也未必能成就这样的业,因为机遇不同。
如果你只是想比一般打工的更强一些、更自由一些,收入比打工要高一些,能养家糊口同时还有点闲钱,那你随时都可以去创业!
3.创业的方法、步骤都有哪些?
每个人都有适合自己的路子,不能说通用,只能算是一点个人心得吧。
(1).必须建立一个网站,这是你在网络上的“门面”,可以展示你的作品,也可以让别人通过这个网站找到你。
无论是否程序员创业,都应该有个网站。网站的传统主要目的是为了宣传,现代网站还可能有互动、管理、实验等多种功能。需要注意的是,无论哪种功能,当没有积累到一定程度,即不知道网站上放什么内容的时候,不要建网站,更不要抄袭别人的内容,切忌打肿脸充胖子,金玉其外败絮其中。和字如其人一样,网站也反映企业的 文化 底蕴;
(2).早期,猪八戒之类威客,作为你早期练手和积累人气还是可以的;
(3).真没客户找的话,可以开个淘宝店,接软件定制(我认识有几个网友都是这样干,并且干得还不错);
(4).也可以主动出击,去一些外包网站寻找客户,比如GAF、Elance、GetACoder、ScriptLance等站上有很多外包的信息,大家可以自己上去看看;
(5).最好的方式还是自己定位一个产品,用心把这个产品做好,然后努力去推广,推广好了的话,以后卖注册码、卖授权就够了。
4.产品该如何定位,什么样的软件才能写?
这个问题,有很多网友都问过我,他们总在担心,现在几乎各种软件都有现成的了,都被占领了市场,这时候自己该写什么软件呢?
我觉得,首先该问问自己,你的软件、产品,需要达到什么样的程度、占有多少市场才行?要超越那些成熟的软件吗?那是很难的,不仅仅是技术层面,还有用户的积累这都是很难超越的。
这些成熟的产品,都是通用的,适合大多数用户,但总是有部分用户的需求是不同的。那么你的产品,未必要超越谁,只要能满足这些不同需求的用户、能做出一些特色功能,那你就能占有一定市场、拥有一定用户。
5.创业应该注意的一些事情
注意积累、项目的成功和失败都要积累,每个项目都要 总结 ,为下一个更大项目更省时省力地完成做准备。
无论是守株待兔或主动出击,首先不应接违法、违背道德的单子,其次无论单子大小,都应该当做一个正规项目完成,即(按具体情况)需求分析、签订合同、设计、编码、测试、写文档等步骤逐一完成。比如完整项目一共有十五个步骤(有国标),小单子可以选关键五个步骤,大一点的单子相应增加。若不会,可以自学软件工程师、IT项目管理的相关课程。
这里想着重强调一下“烂笔头”的重要性。虽然设计、编码、测试、文档等都可以用计算机完成,但是往往不及白纸黑字的效率。因为其一:计算机屏幕容纳的信息量不及纸张,即屏幕大小往往会限制你的思路。其二:大脑思考的速度快于手写速度,而手写速度要快于敲键盘、点鼠标的速度,也就是说,手写更能跟上思考速度。
想要做大做强,不可能一直单干。这时就需要组团了,就需要学习新知识,变为新身份、进入新领域。而主动出击一般需要一个团队。
所谓创业难守业更难,何来守业——创新。好的产品、代表作,或是好的服务固然需要,但是如何保持?这时要不断创新,或者说是一如既往的创新,围绕主要产品不断改进,不断与时俱进,不断挖掘潜能,不断比竞争对手稍好一点。
起初仅是学技术的阶段,无需注重写什么软件,哪怕是一无所用的工具,或是已被写烂的“通讯录”、“记事本”、“快捷启动”,都可以,着重积累。附带一句,无论学什么语言也无所谓。
多使用其他成品软件,善于发现优缺点,归类整理,着重对其他软件的缺点思考,并结合实际用户的需求,用户的不方便就是商机。
6.经典案例
(1).外贸公司边打工边创业
一位在外贸公司打工的网友,因为自己工作上经常要做一些重复的工作,就自己编写了一个工具软件,自动完成这些工作,提高工作效率。一开始在同事之间使用,经过同事们提意见之后逐步完善、增加功能,成为了一款功能比较完善、操作比较方便的软件。然后他想,既然自己公司工作上用得上,其他同类公司应该也有需求吧?就开始在附近的同类公司里推广、销售这款软件,慢慢的积累了一定的客户,这名网友就辞职了,专门销售软件,收入颇丰。
(2).小网管成立软件公司
一位在网吧工作的网管,平常工作比较轻松,很多时间自己操作电脑、学习编程,偶尔到网络上接点小软件定制,赚点外快。越做自己技术越好、客户也积累越多,最后辞职,自己在家接软件定制,后来自己做不过来就成立公司,专做外包。
(3).发现真空市场的创业历程
某网友,一直都想创业,但苦于没找到适合的项目,无从开始。一次偶然的机会,在一个IT交流群里,另一个网友发给他一个软件(单机版),问是否可以做,当然可以做,一个简单的单机版办公软件嘛,这有何难?但是这个网友并不想长期做外包,于是去调查使用这个软件的行业,发现这一行业居然还处于信息化真空状态。世面上基本上没有一套该行业的管理系统。
之后去 拜访 网络上的那位朋友,联系系统的需求方,是政府部门里的人。开始调研这套系统的需求,发现需要做的不仅仅是一个单机版,是一套基于广域网的协同办公系统。开始谈价格,价格分为研发费用,安装费用,以及维护费用。仔细评估下来,客户给的研发费用实在是太少。价格陷入僵局,为了能拿下这套系统,为了占据这个行业,这名网友决定自己垫资进去,开发出这套系统。
不管怎样,开始着手做吧,不为别的,只为梦想!开始组建团队,租场地,买设备。一个月后,经过大家的努力,终于把Demo开发出来了,开始与客户一起到各政府部门、各个企业去演示。效果还挺不错,客户反馈说,很多企业需要安装。
这就表明,最初垫资进去开发是正确的,安装的企业一多,自然就开始盈利了。创业的第一步算是成功了。
D. 编程专业怎么样,有没有前途啊
学什么都要看自己的爱好,比尔盖茨的成绩也不好,但他能够称上世界计算机界的老大。所以,如果你选择了计算机领域,就需要热情和付出。你应该知道计算机的更新换代是飞速的,计算机的技术也是日新月异,需要不断的学习,不厌其烦。
软件是深奥的,领域是广阔的。软件应用并不是看看书就可以学会的,你要转变这中想法。一款发布的应用软件,不管是小或是大,都需要很复杂的过程,才能形成:需求分析、设计、编码、测试、维护等。现在java,c#这些编程语言都是做应用的。
另外学习编程,首先学习的是编程语言,而且是多种语言。语言不善多,要善精。面试的时候如果你说你什么语言都学得很好,其实是被面试官鄙视的。哈哈,因为每个语言的精髓可能都没有学到。所以我建议你在语言的选择上要慎重,java是应用领域的,c是在底层发展的。
软件这个行业,其实很累的,能够出类拔萃的人,都是兴趣高的人,倘若把编程序看做是在玩游戏,那么不被老师知晓都难!不出类拔萃都难!
E. matlab软件是什么软件有什么用途
MATLAB是一款主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的软件。
一、MATLAB软件的简介:
MATLAB由美国mathworks公司所发布,主要应用方面是数值计算、可视化程序设计、交互式程序设计等高科技计算环境。
它集数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等各种十分强大的功于一个易于使用、便于观察的视窗之内,可以为科学研究与工程设计等工作以及其他需要进行有效数值计算的众多科学任务提供了一种具体而又全面的解决方法。
同时,MATLAB还在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。
二、MATLAB的主要功能有以下几个方面:
1、进行数值分析。
2、可以带入数值和符号并进行相关计算。
3、在工程方面,还可以利用科学的方法绘制复杂精确的图像。
4、运用于控制系统时,可以进行设计与仿真等内容。
5、在面对数字图像时,可以对图像进行处理,编辑图像的内容。
6、可以对数字信号进行处理。
7、在通讯系统中,可以完成设计与仿真等任务。
8、除了工程领域之外,还可以应用于财务与金融工程的分析与仿真等工作。
(5)怎么使用编程软件编一个追赶游戏扩展阅读:
MATLAB在使用时,显现出以下强大的优势特点:
1、利用强大的数值计算及符号计算功能,能使用户直观简便地进行繁杂的数学运算分析。
2、MATLAB具有全面、强大的图形处理功能,可以轻易实现计算结果和编程的可视化。
3、MATLAB的用户界面十分简洁,接近数学表达式的自然化语言,使学习者可以很轻松地学习并掌握。
4、MATLAB内部备有功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。