开发卡牌类游戏的技术框架 本人主要学习的是java的框架方面的技术?

学习java三大框架的总结
hibernate的工作流程?
读取hibernate的配置文件
读取映射文件,并创建sessionFactory
打开session
开启trainsaction事物
进行持久化操作
关闭session
关闭sessionFactory
struts2的工作流程?
当浏览器发送一个http请求,
根据web.xml,请求被filterdisp接收
根据struts.xml配置,找到要有调用的action类,并执行相应的业务方法,
执行完毕根据struts.xml的result跳转到相应的jsp页面
数据库连接池的机制?
当服务器启动时会创建一定数量的池连接,并维持不少于此数量的池连接,客户端程序需要连接时,
池驱动就返回一个未使用的池连接并将其标示为忙,如果没有空闲连接,池驱动就新建一定数量的连接,新建连接的数量由配置参数决定,当使用的池连接调用完成后,池驱动程序将此连接标示为空闲,等待其他调用,
转发和重定向的区别?
转发是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址,把那个url的相应读取过来,地址栏中还是原来的地址,
重定向告诉浏览器重新去请求一个地址,浏览器的地址栏里显示重定向后的地址,
mvc是一种分层的设计模式
m代表模型层,一般采用(javaBean后Ejb组件)
v代办视图,表示层,一般采用(jsp)
c控制器,他控制着模型和视图的交互过程,达到相互调用的目的
spring框架的作用
使用spring进行整合,好处降低各组件之间的关系,达到解耦的目的,其核心是IoC和Aop
Ioc控制反转,其实就是依赖注入,就是通过某种方式把接口的某个实现类的实例注入到引用里,
aop称为面向方面,可以将共通处理的功能独立封装成一个,利用spring的Aop机制将其作用在其他的目标对象方法上。
spring中的事物有哪些
声明是事物 和 编程式事物
最经常用的是声明式事物
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'Java学习网()提拱开发者的故事:他们在上演游戏的破釜沉舟做游戏的上辈子都是折翼的天使,在很多时候,面对缓慢的项目进程或者这样那样的作品缺陷,多数开发团队都会向玩家解释“整个团队正在加班加点的奋斗”、“没日没夜对着电脑”、“资金实在不足,办公环境又很恶劣”……等等等等。哭惨这招确实比较有用,当然惨也是事实啦,俗话说得好,会哭的孩子有娘疼,那么我们今天来看看一家独立游戏开发工作室,他们不哭惨也不哭穷,在拿不到工资的情况下,他们的心愿竟是把手头上的游戏开发完。做第一款游戏,他们偷用大学教室办公今天要介绍的主角是来自丹麦的独立游戏商 BetaDwarf,这家公司最开始被人所知是 2012 年年底通过 Kickstarter 为他们的游戏《Forced》(中译《强制》/《迎难而上》)筹集到 65,413 美元用于开发,因为工作室把钱全部投入到了研发当中,因为资金短缺,制作组成员交不起办公室房租,甚至偷偷跑到奥尔堡大学一间废弃的老教室“借住”了七个月之久。工作室老板 Steffen Kabbelgaard Gr?nning 谈到这件事的时候还笑得出来:“我们住进了这间教室并且不打算回家,于是把微波炉啦、冰箱啦这样的东西都搬了进来。8 个人挤在一间屋子里度过了一个假期。当有一天一个冒失的讲师闯进这间教室的时候,我们都惊呆了。”随后 BetaDwarf 成员被赶出了办公室,并且被迫在一个偏远的地方租了一间办公室,继续游戏开发。2013 年,《Forced》在 Steam 上架,获得了成功。《Forced》是一款采用斜 45 度视角的 RPG 游戏,BetaDwarf 称之为“《暗黑破坏神》遇上《求生之路》。”游戏持多人模式,非常有欧美特色,力争通过更加经典的传统模式和等级系统为玩家们带来一场场惊心动魄的冒险旅程。在游戏销售收入的支撑下,BetaDwarf 才拥有了真正意义上的办公室,员工也增加到 18 人。做第二款游戏,他们发不出工资了随后 BetaDwarf 开始投入制作第二部作品《Forced: Eternal Arenas》(强制:永恒竞技场),该作是一款 ROGUELIKE + 卡牌的 3D 动作对战游戏,BetaDwarf 把它成为“《暗黑破坏神》遇上《炉石传说》”。这第二款游戏也是通过 Kickstarter 众筹来维持开发的,众筹页面上可以看到工作室详细的进度表和报告计划书,在 Steam 平台已经开始预发行,正式发售要等到 2016 年年初。然而就在不久前,Kabbelgaard 向员工宣布一个坏消息:公司马上就没钱了。要是换成别的公司,到这个地步就该考虑收拾收拾走人了吧。然而老板 Kabbelgaard 却提议大家能否留下继续工作,直到把这个新游戏完成。“老板一定是疯了”,不知道有没有人心里这样想。从今年 10 月开始到 2016 年年初几个月间,开发者们将拿不到一分钱,但更疯狂的是,公司上下全都接受了这个提议。无薪,继续,直至完成。没钱很要命,但能坚持就再坚持一会吧之所以能够表现得这么伟大,是因为 BetaDwarf 的成员们都在做一次赌博:他们赌自己手上开发的这个新游戏一定可以大卖,销售收入足以补上这几个月的工资(实际上他们原本领的工资就不高),因为这家公司对收入分配有非常特殊的规定:所有雇员都能够得到来自游戏销售收入的分成;员工将分享公司总收入的 50%,三分之一收入将被用于公司发展,剩下的 15% 收入则会流向克比加德和他的创业合伙人。从目前来看,《Forced: Eternal Arenas》的发售前景非常不错,欧美媒体和玩家对它都表现出很大兴趣,不过老板 Kabbelgaard 反思公司陷入困境的原因时认为当年决定将《Forced》移植到 Xbox One 和 PS4 实在耗费了太多资金、时间和精力,所以这一次他们应该不考虑主机平台了。如果有可能,移动平台倒是一次很好的机会。当然我们得先为这家工作室祈祷未来这几个月一切顺利(毕竟北欧的冬天并不好过),有些员工甚至得借钱度日了。“这是一次赌博。我们有可能获得高收入,也有可能血本无归。”Kabbelgaard 坦言。“但我觉得无所谓。我当然希望《强制:永恒竞技场》大卖,但就算它销量不好,我也不会认为自己是在浪费时间。我很荣幸与这群志同道合的伙伴们一起创作游戏,创作自己真正热爱的游戏。”和某些借众筹之名做预售广告、借情怀光环拼命掩饰不足的大厂相比,这家小工作室告诉了我们什么才是励志的真·情怀。微信号:javalearns
后续强劲功能陆续上线哦分享是一种美德、关注是一种智慧
请↙↙↙点击“阅读原文” ….Java学习网(javalearns) 
 文章为作者独立观点,不代表微头条立场
的最新文章
Java学习网()提拱如何不用那么担心成为一个坏程序员我无意中发现了“冒Java学习网()提拱零编程经验的我是如何找到工作的四个月前,我从一所代Java学习网()提拱程序员的走与留?初级开发人员在他们的职业生涯早期必Java学习网()提拱写给即将离开校园成为一名程序员的几句忠告转眼间又到Java学习网()提拱程序员成熟的标志  程序员在经历了若干年编程工作之Java学习网()提拱软件开发人员的“七重苦”  软件开发这个行业无疑的Java学习网()提拱程序猿的骄傲,以及骄傲背后真实的原因引言程序猿,这Java学习网()提拱初级还是高级开发者,到底区别在哪里?这听起来是一个Java学习网()提拱构建最牛b的技术团队就是这么个简单的事儿!  导语Java学习网()提拱不要轻易在简历上写我热爱编程,我热爱学习  看纯银Java学习网()提拱程序员如何经营个人品牌 提到段誉,我们就会想起凌波Java学习网()提拱你与其他程序员可能常犯的 6 个错误 我担任 CTJava学习网()提拱成为更优秀程序员的关键:更多的阅读虽然我一直以来都Java学习网()提拱一个前端开发者的自我修养今天给大家分享的主题是前端Java学习网()提拱做博士还是做一个专业的程序员?当我从大学毕业获得计Java学习网()提拱程序员才看得明白的面试圣经面试过程本节概述了硅谷公Java学习网()提拱资深程序员是如何用五年时间攒够100万的100万人Java学习网()提拱8个方法让你成为更优秀的程序员现在是时候认真考虑提Java学习网()提拱每个程序员应该阅读的10本经典书籍书籍是知识和智慧Java学习网()提拱给初学编程的人的新年干货一、这多东西啥时候能学完?Java学习网()提拱陪伴我作为程序员的9句名言  我发现名人名言能激励Java学习网()提拱程序员的内心需求  上周我从三个哈尔姆斯塔德大学的Java学习网()提拱我曾得到的最佳编程建议  这是一个有关于我得到的一Java学习网()提拱加班是什么,可以吃吗?  加班是什么,可以吃吗? Java学习网()提拱程序员的生产效率源于需求,而不是工具!  你确定你Java学习网()提拱程序员的幸福观  “想不明白你这么卖命的工作是为了Java学习网()提拱只缺一个程序员  我进入大学之后开始学习网络编程,Java学习网()提拱一个IT人士的个人经历,给迷失方向的朋友这些日子我Java学习网()提拱程序员面试技巧总结闲聊在深入代码之前,大多数面试官Java学习网()提拱编程赚钱的7个方法几个星期前,当我收到一个自称SoJava学习网()提拱更快学会任何东西的终极指南  在这个资讯爆炸、新东Java学习网()提拱你真的需要了解多种编程语言吗?我在谋杀自己的职业生Java学习网()提拱微软程序员最好的时代来了每过一段时间就有人跳出来说Java学习网()提拱对程序员说点实在话  我个人是一个程序员,关注weJava学习网()提拱自学编程的人,都是怎么找到自己的第一份工作的?每年Java学习网()提拱程序员的困境近日笔者采访了几十位求职内核程序员这个Java学习网()提拱零编程经验的我是如何找到工作的四个月前,我从一所代Java学习网()提拱程序员"青春饭"问题之我见  1. 问题描述  问Java学习网()提拱从事IT, 中国IT人员最值得骄傲的时候   大学Java学习网()提拱构建最牛b的技术团队就是这么个简单的事儿!  导语Java学习网()提拱想学编程并不难 这样做就可以了  不论你是想自己设Java学习网()提拱程序人生的寂静欢喜  “程序人生的寂静欢喜”——怎Java学习网()提拱工程师如果没有自学的能力,还是转行吧  每天我都有Java学习网()提拱给自私自利程序员的10大职业谏言  假如你想在ITJava学习网()提拱低级程序员和高级程序员的区别  低级程序员认为自己Java学习网()提拱程序员应该做开源项目的 6 个原因开源开发人员都是Java学习网()提拱从菜鸟到总监!成为优秀设计师的10个必备技能引言:Java学习网()提拱程序员的有效学习策略九月初我在新西兰举行的KiwiJava学习网()提拱当程序员的技巧:你的努力和勤奋一定要让别人看的见 Java学习网()提拱优秀的代码是反复修改后创造出来的 近些年来,越来越javalearnsJava学习网免费提供java语言学习知识分享,我们的宗旨是"免费学习Java,成就人生梦想"!热门文章最新文章javalearnsJava学习网免费提供java语言学习知识分享,我们的宗旨是"免费学习Java,成就人生梦想"!java方面主流的技术有哪些_百度知道
java方面主流的技术有哪些
注意:本回答更专注于javaweb方向的主流技术作为参考!首先明白,java目前有两大方向:一是javaweb,二是安卓开发(请自行查找相关知识学习);无论做哪方面的java开发,javase也即是java基础部分是必备知识,其中包括:(1).Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。(2).Java面向对象编程的三大特征——封装、继承和多态。(3).通过异常的编写和使用来体验Java的异常处理机制。(4).通过对象的存储与检索来体验Java集合的强大功能。(5).通过文件的读写与传输来体验.Java对I/O的支持。(6).通过反射机制的讲解来体验Java语言的动态特性。(7).有兴趣还可以学习线程,网络编程,垃圾回收机制等JDBC的了解和练习,数据库知识掌握要求一定扎实。html+CSS+DIV,jscript,jquery等必须有一定的了解和基础甚至是熟练应用jsp ,servlet ,过滤器,拦截器,xml进行掌握学习,并且认识MVC的开发模式(注:设计模式和算法等都是穿插学习的,也是很重要的!)掌握了以上技术的原理后,可以进行SSH框架的学习,三大框架依然为现在相当流行的主流框架,Mybatis等框架,框架是为了便于开发,不等同于使用框架就足够了,背后的原理一定掌握熟练。svn &git maven等团队开发的东西需要了解。&java的技术很丰富,上面所述仅为参考,欢迎更正补充,谢谢交流。
其他类似问题
为您推荐:
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:
  1、模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。
  2、视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。
  3、控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。
  4、一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动...
主流技术?JAVA?晕...看什么平台J2EE,J2ME...太笼统了..每的都有好多分枝,选好方向,再看吧,学的多不一定好
可以参考下
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁优秀的程序员如何思考、学习新技术的原则和方_经验巴士
>优秀的程序员如何思考、学习新技术的原则和方
优秀的程序员如何思考、学习新技术的原则和方
先看下面这样的困惑:最近了解了几个MVC的框架,其中有两个是公司内部的。发现这些东西都是类似的,从处理逻辑到页面渲染;从service到layout;配置的实现无非就是XML,或者annotation……我有种感觉,兴许已经跳不出这个思维圈子了?如今的时代,是一个概念翻飞的时代,oschina里的开源软件数量就已经超过了两万,五花八门的技术层出不穷,到底什么技术才是值得学习的?有位朋友说,他想学习一些关于Android上的开发技术,兴趣驱使。几个月过去了,他说他已经能做出许多小程序了,可是他现在回想起来,掌握一门技术是好,可兴趣之外还有什么呢?他说,“如果我的工作中不使用Android平台,我学它还有何用?”。学习技术到底是一件有意思的事,还是一件痛苦的事?读书的时候,我曾经买过侯捷翻译的《深入浅出MFC》,对那时的我来说,似乎太困难了一点,我强迫自己看完了三分之一,实在是没有毅力继续往下读了。我在其中察觉不到快乐,这本书在当时似乎充满了生涩。如上这样的故事太多了,很多时候,程序员们(包括我在内)辛苦地学习,有的没有好的效果,有的过程充满痛苦,有的更是不知道我学它的目的是什么。国内的教育体制,培养了这样一批人:他们努力、奋进,热爱技术,愿意投身软件行业,愿意写出高质量的代码,他们对业界的东西很感兴趣,他们愿意学习扎实的基础知识,他们渴求火热的新技术……几年以后,他们拥有广泛的视野,阅历宽阔、经验老到、言辞犀利,对行业动态了如指掌,显然,他们是行业的博学者。然而……他们却缺乏这样一种能力——思考。欠缺思考容易导致这样的现象:不会做设计遇到了问题,拿见到过的、学到了的熟悉的框架、方案、模式往上套,而不仔细分析其中的利弊,只是尽可能地寻找最接近当前问题的解决途径。有的是不会做系统设计。和少数所谓的“架构师”接触过,他们“只懂业务,不懂技术”,这样设计出来的系统只能满足功能性需求;而论坛上的一些具体问题的讨论话题,则暴露出一些跟帖讨论者“只谈技术,不提业务”,譬如“XXX大容量的解决方案”、“秒杀系统的终极架构”,企图对某一类宽泛的问题,设计出一套放之四海皆准的通用解决方案。还有的则是不会做面向对象设计,缺少抽象和解耦的能力,这样的例子就更多了。朋友告诉我,他的单位有一位写Ruby的老员工,一个庞大的工程,代码里面居然只有一个上帝类,就搞定了所有的问题。不能坚持自己的观点这一点在面试中最容易观察到。应聘者有刚毕业的学生,也有工作超过10年的有丰富经验的从业者。他给出一个粗略的方案以后,在方案没有细化到一定程度以前,很难给出优劣的评论,但是,如果你轻轻地challenge一下,他就迅速放弃本来的构思,跑到你的思路上来。例如,SNS系统中,服务端有消息要怎样通知到客户端,这样的一个问题,解决方案有很多种,比如客户端轮询、服务端hold住连接推送等,各有利弊。应聘者应当有自己的观点。不能细化一个问题解决方案怎样区分一个空谈家和一个实干家?给他一个具体的问题是最好的办法。在我刚工作的时候,我曾经很钦佩那些在活动中、讨论中高谈阔论的人,我觉得他们很能说。可是后来我逐渐发现,能说的人实在是太多太多了。细化设计、甚至落到编码,才是对一个程序员真实的检验。当然,如果你觉得做软件设计的人可以不熟悉编码、架构师可以不首先是一名高级程序员,那我们也没有什么可谈了:)。如果你会学习,你可以成长得很快;如果你不会思考,你永远只能跟在别人后面。在新技术的学习上我认为也应当多思考,不同的人有不同的学习动机。在非外界所迫的情况下,对于新技术的学习,我的观点可以概括为:它要解决什么问题,就是所谓的问题域,是我关心的吗?我没有去研究操作系统底层的实现,并非这没有价值,而是我没有兴趣,这就是问题域的影响(不过现在我有兴趣了,我想做一些这方面的事情)。和过往解决方案它的优势在哪里,是否显著?这是competition,重复的技术是没有生存空间的(当然,你是微软的话除外:)),就像互联网同一个类型的网站,竞争到最后就那么两三家。就像Groovy,我很喜欢它,但是有了Scala以后,我觉得兴许有一个要死掉(Groovy创始人说,如果他早些知道Scala的话,就没有Groovy什么事了。具体的报道请去Google上搜他的blog)。它的实现和带来的效果上看,有没有很有意思的思路,是值得借鉴和思考的?这是最难讲的一个问题。以去年初开始接触的Node.js为例,它可以做到把后端的聚合(譬如portlet之流)放到前端来,后端只保留一种类型的页面服务——页面模板,以及若干易于管理的API接口,大大简化了后端体系的复杂度,而且还能把压力分散到前端来,这是我早些年不曾见到的。这三个问题想过之后,觉得有价值,我才去学习。要不然,对我而言就是不想深入的东西,了解了解也就罢了。新技术学习的方式呢,我想说这么几点:寻找切入点我很喜欢BlueDavy的blog上的一句话:“理论不懂就实践,实践不会就学理论!”。最后最好是要落到动手实践上去的,但是倘若习惯从那些原理介绍的文字入手,未尝不是一种不好的选择。而且,现实情况会有一些约束,例如在了解几家互联网公司的云平台的时候(Amazon的EC2,M$的Azure等等),除非你是这几家公司的员工,否则是很难深入其中的。寻找自己的兴趣点学习应当是一件有意思的事情,当你的大脑排斥它的时候,我不相信可以很容易地掌握这门新技术。如果你找不到兴趣点,那么,不妨回到我前文对于新技术是否值得你学习的观点上去,既然你没有什么兴趣,你学它干嘛?西安软件培训善于比较比较是一种非常容易上手的思考方式,和什么比较?和相似技术比较,和操作系统、网络这些基础设施上面的例子比较,最后,和生活中的例子比较(譬如,JAVANIO的实现是一个很好的例子)。不断获得回馈回馈是什么?做出一个HelloWorld的例子,就是一个极好的回馈;理解某一项实现原理,联想到其它类似的实现,产生一种恍然大悟的感觉,也是一种回馈。在学习的过程中,不断产生回馈,意味着你不断地收获成就感,这是继续下去的动力之一。   
 文章为作者独立观点,不代表经验巴士立场
Copyright @ , All Rights Reserved 粤ICP备号-4arkliszeng
& & 我的《凤舞三国》--即时动作策略类网络手机戏从策划到实施如今已经过了16个月了,终于到今年4月(2016年4月)有望出一个内测包给众多期望代理偶家产品的发行们。蓦然回首才发现,偶从2011年3月进入手游开发行业如今已经过去5年了~ 不由发出一声感叹:“光阴如梭、人生苦短啊。”&
& &我们也像其他众多小游戏公司,在2014年确定了开发三代即时动作类网络卡牌游戏的目标,因为先找到了一个非常好的美术外包合作伙伴,所以当时我们非常有信心8个月能够定搞定该游戏。我们当时认为:就游戏产品开发来说,美术首先是一个充分条件:如果美术都不能打动开发者,以及其他发行商,那么不必从策划上和程序来实现这个产品。一个好的美术资源是一款成功游戏产品的前提,并且现在我们还是这样认为。因此,我们花在这款游戏美术资源外包上就花了150多万RMB,并且这还是只是前期上线的美术资源。当然,光有美术不可能就是一个好游戏,接下来策划和程序实现是必要条件。没有好的策划,并且没有好的程序保障实现策划的要求,那么美术投入也是白搭。从参加2015年GMGC大会到今年参加DoGame游戏兵工厂的路演,我们发现,其实真正展示即时动作类卡牌游戏产品的中小游戏公司很少,为什么?因为,做了之后才发现,即时动作网络游戏真的技术上实现难度很大。先不说网络通讯时长连接与短连接技术实现与切换的问题,单就怎么实现流畅的多人即时战斗效果就非常难,这里还不包括各种特效的技术实现,比如多目标攻击、追踪技术、范围伤害、buffer效果等等AI技术的准确实现是非常难的。因此,这也是为什么到2015年一大批想开发即时动作类卡牌游戏的小游戏公司都死了。先不说小公司的美术是否能够过关,就单从程序技术上想要实现,并且要达到《刀塔城传奇》产品那种细节效果,这本身就是一个非常难的技术门槛。那些创业失败者说这种三代卡牌游戏是烂大街的游戏,简直就是胡说八道,因为真正能够做出这种产品的小公司到目前我就还没有看到过,当然除了我们公司。
& 好了我们现在就从技术来说吧。首先游戏程序员要面临一个问题:那就是策划案会不断变更~这是一个所有的游戏公司都会存在的现象。如果策划不变,那就不是在开发游戏,那是在做练习项目--逗你玩儿呢。也就是说你不是在游戏公司上班,你是在某某游戏开发培训学校上课呢。你可能说,先实现功能再说啊。对,当你先实现了一个功能,可是实际上会马上出现策划们让我们要这样改,还要那样改的情况。。。于是,如果你不想好了怎么从程序结构上应对策划的变更,那么你就会每天加班到死也做不完。你会不断重写这个、重写那个,最后,你都不知道怎么写了。因为,已经太多、太乱、太复杂了--最后只有36计走为上了。如果你的老板不懂程序,或者你的主管不会写代码,那么你还可能会找一些优美的盾辞跟老板说--“我要离职,因为偶看不到产品的希望,请批准我离职吧”--呵呵~这种行为很可耻。
& 刚才我说过了,所谓即时动作类游戏,那就是游戏运行时必须即时表现人物的打击感、受伤害、加buffer等视觉效果,以及即时表现相应的数值响应,包括网络通讯哦。要让10个人物加各种特效流畅的实现战斗效果,这种要求其实是非常难的。因为,要实现10个人中每个人都要攻击、受伤、死亡、中断、击退的效果,而每一帧只有一个这样的状态存在,并且下一帧还要根据别人对你的攻击、辅助等来计算下一帧自己的状态,这是一个乘法运算次数:10*4*10。我们以一屏10人战斗,不算技能,每一帧的至少需要运算400次循环,在这一帧中要求计算一个人物是否攻击会其他9个人,同时其他9个人还是否攻击了你。。。想一想这样的即时运算,单让你想一想可能的if语句就是非常头痛的事情。而我们的Cocos2d-x
3.0.2引擎每秒呈现60帧,也就是说你需要在大约17毫秒内完成这第多运算啊~不做不知道,一做才会吓一跳。怪不得一般的小游戏公司只会做单机游戏,不做网络游戏,怪不得一般小游戏公司只能做技术实现比较简单的游戏。其实,这种技术难度要求高的游戏,真的一般只有大游戏公司才能够做啊:首先,美术他们可以保障:有钱啊呀,买得起;其次,程序技术实现可以保障:有钱啊,请得起这种高级程序员。所以,在游戏圈里看到很多2014年下海创业的人员,然后2015年失败后又回去打工的人一说起即时动作类游戏就怨气很深时,我现在已经非常能够理解了他们了。这不是装逼,这是实话,因为我已经走过来了。
& 前面我还说了,游戏公司的程序员必须直面策划的不断变更--这是必须的。那么,在客观上也要求我们程序员必须要想办法从技术上解决这个问题。于是问题来了,我想什么办法来解决这个问题呢?如果,你是一个刚大学生的菜菜鸟,你会怎么办?我看只有凉拌--想怎么写就怎么写呗。如果你原来是Java程序员又或者是C#程序员出身,你又会怎么办?一般你会想用OO的思想呗。好,那么问题又来了,如果你像我一样使用Cocos2d-x引擎纯C++语言来开发,那么怎么把你过使用Java或者C#开发过的OO思想使用C++语言正确的体现出来呢?如果你想用过去的OO思想让C++语言表现,那你一定会发现:这件事情本身也就是一个非常困难的事情:C++不支持反射,C++没有那么多现存的框架可用,包括你想使用一个第三方的C++正则表达式库都很难。。。你以前的编程经验在这里会受到严峻的挑战,所以,你一定会迷失方向的:我怎么现在就OO不起来了呢???我们的程序设计怎么那么难啊。。。结构怎么设计得这么复杂,对象之间的调用关系怎么这么乱呢,大编译一次怎么需要这么长的时间啊。。。我们的类都多到让VS编译器瘫痪了。。。还有,
& &如果你中途加入一个没有OO思想的所谓有两三年经验的程序员,那么你还会经常跟他吵架、争论,并且回答他各种奇葩的问题,于是你看他时觉得他是火星人,他看你时觉得你是猿人。你们根本不在一个频道上。。。最后你说:“好吧,这个功能我来写吧,你不用管了。”&
& &那就这样吧,大家都各做各的功能吧,相互独立就行了三。但是,当你做QA角色需要进行代码审核时,如果你看到火星人的代码,你会非常纠结和痛苦:&为什么他要这样写代码啊?&你一边看他的代码,一边不停的问自己,最后还要一边想办法不让自己暴走--这种感觉真是让人非常抓狂~于是,如果火星人负责的功能出了问题,并且这个火星人又辞职走了,那么你只能重新自己写一遍该功能的代码,而绝对不会去改火星人的代码的。
& 唉~终于过去16个月了,我们产品终于要出测试包了。看到现在产品实现的效果--我觉得以前所受的痛苦是值得的。因为,即时动作类网络卡牌游戏开发真的很难啊。我写这篇文章是想感谢我兄弟小强,感谢我的团队陪我走到现在。也写给未来的希望进入这个行业的小团队,如果你想使用纯C++做即时动作类网络游戏产品时,你一定要知道这是一件非常困难的事情,光有想理解是不够的,你一定要有足够的技术贮备,这样走起来才不会很困难啊。
阅读排行榜

我要回帖

更多关于 java的框架 的文章

 

随机推荐