erlang游戏开发基本流程

本人入坑erlang也就1年多,希望大家一起学习,写得有不好,请多指教。

客户端和服务端的通讯

客户端和服务端的通讯是通过协议进行的,而协议的封包和解包格式可以参考该网址
https://www.cnblogs.com/bicowang/p/4263227.html
每个功能都有对应的协议,比如背包功能中的查看背包,客户端发请求协议给服务端,服务端通过查询数据,将物品Id,数量等数据通过协议返回给客户端,客户端进行显示。

游戏配置生成data文件

将策划配置的excel文件通过脚本语言,转化生成erlang的函数格式,然后通过key进行查询数据,后端的大部分初始数据都是读取配置的。

服务器的内存查询

玩家在线时,则将数据存在ets,进程字段,进程状态等内存中,然后下线刷库和定时刷库,但对于一些操作不是很频繁的,则可以实时刷库,比如活动领取奖励等功能,这样就不需要下线刷库了。

服务器网关

网关的主要功能有:

消息解析
与客户端保持连接
消息合法性验证
转发消息到业务服务
流量限制
版本验证等。
可扩展性
请求信息转发
详细请看https://www.cnblogs.com/wgslucky/p/9093149.html

服务器进程

基本的游戏框架,每个玩家都是一个进程,简称人物进程,然后其他功能再新建进程,比如帮派进程,副本进程,活动进程,场景进程等等,erlang的面向并发,所以进程的创建比较廉价。

服务器节点

erlang 的分布式比较强大,所以比较适合做跨服的功能,而跨服的设计,是一个中央服节点,管理其他游戏节点,每个服务器游戏都创建一个节点,然后连接中央服节点,而功能进程创建在中央服节点上,数据保存在中央服节点的进程上,然后再通过协议向其他节点进行通讯。

如果哪里写得有问题,请指出,谢谢。

erlang游戏开发基本流程相关推荐

  1. 游戏开发制作流程与分工

    游戏开发制作流程详细介绍 一.项目计划阶段 1.创意管理:第一步,是召开会议,在会议中最常见的方法就是采取"头脑风暴法".每个人都必须拿出自己的建议和想法,之后大家一起进行讨论.另 ...

  2. 手机棋牌游戏开发的流程是怎样的?

    最近几年,随着网络游戏的兴起,棋牌手游开发也越来越受欢迎,在国内,几乎随处可见从事手游和手游的公司.不过,虽然公司和产品很多,但效果也不一样,区别就在于,他们能不能掌握好这款游戏的关键.那么,在手机上 ...

  3. 游戏开发制作流程详细介绍

    一.计划阶段:首先,是项目计划阶段. 1.创意管理:第一步,是召开个会议,在会议中最常见的方法就是采取"头脑风暴法".每个人都必须拿出自己的建议和想法,之后大家一起进行讨论.另外在 ...

  4. 游戏开发的具体流程以及操作

    游戏开发的流程通常包括以下几个步骤: 需求分析:了解游戏的目标和需求,并确定游戏的设计规格. 游戏设计:制定游戏的策划文档,包括游戏场景.人物.道具.游戏规则等. 素材制作:制作游戏的素材,包括人物. ...

  5. 【游戏开发】C 游戏编程实例

    网络游戏开发分为:服务器编程.客户端编程.人工智能.数据库管理.游戏策划.美工设计.音乐特效等. 大型游戏往往需要团队合作开发,因此面向对象的编程思想在网络游戏中得到了广泛应用. 游戏开发基本流程:游 ...

  6. Blender游戏开发教程

    历时七个月,这本书终于写完了,直接发布两个版本:中文版和英文版. 这里是购买链接: ​​​​​​​Blender Market 资源商店(10美元) - 支持双币信用卡和PayPal Fast Spr ...

  7. unity 3d游戏开发_使用Unity 5开发3D游戏

    unity 3d游戏开发 If there's one thing cooler than playing games, it's building games. 如果有比玩游戏更酷的一件事,那就是构 ...

  8. (Unity游戏开发)五天时间做出一款饥荒类的生存游戏Demo,项目在手,还怕面试官不给offer?

    游戏行业作为当下最火热的行业之一,受到了很多人的喜爱,也有很多同学想要进入游戏开发行业,但常常找不到靠谱的学习资源,不知道如何在入行前拥有项目经验,我为大家准备了最实用的unity游戏开发学习资料,助 ...

  9. 网络游戏开发管理流程规范与方法技巧

    写在前面的话:这年头儿除了黄赌毒.房地产.医药行业外,也就属游戏这个行业爆发力最强,在许多年以前的我如是想,于是就进了游戏圈,这一回首快10个年头了.个中酸甜苦辣,你知道,我也知道.许多时候经验是需要 ...

最新文章

  1. 关于Zigbee的常识
  2. Python学习之路day03——010函数(类似Java中的方法)
  3. CDN架构以及原理分析
  4. android来电事件,android – 来电时没有响铃事件
  5. VMware关闭虚拟机系统后不见了
  6. cocos2dx 魔塔项目总结(一)
  7. Linux基础-2文件及目录管理
  8. textarea中输入多个空格或者换行时只显示一个空格的解决办法
  9. Golang 编译成DLL文件
  10. ElasticSearch服务器的搭建与使用
  11. 基于django的视频点播网站开发-step15-项目部署 1
  12. 压力传感器的误差补偿
  13. 几款比较有名的刷流量软件
  14. 未来中国最热门的十大职业
  15. 做头条问答项目,月入4000元到底有多简单
  16. 给定divId,滚动条滚到相应位置
  17. 2023年上半年软考报考指南~
  18. java对数据加解密_java 使用AES对数据进行加密和解密
  19. 阿拉伯数字转化为中文的数字(金额)
  20. linux预读大小,Linux blockdev命令设置文件预读大小

热门文章

  1. 中标麒麟系统u盘安装_国产操作系统中标麒麟安装教程及遇到的坑
  2. 文献检索报告软件测试,文献检索考核报告.doc
  3. 计算机跳过密码直接登录密码,小编传授win10免密码自动登录怎么设置 win10跳过密码直接登录电脑的操作教程...
  4. WordPress站点健康状态-session_start()函数调用生成会话REST API
  5. IDEA 2021免费下载(附安装教程)
  6. AS连接网易mumu、夜神等模拟器
  7. 镇平县工艺美学校计算机,镇平县工艺美术中等职业学校2021年学费、收费多少...
  8. wav、mp3和ogg格式浏览器的支持情况
  9. 快速解决U盘无法访问
  10. 《一起学》系列11:Redis入门