项目作者: DaSE-DBMS

项目描述 :
MMORPG DEMO
高级语言: C#
项目地址: git://github.com/DaSE-DBMS/MMORPG.git
创建时间: 2018-09-22T12:25:16Z
项目社区:https://github.com/DaSE-DBMS/MMORPG

开源协议:Apache License 2.0

下载


Welcome

这个项目来源于Unity Asset Store上的3d-game-kit。主要变更是为其增加了个后端服务器,使它变成了一个网络游戏。

How to Start

安装Unity3d

安装Visual Studio

下载资源

密码:wkwk6g

资源文件中包括字体,3D模型,图片,音乐等资源

目录结构

  1. MMORPG
  2. |-- Backend 服务端
  3. |-- Backend.sln 服务端解决方案文件
  4. |-- Backend.csproj
  5. |-- ....
  6. |-- Frontend 客户端, Unity工程,可以用Unity Editor打开
  7. |-- Assets
  8. |-- 3DGamekit
  9. |-- Art 资源文件
  10. |-- Scripts C#代码
  11. |-- ....
  12. |-- BEAssets 从客户端导出的供后端使用的一些信息
  13. |-- ....
  14. |-- Library
  15. |-- obj 客户端解决方案文件
  16. |-- Packages
  17. |-- Frontend.sln
  18. |-- Assembly-CSharp-Editor.csproj
  19. |-- Assembly-CSharp.csproj
  20. |-- NavMeshComponents.csproj
  21. |-- SimpleSFXRuntime.csproj
  22. |-- Skybox3DRuntime.csproj
  23. |-- WorldBuildingRuntime.csproj
  24. |-- ....
  25. |-- MMORPG.sln
  26. |-- ....

解压资源

解压资源文件Art.zip到 MMORPG\Frontend\Assets\3DGamekit 目录下

使用Unity Editor导入项目

启动Unity Editor, PROJECT —> OPEN —> 选择项目目录MMORPG\Frontend

Unity Editor会在MMORPG\Frontend文件夹下创建Library文件夹,存放依赖的库文件,也会重新导入资源文件

安装依赖库

Backend用到了GeometRi,一个用于空间计算的library。进入项目目录:

  1. dotnet add backend package GeometRi --version 1.3.5.3

使用VS Build Backend

启动Backend

  • 更改配置文件backend.conf,改成自己的配置
    (在MMORPG/Frontend/Assets/assets下,这个文件夹存的是从客户端导出的一些信息, 例如: 每个场景的阻档点,精灵出生点坐标等)
  • 打开MMORPG.sln,发布bakcend项目(配置中将路径修改为自己的配置)
  • 将backend设为启动项目,在VS中启动Backend.exe,命令行参数为配置文件路径
    1. backend.exe [path_to_backend.conf]
    backend.exe运行大致如下:

    Backend start up and waiting for a connection on port 7777…

使用Unity3d Editor执行, 或build成APP执行

  • 选择场景:打开scene-level1/…
  • 点击上方小三角,进入调试

输入

WASD移动
左键点击进行攻击
右键锁定视角

Architecture

Roadmap

Asset导出
  • Navmesh
  • 出生点坐标
  • Backend配置文件格式
网络
  • 通信接口
  • 同屏全场景广播
  • GRID广播
AI
  • A*寻路
    • 空间索引
登录和注册
  • UI
  • 登录
  • 注册
商城
  • UI
  • 交易
聊天
  • UI
  • 聊天逻辑
主角
  • 走路
  • 攻击精灵
  • 攻击其它人
  • 跳跃
  • 受伤
  • 出生
  • 死亡
  • 装备
  • 背包
精灵
  • 走路
  • 攻击
  • 受伤
  • 出生
  • 死亡
物品
  • 可捡取物品
  • 可破坏物品
  • 机关
  • 装备
退出游戏
  • Elegent Exit