最近想开发一款多人在线网络游戏,使用unity3d的mirror插件可以提高开发效率,并且该插件免费。

但是由于使用插件开发效率太低,经过研究,ummorpg开发模板是居于该插件开发而来,使用它可以提高开发的效率,对于初学者来说比较友好,能够基于模板的修改快速做出属于自己的游戏,进一步激发初学者开发游戏的兴趣,兴趣才是最好的导师。

很多小白想开发游戏但更多的中途放弃,我认为游戏开发这个行业一是由于门槛较高,二是由于这个行业比较考验一个人的综合能力,做为一名初学者,没有资金,没有人脉,无法招聘、无法吸引志同道合、愿意不图回报的人员来一起做是非常少的,可以这么说:几乎没有。三是由于国外厂商的不断内卷,不缺各类3A大作,不管是在3D画面的精美上还是性能的优化上都已经做到行业顶尖,尽管玩法各式各样,也有一些小缺陷,但从技术上来说已经做到了无可挑剔的地步。

玩家的审美标准也随着各类出众的游戏技术标准而不断提升,中国的游戏开发者不缺游戏故事背景,中国是一个拥有上千年历史文明的国家,古代文人骚客的思想对后人的影响也是源远流长,有着取之不尽用之不竭的叙事思想。但要把这些传统文化很好的融入到历史背景当中却是不容易的。

一是技术,二是资本。

站在目前的技术上来说,已经不是什么大问题。

就资本而言,我觉得目前的游戏开发环境是劣币驱逐良币。

资本家投入资本来打造一款游戏,由于开发周期长和市场的不确定性因素太多,回报周期长导致大多数资本对游戏开不感兴趣。

也许,会有一些大的资本愿意,但是大资本有不会投入太多,他们投资的金额对我们来说已经非常大,但对他们来说就给你扔点零花钱这么简单。也不怕你破产或跑路。

能不能从技术上来解决资本的问题?答案是能。

随着技术发展,游戏开发的门槛也越来越低,各类插件和资源市场的建立,就是为了解决开发周期这一大问题的。

成就一番大事均是从小事开始,从做好今天开始,不积跬步无以至千里,万事有始有终,贵在坚持不懈。

我们开始使用ummorpg创建一个网络游戏,编译客户端和服务端并让他运行起来。

最终运行效果:

一、导入包

将uMMORPG Remastered - MMORPG Engine 2.37包拖到你的3D空项目中,找到场景,开始以demo场景进行修改,你所要做的就是修改场景,制作建筑、角色建模和动画等(这些在市场中均能购买到,愿意花钱不用请设计师了)。

二、制作自己的角色

导入角色到unity,角色至少包含贴图和动画吧

选中角色模型,修改animation type 为humanid,然后点击Apply。

在ummorpg项目目录下(路径:uMMORPG\Prefabs\Entities\players)找到两个玩家预制件,Archer是射手,Warrior是战士。

这里我们选中Archer,按Ctrl+D复制一份出来,并重命名。双击打开预制件,找到3d model,删除。

删除后,把我们准备好的角色3D模型拖拽上去,右键角色模型——》unpack解包,等下要往角色内添加元素。

选中根节点:

1、找到animator,给我们的角色指定好Avatar和Controller

2、找到player script脚本,这里需要一个碰撞体Collider

我们找到角色骨骼的root节点,选中并新建一个Capsule Collider,拖拽碰撞体直到调整到合适的位置。

2、在根节点中找到Combat脚本下的Collider,将刚刚制作好的碰撞体拖过来

3、新建武器挂载点

找到角色左手的根节点,新建一个空对象,并命名为WeaponMountPoint,将这个空对象调整好位置,拖拽给player skills脚本的Effect Mount。

4、添加角色到NetworkManager

选中NetworkManager并找到NetworkManagerMMO脚本,找到Registered spawnable prefab,点击下方+,新建一个,将刚刚做好的玩家预制件拖进来。

到这里

我们的角色已经制作好了。点击play进行测试:点击play&server,同时启动服务端和游戏客户端。

三、编译Linux服务端和windows64位客户端(官方为了代码复用,将服务器端和客户端融为一体了)

1、编译服务端前的准备工作

我们先来编译Linux服务器端。客户端和服务器端的工作原理是:用户登录,服务器端先创建玩家角色,再通知客户端创建,玩移动、砍杀、死亡等,客户端将帧同步到服务器端,服务器端向所有的玩家客户端进行帧同步。

提前准备好一台Linux云服务器或者你自己在局域网内架设好的Linux服务器(这里测试不一定非得用服务器,可以是一台普通电脑,安装好Linux系统,例如:centos、ubantu等)并未这台Linux系统配置一个固定的ip地址(如果不用固定ip,重启设备后将会得到新的ip地址,这时你要么重新编译,要么设置固定ip)

配置服务端ip:选中NetworkManager并找到NetworkManagerMMO脚本,找到server list,对ip和那么进行修改。

2、开始构建服务端:

点击file—》build seting,首先安装一下Linux客户端的编译环境,点击Android—》点击右侧install with unityhub

在弹出的界面找到linux dedicated server build sport,勾选点击安装。

安装后(可能要重启项目)点击file——》build seting,选中dedicated server,点击切换。

切换好后直接点击build按钮,选择一个保存位置。

3、Linux环境配置

使用ssh工具连接到你的服务器。由于ummorpg使用的数据库是sqlite,我们要在服务器上先安装sqlite的运行环境。后面会教大家如何将它改成mysql数据库。

到官方下载最新的sqlite for linux,使用xshell等工具将他上传到服务器。

tar xzf sqlite.tar.gz    ;#  解压
mkdir bld ;# 创建新文件夹
cd bld ;# 切换到新文件夹
../configure ;# 运行configure脚本
make ;# 运行makefile.
make install ;# 安装

  (如有需要,可以留言,我使用网盘分享)

如果上述步骤顺利,没有报错,说明你的sqlite已成功安装,如果报错,请检查你的GCC和G++是否安装。

官方推荐安装方法:

sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

  将你的游戏服务端使用tar压缩并上传到服务器,并进行解压,tar -zxvf swordgame.tar.gz

运行服务端:

例如:./SwordGame.x86_64

  在后台运行服务端:因为你的shell退出,那么服务端也会被关闭,后台运行是最好的解决方案:

nohup ./SwordGame.x86_64 &

  使用ps -A | grep SwordGame查看是否在运行

nohup会在运行目录下生成一个nohup文件用于存放服务端日志,使用cat nohup查看里面的内容。

到这里你的服务端已经成功的运行在服务器上了

下面我们开始编译客户端,然后把客户端发给你的小伙伴,大家一起测试,玩耍。

{持续更新中.......}

ummorpg中英对照翻译文档:https://files.cnblogs.com/files/Leekin/ummorpg%E4%B8%AD%E8%8B%B1%E5%AF%B9%E7%85%A7%E7%BF%BB%E8%AF%91.rar

unity3D mirror网络游戏开发笔记的更多相关文章

  1. [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

    原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...

  2. EasyUI 开发笔记(二)

    接上篇 :EasyUI 开发笔记(一)  (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...

  3. EasyUI 开发笔记(一)

    由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...

  4. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  5. Unity3D手游开发实践

    <腾讯桌球:客户端总结> 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身.虽然基于Unity3D,很多东西同样适用于Cocos.本文从以下10大点进行阐述: 架构设计 原生插件/ ...

  6. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

  7. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  8. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  9. 轻松搭建Unity3D 安卓Android开发环境

    1,下载安装Java的JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html (JDK中,包含JRE) 如果是6 ...

  10. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

随机推荐

  1. STL关联式容器使用注意、概念总结

    引入 继上文 STL序列式容器使用注意.概念总结 继续总结关联式容器的概念以及一些使用事项. 关联式容器与容器适配器 基础容器 STL 中的关联式底层容器:RB tree, hash table,可以 ...

  2. java画海报

    package demotest; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; impor ...

  3. Vue过滤案例、按键修饰符、数据双向绑定

    目录 Vue过滤案例.按键修饰符.数据双向绑定 一.v-for能循环的类型 二.js的几种循环方式 三.key值的解释 四.数组.对象的检测与更新 五.input的几个事件 六.事件修饰符 七.按键修 ...

  4. MongoDB Compass的安装及使用图文说明(非常详细)

    1.下载 MongoDB Compass 预编译二进制包下载地址:https://www.mongodb.com/try/download/compass 2.安装 MongoDB Compass 的 ...

  5. 硬件协议之i2c

    https://blog.csdn.net/ctyqy2015301200079/article/details/83830326  (此文章可能有误) 从目前来看,所有读写操作(包括ACK的读写)都 ...

  6. 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介

    ️Reference: IoT 边缘计算系列文章 什么是边缘容器? 边缘容器的概念 边缘容器是分散的计算资源,尽可能靠近最终用户或设备,以减少延迟.节省带宽并增强整体数字体验. 可以访问互联网的设备数 ...

  7. linux下删除文件夹的软链接时注意千万不能在后面加反斜杠,千万不要用强制删除,否则下面2种场景,你会把源文件删除,要闯祸的

    今天遇到一个坑,自己在子目录下创建了父目录的软链接,导致可以无限循环进入父目录 [clouder@ana53 dir1]$ ll total 8 -rw-rw-r-- 1 clouder cloude ...

  8. Windows常用指令与常见问题

    关键目录 启动目录:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup hosts:C:\Windows\System32\dri ...

  9. Binary &Op是什么

    前言 在并行开发时我们经常会用到Pstream::gather()函数或是全局函数reduce()或者其他,需要输入参数Binary &Op,本篇主要讨论Binary &Op是什么 t ...

  10. Jenkins安装(Docker)版

    一.jenkins安装 1.查找,下载jenkins镜像文件 启动docker,查找Jenkins镜像文件 docker search jenkins 下载Jenkins镜像文件 docker pul ...