Finished!

If you are playing the game, note that it is hard. Anything other than easy mode will probably require a few attempts unless you already know one of the languages in the game.

Here are a few additional customisation options which you can get by editing the code, if you want to (although be careful with your file encodings if you're re-saving src/text.py, and I'm not sure if these changes will actually work):
  • If you find the button 'click' sound annoying you can disable it by commenting out line 42 in src/ui.py.
  • If you want to play with a custom set of languages, you can edit the dictionary on lines 163–165 of src/text.py.
  • You can give yourself more or less time by editing the inital_time() and extra_time() functions on lines 15–36 of game.py.
I got quite a lot done in the last day: music and sound effects, winning and losing screens, four new languages (German, Italian, Portuguese and Russian), a much better difficulty-select screen, the ability to show the English for an instruction after a mistake, and lots of bug fixes. I managed to reach exactly 1000 lines of code, which is not as many as Floodboat (which had two people), but more than any of my other Pyweek entries.

I think this is probably the best game I have made for Pyweek so far, in terms of idea, gameplay and polish.

I apologise for any inaccuracies in the translations: if I've butchered your language's syntax you can rest assured I've done much worse with Python syntax in the code!

(log in to comment)

Comments

The game is crashing when I try to play. It launches but clicking on any of the options in the main menu crashes it. I'm trying it on Linux. Here's the error.


$ python run_game.py 
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8306:(snd_pcm_recover) underrun occurred
Fatal Python error: PyEval_SaveThread: NULL tstate

Current thread 0x00007f4408583740 (most recent call first):
  File "/home/christian/pyweek28/28/babel/Babel/src/main.py", line 181 in main
  File "run_game.py", line 3 in 
Aborted (core dumped)

Any ideas on what I can do to get past that?

I'm not sure exactly why that error occurs; I think it's something to do with the audio driver not getting sound data fast enough. There only things I can think of that might fix it is changing the numbers (44100, -16, 2, 1024) in lines 26 and 29 of src/main.py to (44100, -16, 1, 8192). I think that you might be on ARM. If so you could also try it on an x86 system, if you have one available.