Wiki / Player Guide / Buildings / Hunting Lodge

Hunting Lodge

Hunting Lodge in-game sprite
In-game sprite

The Hunting Lodge sends hunters into the wilderness to kill wild prey — ostriches, antelope, and waterfowl — and returns the carcasses as game meat stored in the lodge until a cartpusher delivers the load to a Granary.

It is one of the first food production buildings available in the campaign, unlocked in mission 0 (Nubt) once the city population reaches 150. Hunting is reliable early-game food but is limited by herd size — it cannot sustain a large city alone.

Game meat is one of two animal foods (the other being ranch meat). It does not require any input resource, only proximity to prey animals on the map.

Stats

2×2Size
6Workers
−4Desirability

Cost (Normal)
25 Db
Cost by difficulty
VE 5 · Easy 10 · Normal 25 · Hard 40 · VH 60
Output
Game meat
Labor category
Food Production
Fire risk
Medium (5)
Damage risk
Low (2)
Prey herd (map) Hunter (walker) Hunting Lodge (stores up to 500 units) Cartpusher Granary Bazaar buyer Housing

Overview

In ancient Egypt, hunting was both a food source for ordinary people and a prestige sport for the elite. The Pharaoh and noblemen hunted from chariots in the desert, pursuing lions, wild cattle, and oryx. Ostriches were hunted for their feathers and eggs as well as meat. Egypt's marshlands teemed with waterfowl, and papyrus thickets sheltered hippopotamuses, crocodiles, and countless bird species. Wall paintings in New Kingdom tombs frequently depict hunting scenes, suggesting the activity carried strong cultural and symbolic weight beyond mere subsistence.

In the game, the Hunting Lodge abstracts this into a reliable but bounded food source. Each herd supports roughly 2 000 people at full capacity — enough for small and mid-sized cities but insufficient on its own for large populations.

Mechanics

A fully staffed lodge dispatches three hunters simultaneously. Hunters walk from the lodge, locate the nearest prey herd, kill an animal, and carry the carcass back. Each successful trip yields 100 units of game meat, deposited directly in the lodge's internal store (max 500 units).

Hunter dispatch rate depends on staffing level:

StaffingDispatch intervalApprox. output
100 %Every game tickMaximum throughput
75 %Every 5 ticks~⅓ of maximum
50 %Every 10 ticks~¼ of maximum
25 %Every 15 ticks~⅙ of maximum
< 25 %Every 30 ticksMinimal

Once the lodge's 500-unit storage is full, hunters stop going out until a cartpusher clears the stock. If every nearby Granary is also full, the cartpusher has nowhere to go and hunting stalls completely — always ensure Granary space is available.

Prey herds

Prey animals are placed on the map by the mission script at fixed positions and roam within a defined radius. Their total population is finite: each herd can support roughly 2 000 citizens at full lodges. Killing prey at a high rate does not replenish the herd faster — overhunting will simply reduce the available population over time.

A Temple Complex dedicated to Osiris increases herd size. The Altar of Min add-on further boosts it. Conversely, Bast's Temple Complex can reduce how much food citizens need, making the same herd support more people effectively.

Trade value

Game meat sells for 34 Db per 100 units. This is among the higher food trade values, but hunting volume is too low to make it a reliable export. It is better consumed locally.

Placement

Place the lodge as close to the prey herd as possible. Hunters walk on foot — a long trip means fewer hunts per unit of time and slower food throughput. Use the Animals overlay to see the herd's roam zone and place the lodge at the edge of it or inside it.

The lodge is undesirable (−4 at the building tile, fading over 4 tiles). Keep it away from housing you want to evolve beyond Sturdy Hut. Clustering it with other undesirable food buildings (Granary, Bazaar) on the city's outskirts is a clean layout strategy.

Road access is mandatory — hunters and cartpushers both need a connected road network to reach the lodge and the Granary.

Tips

In the original game

Screenshots from Cleopatra: Queen of the Nile (Impressions Games, 2000).

Hunting Lodge right-click info window from the original game
Right-click panel — game meat stock, employment status, hunter activity
Hunter walker portrait
Hunter
Prey animal portraits — ostrich, antelope, waterfowl
Prey — Ostrich · Antelope · Waterfowl

Developer reference

All paths relative to the repository root.

Building config — src/scripts/building_hunting_lodge.js

The entire building definition lives in one file: src/scripts/building_hunting_lodge.js

building_hunting_lodge {
  labor_category : LABOR_CATEGORY_FOOD_PRODUCTION
  output { resource : RESOURCE_GAMEMEAT }

  building_size  : 2
  min_houses_coverage : 100   // needs 100% of nearby houses to be in range to be "active"
  cost [ 5, 10, 25, 40, 60 ]  // VeryEasy … VeryHard
  desirability { value[-4], step[1], step_size[2], range[4] }
  laborers [6]
  fire_risk   [5]   // 0=none, 1=low … 10=extreme
  damage_risk [2]

  // Hunter dispatch interval by staffing tier (in game ticks)
  spawn_delay_100_percent : 1
  spawn_delay_75_percent  : 5
  spawn_delay_50_percent  : 10
  spawn_delay_25_percent  : 15
  spawn_delay_default     : 30  // < 25% staffing

  flags { is_food: true }
}

To tune food output, adjust spawn_delay_* values — lower = faster hunter dispatch. To change placement cost per difficulty, edit the cost array (index 0 = Very Easy, 4 = Very Hard).

The desirability gradient: starts at −4 at the building, increases by 2 every tile (step_size), over a radius of 4 tiles. At 4 tiles out, the effect reaches 0.

Prey placement — src/scripts/mission_*.js

Prey animals are not hardcoded to the building — they are placed by each mission's script via event_register_mission_animals. Example from mission 0 (Nubt):

// src/scripts/mission_0_nubt.js — line 80
[event=event_register_mission_animals, mission=mission0]
function mission0_register_animals(ev) {
    city.remove_animals()
    city.add_animals_point(
        0,          // group index
        40, 60,     // map coordinates (x, y)
        FIGURE_OSTRICH,
        4           // count
    )
    city.set_animals_area(0, 16)  // roam radius in tiles
}

To move the ostrich herd, change the x, y coordinates. To adjust herd size, change the count. To change the roam zone, change the radius. Each mission that uses hunting lodges has its own event_register_mission_animals handler.

Game messages — src/scripts/game_messages_en.js
KeyLineWhen shown
message_building_hunting_lodge 4053 Building info panel (right-click on lodge). Contains the full in-game description including food chain explanation and game meat trade value.
message_tutorial_food_or_famine (ID 239) 3047 Tutorial popup in mission 0 when population reaches 150 — introduces Hunting Lodge, Granary, and Bazaar together.

The building's meta field in the script (help_id:90, text_id:154) maps to these message IDs. text_id is the in-game building name string; help_id points to the extended help panel.

Graphic animation — how the building displays stored meat

The building has a dedicated gamemeat animation layer defined in the script:

animations {
    preview  { pack:PACK_GENERAL, id:176 }
    base     { pack:PACK_GENERAL, id:176 }
    work     { pos:[20, -15], pack:PACK_GENERAL, id:176,
               offset:1, max_frames:18, duration:3 }
    gamemeat { pos:[61, 14], pack:PACK_GENERAL, id:205 }
}

The gamemeat layer (sprite pack GENERAL id 205) is drawn at position (61, 14) relative to the building tile and represents the pile of carcasses visible when the lodge has stored food. The work animation (frames 1–18 of sprite 176) shows the hunter doing target practice in the yard when the lodge is active.

The graphic update is controlled by the JS event handler at the end of the script:

[es=(building_hunting_lodge, update_graphic)]
function building_hunting_lodge_on_update_graphic(ev) {
    var building = city.get_building(ev.bid)
    var animkey = building.can_play_animation ? "work" : "none"
    building.set_animation(animkey)
}

can_play_animation is true when the building is staffed and active. An empty or understaffed lodge shows the static base frame.