-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f26feb8
commit b86d0ef
Showing
1 changed file
with
33 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) | ||
提供了通用的任务设计,开发者可以使用它来设计和实现游戏中的任务机制。任务是游戏中重要的激励和玩法设计元素,它可以是一次性的,也可以是周期性的。任务系统框架将包括任务的创建、开启、关闭、奖励等功能,开发者可以根据游戏类型和风格,定制不同类型的任务,并设定相应的奖励机制,以增加游戏的可玩性和挑战性。 | ||
|
||
> 该包仅实现了任务基本状态的管理,例如任务类型、分配、事件、状态变化等,开发者可以根据自己的需求进行扩展。 |