# factories **Repository Path**: ysq520/factories ## Basic Information - **Project Name**: factories - **Description**: factories游戏 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-06-08 - **Last Updated**: 2024-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Factories 一个2D工业模拟游戏 游戏目标:点亮所有科技树 ## 游戏模式 - 挑战模式:可选择难度,难度越高,不可再生资源总量越少 - 创造模式:所有科技树已点亮,拥有无限资源的模式 ## 玩法 游戏的核心玩法包括资源采集、生产线建立、自动化生产、技术研发等 玩家可以自由设计生产线,并根据需要决定科技树的点亮顺序 1. 地形:海拔决定地形,温湿度决定植被(类型和颜色),通常相邻块海拔差越小,温湿度差距越小 2. 建筑物:每个建筑物只能在适用地形上建造,建筑物分为工厂和道路,所有工厂必须连接仓库才能工作,对于工厂类建筑,一般等级越高,支持的生产线越多,生产速度越快,升级所需资源越多,(对于某些发电厂)占地越大,启动耗时和停止耗时越长 3. 矿产系统:矿产资源是有限的,解锁相应可以提高产量,地图上不能直接看到矿产,需要消耗资源勘探才能获得矿产储量信息 4. 物品系统:每种物品都有贮藏方式,对于一个仓库,每种贮藏方式有容量上限 5. 科技树:研究技术需要相应研究场地,如物理相关技术需要在物理实验室中进行,根据研究技术的不同投入相应资源进行研究,掌握每个技术都需要一定时间,研究过程将持续消耗某些资源 6. 生产线:解锁某些科技可以减少原料消耗、减少副产物或提高产量 ## 技术栈 * 前端:[Stylus](https://stylus-lang.com/), [UnoCSS](https://github.com/unocss/unocss), [TypeScript](https://www.typescriptlang.org/), WebGL2, [WebAssembly](https://webassembly.org/) * 前端构建工具:[vite](https://vitejs.dev/), [terser](https://terser.org/), [clean-css](https://clean-css.github.io/) # 构建 ## 生成枚举 ```sh dub -c=def ``` ## 构建wasm ```sh dub build --arch=wasm32-unknown-unknown-wasm -b=release ``` ## 编译emt ```sh pnpm dev ``` 然后访问`/`和`/game.emt`,src文件夹下会生成index.html和game.html ## 构建前端 由于`@cydon/ui`还未发布,需要手动拉取 ```sh git clone https://github.com/0-v-0/cydon.git ``` ```sh pnpm build ``` ## 构建安卓版 ```sh pnpm build-android ``` # 运行 ## (开发环境)运行vite ``` pnpm dev ``` 关于按钮样式等问题,目前仅在开发模式下出现过,生产环境暂未发现问题