1 of 16

CPSC 4160/6160: Milestone 1 Presentation�

Joseph Kelly

CPSC 6160

2 of 16

Game description

Name title:

Ghost Town Experiment

Genre:

Ghost Town Experiment is a roguelike.

The player uses turn-based tactics to navigate on a grid-based map, while fighting enemies, gaining experience, and finding items. Death is permanent and resets the game.

3 of 16

Game description

Game Objectives:

Mercenary seeks to discover and eliminate the source of corruption that is turning towns desolate, with abominable creatures appearing afterward.

4 of 16

Game description

Game Objectives:

Levels are randomly generated with tiles, walls, enemies, and items. The endpoint of each level will be a staircase that leads down to a deeper level, furthering progression. As the player goes deeper, enemies will become harder and differ, and the player will get closer to the final boss.

All actions in the game are turn based. The game’s state is latched until the player chooses to do something. This will tick time for the world around them.

5 of 16

Game information

Skill rating: 5+ year-olds.

Early on, the game will require basic logical thinking that could be accomplished by a child. As the game progresses, more advanced understanding of tactics will be necessary to beat the game.

Audience: Male and Females above 5 years old and older.

6 of 16

Game references

Pixel Dungeon

Rogue

7 of 16

8 of 16

Entities – Player character

  1. Main character

-Stands idle, walks, attacks, and dies

-Mercenary in ninja like outfit

-Will animate character when moving, attacking, or dying

-Right facing will employ pygame.transform.flip()

-Health points

9 of 16

Entities - Enemies

  1. Enemies
    1. Enemies will randomly roam through the map
    2. Enemies consist of Rat, Blob, Monster, and Vampire
    3. If enemy sees player within their specified distance, they will chase player
    4. When enemy is next to player, they will attack
    5. Health points

10 of 16

Entities - Items

  1. Entities
    1. Potions will be randomly found either laying around or in chests for player to pick up
    2. Red, Blue, Green, and Orange potions can be found
    3. Stairs will take player to level below

11 of 16

Game mechanics

  • Grid-based interaction: The core foundational gameplay of “Ghost Town Experiment” is turn based strategy on a discrete map. Each tile will have a floor or wall, and either be empty to pass over with movement, or have something to interact with, either an enemy, or item.

  • Walk: Player can move character by using the arrow keys up, down, left and right

  • Power-Ups: For now the game will have different colored potions that have different effects:
    • Blue Potion: Increases defense of player
    • Green Potion: Increases dodge chance of player
    • Red Potion: Heals the player
    • Orange Potion: Increases damage of the player

12 of 16

Game mechanics

  • Object interactivity: The game will feature a staircases that descend to the next level, and walls that block movement.

  • Enemies: The game will feature enemies such as big rats, blobs, and monsters.

  • Fog-of-War: Player will have limited range of what is in front of him until he explores the obfuscated regions.

  • Item usage: Player will be able to use items they pick up

  • Message log: A window off to the side will display what actions/events occurred by either the player or enemy

13 of 16

Player’s mechanics

The mechanics of the Mercenary involve

  • Walking
  • Attacking
  • Finding items
  • Consuming items

14 of 16

Modules

  • Map generation: Create map of tiles, walls, items, enemy placement

  • Player input: Keyboard input,

  • Enemy AI: Line of sight, chase player, attack, wander

  • Collision Detection: Walls blocked, entities blocked, when collided with enemy then attack

  • Combat: Damage calculation

  • Assets and config: Window size, sprites, stats

  • User Interface: HP, message log, items, floor #

15 of 16

Software architecture

User Input Processing

-Keys to move, attack, interact, use item

Player turn executed

-Apply players action

Enemy Turn processed

-LoS Check

-Chase & Attack

-Wander

Update State

-HP adjustment

-Update tiles with FoV

-Animation index

Item

-Process item on floor

Field of View and Line of Sight

-What player can see

-FoW for unexplored tiles beyond radius

Collision and Combat

-Walls are a block

-Enemies are attacked

-Special floor tiles

Render

-Tiles, sprites, items, enemies, player, UI, log

Check

-Player death

-Descension

Message log

-List attacks, pickups, enemy deaths

Initialization

-Config

-Map

-State

16 of 16

Timeline

  1. Window with moving player on grid
  2. Generate rooms with walls with proper collision
  3. Statically placed enemies and combat
  4. Add items
  5. Add Fog of War
  6. Dynamic enemies with wandering and chasing
  7. Next level transitions
  8. Proper sprite animations for all events
  9. UI implementation

Map generation and enemy AI will most likely be the most difficult module to implement, and thus will be accomplished as early as possible.