1 of 17

Venture Forth

Final Presentation�

Liam Cassidy

CPSC 4160

2 of 17

Game Description

Name: Venture Forth

Genre:

Venture Forth is a turn-based strategy game that incorporates roguelike elements.

Game Objectives:

The player leads a team of risky treasure hunters, otherwise known as venturers, as they fight their way through an island in search of riches. Waves of enemies stand in their way, and they must navigate through the overworld island to reach their goal.

3 of 17

Game Description

Game Objectives:

Players will fight through consecutive waves of enemies.

Health and other stats are maintained across fights. If a venturer dies, they are dead for the rest of the run. If all venturers are dead, the run is over, and the player must start over.

If the player successfully completes all waves, they reach the treasure.

4 of 17

Game Information

Skill rating: 12+ year-olds.

This game will be centered around strategy and carefully planned battles. It will require skill to navigate your party through the entire dungeon.

Audience: Male and females ages 12 and up.

5 of 17

Game References

Combat and UI will be similar to Brave Frontier.

Roguelike elements will be similar to Slay the Spire.

6 of 17

Color Palette

The color palette utilizes purples, oranges, and yellows to create a stunning sunset. Sand and other environmental objects are also included with their respective colors.

All venturers follow a simple black and white color scheme, to drive a unique art style and make them stand out in game.

7 of 17

Entities – Player Party

The player party will be composed of up to three venturers.

  • Behavior: All entities will have unique animations, and behave based on their statistical makeup. Some will be more attack minded, while others will be more defense based.
  • Looks: Entities will vary widely in looks, but all will have sprites of 24x32px or smaller. Some will appear more humanoid, while others will be more fantastical like wisps.
  • Implementation:
    • Information about all the different types of venturers, their names, stats, id, etc. is stored in entities.json. This json object is loaded in, and when a new Entity is created, we search through the json object to initialize the Entity with the correct information.
  • Inputs:
    • Press “Enter” to attack with the selected venturer.
    • Press “I” to cycle between the selected item.
    • Press “U” to use an item on the selected venturer.

8 of 17

Entities - Enemies

Waves of entities will be composed of up to three entities.

  • Behavior: Enemy entities will attack in order after the player finishes their turn.
  • Looks: As stated on the last slide, enemies will vary widely in looks. Some will be more humanoid, while others like the wisp, are more fantasy inspired.

  • Implementation: Enemy entities will use the same Entity module used by player controlled entities. They will track the same stats, but only attack when instructed to by the Battle module. They will be housed in a separate list than the player’s party.

9 of 17

Entities - Items

There will be two main items in the game, health potions and shields.

  • Behavior: Items can be obtained after winning a battle. They will be of one time use.
  • Looks: Items will be a small icon like sprite that appears on the top right corner of the screen when you posses one.
  • Implementation: Information about all the different types of items, their names, stats, id, etc. is stored in items.json. This json object is loaded in, and when a new Item is created, we search through the json object to initialize the Item with the correct information. When used, they will edit an entity’s current stats.

Work in progress health potion.

10 of 17

Entities – Non-Player Characters

There are no NPCs in the game. Instead the game’s story and mission is driven my text displayed during cutscenes.

11 of 17

Game Mechanics

  • Turn Based Strategy: The core gameplay of “Venture Forth” is centered around the player and enemy turns. During the player turn, the player deals damage to enemies of their choosing. During the enemy turn, the enemies deal damage to the first venturer in the player’s party.

  • Change Your Target: Players can cycle through enemy entities with “Tab”. Once you have selected your desired target, press “Enter” to attack.

  • Items: The game features a variety of items that can be used to assist your team.
    • Health Potion: Restores 50 hp on your selected venturer.
    • Shield: Prevents the selected venturer from taking damage next turn.

12 of 17

Game Mechanics

  • Perma-death: If a venturer in the player’s party dies, they are dead for the rest of the run.

  • Enemies: The game features a variety of enemies, including Whisps, Defenders, and more. Each enemy has their own unique stats.

  • Battle Rewards: At the end of each successful Battle, the player is rewarded. The reward can be a new party member or an item.

13 of 17

Player’s Mechanics

The mechanics of operating your team of ventures include:

  • Changing your current target
  • Attacking
  • Using an item on your venturer

14 of 17

Modules

The most crucial modules in my game are listed below:

  • Entity.py: Used for both player and enemy venturers. Tracks their current health and other stats, as well as whether or not they have been used this turn. Initial stats are loaded in by looking up the entitiy_id in the entities.json object.
  • Item.py: Tracks stats on an item, including whether or not it has been used. Initial stats are loaded in by looking up the item_id in the items.json object.
  • Battle.py: One of two different types of scenes. Takes in two lists of entities, the player’s team and the enemy team. Polls for events, and performs the correct action, such as damaging an enemy, changing the target, etc. After completion of the Battle, returns the modified entity lists and gives control back to Display.
  • Cutscene.py: The other type of scene. Facilitates the story through text and interfaces. Returns control to Display when finished.
  • Display.py: Sets the display settings and controls the game loop. Starts Battle and Cutscene scenes and passes events to them.

15 of 17

Software Architecture

16 of 17

Past Timeline

Week One 10/17:

  • Develop basic sprite sheets that can be used for prototyping
  • Create entities.json with entity stats
  • Create basic Display, Entity, and Battle modules that can draw entities to the screen in different positions

Week Two 10/24:

  • Improve on Battle module, building out both the player turn and the enemy turn

Week Three 10/31:

  • Add transition to the next Battle after one is completed
  • Add simple cutscenes to convey the story

Week Four 11/07:

  • Create more sprites/entities
  • Allow players to start a new run after dying

Week Five 11/14:

  • Add a treasure cutscene upon victory
  • Add a settings menu

Week Six 11/21:

  • Address any bugs
  • Add more sprites/entities if time allows

* This has all been completed, and my game has been submitted.

17 of 17

Important Questions

  • What modules are going to be a priority?
    • The Battle module is a priority because it provides the core gameplay.
  • What module will be difficult to achieve?
    • The Battle module will be the most difficult because it will be the most complicated logically.
  • What modules will be developed first?
    • The Battle module, and other modules required by it such as the Entity module.