Skip to content

Commit

Permalink
docs: 优化 game 包 README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
kercylan98 committed Dec 22, 2023
1 parent f26feb8 commit b86d0ef
Showing 1 changed file with 33 additions and 8 deletions.
41 changes: 33 additions & 8 deletions game/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,38 @@
# Game
该目录下包含了各类通用的游戏玩法性内容,其中该目录主要为基础性内容,具体目录将对应不同的游戏功能性内容。

> builtin: 原内置功能实现目录,即将抽离到各个子目录中,不再提供单独的功能实现。
[![Go doc](https://img.shields.io/badge/go.dev-reference-brightgreen?logo=go&logoColor=white&style=flat)](https://pkg.go.dev/github.com/kercylan98/minotaur/game)

## Activity 游戏活动
提供了通用的游戏活动接口及各类辅助函数,开发者可以使用它来快速创建和管理游戏中的各类活动。活动是游戏中的特殊事件,通常在限时或周期内举行,为玩家提供额外奖励、挑战或合作机会。活动框架将实现活动时间的管理,包括开始和结束时间的设定,并提供活动数据的管理功能,例如参与玩家的记录、活动奖励等。开发者可以根据具体游戏需求,自由定制不同类型的活动,并快速集成到游戏中
Game 包提供了游戏领域中常见的功能实现,例如活动、任务、战斗、房间等实现。
开发者可以使用它来快速构建游戏中的常见功能,例如游戏活动、任务系统、多人房间等

## Room 游戏房间
提供了通用的基础游戏房间设计,开发者可以使用它来构建游戏中的多人模式功能。房间是指游戏中的多人对战或合作模式,玩家可以创建或加入房间,与其他玩家一起进行游戏。 该目录内提供了统一的房间管理及座位号等常用功能,并配置了大量的事件供给状态监控。
> 目前还在考虑逐步将该包移除,未来项目结构可能会进行调整
## Task 任务
提供了通用的任务设计,开发者可以使用它来设计和实现游戏中的任务机制。任务系统是引导玩家完成特定任务或目标的机制,它是游戏中重要的激励和玩法设计元素。任务系统框架将包括日常任务、主线任务、奖励机制等功能,开发者可以根据游戏类型和风格,定制不同类型的任务,并设定相应的奖励机制,以增加游戏的可玩性和挑战性。
## package activity [`活动`](./activity)
提供了通用的活动设计,开发者可以使用它来设计和实现游戏中的活动机制。活动是游戏中重要的激励和玩法设计元素,它可以是一次性的,也可以是周期性的。活动系统框架将包括活动的创建、开启、关闭、奖励等功能,开发者可以根据游戏类型和风格,定制不同类型的活动,并设定相应的奖励机制,以增加游戏的可玩性和挑战性。

活动整体的配置将通过可选项的方式进行配置。

> `activity` 包中提供了以下 6 种事件:
> - 即将开始的活动事件
> - 活动开始事件
> - 活动结束事件
> - 活动结束后延长展示开始事件
> - 活动结束后延长展示结束事件
> - 新的一天事件
## package battle [`战斗`](./fight)
`fight` 中目前仅提供了回合制[`TurnBased`](./fight/turn_based.go)的实现。
- [`TurnBased`](./fight/turn_based.go) 仅提供了回合制的基本实现,开发者可以根据自己的需求进行扩展。其中包括:回合切换、回合开始、回合结束、回合超时、根据速度调节下次行动间隔。

## package space [`空间`](./space)
计划提供游戏中常见的空间设计,例如房间、地图等。开发者可以使用它来快速构建游戏中的常见空间,例如多人房间、地图等。
> 目前仅提供了房间的基本实现
- [`Room`](./space/room_manager.go) 提供了房间的基本实现,开发者可以根据自己的需求进行扩展。
- 房间通过 [`RoomManager`](./space/room_manager.go) 进行管理,由 [`RoomController`](./space/room_controller.go) 进行控制;
- 实现了加入、退出、事件、查询、销毁、座位、带顺序座位号、密码、人数上限等常用的基础功能。

## package task [`任务`](./task)
提供了通用的任务设计,开发者可以使用它来设计和实现游戏中的任务机制。任务是游戏中重要的激励和玩法设计元素,它可以是一次性的,也可以是周期性的。任务系统框架将包括任务的创建、开启、关闭、奖励等功能,开发者可以根据游戏类型和风格,定制不同类型的任务,并设定相应的奖励机制,以增加游戏的可玩性和挑战性。

> 该包仅实现了任务基本状态的管理,例如任务类型、分配、事件、状态变化等,开发者可以根据自己的需求进行扩展。

0 comments on commit b86d0ef

Please sign in to comment.