从Web后端(Java)转到游戏服务端的感受

article/2025/10/9 23:52:43

九零后的男生几乎都是玩电子游戏长大的,做游戏开发几乎是每个九零后男生从小就有的梦想吧。我的大学时代,正好与移动Web高速发展的时代重合了,大学里几乎所有同学都是做Web方向的开发,Web前端,Java后端等等。大四的秋招阴差阳错的就投了一家游戏公司,允许Java后端转到游戏服务端,而且团队的大佬还是与我同校同专业的比我大五届的师兄。看在缘分,我就被招了进去。

技术感受:Web后端跟游戏后端的区别:

1、从成熟程度上说,Web的框架比游戏的框架要成熟很多,比如Java后端的框架技术,Tomcat、SpringMVC、Struts2这些公开通用框架已经帮我们做好了监听端口,分发请求等相关工作,而且性能还非常优秀;而游戏后端并没有众多优秀的开源框架,可能需要从零开发,从监听端口,应用层协议一步一步的自己定制。

2、从关注点上说,由于Web已经有很多成熟的框架,业内的规范非常明确,所以代码的分层非常明确。但游戏服务端更多的是闭源代码,各种写法各种骚操作层出不穷。从业务的逻辑复杂度,肯定是游戏服务端比较复杂,毕竟游戏里各种超越现实的需求。web大部分场景是CRUD操作,请求间比较独立,容易扩展和负载均衡。

3、从存储上说,有的并发较低Web系统可以不用NoSQL,只使用关系型数据库。而游戏讲究实时性,会大量的使用到NoSQL,如:游戏中的角色信息发生改变时,会先存在NoSQL中,然后通过一系列存储计划才会同步到数据库中。
    此外,Web经常会数据库中读取配置,而游戏是几乎都是在服务器启动时将配置文件加载到内存中,使得可以快速读取配置(如:装备属性,怪物属性等等)。
    最后,web的习惯是遵循数据库三大范式。然后游戏由于经常增加或优化系统,如果每次增加系统都要建表或加列,就会影响程序开发时间。所以经常是将一堆数据拼json后,再存进数据库的text字段,如"{‘lev’:100, ‘power’:10000,‘eqm_list’:[], ‘xxx_list’:[]}",当然,使用mangodb会更爽。缺点就是条件查询起来比较困难。

4、从连接上说,Web端更多是HTTP或HTTPS的短连接,游戏端更多是WebSocket、TCP等长连接。

当然,游戏后端和Web后端从本质上来说是一样的。

风格感受:

感觉游戏公司的人看起来都好年轻,好有活力,很多大佬看起来就二十三、二十四岁,但实际已经30+了。最大的原因可能是因为游戏人时刻都充满Creative吧。

最后附一张自己脑补的服务器流程图:

在这里插入图片描述

总结(转自https://www.ctolib.com/topics-120912.html):
游戏行业的后端相对于互联网应用来说,其开放性和标准化并不完善,这就导致了很其他行业看游戏有一种神秘面纱,隐秘而封闭。

造成这个原因有很多,游戏业务的复杂性以及受众群体小是主要原因,它不像web应用天生有开源组织和社区基因的支持,也没有互联网行业的如此大的受众面和影响力,除了一些比较出名的游戏引擎以外其他的功能组建都是有各个游戏公司基于自己业务逻辑自己搭建,每个公司业务方向不同又加大了知识的流通以及标准的建立,这对整个生态的发展已经产生了制约,特别是那些想加入游戏行业的新人来说,准入门槛较高,网上可找到的学习资料也很少。


http://chatgpt.dhexx.cn/article/D9hcq44q.shtml

相关文章

Python web后端开发框架 Django 、Flask、Tornado

深入学习Python ,用Django做Web后端开发现在Python的用途愈来愈广,服务器、Web、游戏、爬虫、数据分析 以及人工智能 学习之路还很长技术之路 不能回头 陷进去 就出不来 就跟恋爱一般,学习中、项目中 印象笔记、有道云笔记、Onenote都记了好…

Web后端框架Springboot创建和基础讲解(一)

Springboot是一款底层由java编写的web后端框架,前身是spring框架,相较于前身框架而言,继承了其良好的兼容性以及扩展性,并且舍弃了大量繁杂的xml文件,将其改为依赖注入spirngboot框架的容器中,节省了工作者…

Web后端开发知识点整理

Web后端开发知识点整理 九大内置对象 1:为了方便开发者而在jsp页面加载完毕时而自动创建的内置对象 内置对象名 类型 request HttpServletRequest response HttpServletResponse config ServletConfig application ServletContext sessi…

wed后端和java的区别_web前端和web后端的区别详细分析

原标题:web前端和web后端的区别详细分析 在刚开始从事web开发时,首先要选准学习方向,看是想从事前端部分还是后端程序部分。当然在工作的后期,就不会分的那么细致了。做前端到后期也会懂一些后端的技术,反之&#xff0…

web搭建服务器端+创建web后端项目详细步骤

一、搭建服务器端 Web服务器:用于响应来自Web客户端(如浏览器、移动应用程序等)的请求并提供Web页面和其他Web资源的软件程序或计算机系统。它允许用户在Web浏览器中输入网址,通过HTTP协议向服务器发送请求,并收到Web页…

我的 Java/C# web 后端开发技术选择

简单介绍一下,我的 Java/C# web 后端开发技术选择。与网上一般人所用,大不相同。 先来一个表格,以下是我常用的Java/C# web 后端开发技术: 我常用的Java/C# web 后端开发技术 技术分类Java webC# web数据库bonecp,commons-dbcp,co…

php后端技术 有哪些,web后端开发技术有哪些 ?

如果你想要从事web后端开发的工作,那么你就需要了解web后端技术有哪些?并且要学习掌握这些web后端开发技术。下面我们就给大家介绍有哪些web后端技术。 web后端开发技术: 1、脚本语言基础。主流的后端脚本语言有php、 java 、 python、C、C等…

web后端开发php,web后端开发主要做什么?

应用程序或web服务可以分为两大部分:前端和后端。从这些名字可以猜出他们的角色。前端是你可以“看到”的部分。它是让你与应用程序或服务交互的部分。颜色、动画、布局以及所有其他增加你使用应用或网站体验的酷东西就是前端。前端通常称为用户界面(UI)。后端是你看不到的部分…

Web后端基础知识

文章目录 前言一、web基础知识1.web开发使用java的优势2.web前后端分离有什么好处?谈一下各自的职责。3.POJO和Java Bean?4.Tomcat容器(应用服务器)谈一下?5.Servlet谈一下?6.Servlet的生命周期谈一下?7.Servlet的三大…

web后端(javaWeb)

文章目录 1.javaweb简介2.XML3.Tomcat服务器4.Servlet15.1协议互联网通信模型5.2HTTP6.servlet27.JDBC8.JSP9.JSP中的文件下载和上传10.请求重定向和请求转发的区别11.Cookie 和 Session12.谷歌验证码的使用13.Filter过滤器14.ThreadLocal 的使用15.JSON和Ajax请求15.1JSON 在 …

GIMP基本功能和教程!

以剪贴板为内容创建一个工作布:SHIFT CTRL V 或者:File -> Create ->From Clipboard 取消选择:SHIFT CTRL A 或者:Select -> None 反选(选补集):CTRL I 或者&#xff…

GIMP教程 4 图层

图层可以说是现代制图软件的精髓,也是最根本地区别于纸质制图的地方。 GIMP呼出图层窗口的方法也很简单 点击【窗口----可停靠对话框----图层】 或者直接使用快捷键 ctrlL 便可呼出图层窗口 剩下的,就跟所有其它制图软件一样了。 还有问题可联系作者…

GIMP教程 5 选择

选择的意义在于限制作用范围,即,使所有操作只对选择部分有效, 不会“误伤”未选择部分。 gimp提供了多种选择工具,参见工具箱前几个按钮, 或者 【工具----选择工具】中按钮列表。 使用左键拖出选择范围&#xff0c…

教程:GIMP中怎样移动选区

教程:GIMP中怎样移动选区 更新历史 20190421: 首次发布 在GIMP中,一个常用的操作就是:选中某图层中的一块区域,然后对其进行移动。以下为教程。 注:完成以下教程时,使用的软件版本为 GIMP 2.10…

教程:GIMP中改变画布大小

教程:GIMP中改变画布大小 更新历史 20190428: 首次发布 在GIMP中,一个常用的操作就是:需要在不做缩放的情况下对图像进行扩展(或裁剪),即将画布增大(或缩小)。以下为教程。 注:完成以下教程时,…

gimp 抠图_gimp软件如何实现抠图?

抠图伴随着很多从事图片处理工作的朋友,能够实现抠图效果的软件有很多,但是能够很快速的达到效果的软件我觉得还是gimp最简单,下面我们可以看看GIMP软件使用前景选择工具实现抠图效果的详细步骤技巧。 GIMP软件实现抠图效果的详细步骤技巧&am…

使用GIMP抠图

文章目录 使用GIMP进行抠图,然后再使用一些工具例如python库PIL进行paste,这样就可以实现数据增广。 下面详细说一下步骤: 1、在GIMP软件中打开图片; 如图, 2、比如把上图中的银行卡给抠下来,可以长按 ctr…

GIMP 教程:如何在 GIMP 中创建曲线文本

当你在 GIMP 中制作一个徽章、海报或其它任何作品时,你需要扭曲或弯曲一些文本。多功能的GIMP工具提供了一些创建弯曲文本的方法。取决于你将如何使用它和你想给予文本的弧度,有一些适合不同情况的方法。 在本篇教程中,我将向你展示我最喜欢…

GIMP教程 3 扭曲变换工具 (瘦脸 瘦腿)

这个功能在ps里叫液化,在gimp里叫扭曲变换。 将鼠标切换为扭曲变换工具的方法有以下几种: 方法1: 点击【窗口----新建工具箱】,快捷键是 ctrlB ,呼出工具箱菜单 点击 扭曲变换,鼠标就切换成扭曲变换工具…

【GIMP教程探索系列】GIMP将照片修改为符合要求的证件照吗,修改尺寸与像素,压缩图像大小

【GIMP教程探索系列】GIMP将照片修改为符合要求的证件照吗,修改尺寸与像素,压缩图像大小 对于图片的处理,笔者推荐使用开源软件GIMP,由于其强大的功能可以几乎实现所有的高级图片的操作处理,以及其开源的特性&#xf…