Colony Sim Engine Devlog #2: Skills, Quotas, and Resource Management


Hi everyone!

Back again with another progress update on the Colony Sim Engine for RPG Maker MZ. Since the last post, a lot of systems have been added or expanded so this post will cover a lot. Here’s what’s new:

Resource Gathering Areas

You can now create harvestable areas directly on your maps using events. Each event ties to a specific resource type with yield, respawn time, and tool requirements defined in parameters. Citizens recognize these areas and take jobs to gather from them. You can use these to create forests that your citizens can chop trees from or rivers they can fish from.

Skills & Leveling

Citizens now gain XP for the work they do. Skills and level requirements are fully parameter-driven, letting you define custom skill types, leveling curves, and benefits. Leveling up boosts speed or output quality. Citizen skill levels display in the Citizen Details window in the Main Menu to avoid clogging the game map. When a citizen levels up, customizable floating text appears above them (e.g. “Level 5 Lumberjack”), with parameters for font, color, size, and text.

Cancel a Job

Players can cancel any job with a right click. If the job is already in progress, the worker stops safely and resources are refunded.

Action-Facing

Citizens now face and stand next to whatever they’re working on (construction, harvesting, etc.) instead of standing directly on top of it.

Quotas (In-Game)

Quotas are now set through a dedicated Quotas panel in the Main Menu (next to Citizen Details and Jobs). Players can assign target amounts per item. Citizens respect these limits when crafting, hauling, or gathering, ensuring production never exceeds what you’ve specified. If your quota for logs is 12, for instance, your citizens will stop cutting trees once you have reached 12 logs.

Resource Costs Everywhere

Material costs are enforced across the board for buildings, recipes, and tasks. If stock is missing, jobs pause with a clear alert. Alerts must be defined in the new Alerts system (see below) or they won’t display.

Map Layering

Citizens no longer overlap or occupy the same tile, avoiding pathfinding collisions. They also respect all other map layers properly.

Animations

Task-based animations are now supported. Developers can assign looped spritesheets to specific citizen/task combinations. For example, “Construction” might swap a citizen’s walking sprite for a hammering animation until the job finishes.

Alerts System

Alerts are no longer hardcoded. A new Alerts parameter lets developers define text, priority, sound, position, throttling, and toggles for each alert type. Placeholders like {buildingname} are properly replaced with live data. You can use this system to create clear alerts for the player. For example, if a player attempts to construct a building without sufficient logs, an alert can tell them what is missing.

UI & Windows

All windows are now draggable. Players can simply drag them if they’re in the way and drop them where they want them to be. The new window position will be saved.

Custom images for UI: Added a full Asset Overrides struct parameter where you can swap out icons, buttons, cursors, overlays, and window skins. State variants (normal, hover, pressed, disabled) are supported.

VFX & SFX

Developers can now attach VFX and SFX to specific actions (e.g. placing a building, harvesting, combat). This is a significant visual improvement that can make your games feel more alive with very little effort.

Needs & Stats

Citizen needs and stats (like hunger, rest, comfort, safety, etc.) are now fully parameterized. Developers can create new custom needs, set decay rates, and configure behaviors tied to them.

Idle State

Idle citizens now behave less robotically. Instead of freezing in place, they’ll act in a more natural idle state when not assigned tasks. You can create multiple idle states and even switch sprites for your citizen per idle state.

Money & Shipping

Introduced a basic system for product shipping and money. A Shipping window allows players to define which items should be shipped (and how many). A new HUD displays a countdown for the next ship as well as current gold. Parameters allow enabling or disabling HUD elements.

Research

Added an optional Research system. Unlocks buildings, recipes, and bonuses through a dedicated Research panel.

Building Upgrades

Buildings and workstations can now be upgraded into advanced versions with better efficiency, speed, or output. This allows players to, for example, convert a House (with capacity to satisfy a single citizen’s Rest need) to a Deluxe House that has a larger capacity.

Bug Fixes & Notes

  • Harvest jobs are now split (e.g. “Chop Trees” vs. “Fishing”), instead of the generic “Harvest Resources.” Both jobs and skills reflect this separation.
  • Fixed issue where “Harvest Resource” jobs ignored toggles for specific resources.
  • Corrected placeholder replacements (e.g. {buildingname} now displays the real building name).
  • Buildings locked behind research no longer appear in the build bar before being unlocked.
  • Fixed float text overlap by improving animation smoothing and timing.
  • UI no longer shows internal IDs (like “harvest” or “craft”), only player-facing names.
  • Crafting tasks are now separated by recipe (e.g. “Smoke Fish,” “Craft Planks”), with custom work times defined in Task Definitions.
  • Fixed bug where building costs were deducted on placement instead of when construction started. Cancelling now refunds costs correctly.
  • Citizens can no longer walk over completed buildings.
  • Removed unnecessary UI fields (like “tiles”) and redundant parameters (e.g. extra Work Tick entries).
  • Fixed progress bar in Research panel not updating in real time.
  • Developers can now define spawn coordinates for new recruits per map.
  • Fixed bugs with right-click canceling (e.g. fishing jobs).
  • Cleaned up Money HUD parameters (removed redundancy between “Show HUD” and “Shipment Enabled”).

Current Bugs/Fixes in Progress

  • Research needs to be per-building, should require a specific number of citizens available, should not happen if citizens are not idle, and should require a specific level of citizen (for example, Scientist level 5).
  • Need an option for players to select a map. At the moment, there is only ever one map for a game. 
  • Citizens should not attempt to pathfind to inaccessible resources. Pathfinding overall needs improvement.
  • Need a way to use items to satisfy needs like hunger.
  • New citizen recruits should join at levels relative to the current colony rather than always at level one.
  • Clarify how resources actually get added to stockpiles. Stockpile buildings also need to indicate which stockpile preset they are using. Since we are using the default MZ inventory, there may not be a need for stockpiles if we can enforce limits to the inventory. This is a work-in-progress.
  • Quota system issue: if the quota is 3 and four citizens take the task, the last one cancels mid-job. Citizens should not begin a task if it would exceed the quota, including tasks already in progress.
  • Time keeps running when windows are open or the game is minimized. It should pause.
  • Need the ability to destroy already established buildings.
  • Sometimes after Task Animations play, citizen sprites get stuck in the animation rather than reverting.
  • Make Satisfy_Needs modular like harvesting and crafting so developers can assign Jobs per need.
  • Add recipe/resource groups so jobs can reference groups (Crafting, Cooking, Blacksmithing) rather than only individual resources.
  • Add citizen balloons (using default MZ balloons) to visually express needs.
  • Rename Jobs to Allowed Behaviors or similar to better reflect functionality.

What’s Next?

Upcoming focus areas include (not yet sure if I’ll include these in the first release or wait until a post-release upgrade):

  • New combat feature with opt-in hostile spawns.
  • Create an option for Citizen Death. If enabled, citizens can die from starvation, combat, or severe incidents, leaving a body that triggers cleanup and affects mood and productivity. If disabled, citizens will collapse instead of dying and recover at home.
  • Deeper citizen personality traits and social system.
  • Dynamic, visual weather and season system.
  • More advanced colony events and disasters.

That’s the state of the engine right now. Progress is steady, and the simulation layer is starting to feel much more alive. I hope to share not only visuals and mechanics soon but also a demo game! As always, feedback and suggestions are welcome.

Thanks for following along!

Leave a comment

Log in with itch.io to leave a comment.