RPG engine written in Python with the use of the Pygame library. Built to support easy development of roguelike games in the style of FTL.
Features a GUI editor implemented with PyQt5 to easily allow game development through the creation and insertion of game data. Also features a programmatic interface to allow developers to extend the game through Python scripting.
Main engine is developed. Editor interfarce is currently in development.
The GUI editor being used to create an event in the game
An example of scripting used to extended a character move component
class RandomAllyCast(Component):
"""Defines Random Ally Target for a move"""
def get_targets(self, selected, caster, players, monsters):
if isinstance(type(caster), type(players[0])):
return [random.choice([player for player in players if \
not player.fallen])]
return [random.choice([monster for monster in monsters if \
not monster.fallen])]