Skip to content

eveJiang/MMORPG

 
 

Repository files navigation

Welcome

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

How to Start

密码:wkwk6g

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

目录结构

MMORPG
  |-- Backend                                            服务端
        |-- Backend.sln                                  服务端解决方案文件
        |-- Backend.csproj
        |-- ....
  |-- Frontend                                           客户端, Unity工程,可以用Unity Editor打开
        |-- Assets
            |-- 3DGamekit
                  |-- Art                                资源文件
                  |-- Scripts                            C#代码
                  |-- ....
            |-- BEAssets                                 从客户端导出的供后端使用的一些信息
            |-- ....
        |-- Library
        |-- obj                                          客户端解决方案文件
        |-- Packages
        |-- Frontend.sln                                 
        |-- Assembly-CSharp-Editor.csproj
        |-- Assembly-CSharp.csproj
        |-- NavMeshComponents.csproj
        |-- SimpleSFXRuntime.csproj
        |-- Skybox3DRuntime.csproj
        |-- WorldBuildingRuntime.csproj
        |-- ....
  |-- MMORPG.sln  
  |-- ....

解压资源

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

使用Unity Editor导入项目

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

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

安装依赖库

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

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,命令行参数为配置文件路径
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

Releases

No releases published

Packages

No packages published

Languages

  • Lua 45.6%
  • C# 40.9%
  • ShaderLab 6.4%
  • HTML 5.6%
  • HLSL 1.0%
  • Mathematica 0.5%