sunmes
2020-07-02 18:28:58 +08:00
游戏开发还要分两种,客户端和服务端.
(姑且认为业务开发就是网站开发)
服务端:
服务端和业务开发基本没区别,反正也是和数据库相关的打交道.
使用 HTTP 短连接的就基本完全一致了.
Socket 原生的也基本会有各种类库框架处理一些细节问题.
服务端的游戏逻辑和业务逻辑基本一致,用户角色,行为操作.
客户端:
客户端区别相对大一些.
通用的,比如涉及到 Android,iOS 这类平台化的差异,不过大部分游戏引擎都具备跨平台,所以实际上这块需要了解的可能并不需要太多.
然后一定的计算机图形相关的知识--纹理,混合,Shader 等等.
其它的就是和具体的游戏引擎相关的了.基本上就是引擎使用的熟练度问题。
和业务逻辑的主要区别大概就是需要考虑"显示"的问题
位置大小,动画效果,时序...
//=======================
基于 Java 语言的 有一个名为 “Libgdx”的游戏开发框架,可以自行尝试下.
直接官网下载 gdx-setup.jar
运行即可生成项目。(可以配置 Maven 镜像)
示例项目就是显示一张图。
你可以尝试:
给这张图增加按键监听,按下方向键,图片可以根据对应的方向键移动。
嗯,大概游戏开发整体都是类似“事件驱动”.
//=======================
游戏引擎(或者说框架)的概念可以自行查阅。游戏开发基本离不开 游戏引擎。
游戏引擎几乎个个语言都有。
但是有名的(或者说正式用的)引擎似乎就那么几个,大公司应该是有自己的自研引擎?
C/C++的游戏引擎应该相当多,不过我就了解过一个 SDL (Simple DirectMedia Layer)
(OpenGL 或者 DirectX 的 SDK 基本就是原生的 C/C++.)
移动端也有用到的我了解的大概就一个 Cocos2dx .
还有就是 Unreal(虚幻)了,这个引擎相当重量级...
JS 的游戏引擎也很多,尤其 H5 出来了这些年了.
比如 Cocos-Creator,白鹭 Egret,LayaBox 等等(这几个都是国内的,国外也是有不少)
Java 目前似乎就 Libgdx
针对桌面版的基本就是 OpenGL 的一些封装,比如 Lwjgl(Libgdx 桌面实现就是基于这个的)
C# Unity
Unity 感觉几乎就是移动端游戏开发的王者.
其它的一些 Lua -- LÖVE,Ruby - RPGMaker ? Python Cocos ?
Cocos 这个框架的一些概念还是很通用也很不错的,可以去官网文档看看.
Director- >Layer -> Node
//=======================
如果是想要从事游戏开发的工作,可以招聘网站上搜索下各引擎的招聘信息.
了解下有哪些,然后选一个进行对应的学习.(我没搜索过,但是目前感觉基本就是 Unity 的天下)