Skip to content

Bomb Ship

Vishal edited this page Oct 27, 2023 · 9 revisions

Introduction

The Bomb Ship is a formidable in-game unit designed to add excitement and strategic depth to the game, offering players an unpredictable challenge. It targets and attacks enemy mobs within the game, requiring players to strategize and adapt to its presence.

Visual Design

Image for the bomb ship:

bombship

Stun effect: stun_effect

Functionality

The Bomb Ship's functionality encompasses several vital aspects:

1. Combat Task

  • The Combat Task coordinates the Bomb Ship's engagement with enemy mobs.
  • It triggers attacks when viable targets are within range and the engineer count is less than 3.

2. Wander Task

  • Between combat encounters, the Bomb Ship employs a Wander Task to navigate the game world.
  • The Wander Task guides the Bomb Ship's movement, ensuring it roams within the designated area or follows a predefined path.

3. Wait Task

  • At times, the Bomb Ship may need to wait for specific in-game conditions or events , like the engineer count is less than 3.
  • The Wait Task is responsible for these idle periods, pausing the Bomb Ship's actions until a specified duration has passed.

Relevant Code Snippets

Here are code snippets related to the Bomb Ship feature:

ForestGameArea.java:

private static final String[] forestTextureAtlases = {
    "images/projectiles/stun_effect.atlas",
    "images/bombship/bombship.atlas"
};

This code in ForestGameArea.java specifies the texture atlases used for the Bomb Ship and stun effect assets.

Bombship.json:

{
  "bombship": {
    "health": 100,
    "baseAttack": 55
  }
}

The Bombship.json file defines attributes for the Bomb Ship, including health and base attack values.

Testing Plan

Unit testing

1. Combat Task Testing

  • Verify that the Combat Task correctly selects targets.
  • Confirm that the Bomb Ship initiates attacks when valid targets are in range.
  • Test various combat scenarios, including multiple targets and different mob types.

2. Wander Task Testing

  • Ensure the Wander Task guides the Bomb Ship's movement within defined parameters.
  • Confirm that the Bomb Ship wanders within the designated area or follows predefined paths.
  • Test edge cases, such as boundary conditions.

3. Wait Task Testing

  • Validate that the Wait Task correctly pauses the Bomb Ship's actions.
  • Ensure that the Bomb Ship resumes its activities after the specified duration.
  • Test different wait durations and verify that the Bomb Ship behaves as expected.

Integration Testing

1. Bomb Ship and Mob Interaction

  • Confirm that the Bomb Ship correctly identifies and targets mobs.

2. Bomb Ship and Events

  • Verify that events related to the Bomb Ship's actions trigger correctly.
  • Test event coordination with the Combat Task, Wander Task, and Wait Task.

3. Bomb Ship and Game World

  • Ensure the Bomb Ship navigates the game world without collisions or errors.
  • Test interactions with other game elements, such as towers or mobs.

Gameplay Testing

1. Behaviour Assessment

  • Playtest the Bomb Ship in different game scenarios, including various maps and mob configurations.
  • Assess the Bomb Ship's adaptability and decision-making in real gameplay situations.

2. Balancing Evaluation

  • Gather feedback from playtesters regarding the Bomb Ship's impact on game balance.
  • Make adjustments to the Bomb Ship's attributes (e.g., health, attack power) based on feedback and balancing requirements.
Clone this wiki locally