Git Product home page Git Product logo

fatting-balls1's People

Contributors

wanghaojin avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

geekzzp

fatting-balls1's Issues

Fatting Balls 开发文档

1.简介 Player 1 (1)WASD 控制前后左右(细则见章2) (2)鼠标左键可吸收距离为2以内的能量方块 (3)鼠标可控制转向 (4)两个关键变量;质量,能量(细则见章3) (5)触碰边缘惩罚(细则见章4) (6)博弈规则(细则见章5) (7)拓宽论断(细则见章6) (8)地图模板(细则见章9) (9)能量块生成规则及复活点制作(细则见章10) (10)死亡惩罚时间及复活点制作

章一:详细介绍
W:前 S:后 A:左 D:右
ps:询问GetKey模块,此移动不是匀速运动,是基于初速度为2,加速度为2的加速运动,当按键松开之后,速度重置为2,停止运动(暂时不考虑质量,动量加减) 如:按下W,以V初=2,a=2向前 松开W,v重置为2,物体停下
例:
bool w=GetKey(KeyCode.W) If(w==1) … If(w!=1) …

章三:两个关键变量
质量:计算玩家间博弈的重要变量,但随着质量变大,速度会变慢,体积会变大 =>设为a
能量:对物体体积无影响,但可以增加移速,对玩家间博弈无作用=>设为b
=>可理解为 F推=6+b40% M=2kg+a20% U=0.1=>f=2N+b*2% a=(F推-f)/M=(4+0.4a-0.02b)/(2+0.2b)=(200+20a-b)/(100+10b)

章四 碰撞边缘惩罚
=>碰撞边界时 V→0 E能→E能80% m→m80%

章五 博弈规则
当两玩家物理相碰时 对双方质量分析,
若△m≥2-5 则质量小的被质量大的消灭
若0<△m<2.5 则遵循弹性碰撞原则 v1’=(m1-m2)/(m1+m2)*v1 v2’= (2m1v1+m2v2-m1v2)/(m1+m2) 一局战斗时间为3分30秒 倒计时结束时质量最大的玩家获胜

章六:拓宽论断
1 质量过高,能量太低可能导致行动过于缓慢
2 质量过低,能量太高可能导致行动过快而遇上危险

章七:
特殊技能用法 M:将20%的质量(至少达到2.4后才可使用)转化为等额的能量,一句战斗中可用三次
鼠标左键:损失10%的能量使速度增加5,松开鼠标左键后重置,一句战斗中可使用无限次数

章八:能量块生成规则
在全地图范围内(1000f,1000f)每秒生成20个能量块(红-质量 10个/秒 蓝-能量 10个/秒)
能量块 正方体 0.10.10.1 不具有刚体
Player 球 半径为1 具有刚体边缘配有碰撞器
地图:100011000 无刚体 墙壁:5101000 无刚体,边缘配有碰撞器
反应原理
吸收能量块:按下左键,Player向前发出 距离为5的射线,将击中的能量块Destroy,再修改自身属性(重生:如何区分开其他玩家和能量块)
碰撞(对墙):碰撞器直接判断
碰撞(对玩家):弹性碰撞,碰撞器(运动Bug清除)

第一版功能及后续要求

截至2020.1.1 Falling Balls 第一版已完成,并已打包完成
功能:
1.WSAD控制加速度方向;
2.质量能量块和等效能量块已完成自动生成;
3.随着等级的提升,已能提高速度;随着质量的提高,已能增加体积并减少速度。
下面要求:
1.通过GUI组件实现用户界面显示质量,等级;
2.实现多人交互;
3.视野优化;
4.建立STATUS组件,将地图上所有玩家的信息储存在其中,并公布给所有玩家的后台参数中(Public),方便后期算法对抗的落实;
5.用户界面地图,排行榜显示;
6.复活点制作,落实
7.遇边界速度降为0
8.少部分平衡调整
9.游戏加载界面落实

截至日期:2020春节前完成至少1.2.3.5.6.7.9
2020第二学期开学前完成其余项目

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.