Documentation


Comparison to concept:
I was able to implement the core features in simple forms, but the interaction between different systems proved to be much harder to implement than anticipated, I wanted a dynamic role-playing experience for the player, but settled for a short rogue-like adventure.
I believe the scope of this concept was too large.

Summary of feedback:
I wasn't able to do a testing session. though I did get some good feedback in the early stages on player movement. I was able to solve the movement issues by tweaking the tilemap collider and player collider as well as the player's movement speed.

Asset list:
Player character:
There are two versions of the player, one for combat and one for exploration, they both share the same "stats". A persistent object exists to store the values and pass them to the relevant player object as the player changes scenes. The "World" version of the player uses a script to handle input and movement, and a script for interacting with the world. The Combat version of the player just uses one script to store the stats. Very similar to a character sheet in the game Dungeons and Dragons.  These stats are displayed on a simple GUI.

- 8-way movement script from the tutorial project in Week 4 - Tilemaps
- player sprites from Dungeon Tileset II, by 0x72
- GUI uses fonts from Tripfive by Pixelmush

Enemy prefabs:
All enemies use the same script as the player to store stats variables and also contain a variable sprite, they all also contain a unique series of dialogue options and questions they can ask the player, though all interaction with enemies is handled by the combat controller script. 

- enemy sprites from Dungeon Tileset II, by 0x72

NPC prefabs:
NPCS have a script which stores their name, a few variables to determine how the player interacts with them, and the dialogue that should be displayed.

- NPC sprites from Dungeon Tileset II, by 0x72

Item prefabs:
Items have a stats script which stores how the player's stats will be affected when they pick up the item and a simple sprite.

- item sprites from 16x16 RPG Item Pack by alex's assets

World Scene:
Contains a static tilemap, and a door the player can interact with.  Also contains an item spawner object. The Item spawners store a list of all possible items,  randomly choose one to  instantiate, then randomly chooses from a list of set locations, and removes it from the list, it also stores which objects it has spawned in a persistent object so it will always spawn the same objects even if the player changes scenes. 
-Tileset sprites from Dungeon Tileset II, by 0x72 and 2D Pixel Dungeon Asset Pack by Pixel Poem

Combat Scene:
Combat is defined by two units which have their own stats, and a combat controller script compares the stats of each unit and determines the outcome of each turn, there is also a dialogue tree which follows the same script each time, but the text variables change based off the enemy you are talking to.

- Combat controller code from Turn-Based combat tutorial by Brackeys,
(I used this to get started and then heavily modified it, but his systems are still used)


-a GUI with text using fonts from Tripfive by Pixelmush

Other references:
I used code from this tutorial:
-Preserving Data between Scene Loading/Switching by quill18creates

User Guide:
<see game post>

Files

KIT109 williamreid assignment 4 final build.zip Play in browser
Oct 16, 2020

Leave a comment

Log in with itch.io to leave a comment.