Socket套接字是通信的最基本方式, 在游戏中的服务器和客户端之间通信, 以游戏登录为例, 客户端先创建Socket, 然后把玩家的用户和密码以及登录服务器的IP地址, 端口号这些数据写入到Socket中传送到服务器端, 服务器会做监听, 接收到消息后, 打开读取Socket信息进行处理比如验证信息的正确性, 然后服务器创建Socket, 把传送给客户端的消息写入到Socket, 发送给客户端, 客户端也会做监听操作, 客户端接收到消息后, 客户端打开Socket, 读取消息 。 客户端和服务器之间的通信方式如下所示:
在TCP/IP协议中有三次握手, 通过三次握手可以建立一个可靠连接, 效果如下图所示:
三次握手在服务器端程序员面试中, 经常被提到, 掌握了TCP/IP协议后, 接下来进入实兵演练阶段, 也看看自己对网络这块掌握程度 。 以Unity为例, 可以学习TNet超轻量级的网络传输, 因为它没有数据库, 但是可以很好的验证学习的TCP协议以及Socket套接字, 自己可以在此基础上再尝试做一些消息传递, 最后要学习一下服务器存储所需要的数据库MySql 。
学习数据库的安装, 数据库操作比如新建表, 插入数据, 删除数据, 读去数据等, 掌握数据库后, 接下来就需要通过游戏服务器编程对它进行操作了, 建议先学习网上的PhontonServer, 它是使用C#编写的, 方便开发者学习, 另外它提供了Unity实现的Demo, 开发者可以调试连接, 从而熟悉Mysql 。
以上这些知识也是作为服务器开发者必须掌握的, 掌握了这些技术后, 继续提升的最好方法是去公司跟着项目走, 在后面章节还会给读者介绍关于如何架设真正的游戏服务器以及知名IT游戏公司的服务器架构设计以及服务器负载均衡的设计, 最终会介绍如何搭建全球同服服务器 。
游戏编程怎么学 第一就是游戏逻辑, 也就是与平台无关的游戏逻辑的开发 。
第二部分是游戏引擎, 大部分会用到一些引擎的工作流、一些各种系统封装好的高层的API 。
第三部分是weapp, 小游戏的框架是参考了webview的框架, 但其实它的底层不是webview, 而是webview精简优化过的平台, 小游戏有的只是与核心相关的一些渲染的API 。
这里的weapp-adaper是把小游戏的能力适配到与webview更接近的环境, 让更上层的游戏或引擎本身能够更快速地集入到平台中 。
总的来说小游戏的入口为game.js, 游戏可以利用底层的一些能力将游戏的整个界面绘制出来 。 配置文件为game.json主要用来配置小游戏是横屏还是竖屏, 小游戏的全局对象game Gobal类似于webview中的window对象, 同时支持javascript语言 。
但是小游戏有一个重要的一个限制是禁止动态执行代码, 开发者必须先提交审核, 在审核通过后才可以上架给普通用户 。 另外, 小游戏包括引擎的代码量比较大, 所以限制大小比小程序要大, 首包限制大小为4M 。
怎么用编程开发个游戏? 做游戏开发需要学习c++cocos2dx、unity3d引擎、c#等知识 。 2D游戏通常是为手机开发的, 一般使用的开发工具是Cocos2dx, 使用的开发语言是C++ 。
如何学习入门的游戏编程 自己学编程做游戏需要学习、了解以下几样东西:
1、知道自己想做什么类型的游戏, 手游、主机、PC, 明确后选择游戏引擎 。
2、目前市面上主流的引擎是Unity3D、虚幻四, 2个引擎的脚本语言不同、游戏类型不同, Unity是C#, 偏手游, 而虚幻四是C++, 偏主机和PC游戏 。
3、学习C语言, C++或者C#至少要精通其中一门, 熟练掌握基本数据结构、基础的算法、设计模式后, 就算新手入门了 。
推荐阅读
- 手机知识|黑鲨手机是哪个公司的,腾讯黑鲨游戏手机是哪个公司的
- 手机知识|三星手机怎么截图,三星手机怎么截屏的4种方法
- 手机知识|三星手机怎么样,华为和三星建议买哪个
- 【种植方法】朝天椒种子怎么种植方法 朝天椒的种植方法
- 白萝卜怎么腌制好吃
- 西兰花怎么收种子
- 电脑知识|cad修剪命令怎么用,cad二维齿轮修剪命令怎么用
- 电脑知识|cad剖切符号怎么画,cad怎么标注剖面线a—a
- 电脑知识|cad外部参照怎么用,CAD外部参照显示不出来
- 电脑知识|cad经典模式怎么调,2016cad经典模式怎么调回来