A version of a game I made last semester called "Balldyseus" to experiment with roguelike generation

Main Goals & achievements

- Previously, levels i've made (for this project and others) were isolated into their own scenes. This wasnt terrible but grows to be a pain when handling dozens of levels at a time

- I aimed to learn how scriptable objects work (since i never messed with them all too much before this) and keep level data contained into them (grid placements enemy locations, obstacle locarions, objective locations) and keep the game contained in a single "PlayScene"

- After creating this scriptable object, I needed to create a way to efficiently design levels and bake them into a scriptable object, followed by loading these levels in the play scenes

- as such, i made a "level manager" that works in the Unity editor to achieve precisely that. I can create a level in my EditScene and then click a "bake" button to convert it to the scriptable object. Then i made a loading functionality that does the reverse, takes the leveldata and instantiates everything needed. I can also load previously created levels and easily save and overwrite them for easy iterating.

- Once this system was refined i wanted to experiment with the roguelike concept and randomization. Experimenting with level layouts, entity placement, enemy stats, and how i can best randomize a level without creating impossible level designs, along with having an appropriate difficulty curve

- Tested a few iterations of that and ended with the conclusion that pre-authored levels lead to the best player experience, which would force me to essentially premake dozens of versions of each level layout to give the illusion of randomness while maintaining an aura of randomness. This gave me doubts as to whether a roguelike would truly be the best way to approach the game. But i decided to put these thoughts aside until after this iteration was done

- the final thing i wanted to experiment with was an item system for the player. It wasn't TOO bad since I was now better versed with scriptable objects. Created a limited inventory system for the game manager and different item types (stat boosts, bounce items, attack items) and made them as modular as possible to make it easy to create new items. (Though for the purpose of this build i currently just have the zeus items)

- outside of this, did a lot of general refactoring, particularly of the turnmanager after learning more about how other turn based games are structured

Published 1 day ago
StatusIn development
PlatformsHTML5
AuthorWiktorK01
Made withUnity

Leave a comment

Log in with itch.io to leave a comment.