2019独角兽企业重金招聘工程师标准>>>
过年这段时间,无聊就开始练习做游戏开发,由于经验不足,而且自己规定限制在20天之内完成,因此只能瞎子摸象,一步步摸索 。没有游戏代码样本、没有H5游戏经验、没有前端开发知识 。
练习目标:做个棋牌游戏玩玩 。
1:选择游戏引擎,这个开源的有很多选择,比如egret、、-JS、等,可以根据自己的选择,我这里选择,开发语言是 。
【python+Layaair引擎学做html5棋牌游戏开发】2:游戏服务器,H5游戏一般用做主要的协议,可以的话在中用协议来和服务器通信,我这里选择了做服务器 。
先说明一下,涉及到了网络传输和数据库等操作,不会比其他语言慢,因为服务器不是用来密集型计算的,而是在于IO,服务器主要耗时在于读写数据库和网络传输 。此外目前在手游中做为服务器的比例越来越高 。
游戏服务器设计:
文章插图
文章插图
游戏服务器 table,play类等:
table类主要属性包含:
tableCase#目前房间状态,空闲 抢庄,准备,投注,结算等等tablePlays#游戏玩家tableZhuangjia#庄家tableforbiddener#黑名单 tableRoomer #房主tableModel #房间模式 ,抢庄或者指定庄家tableroomCard#当前牌桌的总局数,超过局数就结束tableCurrent#当前牌局的局数.........................#等等tableMaxpeople#房间最大人数
table类主要方法包含:
def currentTablecase()#当前桌的游戏状态def rwqueue()#当前读写队列def exeEvent()#服务器间隔10帧执行的队列def register(self, newer)#当前牌桌加入新成员def createRoomIni(self,user,message):#游戏玩家创建房间初始化参数设置等等def ready(self,user):#玩家准备def qiangzhuang(self,user):#玩家抢庄def getzHuangjia(self,user): #得到当前牌桌的庄家..........................#等等def putQueue()#队列,客户端发送的数据保存在table的队列
等等,还有很多的方法不一一列举了,
play类主要属性包含有:
userId,username,token#等等LastRequestDate#上次请求时间NetBroken#网络中断时间,是否重连selfcase #当前玩家空闲 抢庄,准备,投注,结算等状态touzhuData#投注数据等等..........................#等等socre#玩家分数
等等,还有很多的属性不一一列举了,
文章插图
客户端的设置:包含界面、动画、缓动、滤镜等动画 。
1:.ts//主要是处理连接服务器,接受等处理
2:sound.ts//声音的播放处理
3:tween://主要是一些元素的缓动处理
4:ani//一些动画的播放处理
5:work.ts//游戏逻辑的处理
文章插图
文章插图
文章插图
- 关于规则引擎的介绍 规则引擎
- 电子地图、地理信息系统 专业的GIS开发引擎介绍
- 超详细解读+快速入门 一文快速了解ClickHouse 战斗民族的开源搜索引擎
- 《Drools7.0.0.Final规则引擎教程》第4章 4
- 360搜索:支撑百亿级网页搜索引擎的架构!
- 关于各大引擎网站收录问题
- 120 Hazel游戏引擎将C#脚本融入ECS
- 导购场景下的Groovy脚本引擎实战
- SAE 阿里云云原生加速器企业硬之城携手阿里云 Serverless 应用引擎
- UE4引擎Android打包只生成apk而不需要obb文件