> For the complete documentation index, see [llms.txt](https://documentation.block-ops.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.block-ops.fun/block-ops-mechanics/gameplay.md).

# Gameplay

BlockOps is a free-for-all voxel FPS. Every player fights for themselves inside a city room, using vertical movement, climbable terrain, and a compact weapon loadout.

## Game Mode

The main ruleset is intentionally simple.

| Rule             | Description                                      |
| ---------------- | ------------------------------------------------ |
| **Mode**         | Free-for-all                                     |
| **Teams**        | None                                             |
| **Room Size**    | Maximum **8 real players**                       |
| **Objective**    | Get valid frags against real players             |
| **Rewards**      | Only real-player kills can create reward credits |
| **Training Bot** | Appears only when a player is alone in a room    |

There are no soccer rules, no team drafts, no tournaments, and no complex match formats in the current version.

## Rooms And Maps

Each map is treated as its own **server room**.

Rooms are named by city only, for example:

* Mexico City
* Guadalajara
* Monterrey
* Toronto
* Vancouver
* Los Angeles
* Boston
* New York / New Jersey
* San Francisco Bay Area
* Philadelphia
* Houston
* Dallas
* Kansas City
* Miami
* Atlanta
* Seattle

The landing page displays rooms with live player counts and sorts them by activity.

| Room State  | UI Behavior                            |
| ----------- | -------------------------------------- |
| Empty       | Joinable, bot available for training   |
| 1 player    | Joinable, bot may be present           |
| 2-7 players | Joinable, real PvP active              |
| 8 players   | Full, cannot join until someone leaves |

## Spawning

Players should spawn as far away as possible from active opponents.

The spawn system is designed to reduce immediate spawn deaths and give players a fair chance to orient themselves before entering combat.

**Spawn priorities:**

* Avoid nearby real players.
* Prefer open areas with movement options.
* Avoid placing players inside solid terrain.
* Keep players within the playable map bounds.

## Training Bot

The bot exists only to keep empty rooms playable.

| Bot Behavior                                 | Reward Impact                                       |
| -------------------------------------------- | --------------------------------------------------- |
| Appears when a room has only one real player | Bot kills do **not** pay rewards                    |
| Leaves when another real player joins        | Bot kills do **not** count toward reward credits    |
| Allows aim and movement practice             | Bot kills may be shown separately as training stats |

The bot is a practice target, not part of the reward economy.

## Movement

BlockOps uses low-gravity movement to make vertical combat central to the game.

| Action                             | Control     |
| ---------------------------------- | ----------- |
| Move                               | WASD        |
| Jump                               | Space       |
| Crouch                             | Ctrl or C   |
| Reload                             | R           |
| Fire                               | Left click  |
| Zoom / scope                       | Right click |
| Toggle first-person / third-person | V           |

### Low Gravity

Low gravity changes how fights play out:

* Players jump higher.
* Airtime lasts longer.
* Airborne fights are common.
* High-ground control matters.
* Jumping from trees, rocks, mountains, and buildings becomes part of combat.

Weapon accuracy is tuned so airborne combat remains skill-based. Jumping should affect precision, but it should not make shots feel random.

## Climbing And Solid Terrain

Trees, rocks, mountains, and selected objects can be climbable. The intention is that large map features behave like navigable terrain rather than decoration.

**Climbable surfaces should also be solid.**

That means players should not be able to:

* Walk through mountains.
* Shoot through mountains.
* Hide inside solid objects.
* Clip through large terrain features.

Players should be able to:

* Climb up mountains.
* Climb trees.
* Jump from elevated surfaces.
* Use high ground for tactical positioning.

## Weapons

BlockOps uses a compact three-weapon loadout.

| Key   | Weapon          | Role                        |
| ----- | --------------- | --------------------------- |
| **1** | Rifle           | Main automatic weapon       |
| **2** | AWP-style rifle | Long-range precision weapon |
| **3** | Handgun         | Sidearm                     |

### Rifle

The rifle is the default combat weapon.

* Full-auto fire while holding left click.
* Tight but controllable precision.
* Useful at close and mid range.
* Right-click zoom.
* Infinite reserve ammo.
* Reload refills the magazine.

### AWP-Style Rifle

The AWP-style rifle is the precision weapon.

* Slow fire rate.
* High damage.
* Scoped right-click zoom.
* Strongest at long range.
* Requires more deliberate aim.
* Infinite reserve ammo.

### Handgun

The handgun is the sidearm.

* Semi-auto fire.
* Right-click zoom.
* Useful when the rifle is empty or while repositioning.
* Infinite reserve ammo.

## Visual Combat Feedback

Combat should be readable from both first-person and third-person views.

Players should see:

* Weapon models in first person.
* Other players holding their weapons in the right hand.
* Visible bullet tracers.
* Bullet impacts on terrain and objects.
* Character arms and legs moving while walking.
* Opponent characters facing the correct aim direction.

## Character System

Every player can build a custom voxel character assigned to their wallet.

| Customization | Description                |
| ------------- | -------------------------- |
| Name          | Player display name        |
| Hair style    | Voxel hair shape           |
| Shirt style   | Voxel shirt/body style     |
| Shirt color   | Main upper-body color      |
| Pants color   | Lower-body color           |
| Skin color    | Face and exposed skin tone |
| Hair color    | Hair material color        |

The landing page should show the full voxel model while the player is building it.

When the player joins a room, other players see the selected voxel character in-game.

## First-Person And Third-Person

BlockOps supports both first-person and third-person camera perspectives.

| Perspective  | Use Case                                              |
| ------------ | ----------------------------------------------------- |
| First-person | Main competitive FPS view                             |
| Third-person | Character visibility, movement awareness, casual play |

Hit validation should remain aligned to the actual voxel body, not to a detached camera position.

##


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.block-ops.fun/block-ops-mechanics/gameplay.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
