Giter Site home page Giter Site logo

slwebwildwolf / et-rpg-demo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from greatdust/et-rpg-demo

0.0 0.0 0.0 445.82 MB

ET RPG DEMO.

License: MIT License

C# 87.12% Emacs Lisp 0.01% Batchfile 0.05% HLSL 0.11% ShaderLab 3.77% Smalltalk 4.13% HTML 4.56% Mask 0.24%

et-rpg-demo's Introduction

ET-RPG-DEMO

仅供学习交流.
因为我急着实现,所以很多地方可能考虑的不是那么完善,再加上水平有限.如果觉得哪里有更好的设计,欢迎提出来,大家一起共同进步~~

项目简介

本工程的目标是在ET框架的基础上,做一个支持多人对战的ARPG的DEMO.
借以学习服务器端开发.和了解服务器/客户端交互细节.
master分支会保持双端都能稳定运行.
其他分支则是功能开发,维护,bug修复用.

已知问题(工作太忙暂时没时间修改)

  1. 技能中的输入输出中间数据 用的是struct, 这个应该改为class并池化.否则装箱会比较严重.
  2. Buff系统过于简陋,需要完善.

特别感谢

1.双端工程基于开源框架ET所写
传送门: https://github.com/egametang/ET
2.物理系统使用了BOX2D,用以双端共用,个人做了一层封装,同时模拟了3D效果
传送门: https://github.com/Zonciu/Box2DSharp

项目特点

1.状态同步
2.双端物理(BOX2D,模拟3D)
3.ARPG,支持多人对战

目前目标和进度的说明

已完成

1.创建一套UI框架,规范UI这边的工作流
2.初步实现了服务器/客户端 逻辑帧框架.
3.双端移动&使用技能已经完成同步.

进行中

4.丰富Buff系统,调整服务器这边下发技能命中后的效果播放消息的处理.
5.加入双端行为树,制作支持多人合作的副本

进度展示(视频连接,占位)

技能系统(3种技能),BOX2D模拟3D碰撞效果演示
https://www.bilibili.com/video/av49728546
双端移动技能同步:
https://www.bilibili.com/video/av50305562/

注意事项

1.技能系统目前只同步了使用方向的.需要锁定目标和指定位置的技能使用的同步请自行仿照相关代码添加对应的协议和逻辑代码.(UnitStateComponentSystem)
2.BattleTest场景为客户端这边搭建的单机测试场景.
3.Server端这边请打开sln工程后直接重新编译,再运行. 目前其他方式打开服务器有点问题.我暂时没时间去解决.
4.有些代码写的很挫,觉得太low的可以跟我提一下,我修改修改. :)
5.客户端编辑的技能文件,目前位置在Unity/Res/ScriptableObject/SkillCollection.在这个东西的Inspector面板上编辑好技能数据之后,点击保存所有技能信息至文件,服务器就可以读取到配置好的数据了.
6.客户端物理数据通过Unity中标题栏下"2D物理"分页的几个按钮来做. 预制体的,请选择预制体所在的文件夹,点击对应按钮导出.静态物体的,请在对应场景中,选取所有静态物体的根节点,点击对应按钮导出.

技能系统设计**

https://blog.csdn.net/qq_32270109/article/details/88551196

et-rpg-demo's People

Contributors

anotherend15 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.