webgame开发简明教程

webgame开发简明教程 webgame开发简明教程(1)研究所有点缺乏资料啊。讨论的问题怪怪的。只有很少是能用到的。一、简单的程序框架。webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中才能体现数据流程。数据流程相当的麻烦,后面再讨论。比如最简单的卖买产品。要实现这个功能。那么需要有产品基础表、产

大家好,又见面了,我是你们的朋友全栈君。

 
webgame开发简明教程(1)
研究所有点缺乏资料啊。讨论的问题怪怪的。只有很少是能用到的。

一、简单的程序框架。

webgame程序构成:

三大部分。

第一是数据流程。第二是程序。第三是美术。

其中,数据流程包括了功能。也只有在功能中才能体现数据流程。

数据流程相当的麻烦,后面再讨论。

比如最简单的卖买产品。

要实现这个功能。

那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。

表的问题都简单了。关键是这个物品有什么用。这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。

最后,这些数据得绕成一个圈。

绕圈是一件困难的事情。特别是功能和道具多了起来的时候。难度是2的n次方。

美术:

UI。简洁漂亮的界面总会有好处。

小图标。道具,地图,装备。一类至少10个吧?大体上百把个是需要的。

程序分5个部分:

服务器定时器。(C语言或自己设定服务器)定时循环执行某一段代码。而这段代码主要是根据数据库的数据进行更新。这个可以找个C语言程序员来做。对于C语言程序员来讲,这个功能是相当的简单。当然,具体的处理数据的判断和操作数据库,需要你自己写。让C语言程序员给你段标准代码就行了。完全支持sql语句的。

功能页面、功能函数。主要就是数据存取,判断,数据走向。

ajax函数。(可选)某些需要伪即时的功能要用到。

javascript函数。(可选)模拟客户端的数据计算。也就是webgame的与时间相关的数据。分为两部分。一部分是真实数据,是由服务器端的定时器计算的。另一部分是只有初始值,客户端显示用的。不需要即时同步,仅仅需要模拟同步就行。

webgame开发简明教程II(游戏模式)

一、游戏模式。

目前webgame游戏模式大体上可以分为以下四类:

1、玩家拥有一个城市,不断的升级城市内建筑,建筑可以自动获得物资,可以生产Army,Army之间进行对比数值的战斗。这里我简单的称为Ogame模式。

比较优秀的代表:战神世界II,Travian,Ogame,武林三国,纵横天下,领主online,乱舞春秋,热血三国,方便面三国等等。

这是一个比较成熟的模式, 但正因为成熟。因此,玩家接触到这类游戏比较的多,除非你能超过这些优秀的代表,否则就只是简单的重复开发。

对玩家来说:

优点:Ogame模式模拟一个君主,发动一系列战争。满足君主的成就感。

缺点:玩Ogame模式的游戏需要足够的耐心。当然有钱也行。

对开发者来说:

优点:有相当多的地方可以参考。甚至有源代码参考。(Ogame的源代码)

缺点:不管名字怎么改,策划怎么策划。本质没有变化。换汤不换药,玩家不是傻子。

Ogame模式所获得的成功,就像传奇刚出来的时候。不是因为这个模式非常好,而是因为暂时还没有更强的模式超过他。所以,如果你想做网页游戏赚钱,而不是好玩,或者仅仅为了架设一个自己的服务器。那么请从新开发一种新模式。

2、游戏的核心就是战斗,不断的战斗,不断的完成任务。这里我简单的称为Ebs模式。

比较优秀的代表:EBSII,web幻想(wog),无心宠物(论坛插件)。

Ebs模式也是成熟的模式。

对玩家来说:

优点:只管不断的战斗,完成任务,PK。

缺点:只能不断的战斗,完成任务,PK。

对开发者来说:

优点:有相当多的地方可以参考。甚至有源代码参考。

(wog( web幻想)的源代码,无心宠物的源代码)

缺点:收益到底如何呢?

3、mmRPG模式游戏。

猫游记、英雄之门、昆仑(昆仑不应该算网页游戏了)。

模拟具有客户端的网络游戏。本身这个想法非常好,但是,谁来玩是一个问题。

对玩家来说:

优点:类似有客户端的网络游戏。

缺点:画面、游戏性等等都比不过客户端网络游戏,要玩mmrpg,有必要玩网页游戏吗?

对开发者来说:

优点:模式清晰,参考众多。(大部分网络游戏都可以作为参考)

缺点:策划难度高,技术难度高。

4、经营模式游戏。

武林足球经理、XBA篮球经理。

经营类游戏在游戏消耗上,和成就感上比较难处理。毕竟不是单机的经营游戏。

如果策划够强,经营类游戏是很好的选择。

那么,作为开发者来说,选择哪一类入手呢?

从程序的角度上来说,不管哪一类,都需要六个系统。

二、网页游戏六大系统

1、经济系统。

经济系统包括:商店、拍卖行、生产或打工场所、道具和资源。

生产或打工场所通过 玩家 消耗时间 产生道具和资源。

商店 让玩家和系统进行道具和资源的交互。

拍卖行 让玩家和玩家之间进行道具和资源的交互。

2、消耗系统。(战斗、战争、比赛系统。)

不论是哪一类网页游戏。都是以下12个模式中选择某几个组合。

1玩家vs 1 NPC

N 玩家 vs 1 NPC

N 玩家 vs N NPC

1玩家vs 1玩家

N 玩家 vs 1 玩家

N 玩家 vs N 玩家

1团队 vs 1 NPC

N团队 vs 1 NPC

N团队 vs N NPC

1团队 vs 1团队

N团队 vs 1团队

N团队 vs N团队

比如,无心宠物,就包括了

1玩家vs 1 NPC

1玩家vs 1玩家

比如,战神世界,就包括了

1玩家vs 1 NPC

1玩家vs 1玩家

1团队 vs 1团队

N团队 vs 1团队

3、消息系统。

短信息,系统通知,游戏内邮件等等。

4、任务系统。

任务系统是对以上系统功能的集合。有了功能,自然就有了任务发挥的空间。

5、公会系统。

游戏始终是人跟人玩。所以公会系统是重中之重。

6、地图系统。

虚拟的世界环境。可以是复杂的图片地图,也可以只是几个数字。

分析6类系统到底是做什么。

1、经济系统。

相信大多数开发者都做过电子商务类型的网站吧,要不商店类型的网站做过吧。

再不然,一个产品列表总做过吧。

ok,网页游戏中的商店跟一般的网站商店非常类似,而且可能更简单,因为你不需要购物车。

拍卖行,如果你用过淘宝、易趣的拍卖功能,你就知道是怎么回事了。

经济系统的难点是:

生产或打工场所、道具和资源。

生产或打工场所:

你至少需要完成一个计时器,一个生产类,一个打工类。

生产类和打工类都只需要有:

开始() 过程() 结束()

开始():数据初始化。如判断体力是否够啊。材料是否够啊之类的。

过程():可以什么都不做。

结束():产生了什么产品。

计时器用来配合处理什么时候执行开始(),什么时候执行结束()。

道具和资源:

道具最好整合到一个表里。加上如itemtype(道具类型),itemaddtype(道具增加属性类型),itemaddpoint(道具增加点数)之类的字段。

你可以很好的处理装备、药品等等。

2、消耗系统。

消耗系统比经济系统复杂。因为它涉及到一个个具体的功能模型。

比如1玩家vs 1 NPC的模型。

你可以通过纯js处理,也可以通过ajax配合后台编程语言处理。

比如一个完整的过程:

1、获得初始数据。开始计时。

2、模型过程。比如攻击一次,攻击XX个回合。

判断,循环模型过程,或模型结束。

3、模型结束。返回数据。

难点在模型过程。当然,你可以简单的,提交模型数据后,等待多少分钟,返回另一堆数据。目前很多网页游戏就是这样处理的。

你也可以做得很复杂。比如做成即时的回合模型。(例如无心宠物的商业版玩家战斗模型)

甚至你够牛叉的话,你做成战棋类模型。当然,这个对策划,对程序都是严峻的考验。

最大的问题是:一个模型往往不够,可能需要多个模型。

获取数据、返回数据都是比较简单的。模型功能本身,比较复杂和繁琐。

因此,我强烈建议,模型最好做得具有开放性以及方便扩展。多写几个虚类,多写几个接口,可能会很有好处。

我也参考了一些网页游戏的代码。但是,纯函数的写法,纯过程的写法,写出的模型。。真的好难用。没办法直接用。数据和模型交杂在了一起。Ogame是这样,无心宠物是这样,wog也是这样。

没有足够扩展性的模型,还不如自己写。修改花的时间更多,而且非常不好用。

3、消息系统。

参考一般论坛的短消息功能。很简单。

游戏内邮件,如果可以邮寄物品,那么会困难一些。但是只要前面的道具类完成好了。增加一两个字段不是大问题。

4、任务系统。

整合前面的功能。形成任务链。

大概需要几个表:

1)任务基础表

id

位置id

任务类型一(打怪/寻宝/等等)

任务类型二(单一任务/连续任务开始/连续任务过程/连续任务结束)

任务进行状态(开始/中断/取消/未接/完成)默认:未接

任务开关文字(连接文字或图片,点击触发)

任务开关图片。

任务文字描述。(说明任务的具体内容)

是否一次性任务。

是否有前置任务。

前置任务id

是否有后置任务。

后置任务id

任务开始NPC

任务结束NPC

2)任务完成条件

id

任务id

任务完成类型 (无条件/需要物品/需要属性/都需要/等)

物品id

物品数量

玩家属性

玩家属性达到值

3)任务完成奖励

id

任务id

物品id

物品数量

玩家属性

玩家属性增加值

任务完成开关文字

任务完成开关图片

4)任务记录表 (记录只能执行一次的任务)

id

角色

任务id

任务进行状态(开始/中断/取消/未接/完成)默认:开始

5)任务临时表

(记录可以多次执行的任务,开始即写入,完成即删除或备份。)

(连续任务,当全部完成时再删除或备份。)

id

角色

任务id

任务进行状态(开始/中断/取消/未接/完成)默认:开始

6)NPC表

id

NPC名字

NPC图片

NPC对话

任务系统是对前3个系统功能的总结和升华。对游戏性和易玩性相当重要。

5、公会系统。

公会是一个类似虚函数的东西。

公会说,进攻某个地方。

这时候,如果有多个公会玩家去进攻某个地方。从1v1,形成了貌似Nv1。

公会本身,不用管玩家到底如何进攻法。

公会系统和任务系统结合。能够产生很强大的游戏成就感。

6、地图系统。

网页游戏的地图系统,其实跟网站导航很类似。

不同的是,网站导航可能只需要几个连接就行了。

地图系统会复杂一些。可能有图片,连接更多,有的还需要自动生成。

有的是XXX*XXX个点(图片或连接)组成。

个人觉得看成是模板就行了。最简单的就是地图系统(不同于网络游戏,还需要检测碰撞、寻路,一大堆算法)。当然,你要做成跟网络游戏很类似的地图,那也没办法。找本游戏开发的书看,都有讲。

总结:

经济系统、消耗系统、消息系统是基础。

任务系统、公会系统是升华。

地图系统是容器。

三、如何分析网页游戏的优缺点

站在开发者的角度:

分析网页游戏,就是分析它的六大系统如何。分析网页游戏的核心,就是分析它的消耗模式。

Ogame模式的游戏:

经济系统:中级,生产场所自动生成。没有单人打工。有商店,拍卖行不健全。道具不丰富。

消耗系统:出兵战斗,等待时间,返回战斗结果。

      发现敌人有进攻,转移资源。

附加型的英雄模式,对出兵战斗有一定影响。

消息系统:初级,站内短信息。有的加个简单聊天室,大部分是通过论坛。

任务系统:中级,修建任务,获得道具任务,战斗掠夺任务(实质还是获得道具)。

公会系统:中级,集合多人兵力的兵营。没有公会任务。公会内简单的消息发布。

地图系统:中级,有的有图片,有的是数字和列表。表现了一定的距离关系。

Ebs模式的游戏:

经济系统:初级,通过战斗获得道具和资源。没有打工,没有生产。有商店,拍卖行不健全。道具不丰富。

消耗系统:战斗。继续战斗。

消息系统:初级,站内短信息。

任务系统:初级,不断的战斗。

公会系统:初级,简单的玩家集合。没有公会任务。公会内简单的消息发布。

地图系统:初级,没有地图。或者地图就是几个连接。没有距离关系。

mmRPG模式的游戏:

经济系统:初级,通过战斗获得道具和资源。没有打工,没有生产。有商店,拍卖行不健全。

消耗系统:战斗、合成。

      附加型的人物养成。

消息系统:中级,站内短信息,局部聊天室,全局聊天室。

任务系统:中级,战斗任务,传递任务,合成任务,升级任务(其实也是战斗任务)。

公会系统:初级,简单的玩家集合。没有公会任务。公会内简单的消息发布。

地图系统:中级,有地图。有距离关系。地图关系比较复杂。

经营类模式的游戏:

经济系统:中级,有生产场所自动产生资源。有打工,有生产。有商店,拍卖行。

消耗系统:比赛任务、生产场所获得更好效率。

            附加型的人物养成模式。

消息系统:初级,站内短信息。

任务系统:中级,比赛任务,传递任务。

公会系统:初级,简单的玩家集合。没有公会任务。公会内简单的消息发布。

地图系统:初级,简单地图。有的有距离关系,有的是简单的图片连接。

上面写的等级,只是一个大概的概念,仅作参考。

个人观点是,初级的系统有可能在投入较少的情况下,获得质的提升。

中级的系统,很难获得更高的提升。当然,牛叉的人例外。

四、完善旧有模式,开发新的模式

Ogame模式的游戏,从系统的角度看,能获得提升的地方不多了。因此都是在比美术,比运营。

还没听说哪个小公司,因为运营ogame模式的游戏盈利颇多的。盈利的都是大公司,一年几百万,上千万的都有。

(注:最近的数据,可能充值量更高的都有。)

Ebs模式的游戏,能获得提升的地方满多的。但是都不是核心的消耗系统的提升。而是其他系统的提升。

消耗模式不断的打怪。本身有一定的硬伤。游戏的平衡很难保证和保持。但如果小公司运营,还是有可能盈利的。包括无心宠物,EBSII,做好了。只是广告收入都很可观的。运作得好,一年10万20万,问题不大。但是不能跟大公司运营的Ogame模式游戏比。

mmRPG模式,提升空间很大,投入很大。竞争对手很强大。竞争对手,就是有客户端的网络游戏。这也是mmRPG模式网页游戏的硬伤。

收益上,看平台本身够不够大,够大的话,能维持。平台小了。等着倒闭。不推荐个人或小公司介入。不过还是那句话,牛叉的人除外。

经营类模式,有一定提升空间。(其他不太清楚也不太懂)

再回头看看六大系统。

经济系统 消耗系统 消息系统 任务系统 公会系统 地图系统

其中,区别最大的是消耗系统。其他5个系统都有一定程度上的雷同。

因此,个人开发者,以及小开发团队或小公司。

五、要想在竞争中脱颖而出,可以向着三个方向发展。

一、通过策划,让原有的系统的模式产生新的游戏感受。

如:
www.webgame.com.cn   的web航海。对Ogame模式的修改值得借鉴。虽然是航海游戏,但核心模式没变。比较巧妙的把Ogame模式转化为了探险类的游戏。

这类修改,将6个系统重新进行了一定的包装。对新玩家有较强的吸引力。但对老玩家,效果不一定好。因为模式并没有改变。

这个方向,需要策划相当的强悍和敏锐。

二、开发新颖的消耗系统。或者说游戏性较高的小互动游戏。

比如:七日工作室开发的病毒游戏。(该连接有一定时效性,最新连接在
http://www.zhwebgame.com 上。七日工作室群:70996701)

因为一个扩展性良好的消耗系统,可以很方便的放入到已有的游戏中。并且其自身也可以演化出很多新的消耗系统。

比如病毒游戏,通过它的模式,可能演化为,房地产抢土地的游戏;战争中,争夺至高点的游戏等等。

三、开发除了消耗系统外的其他系统。或者说叫做网页游戏框架。

因为不管你消耗系统如何新,如何好玩;始终需要其他系统支持。而其他系统的功能,可以说很难有较大的突破。

能突破的就是:

如何方便数据的管理修改;

如何方便组合这些功能达到策划目的;

如何留好合适的接口,以方便的与消耗系统结合。


小结:

选好一个方向,并做到比较高级的水平。这是网页游戏开发者比较实际的方向。

如果能够把这六大系统都做到新颖、实用、高扩展性、代码简单易懂。那么可以预见,一个成功的网页游戏必然出现。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133796.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • dp怎么接显示器和主机_电脑dp接口能单独接显示器吗

    展开全部可以使用。DP在传输视频信号的同时对高清音频信号传输支持,同时支持更高的分辨率32313133353236313431303231363533e4b893e5b19e31333433633362和刷新率。但是,液晶显示器虽然有DP接口,它的作用只是能连接DP信号线,而不可能100%按照DP标准去运行。原因是,其受液晶屏面板限制,分辨率和刷新率不可能跟上显示卡提供的信号的分辨率和刷新率,因为…

  • 简述Python垃圾回收机制「建议收藏」

    简述Python垃圾回收机制「建议收藏」引言许多高级语言都具有自己的垃圾回收机制,以管理计算机内存,Python也不例外。对于垃圾回收机制的了解程度,成了开发人员是否真正了解Python的检验手段,在面试的时候许多面试官也喜欢以此作为题目考察面试者Garbagecollection(GC)概述现在的高级语言如java,c#等,都采用了垃圾回收机制,而不再是c,c++里用户自己管理维护内存的方式。自己管理内存极其自由,可…

  • 史上最全安装Maven教程「建议收藏」

    史上最全安装Maven教程「建议收藏」史上最全安装Maven教程简单了解一下什么是Maven1.Maven翻译为“专家“,”内行”的意思,是著名Apache公司下基于Java开发的开源项目。2.Maven项目对象模型(POM)是一个项目管理工具软件,可以通过简短的中央信息描述来管理项目的搭建,报告和文档等步骤。3.Maven是一个项目管理的工具,可以对项目进行构建、依赖的管理。PS:(Gradle的项目搭建方式,将在不久的未来取代Maven,大势所趋。原因如何?小Du下期为您揭晓)一.官网下载下载官网→_→传送门二.配

  • XGBoost使用教程(纯xgboost方法)一

    XGBoost使用教程(纯xgboost方法)一“无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。”一、导入必要的工具包#导入必要的工具包importxgboostasxgb#计算分类正确率fromsklearn.metricsimportaccuracy_score二、数据读取XGBo…

  • mariadb安装教程linux,Linux下MariaDB10.0.X最新版本的安装方法

    mariadb安装教程linux,Linux下MariaDB10.0.X最新版本的安装方法1.Linux安装环境CentOS7-64位,目前最新版本:MariaDB10.0.142.Linux终端命令行创建文件:vim/etc/yum.repos.d/MariaDB.repo文件内容:#MariaDB10.0CentOSrepositorylist-created2014-09-2809:10UTC#http://mariadb.org/mariadb/rep…

  • sublime GOPATH 设置

    sublime GOPATH 设置

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号