PyWeek Complete

22nd April 2018

PyWeek Challenge 25: Two Worlds, Complete. My entry is submitted, it works, now my real work begins. I intended to create a game similar to the original Rogue, but divided into normal and magical realms. I feel I have achieved this. Now it's time to make it better.

Rogue: Through The Veil new map features
Rogue: Through The Veil new map features

ENJOYING A very nice cup of tea today, after working flat out to get so many features into my Rogue: Through The Veil entry for PyWeek 25. It’s very much a day for relaxing! You can view my entry on PyWeek, or keep up with newer developments at the GitHub Repo, I’d consider the submission as a beta release. Please let me know how you find it!


I’M QUITE proud of how feature-rich the game is within a week, I setup some very useful patterns that allowed me to gain new features very simply. For example, my user-input system allowed me to very easily develop a control screen. My actions patterns made it easy to develop scrolls, or potions, or wands etc. All I had to do was write a function for each item to make it’s behaviour, a function for the action of using it (quaff, read, zap), and add the letter to the controls dictionary.

tcod was a breeze to use for it’s graphics, the drawing functionality has worked brilliantly. It’s perfect for a rogue like. RogueBasin has been an invaluable resource, I’d highly recommend it when developing a roguelike. The articles on algorithms and design are very useful.


THE BIGGEST waste of time I had in developing was in my attempts to make a maze generator. It was a late-night job and I just struggled to get them without diagonal movements. In the end I borrowed some code from Mazify, which worked terrifically and allowed me to go to bed! I think this is the biggest difficulty of the challenge, it’s a balance of time, sleep, and functionality.

I had a couple of problems with segmentation faults in to the underlying C library tcod uses, these were bugs in my program (I hope!), but without a trace back they’re hard to squash. Balancing the game has also been a insurmountable challenge. With so much randomness it’s hard to get right.

Perhaps not a true lowlight, but the quality of my rushed code is bugging me. I want to organise it, refactor large parts and put in some proper tests so bad that I’m going to go start that right now. So much for a relaxing day!

PyWeek Complete
PyWeek Complete

Post Tags

All Tags

LIFE IS better when we share.