Cesium & Three.js 【移动端手游“户外大逃杀”】 还在“画页面的”前端开发小伙伴们,是时候该“在往前走一走”了!我们必须摆脱“画页面的”标签!

Hello Survive

v0.1.0

Survive 介绍

Hi,😊 欢迎您品鉴 Survive "户外生存/大逃杀/建造"类型游戏,这是一款基于 Cesium & Enable3D 引擎架构的"户外生存/大逃杀/建造"类型游戏。如果您一直从事Web/GIS/移动端前端开发工作并且厌倦了传统页面开发,那么您不妨与 Survive 一起到户外探险游玩吧。

Survive 内容

Survive "户外生存/大逃杀/建造"类型游戏的出发点是作为从事Web/GIS/移动端前端开发人员推荐用于教学和非商业项目为目的。Survive 主要以 Geographic Information System 与 Game 的结合,让开发者在 Survive 游玩的过程中熟悉使用 GIS,涵盖平时开发人员开发过程中的一些常用方法逻辑并封装💻。内容包括如:毒雾区域模块,导航路径规划模块,空投物资模块,玩家生存状态(饥饿/饥渴/毒雾)模块,动画管理模块,镜头切换管理模块,物资刷新模块,经纬度管理模块,建造模块,寻宝模块,采掘工业模块,地图模块,定时任务模块,背包模块,实时定位玩家轨迹移动模块等。希望 Survive 可以作为您 GIS 入门的首选。

关于 ThreeJS & Enable3D

Survive 主要是以 Cesium & Enable3D 双场景交互进行游戏互动,Enable3D 在 Survive 里作为简单的游戏场景交互进行游戏互动,如果您需要复杂的 Enable3D 游戏场景进行交互的话可以来了解下我的另一个开源游戏项目 >>> Bullet zombie 传送门🚀🚀🚀

关于 Bullet zombie 和 Survive🔥🔥🔥

Bullet zombie 和 Survive 这两款开源游戏项目如果您都已有所了解并接触的话,那么"它哥俩儿"诞生初期的使命就结束了..."这哥俩儿"开源游戏项目主要是为了让前端开发人员抛开传统页面开发如何更好的"在往前走一走"。游戏项目涵盖了 Web/桌面/移动/嵌入式等多端服务端开发架构以及 GIS/ThreeJS/神经网络等多种技术相互结合。避免了想"在往前走一走"的前端开发人员面临"重学"的学习开发成本。Bullet zombie 和 Survive 在这里也非常感谢大家的支持与鼓励💖💖💖

Survive 素材

Survive 工具/库 🔗

Survive Core code 目录结构

app front end v0.1.0
lua 复制代码
📦 ReactNative
├── 📂 config
│
├── 📂 utils
│
├── 📄 App.tsx
│
├── 📄 package.json
└── 📄 README.md
backend v0.1.0
lua 复制代码
📦 Service
├── 📂 logs
├── 📂 src
│   ├── 📂 TemplateApi
│   │   ├── 📂 TemplateApiGameSocketRoom
│   │   │   └── 📄 TemplateApiGame.room.ts
│   │   ├── 📂 TemplateApiGateway
│   │   │   └── 📄 TemplateApiChat.gateway.ts
│   │   ├── 📄 TemplateApiPlugService
│   │   ├── 📄 TemplateApi.service.ts
│   │   └── 📄 TemplateApi.controller.ts
│   ├── 📂 utils
│   │   ├── 📄 calculateTimeRemaining.ts
│   │   ├── 📄 publishSubscrib.ts
│   │   ├── 📄 uploads.type.ts
│   │   └── 📄 winston.config.ts
│   ├── 📄 app.controller.ts
│   ├── 📄 app.module.ts
│   └── 📄 main.ts
├── 📂 static
│   ├── 📂 game
│   │    ├── 📂 ammo
│   │    ├── 📂 images
│   │    ├── 📂 json
│   │    ├── 📂 models
│   │    ├── 📄 Enable3DSceneModels.json
│   │    ├── 📄 GaemCoordinates.json
│   │    ├── 📄 PlayerInfo-dev.json
│   │    └── 📄 Timer.json
├── 📄 config.yml
├── 📄 Dockerfile
├── 📄 package.json
└── 📄 README.md

web front end v0.1.0

lua 复制代码
📂 Web
├── 📂 src
│   ├── 📂 components
│   │   └── 📄 index.js
│   ├── 📂 config
│   ├── 📂 utils
│   ├── 📂 views
│   │   └── 📂 cesium
│   │       └── 📄 index.vue
├── 📄 Dockerfile
├── 📄 package.json
└── 📄 README.md

Survive 流程时序

登录流程时序 v0.1.0
建造模块流程时序 v0.1.0
Cesium & Enable3D 双场景交互流程时序 v0.1.0

Survive 架构

架构 v0.1.0

Survive 运行视频预览 🎬

传送门

游戏视频介绍

Survive 部分开发进度预览 📷

Survive Game UI System v0.1.0
Survive Game Map System v0.1.0
Survive Airdrop Box System v0.1.0
Survive Enable3D Scene System v0.1.0
Survive Real time positioning of player map movement System v0.1.0
Survive backpack System v0.1.0

Survive install

App
bash 复制代码
cd ReactNative
npm i
npm start

cat config/host.js
Service
bash 复制代码
cd Service
npm i
npm run start

cat config.yml
cat .env
cat .env.online
Web
bash 复制代码
cd Web
npm i
npm run dev

cat src/config/host.js
online App deploy
bash 复制代码
cd ReactNative/android

./gradlew assembleRelease
online Service deploy
bash 复制代码
cd Service
cat Dockerfile

# Linux Dockerfile
docker build -t survive-v0.1.0-online-1:v0.1.0 .
# develop
# docker run -itd --network=host --name sur-service survive-v0.1.0-online-1:v0.1.0
docker run -itd -p 1871:1871 --name sur-service survive-v0.1.0-online-1:v0.1.0
docker images
docker ps -a

# online config.yml
cat config.yml
online Web deploy
arduino 复制代码
cd Web

npm run build


unzip dist.zip

🌟 模块

  • 毒雾区域 v0.1.0
  • 导航路径规划 v0.1.0
  • 空投物资 v0.1.0
  • 玩家生存状态(饥饿/饥渴/毒雾) v0.1.0
  • 动画管理 v0.1.0
  • 镜头切换管理 v0.1.0
  • 物资刷新 v0.1.0
  • 经纬度管理 v0.1.0
  • 建造 v0.1.0
  • 地图 v0.1.0
  • 定时任务 v0.1.0
  • 实时定位玩家轨迹移动 v0.1.0
  • 背包 v0.1.0
  • 食物 v0.1.0
  • 采掘工业 v0.1.0
  • 安全屋-仓库 v0.1.0
  • 寻宝 v0.1.0
  • 多人在线 v0.1.0
  • 方方面面的你这不得优化优化啊

💖 支持项目

如果这个项目对您有帮助,欢迎 StarFork!您的鼓励是我前进的动力,感谢您的认可!😊

相关推荐
合作小小程序员小小店5 分钟前
web网页开发,在线%就业信息管理%系统,基于idea,html,layui,java,springboot,mysql。
java·前端·spring boot·后端·intellij-idea
刘一说6 分钟前
在 Web 地图上可视化遥感数据:以芜湖市为例
前端·遥感
huangql5207 分钟前
Vite与Webpack完全指南:从零开始理解前端构建工具
前端·webpack·node.js
烟袅10 分钟前
JavaScript 是如何“假装”多线程的?深入理解单线程与 Event Loop
前端·javascript
烟袅18 分钟前
一文看懂 Promise:异步任务的“执行流程控制器”
前端·javascript
冴羽18 分钟前
从 useState 到 URLState:为什么大佬们都在删状态管理代码?
前端·javascript·vue.js
zhuweileo19 分钟前
npx命令的作用
前端
AiXed21 分钟前
PC微信 device uuid 算法
前端·算法·微信
桃桃乌龙_952724 分钟前
IntersectionObserver实现横向虚拟滚动列表
前端·vue.js
float_六七32 分钟前
SQL中的NULL陷阱:为何=永远查不到空值
java·前端·sql