A downloadable game

This was done for 7DRL 2022.

Gather together your monstrous comrades and compete in turn-based battles.

A new set of monsters, type-relations, and a new world are generated in each run.

I reused a bunch of code from a previous project. Basically, most of the roguelike machinery is from a previous game, and all the battle systems and monsters, and npcs etc etc are from this past week. Assume that all source code is GPL3 or whatever. None of it is particularly beautiful programming but basically lift whatever you want.

The homie CRS wrote a bunch of the monster types in mon_types.py.

Download

Download
tournament-arc-main v0.2.zip 45 kB

Install instructions

Currently is best to make a python3 virtualenv (mkvirtualenv if virtualenvwrapper is installed) and pip install -r requirements.txt then run python main.py to play the game. It is currently playable but not feature-complete. I'm basically assuming anyone on linux can use python, and I don't have a rig to compile for other platforms anyway, so there will be a bit of a wait before it is available to people who don't know how the command line works. I'm like 10% sorry about that and about 90% flashing back to wading through a sea of windows-only games looking for something to play. It's my fault, of course, but rarely do people make it easy for me to play their games. The first post-7DRL release will be an actual game, which I will take the time to beg people to build on your platform for me, just so that I can experience the disappointment of nobody playing it anyway. If you do actually want to play it, maybe you should just follow me on itch and wait until then. If your terminal is too small, the game may jitter, so make it bigger if it's doing that.

Comments

Log in with itch.io to leave a comment.

i could not figure how to install it 

(4 edits)

Hey, Sam. I’ve tried starting the game but it keeps saying I’m missing the blessed terminal library, even after running

pip install blessed

  File "main.py", line 3, in <module>
    import blessed
ImportError: No module named blessed

All the previous steps ran without issue. I have almost no experience with python, so there’s probably something basic I’m missing. Looking forward to trying your game.

(+1)

Thanks for giving my game a go despite the janky distribution method! Dang, that's a weird one. The only thing I can think of that could be wrong is that blessed might be installed in a different virtualenv or on a different version of python. For example, on some systems the python 2.7 executable is called python and the python 3.x executable is called python3, with pip and pip3 respectively installing packages to them. If that's the case, running pip3 -r requirements.txt and then python3 main.py should fix, I think. For virtualenv, I use virtualenvwrapper so for me the workflow is mkvirtualenv --python=/usr/bin/python3 tournament-arc; workon tournament-arc; pip install -r requirements.txt; python main.py

I'm working on a post-7DRL release with binaries for each platform

Okay, thanks! Using pip3 and python3 did the trick. I’ve tried to play the game, but it crashed just after I chose to finish my turn (I think) during my first battle. This is the log from my play session:

Generating types...
Generating mons...
.../.local/lib/python3.8/site-packages/nltk/tokenize/sonority_sequencing.py:102: UserWarning: Character not defined in sonority_hierarchy, assigning as vowel: ' '
  warnings.warn(
Generating city...
80 24
Traceback (most recent call last):
  File "main.py", line 303, in <module>
    adventure.current.scene.update(term_interpreter.get_signal())
  File "main.py", line 160, in update
    self.do_command(signal)
  File "main.py", line 122, in do_command
    thing.interact(self)
  File ".../battle.py", line 369, in interact
    result = takeover(Battle(mons))
  File ".../control.py", line 15, in takeover
    return term_takeover(game_process, clear = clear)
  File ".../control.py", line 20, in term_takeover
    result = game_process.update(NoKey())
  File ".../battle.py", line 175, in update
    if not self.current_mon.can_battle:
AttributeError: 'NoneType' object has no attribute 'can_battle'

Will give it a try again later so I can share a full review.

(1 edit)

Thanks for trying it. That's an interesting bug. I'm not sure how your current monster got set to None, maybe it's an issue where I forgot to set them to rez after you lose and then when it starts a battle in that state, it looks for someone to put in first but can't find them... I've written a lot of patches since the 7drl release but I'll double check that the bug doesn't still exist.

Edit: I was wrong, it was a much less complex bug where the whole "if self.opp_tag:" block in battle.py tries to tag in the player's monster instead, but none is specified. There's such a lot chance of opp tagging that it never came up in testing. (Which is why I should write unit tests I guess...)

(1 edit)

Okay, thanks for clearing things up. No worries. Would be nice if we really had time to write unit tets :D I’ll try one of the patches and see if that goes any better. The concept for the game is pretty neat so I’m looking forward to playing again.