The Nox FAQ
- What exactly is nox?
Nox is a Python program written by Michelle and I which lets you play noughts and crosses on a board size of your choosing, against a computer, another human, or indeed setting two computers on each other.
- How do I get it?
Okay: follow the nested lists:
- I use windows.
- I don't have Python/Pygame and I'm not interested in the code, I just want to play.
Great, we have just the thing for you: download nox-3r2d.exe, run it. Pick a directory for it to unpack to. Then go to that directory and double click on the shortcut 'nox'.
- I don't have Python/Pygame but I want to look at the code.
No problem, first install Python and Pygame, then dowload nox-3r3.zip and follow the instructions in nox-readme.txt
- I have Python/Pygame.
Download nox-3r3.zip and follow the instructions in nox-readme.txt
- I use Unix.
With luck you already have Python and Pygame, otherwise your first step is to get them.
At time of writing there are issues in the Unix port of pygame. To overcome these you'll have to use nox-3r2p which also has unix line endings. After download follow the instructions in nox-readme.txt.
- I use another operating system.
If Pygame works on your platform then do the same as the Unix steps. The only platform that I know of for which this applies in Apple's OS X.
Otherwise if Python works on your system (true for a lot of architectures) then you can use the text interface. Rather than have to download all the graphics get the upgrade pack and follow the instructions in noxu-readme.txt
If Python doesn't work on your chosen platform then your first step is to write a Python port for your desired platform ;-).
- I don't have a program that understands .zip files (Or, on Unix, .tar.gz).
- I have windows.
Okay, you can still play the game: download nox-3r2d.exe, run it. Pick a directory for it to unpack to. Then go to that directory and double click on the file nox.
Looking at the source is a bit harder(you can't get any of the data files), try here or get a Zip Program.
- I don't have windows/I already have Python/Pygame and don't want to download the compiled code.
Well get a program that understands .zip files then! For Windows I recommend the freeware Ultimate Zip. If you're on Unix try 'unzip' or 'gunzip'.
- Too much data, I have to get stuff off the net by clicking into the phone then listing to the response and typing in the binary, make it smaller.
- I have Windows, but not Python, and I want the game, not the code.
Your smallest option is still nox-3r2d.exe. Download it, run it. Pick a directory for it to unpack to. Then go to that directory and double click on the file nox.
- I have Python/Pygame or I don't have windows.
If you have nox-3r1+ then you can upgrade it to nox-3r3 just with the upgrade pack. If you have nox-3r0r* then you also need the extra data files. Place the extra data files in /data, then read noxu-readme.txt.
If you don't have an earlier version of nox-3 then you can get the upgrade pack on its own, which doubles up as a text only version.
If you want graphics, but are desperate enough about keeping the size down to give up sounds then go to noxsplit. Get nox-3r3core.zip and ngdata.zip. Put the contents of ngdata in the data subdirectory of the directory you're putting the other three in. To use run nox-3r3.py. Selecting sound effects now makes no difference.
- How do I play it?
That rather depends on how you installed it. As a general rule go to the base directory you put it in and double click on a file name 'noxSomething' (or indeed, just 'nox'). For more specifics look at the install question, the answer also tells you how to run it.
Note: In the case of the compiled version the shortcut will work only if it is installed in the default directory (I struggled to make it accept relative paths, but without success). You will need to right click on the shortcut and change it to point at the place you put Nox.
- How do I uninstall nox?
Delete all the relavent files (i.e. delete the nox directory and all it's contents). Nox makes no impact on your registry.
- I'm running Python 2.3 and it crashes when I play with sound on.
The change from Python 2.2 to 2.3 broke a small piece of code. What you have will work fine under Python 2.2; to get it to run under 2.3 you need to upgrade to nox-3r3.zip.
- What's the formula for the win length? (Actually the only one of these questions I've yet been asked.)
You really want to know?
I suppose I should make you find it in the source code, but go on, as I'm feeling nice: win=int(log_2(size)+2) (didn't want to know, did you?)
- The AI just did something stupid or it crashed, or some other bug, or I can't figure out how to work something, what do I do?
Sorry, got a little carried away there. Just email me.
- Don't you mean licenSe not licenCe?
Infact no, license is the verb (the act of me giving you the licence). It's possible that this is the other way round in America as a great mass of programs, from those by Microsoft to those by Blizzard call it 'license' (on my computer ghostscript is the only other program to have the correct spelling). Nevertheless, they're all wrong and I'm right.
- What's this 'interfaces' lark?
Starting with nox-3r2 nox has a modular system that lets you just plug different interfaces into it. I've written two interfaces, a graphical and a text interface, but there should be a curses interface along soon as well.
To specify an interface supply the command argument -g (for graphical) or -t (for text). If you don't supply any argument the program will try the graphical interface and if that fails silently switch to text.
If you're feeling particularly keen you can even write your own interface.
- Subsequent questions are 3r0+ specific.
- Okay, I've started the game, what now?
Everything about playing the game in each of the interfaces is explained in the help file.
- I asked to save a move list, where did it go?
It went to the end of the file movelist.txt. This will be kept in the same directory as the nox program. In the case of the compiled windows code that's WhereverYouPutIt\nox-3r2d (for nox-3r2, more generally nox-[versionumber]d).
- Yuck! That font is really ugly!
Ah, I guess you're using Linux then. I'm afraid pygame's font server is umm ... functional. On windows it will use the windows font server which, in contrast to the rest of the operating system, is really rather good.
A better font is on my wish list for future releases, however good free fonts aren't enormously common (submissions welcome) and the change alters a large quantity of magic numbers.
- Are there any Easter eggs?
Of course ;-).
- What's new in the latest version?
See the changelist.
In nox-3r2 you get multiple interfaces, the ability to change who controls each side during the game, the ability to set your own win length and the usual dose of assorted bug fixes and user interface improvments.
- Why am I limited to board sizes less than 100?
In principle there is no limit on the size, but you tend to run out of space on the screen (and the computer runs out of letters to denote moves with). It's not an issue I've bothered to deal with as the computer would take so long to move on such a large board, and it would be so hard to take in. If you do want to be able to use bigger boards email me and ask. The current limit is 99 by 99 (some interfaces have much smaller limits, because they can only fit a little on the screen. Both the graphical and the text interfaces allow 99 by 99.
To get in touch: email me