Skip to content

Commit

Permalink
fix .ron assets load bug
Browse files Browse the repository at this point in the history
解决了ron资源加载的问题,现在可以显示了,但是需要进一步融合Thetawave的逻辑,使其符合项目的需求。
  • Loading branch information
cloudhu committed Nov 29, 2024
1 parent e808bc4 commit 4ed1f9f
Show file tree
Hide file tree
Showing 168 changed files with 872 additions and 751 deletions.
75 changes: 43 additions & 32 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 4 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ rstest = "0.23.0"

[dependencies]
bevy_asset_loader = { version = "0.21.0", features = [ "2d","standard_dynamic_assets"] }
bevy_kira_audio = { version = "0.20.0", features = ["ogg"] }
bevy_kira_audio = { version = "0.20.0", features = ["ogg","mp3", "wav"] }
rand = "0.9.0-alpha.2"
bevy-parallax = "0.10.0"
bevy_prototype_lyon = "0.12.0"
Expand All @@ -27,25 +27,16 @@ strum_macros = "0.26.4"
ron = "0.8.1"
argh = "0.1.12"
winit = "0.30.5"
image = "0.25.5"
strum = "0.26.3"

#TODO:clear unused packages
bevy_embedded_assets = "0.11.0"
strum = "0.26.3"
derive_more = { version = "1", features = ["full"] }
# Compile low-severity logs out of native builds for performance.
log = { version = "0.4", features = [
"max_level_debug",
"release_max_level_warn",
] }

# Compile low-severity logs out of web builds for performance.
tracing = { version = "0.1", features = [
"max_level_debug",
"release_max_level_warn",
] }
sys-locale = "0.3"
uuid = "1.11.0"
#bevy_common_assets = "0.11.0"
image = "0.25.5"

[dependencies.bevy]
version = "0.14.2"
Expand Down
46 changes: 35 additions & 11 deletions README-EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,16 @@ ______

## 1.1 Control
______
1. Move: left mouse button for ship navigation (TODO: keyboard arrow keys and joystick support)
2. Pause/Resume: keyboard space bar (TODO: Start button on gamepad)
3. return to the main menu: keyboard ESC (todo: controller return key)
4. Full screen/window switch: F11 keyboard key (todo: controller Settings menu)
5. Zoom: mouse wheel /PageUp = +, PageDown = - (Todo: handle Trigger zoom)
| Action | Keyboard 🖮 | Controller 🎮 |
|--------------------|----------------------------------------|------------------|
| 🕹️ Movement | 'WASD' / Arrow Keys /left mouse button | D-Pad |
| 🔫 Fire Weapon | Auto | Auto |
| 💥 Special Ability | Right Click / Shift | Left Bumper (LB) |
| Pause/Resume | space bar | Start |
| back | ESC | B button |
| Full screen | F11 | Settings |
| Zoom | mouse wheel /PageUp, PageDown | Triggers |

______
## 1.2. Level Design
The levels are mainly divided into: 1. Drama level; 2. Relic exploration level; 3. Infinite Abyss Level.
Expand All @@ -47,16 +52,17 @@ ______
- [x] Use [bevy_kira_audio](https://github.com/NiklasEi/bevy_kira_audio) to Optimize sound play logic and performance
- [x] Supports full screen/window switching and mouse wheel zooming (November 15, 2024)
- [x] Configure property values and multiple languages with csv (English and Chinese are supported first)
- [x] Merging [Thetawave](https://github.com/thetawavegame/thetawave)'s codes and resources to improve code structure and gameplay logics (November 29, 2024)
- [x] Support gamepad handle operation input (employ [leafwing-input-manager](https://github.com/leafwing-studios/leafwing-input-manager) as input plugin)
- [x] Spawner for different type of enemies
- [x] Collision detection with a physics engine(bevy_rapier2d)
- [x] Animation module
- [x] Game UI

## 2.2 待实现列表 TODO List
- [ ] Support gamepad handle operation input (employ [leafwing-input-manager](https://github.com/leafwing-studios/leafwing-input-manager) as input plugin)
- [ ] Use [LDTK](https://github.com/Trouv/bevy_ecs_ldtk) to develop game levels
- [ ] Level loading
- [ ] Level switching
- [ ] Spawner for different type of enemies
- [ ] Collision detection with a physics engine
- [ ] Animation module
- [ ] Game UI
- [ ] Game saving, file reading, auto save(employ [bevy_pkv](https://github.com/johanhelsing/bevy_pkv) plugin)
- [ ] Multiplayer support

Expand All @@ -76,4 +82,22 @@ Game Engine:[Bevy](https://bevyengine.org/)
- develop run:`cargo run`

# 4. Showcase
[Itch.io](https://cloudhu.itch.io/skywalker2088)
[Itch.io](https://cloudhu.itch.io/skywalker2088)

# 5. External Assets

## 🎵 Music
[Joel Schuman](https://joelhasa.site/) - Original Game Soundtrack

## 📢 Sound Effects
[*Space Ultimate Megapack*](https://gamesupply.itch.io/ultimate-space-game-mega-asset-package) - Comprehensive Space Audio Collection

## 🎨 Art
[Kadith's icons](https://kadith.itch.io/kadiths-free-icons) - Game Iconography

## 📜 Fonts
[*Space Madness*](https://modernmodron.itch.io/) - Font Design by Rose Frye

# 6. Merged Repositories
- [ASCII Space Shooter](https://github.com/JamesHDuffield/ascii-rust)
- [Thetawave](https://github.com/thetawavegame/thetawave)
53 changes: 38 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,16 @@ ______
______

## 1.1 操作
1. 移动:鼠标左键为飞船导航(TODO:键盘方向键和手柄摇杆支持)
2. 暂停/恢复:键盘空格键(TODO:手柄Start按键)
3. 返回主菜单:键盘ESC(todo:手柄return返回按键)
4. 全屏/窗口切换:F11键盘按键(todo:手柄设置菜单)
5. 缩放:鼠标滚轮/PageUp = +、PageDown = -(Todo:手柄左右Trigger缩放)
______
| 动作 | 键盘 🖮 | 手柄 🎮 |
|--------|----------------------|-------|
| 🕹️ 移动 | 'WASD' / 方向键 /鼠标左键 | 摇杆 |
| 🔫 射击 | 自动 | 自动 |
| 💥 技能 | 自动 | 自动 |
| 暂停/恢复 | 空格 | 开始 |
| 返回 | ESC | B按钮 |
| 全屏 | F11 | 设置菜单 |
| 缩放 | 鼠标滚轮/PageUp、PageDown | 扳机 |

______
## 1.2. 关卡设计
Expand All @@ -41,25 +46,25 @@ ______
## 2.1 已实现列表
- [x] 使用`cargo generate thebevyflock/bevy_new_2d`生成的2d游戏模板作为[2D游戏基础开发框架bevy_new_2d](https://github.com/TheBevyFlock/bevy_new_2d)
- [x][ASCII Space Shooter](https://github.com/JamesHDuffield/ascii-rust)开源项目Copy核心逻辑代码,并优化结构;
- [x] 暂停游戏 Pause/Resume
- [x] WASM支持 support wasm
- [x] 敌人AI实现 Enemy AI
- [x] 游戏音效 Game audio
- [x] 暂停游戏
- [x] WASM支持
- [x] 敌人AI实现
- [x] 游戏音效
- [x] 使用[bevy_asset_loader](https://github.com/NiklasEi/bevy_asset_loader)优化资源加载
- [x] 使用[bevy_kira_audio](https://github.com/NiklasEi/bevy_kira_audio)优化音效播放逻辑和性能
- [x] 支持全屏/窗口切换和鼠标滚轮缩放(2024年11月15日)
- [x] 通过csv来配置数值和多语言(先支持中英双语)
- [x] 融合[Thetawave](https://github.com/thetawavegame/thetawave)的代码和资源,改进代码结构和游戏玩法(2024年11月29日)
- [x] 支持手柄操作输入(我喜欢用手柄玩,没有手柄可以用键鼠,考虑使用[leafwing-input-manager](https://github.com/leafwing-studios/leafwing-input-manager)插件)
- [x] 玩家定点和敌人随机点出生
- [x] 利用物理引擎进行碰撞检测(bevy_rapier2d)
- [x] 游戏UI

## 2.2 待实现列表
- [ ] 支持手柄操作输入(我喜欢用手柄玩,没有手柄可以用键鼠,考虑使用[leafwing-input-manager](https://github.com/leafwing-studios/leafwing-input-manager)插件)
- [ ] 多语言支持(先弄中英文双语,考虑使用[fluent](https://github.com/kgv/bevy_fluent)插件)
- [ ] [LDTK](https://github.com/Trouv/bevy_ecs_ldtk)软件编辑关卡
- [ ] 关卡载入
- [ ] 关卡切换
- [ ] 玩家定点和敌人随机点出生
- [ ] 利用物理引擎进行碰撞检测
- [ ] 玩家出生、护盾、爆炸、水波等精灵动画
- [ ] 游戏UI
- [ ] 游戏存档、读档、自动保存(考虑使用[bevy_pkv](https://github.com/johanhelsing/bevy_pkv)插件开发)
- [ ] 本地多人模式

Expand All @@ -79,4 +84,22 @@ ______
- 本地开发运行:`cargo run`

# 4. 发布
[Itch.io](https://cloudhu.itch.io/skywalker2088)
[Itch.io](https://cloudhu.itch.io/skywalker2088)

# 5. 外部资产

## 🎵 音乐
[Joel Schuman](https://joelhasa.site/) - Original Game Soundtrack

## 📢 音效
[*Space Ultimate Megapack*](https://gamesupply.itch.io/ultimate-space-game-mega-asset-package) - Comprehensive Space Audio Collection

## 🎨 美术
[Kadith's icons](https://kadith.itch.io/kadiths-free-icons) - Game Iconography

## 📜 字体
[*Space Madness*](https://modernmodron.itch.io/) - Font Design by Rose Frye

# 6. 合并的仓库
- [ASCII Space Shooter](https://github.com/JamesHDuffield/ascii-rust)
- [Thetawave](https://github.com/thetawavegame/thetawave)
8 changes: 4 additions & 4 deletions assets/consumable_assets.assets.ron
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@
columns: 1,
rows: 1,
),
"money3.image": File( path: "texture/money5_spritesheet.png"),
"money3.image": File( path: "texture/money5_spritesheet.png",),
"money1.layout": TextureAtlasLayout (
tile_size_x: 7,
tile_size_y: 7,
columns: 1,
rows: 1,
),
"money1.image": File( path: "texture/money1_spritesheet.png"),
"money1.image": File( path: "texture/money1_spritesheet.png",),
"armor.layout": TextureAtlasLayout (
tile_size_x: 12,
tile_size_y: 12,
columns: 1,
rows: 1,
),
"armor.image": File( path: "texture/armor_spritesheet.png"),
"armor.image": File( path: "texture/armor_spritesheet.png",),
"gain_projectiles.layout": TextureAtlasLayout (
tile_size_x: 8,
tile_size_y: 7,
columns: 1,
rows: 1,
),
"gain_projectiles.image": File( path: "texture/gain_projectiles_spritesheet.png"),
"gain_projectiles.image": File( path: "texture/gain_projectiles_spritesheet.png",),
})
2 changes: 1 addition & 1 deletion assets/data/abilities.ron
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
ability: (
action_time: 0.5,
incoming_damage_multiplier: 1.0,
impulse: 1200000.0,
impulse: 12000.0,
)
),
mega_blast_ability: (
Expand Down
Loading

0 comments on commit 4ed1f9f

Please sign in to comment.