Get the office running
An empty room. Do you buy desks first, or furniture that restores energy? Every office purchase changes what you can afford to do next.
Side Project 04 / 2026
In development · Playable prototype
A playable browser game combining city exploration, office furnishing, team development, and election strategy. Built with JavaScript and HTML Canvas, with fictional candidates, simulated support, and local browser saves. The game is still in development.
No installation. Opens in a new tab. The game interface is currently in Traditional Chinese.
The story
I have a key, a little money, and an empty campaign office. Voters do not know me yet, but my rivals are already out campaigning. What should I do on day one?
An empty room. Do you buy desks first, or furniture that restores energy? Every office purchase changes what you can afford to do next.
Walk the streets, meet residents, and respond to local events. Choose where to spend your limited energy while support shifts and rival campaigns keep moving.
Recruit and train teammates, manage resources, then use district information and the journal to understand daily changes and plan your next move.
The project brings city exploration, lighthearted dialogue, and resource management into one loop: choose, observe, and try a different plan. Gameplay and difficulty continue to evolve through playtesting.
Inside the prototype
Screenshots captured directly from the public v40 build on October 26, 2026. Visuals and rules may change in later iterations.

Streets, rivers, and landmarks form the exploration scene. District information and event prompts connect places on the map to campaign decisions.

A daily batch brings up to three applicants; those not hired leave at the end of the day. Colored bars show stamina, efficiency, and loyalty, distinguishing base abilities from furniture bonuses.
Engineering decisions
Build a browser game with JavaScript and HTML Canvas, connecting simulation rules, controls, and visual feedback.
World data, game rules, drawing, and UI input have separate responsibilities. Support changes, furniture effects, and daily settlement can be checked independently of Canvas rendering.
Funds, energy, furniture, teammates, offices, and support form the game state. Actions check their requirements before updating state and UI, keeping resources consistent across screens.
Move by clicking the floor or using arrow keys / WASD, with contextual interactions and a game menu. Camera framing, dialogue layers, and furnishing gestures are refined through playtesting.
Node.js checks cover district rules, three-way competition, city events, personnel, and furnishing. Scripts and styles share a content-derived version to reduce mixed-release cache problems.
JavaScript / HTML Canvas / CSS / localStorage · Static web deployment
Current development focuses on office management, city exploration, and team progression. Campaign balance, event variety, and mobile controls will continue to be refined through player feedback.
Explore more projects →