Project aims

The aims of this project are as follows:

1. For me to learn C++

2. For the latest version of Angband to be made available in the Japanese language.


AngEdit is a companion project that will be used to test code for later use in JBand. It will also allow easy editing of the /edit/ text files with *band variants.

AngEdit is on hiatus while progress is good on the main JBand project.

Project implementation

I have decided to implement this as a Unicode-based program.

Volunteers are welcome, English speaking or Japanese.

Technical details are available for those considering involvement in the project.

Project development

The following are the general stages that I expect the project to go though (with luck).

1. JBand capable of compiling in VC++.

2. JBand capable of running on Windows XP, in English, but as a Unicode program.

3. Development of functions, classes etc. to handle Japanese text.

4. Make JBand compatible with Linux (on X11, gtk or other system as to be decided)

5. Translation of English text into Japanese text.

Currently: Working on stage 3 (and continuing debugging on stage 2).

If I make good progress with the earlier steps I hope for assistance from native speakers of Japanese for correction / addition of translations.


A very rough estimate of six months until a playable beta is available in Japanese on Linux. May well take much longer.

Frequently Asked Questions

None of these have actually been asked, but these are questions I expect people might to want to ask.

Q. Why use Unicode?

A. If I can get it to work then Unicode should be more flexible in what characters can be shown and may 'last longer' than old standards like Shift-JIS.

Q. Why must it be compiled in VC++?

A. In changing the source code to compile as a Unicode program for Windows I ended up using a lot of content that is probably specific to Visual Studios. I hope to make the code more portable later but first I have to get it to work at all!

Q. Isn't there already a version of Angband in Japanese?

A. Yes, but it is from Angband 3.0.6 and not distributed under the GPL. Angband 3.1.1 has changed a great deal since 3.0.6 so I think it is worth redoing.

Q. Will you be using code or translations from the existing Japanese Angband?

A. I would love to use the translations (and possibly some code) but they are not under the GNU Public License. I have not been able to get into contact with the author of the latest version ( ) to start the process of getting permission to use translations etc. In any case I have a lot of work to go before that point.

Q. Why all the L"'s?

A. I started off using the _T macros (_TCHAR, etc.) but carelessly used L to denote 'wide text' strings (e.g. L"this is handled as Unicode"). I should have been using _T("this is handled as Unicode, or plain ASCII, depending on compiler setting"). There are around 5800 of those to fix so I probably won't finish fixing it any time soon.

Q. Why all the __T's?

A. The macro names make a convenient set to redefine when implementing multi-platform support. The original purpose of the macros (to support compiling as either Unicode or not) will probably not be used as such.