Skip to content

koth gamemode#2008

Open
Mngdd wants to merge 31 commits into
NeotokyoRebuild:masterfrom
Mngdd:master
Open

koth gamemode#2008
Mngdd wants to merge 31 commits into
NeotokyoRebuild:masterfrom
Mngdd:master

Conversation

@Mngdd

@Mngdd Mngdd commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Description

This is playable reimplementation of the KOTH gamemode with a few temporary exceptions: you cant earn xp and the bots are not configured for this mode. As far as I remember, these features weren't supported in the original GM version either xD

You can now create such maps in Hammer without using scripts or special entity/brush/trigger names.

neo_koth_master — exactly one must be placed; it controls the rotation of zones
neo_info_koth_zone — the “brain” of the zone
neo_trigger_koth_zone — a trigger for the zone; it must be attached to a neo_info_koth_zone object. Multiple triggers can be used for a single zone
neo_func_koth_border — it is a child object of func_brush, it has some default settings and just changes its color depending on who controls the current zone

I've also added some textures but idk how to add them to this specific pr (maybe I can create another pr in the assets repository)
image
upd: NeotokyoRebuild/neoAssets#124

upd2:
ive made it like that:
you have N zones, each zone is simply a bunch of triggers that a player must stand in for points to count toward their team (unless players from two different teams are standing in the same zone, in which case no points are awarded to anyone). Out of all these N zones, only one random zone is active. Every X seconds, we deactivate the current zone and select a new one -> the selected zone is visible to players but blocked for Y seconds (just to make it more interesting), and after Y seconds, players can continue earning points for holding the zone.

Toolchain

  • Windows MSVC VS2022

Planned:
Redesign the score tracking interface (maybe, idk)
balance stuff (xp)
bot behaviour adaptation for this mode
add events (input/output) from neo_koth_zone_info (like when active/captured etc)

@Mngdd Mngdd changed the title separate koth gamemode koth gamemode Jul 12, 2026
@Mngdd Mngdd marked this pull request as ready for review July 12, 2026 20:48
@Mngdd

Mngdd commented Jul 12, 2026

Copy link
Copy Markdown
Contributor Author

textures: NeotokyoRebuild/neoAssets#124

@Mngdd

Mngdd commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

also in-game logic

neo_koth_master (EXACTLY 1 per map, probably a dumb decision and i could have done it without creating a special entity, but I only realized this now)
│ m_Zones: CUtlVector<CHandle<CNEO_InfoKOTHZone>>
│ (zones register THEMSELVES in master via RegisterZone() in their own Activate())

neo_info_koth_zone (N of them, "points" a/b/c/...)
│ m_ChildTriggers: CUtlVector<CHandle<CNEO_TriggerKOTHZone>>
│ m_ChildBorders: CUtlVector<CHandle<CNEO_KOTHBorder>>
│ (triggers/borders register THEMSELVES in zone info via AddChildTrigger/AddChildBorder
│ in their own Activate(), resolving themselves by the "zone_name" keyfield)

neo_trigger_koth_zone (M per point) neo_func_koth_border (K per point)
pZone: CNEO_InfoKOTHZone* pZone: CNEO_InfoKOTHZone*
(both hold a back-reference to "their" zone, resolved by name in Activate())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants