Crisis Simulation Wargame

I would tell you a joke about UDP, but you might not get it.

Description

This project has transformed the traditional manual process of a crisis simulation exercise used by reservists of the Philippine Navy into a digital game, offering a more efficient, accessible, and engaging experience for players. By leveraging technology, the game streamlines the simulation process, allowing players to focus on strategic decision-making rather than physical implementation.

This shift from a manual to a digital format has significantly improved the wargame's playability, providing a more immersive and effective training environment for reservists. With it's implementation, this project paves the way for future projects in the realm of crisis simulation exercises, setting a new standard for training and preparedness.

Functions

Main Map

  • Display:

    • Displays entities currently deployed on the globe.

    • Teams control various units deployable at their discretion, each represented by a distinct icon. These teams also manage population centers that require defense. Units may be amalgamated into combat groups, which are then depicted as a single icon on the map.

    • Units can be highlighted to display specific data about them.

    • A fog-of-war mechanic is implemented using drone units that represent surveillance capabilities, as well as the radar ranges of each unit. When an enemy unit enters a radar's range, it appears as a pulsating red icon on the map until it exits the range.

    • The map can be refreshed at any time, and the movement of units can be paused. The drawing system calculates the current position of units based on the start time of their movement and their speed.

  • Deployment Flow:

    • A separate system, the unit management system, serves as the frontend for deploying units.

    • There are mechanisms to validate the deployment order's logic; for example, ships cannot be deployed on land.

    • The Game Master must approve the deployment order.

    • Once the order is confirmed, the map is updated to reflect the movement of units.

  • Skirmish:

    • A skirmish event occurs when the attack ranges of two opposing units or groups intersect. A description of the event is displayed on a page where the Game Master will determine the outcome.

    • If units are in motion, their movement is temporarily paused until a decision is reached.

  • Destruction:

    • Cities, units, or groups deemed destroyed are removed from the map. An explosion is then drawn at the location of their destruction.

Objectives Overview

  • Each team has a set of objectives to meet.

  • The overview page is updated whenever a game objective is met or failed, visible to all teams. The timing and decision-making authority rest with the Game Master.

GM Decision Page

  • In skirmishes, the Game Master determines the survival or destruction of units. Following the confirmation of a decision, the game map is promptly updated.

Work Done

Communication

  • Participated in meetings with the General Manager and the army reservists team to refine the gameplay flow and design.

  • Provided continuous updates to incorporate feedback and implement changes.

Development

  • Resolved a significant development challenge by implementing a socket-based backend for real-time data updates, optimizing network resource usage.

  • Studied the leaflet library.

  • Acquired foundational knowledge of the geographic coordinate system to enhance distance calculations and understand algorithms for positional representations (latitude/longitude) and pathfinding.

  • Developed the logic and graphics for the main map.

  • Worked collaboratively with two other developers on the backend database and the unit management system, ensuring seamless integration among all three systems.

  • Designed and implemented a page for the unit management system to facilitate positional inputs. -Developed a decision-making page for the Game Master to determine the outcomes of events.

  • Created an overview page that displays game data and tracks the current objective status of the teams.

Mission Control

  • Monitored server health during gameplay, addressing bugs as they emerged.

  • Managed the playback of sound effects for nuclear explosions and similar events.

Tech Used

  • FastAPI Socket.io

  • Bootstrap Jinja JavaScript

  • TypeScript - game logic

  • leaflet.js - map display

  • geoJSON - tool to determine to convert coordinates to actual geographical data

  • dBeaver - database manipulation tool

circle-info

Series 2 of 4 in the Featured Collection.

Last updated