(VN Tools) Non Programmer User Friendly Visual Novel Maker – “Novelty”

Hello, everyone earlier in this blog we ever discussed about free visual novel maker “reny’p”; however, this time we will discuss another one that called “novelty”.  Some of you might says “meh, reny’p is enough, it’s quite easy to use” (true, if you have slight bit scripting experience). Well, I’m personally would like to use reny’p for creating visual novel (though I’ve never published it over the internet) because I’v get used to the prog however novelty sure add different atmosphere in visual novel making.

What’s Novelty?

Novelty is visual novel maker software (yup same like reny;p) but contrary than other visual novel maker is designed for people without scripting  or programming (thought currently still on beta release but the development is quite promising in the near future).

Baca tulisan ini lebih lanjut

Coloring Tutorial : How to colour eyes with anime style

Uh-hum, mina-san konichiwa Tama-chan desu! Okay, as we know that this blog somehow has a principal to update up to 5 articles each days and it looks like that I’m going to be post-up the fifth articles for today. Now, what I’m going to discuss? Well, how about this I’ll provide you with art tutorial to colouring eyes with anime style. As you know Sprucefir has posted three art tutorial but all in Indonesian language but I’m going to put in English!

The first thing that you should know: This tutorial is not for beginners and basic knowledge is needed. This is tutorial going to tell how to colour the eyes not how to draw them or make line art (the software that I’m use in this tutorial is photshop).

 

Okay, did the premise clear enough? Let’s proceed… oh, actually by looking at the pictures you should have get an idea how to do it but still I’m going to provide description anyway.

Baca tulisan ini lebih lanjut

Drawing Tutorial: Class 1 – Menggambar Karakter Chibi

contoh sketsa kasar karakter chibi

contoh sketsa kasar karakter chibi

Hello, beberapa waktu lalu saya telah memberikan artikel mengenai tutorial melukis dengan cat air dan saya harap itu dapat berguna bagi para pembaca sekalian. Nah, pada kesempatan kali ini saya memberikan sebuah tutorial mengenai menggambar karakter chibi. Apabila kalian membaca manga ataupun manwha tentu kalian pernah melihat style menggambar karakter yang ukuran mungil (midget, kecil… pokoknya apalah istilahnya) dan terkesan imut, nah style tersebut dinamakan chibi.

Oh, sebagai tambahan saya telah menterjemahkan tutorial ini dari bahasa Inggris ke bahasa Indonesia karena untuk artikel tutorial pada blog kali ini, target pembaca adalah pembaca lokal Indonesia, jika anda ingin mencari tutorial yang berbahasa Inggris anda dapat menterjemahkan tulisan dalam artikel ini dengan google translate ataupun mengunjungi gallery tutorial pada devian art. Okay, mari kita segera mulai tutorial tersebut:

Baca tulisan ini lebih lanjut

Tutorial: Melukis Dengan Cat Air (lesson 2 ~ Nekomimi and Usagina Gals)

Tutorial Melukis Dengan Teknik Water Color:

*Sp: Artikel ini merupakan salah satu artikel yang dibuat oleh emperpep; salah satu pelukis yang saya akui berbakat dan beberapa lukisannya ada di dalam galeri pada situs forum devian art. Originally this tutorial written in English because most of visitor in Devian Art are people who capable to speak English but in this blog it will be translated in Bahasa Indonesia and edited so the visitor get easier to read the tutorial.

 

Watercolor mungkin cukup sulit untuk pemula, namun akan menjadi menyenangkan dan mudah ketika kalian memiliki peralatan yang tepat dan teknik dasar dari watercolor (car air). Sebelumnya mungkin telah diberikan tutorial melukis dengan cat air dengan sederhana dan kali ini mari kita tingkatkan level nya. Selain itu seperti sahabat llihat tutorial ini mengalami perbaikan lebih baik daripada tutorial pertama; dengan penyebutan perlengkapan yang dibutuhkan makes everything get easier dan juga ditemukan beberapa hints and warning yang diketikan dengan warna biru dan merah. Okay, what are you waiting for? Let’s read the tutorial and start learn to paint.

Baca tulisan ini lebih lanjut

(VN Tutorial) How to Improve ATLAS Translation Performance

Well, eroge or galge fan that not Japanese native speaker sure has a same big dilema. They want to play their favorite game and vn but most of their fav title didn’t get translated into English, although recently group of people would kindly invented useful tools such as Translator Aggregator (TA) and Interactive Text Hooker (ITH) that would crop vn text to clipboard and translate it via ATLAS. Translation engine such ATLAS might cappable to translate such hirgana and katakana but sometimes ~ nope, I mean their translated often fragmented and difficult to understand that for sure would drop satisfaction level of playing experince.

 

Okay, this time I would give a tutorial to improve ATLAS translation by doing few config and provide dictionary update. I can’t promise your translation would be good as much as released english patch that being provided by yandere and tlwiki; however, it could make your ATLAS performance slightly better (better than nothing…)

Baca tulisan ini lebih lanjut

Tutorial Melukis Dengan Cat Air – Meeting 01: “Twin Tail Girl”

"Twin Tail Girl"

"Twin Tail Girl"

Melukis dengan cat air sebenarnya sangat mudah dilakukan daripada melukis cat minyak ataupun cat acrylic apabila kita telah mengetahuan teknik dan kaidah dasarnya. Secara pribadi saya merasa bahwa melukis secara langsung lebih asyik daripada menggunakan pewarnaan photoshop walaupun, photoshop itu penting untuk pengeditan efek yang mungkin agak susah dilakukan secara manual.

Berikut adalah tutorial sederhana bagaimana melukis dengan cat air yang mungkin dapat dilakukan juga oleh pemula. Title pertemuan pertama kita mengenai tutorial melukis dengan cat air adalah “Twin Tail Girl”.  Gagasan tutorial ini didapat dari emperpep kemudian diterjemahkan dan disusun kembali oleh Sprucefir. Jika sahabat mau, sahabat sekalian dapat mengunjungi galerinya di situs devian art.

Okay, tanpa menunda lebih panjang lagi mari kita belajar sambil melihat tutotialnya :) – P.S: Maaf, jika tutorial pertama masih banyak kekurangannya, feedback dari pembaca sangat diharapka :D

Baca tulisan ini lebih lanjut

(VN Tools) Let’s Create Visual Novel With Ren’Py

Hmm, this is just a short information article about software Ren’Py – Visual Novel Engine and so it didn’t contain any tutorial usage and producing any visual novel with designated application. Do you ever heard about Ren’Py? If not, do you ever played free visual novel? Acctually most of those novel were made with Ren’Py application. And so let’s discuss slight bit more about Ren’py shall we?

What is Ren’Py?

The Ren’Py Visual Novel Engine is an open source software engine which facilitates the creation of visual novels, a form of computer-mediated storytelling. Unlike other popular visual novel engines such as NScripter, Ren’Py (a portmanteau of Ren’ai, the type of game made using Ren’Py, and Python, which is the system that runs Ren’Py) has proved attractive to English-language hobbyists; over 200 games use the Ren’Py engine, nearly all in English.

Some feature in Ren’Py

Ren’Py supports nearly all features that a visual novel might reasonably be expected to have, including branching stories, saving and loading of games, rollback to previous points in the story, a variety of scene transitions and so on. Ren’Py scripts have a screenplay-like syntax, and can additionally include blocks of Python code to allow advanced users to add new features of their own. Additionally, tools are included in the engine distribution to obfuscate scripts and archive game assets to mitigate copyright infringement.

Ren’Py is built on Python and PyGame, and is officially supported on Windows, recent versions of Mac OS X and Linux, and is included as part of the Arch Linux (as an AUR package), Ubuntu, Debian and Gentoo (in experimental overlay) Linux distributions.

Baca tulisan ini lebih lanjut

(VN Tutorial) AGTH and its “/h” command (basic explanation and /h code reference)

This post is intended for those who are interested in Japanese text games and have a desire to write a /H code personally to get AGTH work fine with a game but have little background on programming and assembly language. However I included /h code for several game as well; in case if you would like to see /h command code for certain game.

Basic topic

AGTH – Animate Game Text Hooker
AGTH is a tool written by Setx, who won the respect of people here for this powerful tool. AGTH can get the text from a text game. Although games differ from each other, most of them have some general ways to perform the texts, through APIs. I will explain what API means later. Here we just consider it as a part of those ways. When texts are passing through APIs, AGTH is able to break in and do something to the APIs and get texts out before texts are passed to APIs. We say AGTH inserted a hook.

AGTH and /H code
Nowadays, more and more unhookable games come in front of us. Here unhookable means AGTH could not get anything or just get something not expected from these games with a normal command. These games have their own internal ways of text performing. They are not using normal APIs so AGTH will not get what we want then. But the texts are travelling in the game, the process to get text out is same for APIs and somewhere in the game. If there exist a proper place where texts are performed in same form, AGTH could get them out correctly. To deal with this condition, Setx provided us a way to tell AGTH to insert a hook at a special place. We call it /h command(code, instruction).

OllyDbg – A powerful debugger

If you want to know what is going on in a program, you need a debugger. OllyDbg is one of the best debuggers every since. Here OllyDbg will help us dig out all the information we need about the game to build a hook.

The OllyDbg’s main window

After we start OllyDbg and any application, we see the whole window is divided into four parts. The upper left one contains some words like mov, lea, push, call, etc and a lot of hexadecimal numbers. On the left of every line is a 8-digit hex number. We call it an address. The second row is not meaningful for us so let’s ignore it. The third row is commands in assembly language for CPU to execute. We call this section the CPU window. A blue line indicates the next instruction to execute. On the upper right is the register window, in which the first few lines there are 3 letter(EAX,ECX…) and a 8-digit hex number. The letters are the register’s name and the number is the data stored in that register. A register is a small amount of storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere. The lower left and lower right window is similar, both contains address and data. The left is the memory dump where data are split into 2-digit hex numbers. Every number occupies one byte. You can see address increases 10 every line because there are 16 bytes in one line. Please be familiar with this window, we will met it in lots of conditions. The right windows is usually considered as stack which has some special usage. These two windows show us the main storage of the program, memory. We get hint from these windows.
EIP and ESP register are used for special course. Notice that EIP always equals to the address of the blue line in the CPU window, while ESP always equals to the address of the line of stack. Here IP stands for instruction pointer while SP is short for stack pointer.

OllyDbg’s sub windows
View->Memory
Don’t be confused with memory dump in the main window. This one contains the whole memory space of the program. If you double click on any line, you will get a memory dump window. Here we do our search.
View->Breakpoints
Manage breakpoints, which we will discuss later.
Debug->Hardware breakpoints
Manage hardware breakpoints.

Turning texts into form computers could understand
Computers only understand binary number, which represents numeric values with two symbols, 0 and 1. They have no knowledge about characters we are using. We must turn our characters into binary numbers. This work can be done by looking up a character set’s map. Here Freaka’s script will do this for us. Type in any sentences in Japanese and you will get a sequence of hexadecimal numbers. Actually hexadecimal here is the same as binary.

Finding the text
Choose View->Memory, a window called memory map pops up. Right click on the first line and select search. Paste the hex numbers you get from Freaka’s script into the dialog and click search. When OllyDbg pops a memory dump we know OllyDbg has got one. If you are in Japanese environment you could see the sentences on the right directly. Every character including punctuations is represent by 2 bytes.

Breakpoints
Breakpoint is an intentional stopping or pausing place in a program. We want to know what is going on at the place texts are passing, so we should set a breakpoint there. In our first step, we will set a hardware breakpoint. What’s the difference between a hardware one and a normal one? To discuss it is beyond the scope of this tutorial. To make it easy, when know the data’s address we set a hardware one. When we know the command’s address we set a normal one. A little more we need to know is that we can’t set more than 4 hardware breakpoints at one time.
On the left of the memory dump is the address of the first bytes of every line. Right click on the first byte of the sentence, and select Breakpoint->Hardware, on access. Now a hardware breakpoint is set. If the program attempts to read data from that byte, the program will be stopped by OllyDbg. To set a normal breakpoint just double click in the CPU window or press F2. One more time double clicked or F2 pressed at same place will remove that breakpoint. To just disable it and remember the address, open breakpoints window(choose View->Breakpoints), select the breakpoint and press SPACE.

Survey
From the status bar OllyDbg tells us which breakpoint is triggered. Select Debug->Hardware breakpoints->Follow *, * is the triggered breakpoint’s number. Then the lower left memory dump will jump to that address. Set a normal breakpoint in the CPU window. Then we press F8 to let CPU execute the next instruction and keep an eye on register, stack, and memory dump. Try to figure out common values between them. Write down these values and where they are. Press F9 to let the game run, and we will come to the next suspicious place. After we marked all places the hardware breakpoint is no longer needed. We remove it from hardware breakpoint list.

/H code – Basic syntax
A /H code starts with /H (of course!?). The second character represents the hook type. A|B for a single-character hook while S for a string hook. In most cases these three are enough. The next optional character is N which has something to do with context. We will discuss it later. If you get a lot of threads just add N to the code. Next is the data offset. This value tell AGTH where to find the address to the text at certain place. Negative numbers for registers and positive numbers for stack. After you have done it add @ and the address of the command and the code is finished.

Check a pointer
Right click on values likely to be an address and select Follow in dump, from the memory dump you can see what it points.
Conditions
Just build a hook is not difficult. But if you want to build a perfect one, a little technique is needed. You will gain it in practice.
1 A value equals to the address of the first character of the next sentence, maybe it’s a string pointer. Disable all other breakpoint and run the game. See if every time it points to the coming sentence. This is the easiest condition and the code should be /HSN(…)
2 In a loop(some certain instructions are executed many times) a value keeps changing but it always stands for a character (82**,83**,90**). After one loop, the value change to the next character in the sentence. Font caching ones will met this condition. The code should be /H(A/B)[N](…)
3 In a loop a value keeps changing. After one loop it gets +2. Check if this value is a pointer to a single character. The code should be /H(A/B)[N]*0(…)

Intermediate topic

Functions
A function is a portion of code within a larger program, which performs a specific task and is relatively independent of the remaining code. In the CPU window, there are lots of commands like CALL ***. Press F8 to execute these commands will execute the whole function and cause result unpredictable. If we want to look into it we should press F7 instead of F8. After we had entered the function, an address is put onto the stack top(on the top of the stack window), this is the return address. Notice that in most cases this value equals to the next command’s address. When reach a retn command, the CPU will jump back and continue to execute the next command. We say the function has returned. One more notable thing is that every command is inside one function.
Most functions need parameters. A parameter is some data that a subroutine receives on which to operate. Before a call to a function, there are some “push” instructions. These are the function’s parameters. A game has many functions processing texts. Some common tasks are drawing texts on window, getting the outline of the character to perform some effects, calculation of the character’s dimension to arrange texts, etc. A character or a string pointer will be one parameter of these functions. Therefore at the beginning of the function we are able to build a hook. If a function has 3 parameters, you will see the 3rd is pushed first, the 2nd second, the first one is pushed last. We call this order calling convention. This one is a stdcall of which the order is reversed. Most games use this calling convention. So ESP+4 is the first parameter, ESP+8 is the second and so on. This correspond to the data offset of /H code. If the character is the first parameter of the function the code should be /H{A|B}4@(…). This is an convenient way of finding a code.
Among all functions, some are quite different from the others. They are provided by the system(windows) and used by programs. We call them API(Application Programming Interface). What does this term exactly mean is not important here, we just remember this name. Some of these functions perform certain tasks which have a lot to do with texts. AGTH will insert hooks to these functions by default and you will see their names in AGTH’s window, like TextOut, GetGlyphOutline, GetCharWidth, etc. The following character (A or W) indicates the character set. APIs are some general functions so their parameters are order even in different program. That’s why AGTH works with a lot of game. We can acquire information of APIs from MSDN. TextOut’s 4th parameter is a string pointer. GetGlyphOutline’s 2nd parameter is the character and so on.

Context and subcontext
A function can be called from different place. Texts processed by different caller may have different usage(e.g. names, choices, common texts). To give us a convenient view, AGTH splits texts through context. The context is the stack top. If a hook is inserted at the beginning of a function, the context becomes the return address. On the other hand, context of a hook inserted at the middle of a function may be meaningless. Then we need to add N to our code to tell AGTH not to use context. Subcontext, as we can see, is like context. It’s also used to split text. The difference is context is always the stack top, while subcontext is appoint by us. When we want to split the text, we just look for a value which differs in different cases and write it in /H code.

An easy solution for font caching ones
Many games have a phenomenon called font caching, causes AGTH only get every character once. In fact every character is processed somewhere before the API, so we must let AGTH insert a hook at that place. To solve this problem, we first write down the context(return address) of the API. Then load the game with OllyDbg, jump to this address and set a breakpoint at the API(you will see the API’s name in OllyDbg). The press CTRL+F9 to let OllyDbg run until the function returns. Then set a breakpoint before the function. Run the game and see if the outer function is called more than the inner one. Yes? You are pretty near the answer. Often the character is one of the parameters of the outer function. No? Disable the breakpoint of the inner function and step out. Repeat this process.

Baca tulisan ini lebih lanjut

(VN – Tutorial) Enrich Your Japanese Game Translation With Translator Aggregator

Some of the reader might have been read my article about “how to play Japanese game in English” by using combination ATLAS + AGTH. Now, a group of people have invented a software that could make those translation system compact and simple. The Software called Translator Aggregator.

The rest of explanation about this program is courtesy from HF Thread Forum so the overall credits it’s not mine but them.Anyway, if you interested you could read the article and download this software.

Translation Aggregator basically works like ATLAS, with support for using a number of website translators and ATLAS simultaneously. It was designed to replace ATLAS’s interface as well as add support for getting translations from a few additional sources. Currently, it has support for getting translations from Atlas V13 or V14 (Don’t need to have Atlas running), Google, Honyaku, Babel Fish, FreeTranslations.com, Excite, OCN, a word-by-word breakdown from WWWJDIC, MeCab, which converts Kanji to Katakana, and its own built-in Japanese parser (Requires edict2 (Or edict) in the dictionaries directory, supports multiple dictionaries in there at once. Does not support jmdict). You can also stick enamdict in the directory and it’ll detect some names as well, though the name list will be heavily filtered to avoid swamping out other hits. I picked websites based primarily on what I use and how easy it was to figure out their translation request format. I’m open to adding more, but some of the other sites (Like Word Lingo) seem to go to some effort to make this difficult.

It also includes the ability to launch Japanese apps with Japanese locale settings, automatically inject AGTH into them, and inject its own dll into Japanese apps. Its dll can also translate their menus and dialogs using the ATLAS module (Requires you have ATLAS installed, of course). Versions 0.4.0 and later also include a text hooking engine modeled after AGTH. The menu translation option attempts to translate Windows-managed in-game menus, and is AGTH compatible. The AGTH exe and dlls must be in the Translation Aggregator directory for it to be able to inject AGTH into a process. AGTH is included with the most recent versions of TA.

The interface is pretty simple, much like ATLAS: Just paste text into the upper left window, and either press the double arrow button to run it through all translators, or press the arrow buttons for individual translation apps. Each algorithm is only run once at a time, so if a window is busy when you tell it to translate something, it’ll queue it up if it’s a remote request, or stop and rerun it for local algorithms. If you have clipboard monitoring enabled (The untranslated text clipboard button disables it altogether), it’ll run any clipboard text with Japanese characters copied from any other app through all translators with clipboard monitoring enabled. I won’t automatically submit text with over 500 characters to any of the translation websites, so you can skip forward in agth without flooding servers, in theory. I still don’t recommend automatic clipboard translation for the website translators, however.

To assign a hotkey to the current window layout, press shift-alt-#. Press alt-# to restore the layout. Bound hotkeys will automatically include the current transparency, window frame, and toobar states. If you don’t want a bound hotkey to affect one or more of those states, then you can remove the first 1 to 3 entries in the associated line in the ini file. Only modify the ini yourself when the program isn’t running. All other values in those lines are mandatory.

Pre-translation substitutions modify input text before it’s sent to any translator. Currently applies to websites, ATLAS, Mecab, and JParser. There’s a list of universal replacements (“*”) and replacements for every launch profile you’ve created. I pick which set(s) of substitutions to use based on currently running apps. Note that you do not need to be running AGTH or even have launched a game through TA’s launch interface for the game to be detected, but you do need to create a launch profile. May allow you to just drag and drop exes onto the dialog in the future.

MeCab is a free program that separates words and gives their pronunciation and part of speech. I use it to get the information needed to parse words and display furigana. If you have MeCab installed but I report I’m having trouble initializing it, you can try copying libmecab.dll to the same directory as this program. Do not install MeCab using a UTF16 dictionary, as I have no idea how to talk to it (UTF16 strings don’t seem to work). Instead, configure MeCab to use UTF8, Shift-JIS, or EUC-JP. If you have both MeCab and edict/edict2 installed, you can view a word’s translation in MeCab by hovering the mouse over it. Also, JParser can use MeCab to help in parsing sentences.

JParser tends to be a better choice for those who know almost no Japanese – it tells you how verbs are conjugated, handles some expressions, etc. MeCab may well be the better choice for those who know some Japanese, however.

Source, attached below, is available under the GPL v2.

Credits Goes To (In alphabetical order, sorry if I’m leaving anyone out):
Hongfire Members:
Freaka for his innumerable feature suggestions and reported issues over the course of development.
Setsumi for TA Helper and for all his suggested improvements and reported issues, particularly with JParser.
Setx for AGTH.
Stomp for fixing the open file dialog not working properly on some systems and adding the tooltip font dialog, and fixing a bug that required admin privileges when certain other software was installed.
Might sound like minor contributions, but feedback really drives the development of TA.

Non-members:
KingMike of KingMike’s Translations, who is apparently the creator of the EUC-JP table I used to generate my own conversion table.
Nasser R. Rowhani for his function hooking code.
Z0mbie for writing the opcode length detector/disassembler I use for hooking. Apparently was intended for virus-related use, but works fine for other things, too.
And the creators and maintainers of edict, MeCab, and zlib.

You might also be interested in (these are link to add in program that will enrich translator aggregator):
*Setsumi‘s TA Helper and AGTHGrab.
*errotzol‘s replacements script.
*Devocalypse‘s devOSD.

Download link to Mecab if you interested:
MeCab
edict2

Download link to Translator Aggregator:

Translator Aggregator Version 0.4.4C

Thank you for reading this post, Come Again!

Happy Blogging!
Sprucefir

(VN Tutorial) How To Play Japanese Game In English

Hello, everyone; it has been awhile since my last update in my web-log. Sorry I’ve been busy in my real life to work on my research in Okinawa so I didn’t have time at all to update my web-log, however nowadays I could fetch up few times to update my blog. Well, just as I said in my last post that I will write the article under A.S.I.N and Visual Novel categories in English because my target reader for this article not only for local but also for global society, and so my fellow Indonesian, I hope you could just get over it. After all English is most popular, language in the world, isn’t it?

Okay, this time I’m going to discuss the article that related to visual novel and linguistic matter. In addition, you could read the title and it’s written “How To Play Japanese Game In English” (maybe for exactly said play Japanese visual novel in English). Why would I write that one? Well, as we know that 70% of Japanese PC Games are dominated by Visual Novel (some of visual novel contain adult scene called ‘eroge’). Therefore, we sure know that those games definitely written in Japanese Language.  Although there are few of those games that translated, either by professional translator or fansubs translator into English. Did I mention only “few” that being translated?

In fact translated visual novel only cover around 10% (we should thanks as well to the fansubs translator that actually cover around 70% of those 10%) from overall of those genre. While for the rest unlikely will, stay at their original language; nihon-go and not being translated at all (what a waste). Unfortunately, I had played those un-translated visual novel and I found out that most of visual novel that not translated have a fine quality story line. If so, why don’t we play those visual novels anyway? Well, that’s possible but the questions is: “Can you read those Japanese character?” (Nb: Japanese language consists of katakana, hiragana, and kanji. Those are different from alphabet letter and just to let you know, they never use romanji in their writing).

There is a possibility for you to learn about Japanese language and I could help you to learn it together as well, because I have a plan to make a page about Japanese linguistic. Of course, it happens after I finish my English Grammar page that progressed about 20%) or you can learn it from other site. Another question “can you wait that long?” Let me tell you two reasons why you will answer “definitely no”.

1. Learn Japanese takes time and Japanese Visual Novel released new title almost every moth. Sure, you calculate how many precious visual novels that you passed out when you learn Japanese. We sure know about words that said, “Patience has its own limit”

2. Japanese language is fun to learn, however when you go deeper to learn it, it will become more complicated. Therefore, people who didn’t have strong motivation to learn it tend to gave up in the middle. How about you?

However, I suggest you to mastering Japanese because it will become handy later.

Relax, I wanted everyone could enjoy it so I came up with this article. This article will tell you how to set up computer into Japanese Localization so it has could run Japanese Software Locale in your computer; and then used translator software to translate those characters inside the software. Let me explained a bit how it is going to work. We are going to use combination between AGTH and ATLAS Translator. AGTH will copy Japanese character into the clipboard and later ATLAS will translate words from the clipboard (ATLAS so far has more advantages due to its copy to clipboard translation function, however I heard that someone made a patch to clipboard built-in for SYSTRAN). Note this before you going to continue, translation engine was imperfect so the translation appear to be messy and worse it’s unreadable, however a hongfire community member has worked on ATLAS and SYSTRAN dictionary, and so this fellow regularly release update for the dictionary. I will provide the link for the thread I suggest you to download update from him A.S.A.P after you finished setting up the whole things. Okay, please read the instruction carefully.

NB: Before we begin… Here’s the link where you can download dictionary update

http://www.hongfire.com/forum/showthread.php?t=79006&page=3

First, download and install following application software

ATLAS Translation Software

AGTH Text Hooker

You could download those applications in the provided link that I put on the side bar of this blog.

Next, you’ve to setting up your PC regional into Japanese Localization. Please follow these instructions

1. Go into the Control Panel (Start > Settings > Control Panel) and open “Language and Regional Options”

2. Click the Languages tab, and checkmark “Install files for East Asian languages”. You will get a pop-up message telling you how much additional disk space it will need. Click okay on the message, then click the Apply button at the bottom of the window.

3. You will get a pop-up asking for your Windows XP CD. Insert the CD and make sure the “Copy files from:” box has the correct path to the i386 folder (so if your CD-ROM is the D: drive, the path that should be used is D:\i386). Hit okay. It will start copying over files. Occassionally the transfer may stop and ask for the location of the files again — again just make sure it is looking at your CD-ROM drive that has your Windows XP disk.

4. After the files have copied over, Windows will ask you to restart your system. Choose “No” to restart your computer later. Then click on the Advanced tab. Under “Language for non-Unicode programs”, change it from the drop-down menu to “Japanese”. Then hit the Apply button at the bottom of the window.

5. A message will pop up saying that the necessary files are already on the hard drive, and ask if you’d rather copy them again from the Windows CD-ROM. Select “Yes” so the setup will use the files already installed to the hard drive.

6. Now a small bar should be visible at the top of your screen. This is the language bar that will let you choose to type in English or Japanese. If you wish to disable the Language Bar, you may do so by going back to the Languages tab in the “Regional and Language Options” Window, clicking the “Details” button, and then under preferences click the Language Bar button and uncheck the “Show the language bar on the desktop”. However, it is recommended to keep your language bar enabled, so that if needed you can easily switch over to Japanese typing mode.

You do not have to keep the language bar at the top of your window where it is inconvenient, but instead make it part of your Windows taskbar. To do this, right-click on your taskbar, then go up to “Toolbars”, and put a checkmark next to “Language Bar”.

When you are finished, you will see the language bar is no longer on the desktop, and next to your system tray will be the letters “EN”. If you click on this, you can change the setting to Japanese, and it will display “JP”.

This allows you to type in Japanese in programs that support Japanese text. If you want to change your typing mode to Japanese, first make sure the application you wish to type in is active (for example, your web browser), and change your language bar from EN to JP, then hit Alt + ~ (the tilde key). Then you simply type in romaji which will automatically be converted to hiragana. Below is an example of typing “puri” on the keyboard when you are in Japanese typing mode on Google Japan.

If you would like to change what you have just typed into katakana, while the word is still underlined in red, hit F7. Below is an example of typing “puri” again, and this time F7 was hit directly afterwards to convert it to katakana.

If you would like to convert the hiragana word you just typed to kanji, hit the spacebar and a dropdown list of available kanji will appear and you may select one. Below is an example of typing “kouryaku”, then hitting the spacebar to convert it to kanji. By default the first kanji will appear, but if you hit the space bar a second time, a box with possible kanji and kana combinations will pop up and you may select a different one.

The following examples of how to use the language bar to input text in Japanese shows how you may search Google Japan for capture guides.

7. Now that all the settings are taken care of, REBOOT WINDOWS. Your Japanese settings will not work until you restart!

After that, Install your desired Japanese Visual Novel and Games; I think I don’t have to explain this part because I believe you could figure it by yourself but if you want guidance you could contact me via e-mail.

Now, it’s time set-up AGTH Text Hooker

One of the biggest complaints I hear from people about why they will not try playing Japanese PC games is because of the language barrier — since ren’ai games are very dependant on story, it can feel like a drag or a waste of time to play a game without getting an understanding of the story. For a long time, many non-Japanese-speaking fans of Japanese games would simply play judging the story off of small bits of recognizable Japanese, tone of voice, facial expressions, and the game images. But now, there is a much more effective way to get a basic understanding of the story within a game: by using Anime Games Text Hooker.

Anime Games Text Hooker (AGTH) is a program developed by Setx that captures the text from Japanese games by intercepting program calls of system text functions. This captured text is then copied into AGTH’s window, and from there it can be used in conjuction with translation software or services to translate the Japanese game text into machine-translated English (in other words, rough “Engrish” translations).

AGTH is a freeware program and the most current version may be downloaded from the AGTH website:

AGTH – Anime Games Text Hooker Website.

To set up AGTH to get line by line translations, you will need two things: AGTH itself, and a Japanese to English translation software, preferably one that can copy text directly from the Windows clipboard. The most popular choice of translation software is Atlas, because it has the ability to translate text from the clipboard, which allows you to have each dialogue box translated as it is written to the game. You can get a trial version of the Atlas translation software from the Atlas Translation Software website.

1. First, you need to install AGTH. AGTH actually doesn’t have an installer, so all you need to do is create a folder for it on your hard drive, and then put all the AGTH files from the download into the folder (agth.exe and agth.dll). I personally suggest putting your AGTH directory in the same location where you normally install your games. No matter where you decide to place your AGTH folder, remeber the location where you placed it; you will need to know this later. (For example, C:\Program Files\AGTH\, or in my case, I have my AGTH folder at F:\Games\AGTH\ since I install all my games to F:\Games — this makes it easy for me to find my AGTH folder.)

2. Next, you need to install Atlas on your system. Download the Atlas program and run the installer. When you are done, go into your Atlas install folder, and you’ll see a file called QuickATLAS.exe. Quick Atlas is part of the Atlas program which runs in your Windows tray and can translate text copied to the clipboard. Double-click on QuickATLAS.exe and it should put it into your Windows tray. You may wish to also put a shortcut to the program in your AGTH folder for easy access if you ever need to close it and restart it. If you would like QuickATLAS to automatically load up when you start Windows, right click on its icon in the tray, go to “Options”, and put a checkmark next to “Start Quick ATLAS when starting Windows”.

3. Now browse to the install folder of one of your Japanese games. Locate the game .exe file (in my example below with Apocripha/0, this is the SS_ADV3.EXE file). Right-click on the game .exe, and go down to “Create Shortcut” from the drop-down menu.

4. Now you will have a copy of the game .exe that has a small arrow in the corner — this is the shortcut file to the game .exe. Now, right-click on this new shortcut file, and go down to Properties on the drop-down menu.

5. A properties window of the shortcut to your game .exe will open, and it will be on the “Shortcut” tab. In the box next to Target, you will see the location where you installed the game. Now, the full location to the agth.exe needs to be added to the front of the “Target” line (which is why you need to remember where you placed your AGTH folder on your hard drive). Type in the location to the agth.exe file BEFORE the address to the game .exe that is already in the Target box. Make sure there is just one space between the two. If there are spaces in the file path to AGTH (for example, C:\Program Files\AGTH\agth.exe, where there is a space in “Program Files”, you need to put quotes around the AGTH path: “C:\Program Files\AGTH\agth.exe”). If there are no spaces in the path, such as in my example below (F:\Games\AGTH\agth.exe) then you do not need quotes around the AGTH path. Make sure the “Start in” line below that it shows the path to your game .exe.

At this point, you now have your game set to run with AGTH, however, it will not copy text to the Windows clipboard, it will only extract the text. To copy text to the clipboard, AGTH needs a command parameter added to it. In the case of copying the text, this command parameter is /c. Therefore, you will always need /c in your Target line. This command will be placed directly after your AGTH address, and before the game .exe address. Make sure there is at least one space between them, like in the example below. When you are finished, hit Apply and then OK.

When you are done, the shortcut may no longer have the game icon. If this really bothers you, you can click on the shortcut, go into Properties, and on the Shortcut tab click on the Change Icon button, and then browse to the game .exe icon.

6. In your tray, right-click on the QuickAtlas icon, and then put a check mark next to “Automatic Clipboard Translation” (any time you want to shut off the Automatic Clipboard Translation feature, just right-click the QuickAtlas icon and click on “Automatic Clipboard Translation” to remove the check mark). Usually when you first enter the game some system text may get copied over from AGTH to Atlas, so you may chose to turn on the Automatic Clipboard Translation after you are already in the game and to a dialogue box.

7. Now double-click your game .exe shortcut file. It will load the game up, and you’ll notice another box loads up with the game: the AGTH window. Note that in order to see the AGTH and QuickAtlas windows, you are going to need to run your game in a windowed mode, so make sure your resolution is set accordingly and your game is set to Window Mode instead of Full Screen. Also, for best efficiency with AGTH, you will need to set the in-game text speed in the game options to it’s fast setting (preferrably instant display if the game offers this option).

8. Go ahead and get into the game, to where a dialogue box is displayed. Now you need to look through the different hooks AGTH has found to see if one is extracting the game dialogue. This is done by clicking the down arrow at the top of the AGTH box to display all the threads. You can also move through threads by hitting the Tab key to hightlight the top AGTH box and hitting the up and down arrow keys.

In the example below, the only threads being extracted are two text threads: in general this is unusual, and you will need to look through several threads. However, you’ll typically always find the text on a thread with a name such as “TextOutA”, “TextOutW”, “GetGlyphOutlineA”, “GetGlyphOutlineW”, “RealLive” (for RealLive engine games), or “Kirikiri” (for Kirikiri engine games). Also, be aware you may not find any threads extracting correct text (for example, it may have double characters, repeated lines, or missing characters, or simply not be extracting any dialogue text at all).

When you have found a good text thread, select it. It will show up in the top box on AGTH, and in the box below will be the extracted text.

9. If you have QuickAtlas running and set to Automatic Clipboard Translation, you will notice that it is catching the text from the AGTH window, and then translating it. Every time you advance the text in the game, the new dialogue window should be captured by AGTH, and then sent to the QuickAtlas window where it is translated.

You should now know the basics for setting up and running AGTH. There are many different parameters that can be run with AGTH that can fix various issues that you may run into, and other helpful techniques that can aid translation such as adding names and words into Atlas’s dictionary. In the following sections in this tutorial, these different AGTH commands and other helpful techniques will be discussed.

Okay, now it would be good to know your AGTH command further because you’ll need it eventually.

AGTH has many different command parameters that can be used to correct text problems and provide other features to AGTH. These commands are used by adding them after the agth.exe location and before the game .exe location in the game shortcut Properties box Target line, as explained above

Some of these parameters can be very confusing, and only effectively used by those with some computer programming knowledge. In this tutorial, only some of the basic and most commonly used AGTH commands will be discussed; be aware there are also more command parameters available. You can see a list of all the command parameters by double-clicking on agth.exe and the selecting “Help” at the top of the AGTH window.

/C Command: Copy Text to the Clipboard

The /c command tells AGTH to copy each set of extracted text automatically to the clipboard. This way, the Atlas translation software can automatically translate the text from the clipboard, allowing each dialogue box in the game to be translated as you play. Therefore, the /c command is vital, and you will always need to include it.

Also, if you highlight text directly from the AGTH window, it will also automatically be copied to the clipboard. This is handy if you want to go back and look at a previous line, or send segments of lines to Atlas (which sometimes can give a better translation than it trying to do several long sentences all at once). When you do this, you may encounter Atlas only getting question marks instead of the copied text.

The solution to this problem is to use the Language Bar to set the AGTH window from English setting to Japanese. If you do not already have the Language Bar on your system, please look at Installing Japanese Language Support starting at step #6 for how to enable the Language Bar.

With the AGTH window as the active window (you’ll know it’s the active window because the top bar will be in blue instead of gray), click on the Language Bar icon on your Windows taskbar and switch it from EN to JP.

Now try manually highlighting the text from the AGTH window. This time, it will copy over to Atlas fine.

The /c command can also be used to delay the amount of time between extracting the text and copying it to the clipboard. This is useful if the game you are playing does not have an option to change the text speed, and dialogue is being sent to the Atlas window before all the sentences are finished being written to the dialogue box. By adding a time delay, you can tell AGTH not to copy the text until the specified length of time, allowing the game to finish writing the text. The time delay is used by adding the time in milliseconds directly after the /c. By default, AGTH waits 150 milliseconds before copying text to the clipboard. So if you would like to double the time until it copies the text to the clipboard, you would use /c300. This parameter is used on the game Perfect Prince to correct timing issues between AGTH and Atlas.

/W Command: Automatically Select a Text Thread

The /w command is used to tell AGTH to automatically select a specific text thread when it is available, so that you do not have to go up to the top of the AGTH window and manually select the thread every time you play the game. The way /w works is to add the address of the thread directly after the /w. This will be the number found at the beginning of the thread name, excluding the 0×00 in front of it. In the below example with Kichiku Megane, the correct text is on the thread “0×00516575:00000000 RealLive”, so to set AGTH to automatically select this thread every time you open the game, you would add /w516575. It will also still work if you leave in the leading zeros, but you need to make sure not to include the “0x” part at the beginning of the address.

/KS Command: Suppress Repeated Characters

The /ks command is used to remove repeated characters when the extracted text repeats each character multiple times. By default, /ks will remove one of every repeated character. So if the game is extracting “”AAbbccdd”", then it will correct it to “Abcd” by removing each duplicate. If the game is repeating each character more than once, then you will add the number of characters you wish /ks to remove directly after /ks. So if every character is being written three times, such as “”"AAAbbbcccddd”"”, then you need two of each character removed to correct the text, so you would use /ks2. Below is an example, the game Fanatica, which is extracting each character three times.

To correct this, the /ks2 command is added to the Target field of the game shortcut. As you can see below, this has corrected the duplicate characters so that Atlas can translate the sentences correctly.

/KF Command: Suppress Repeated Lines

The /kf command is used to remove repeated sentences when AGTH is extracting the sentences more than once. Sometimes AGTH will continually extract a sentence repeatedly without stopping (which can often be caused by certain screen effects), and the /kf parameter will hault it from doing this. Below is an example of from Bara no Ki ni Bara no Hanasaku — as soon as the screen goes into it’s “wavy flashback” effect, the dialogue box is written continually to AGTH without stopping, repeating the text over and over.

After adding the /kf command, the text extracts correctly.

The /kf command uses tracing parameters to fix repeated sentences. Sometimes changing the numbers of these tracing parameters can make it fix repeated sentences more effectively. The most commonly used altered tracing parameter is /kf1:200. In regards to BL and Girls’ games, the /kf1:200 command helps make some games programmed with Macromedia partially compatible with AGTH.

/X and /V Commands: Show Hidden Threads

The /x and /v commands are used to bring up more threads in the AGTH window than it shows by default. Most of these threads are simply extracting system data, but sometimes within these hidden threads, you can find the game text, which may not be extracting in any of the default threads. Therefore, the /x and /v commands are extremely useful. There are actually two different /x commands: /x and /x2, each of which bring up different threads. Sometimes if you have AGTH load too many threads at once, you may get a lock up, so these are to be used separately. However, if you want to load all the threads from both /x and /x2 at the same time, you would use the single command /x3. The /v command also brings up a different set of hidden threads.

If you can’t find any threads extracting the text by default, or the threads are extracting text incorrectly (such as with missing characters), then always try adding /x3 /v and see if something shows up in any of the added threads. If you have an issue with AGTH or the game locking up because there are too many threads, then add /x and see if there are any correct threads, if not change it to /x2 and check again for any correct threads, and if still no luck change it to /v and check again. In the example below, by default AGTH brings up three threads for Rakuen Yuki, two of which have no text, and one which has text with missing characters:

Now the /x parameter has been added. Notice that now there are tons of possible AGTH threads in the window. The easiest way to search through them is to hit the Tab key to highlight the top AGTH window, and then hit the down arrow to move through the threads looking for any that may have the correct text.

As you can see, the correct text was found on a very obscure hidden thread, “0x0100170D9:00000000 lstrlenA”. This is an instance where using the /w command explained earlier is extremely helpful: in addition to adding the /x command, you can also add /w100170D9 so that AGTH will automatically select that thread the next time you play so you don’t have to hunt through the long list of threads for the correct one again.

Adding /x3 /v can also bring up text from games made with Macromedia, where you can find text hiding in “:000003A4 MultiByteToWideChar” threads. The text in these threads often needs some editing (such as repairing unnecessary line breaks), but this at least makes these games partially compatible, instead of completely incompatible, so /x3 /v are very powerful commands.

Since /x3 /v may cause slowdowns or lock ups in some cases because of the large amount of threads being displayed, never add them if you already have perfect text extraction in a default thread. If there is some text problem, then try /x3 and /v to search in hidden threads. Also, if text extraction is splitting parts of the text to different threads (such as menu item options to a separate thread than game dialogue), you may want to try adding just /v to see if there is a thread putting all the text into the single thread.

/PN and /P Commands: Attach AGTH to the Game Process

The /pn and /p commands are used to attach AGTH to a game after the game is already running, instead of setting it to load up with the game. Sometimes trying to load AGTH up with the game can cause the game to crash, so attaching AGTH to the game after it is already loaded and running can fix this issue. You would also need to use /pn or /p if the game loads itself off of two .exe files. Using /pn attaches to the game process name, and using /p attaches to the game process ID number. Using /pn is more convenient, since the process ID number changes every time you load the game, so you would have to change the process ID number in your AGTH shortcut everytime. However, if another program has the same process name as your game .exe, then you will need to use /p with a process number instead of /pn.

The game Angel’s Feather loads off of two .exe files: the autorun.exe file must first be opened to launch the game, but the af.exe runs the actual game. Because of this, trying to make a shortcut to af.exe to add AGTH to the target line will not work. Therefore, we need to use the /pn command to attach AGTH to Angel’s Feather after it is running. Below will outline how to use the /pn command.

1. First, you are going to make a shortcut of agth.exe. Go into your AGTH folder, right-click on agth.exe, and select “Create Shortcut” from the list. You will see a copy of agth.exe with the little arrow in the corner. To make it easier to access, this shortcut file will be moved to the game folder. Right-click on the shortcut and select “Cut”.

Now browse to your game install folder, and right-click anywhere in the folder and select “Paste”. Your agth.exe shortcut will now be in your game folder, where it is easy to access.

2. Load up the game normally (in the case of Angel’s Feather, the autorun.exe is launched to load up the game). Now with the game running, press down Ctrl+Alt+Del on your keyboard to bring up Windows Task Manager. In Windows Task Manager, click on the Processes tab. Click on “View” at the very top of Windows Task Manager and go to “Select Columns”. Put a checkmark next to PID (Process Identifier) and hit Okay. Now on the Processes tab, you’ll see the names of all running processes on your computer, with a PID number next to it. Search in the process list for the game process: usually it should be named the same as the game .exe file (in this case, af.exe). Therefore in the future, you may not even need to look in Windows Task Manager at all and should just be able to use the game .exe name with the /pn command. The /p command uses the PID number instead of the process name, but this number changes every time you load the game, so it is much easier (and recommended) to use /pn instead, unless another process has the same name as the game .exe process.

3. Go back to your game folder where your agth.exe shortcut is. Right-click on it and go down to Properties. This will bring up the Properties window, and it will be on the Shortcut tab. In the Target box, AFTER the address to agth.exe, add the command /pn followed directly with the name of the game process: in this case, /pnaf.exe. Then follow this with /c and any other commands you would like AGTH to run with. Hit Apply and OK.

4. Now with your game running, double-click the agth.exe shortcut that is inside your game folder. AGTH will now load up. It may not find any threads when you first load it, but once you get into the game where there are dialogue boxes, the text threads should appear, and now you can select the thread extracting the game text.

/H Command: Correct Text Extraction Problems

The /h command is a very complex command, which allows AGTH to hook into a specific address to find the text for the game and extract it. It is used to correct text problems such as missing characters, text being repeated multiple times, incorrect breaks, and text being extracted in a pyramid style (grabbing a character and adding all previous characters again each time).

Figuring out the correct parameters to use with the /h command is a difficult process and requires some knowledge of programming, so it is difficult to explain the complexity of this command. If you are interested in a little more information on the command, I would recommend the information posted by danj2k @ Hongfire, and especially the video tutorials posted by Freaka @ Hongfire. Freaka also explains some tactics for using /h with font caching issues in this post, and speaker name and text dialogue separation issues in this post.

For the most part, if a game is having weird text issues, you will need to check and see if someone has discovered a /h command that may be used to correct it. For bishoujo games, you can check for these on  Anime Games Text Hooker Thread. For boys’ love and girls’ games, check  BL Games Compatibility List and Girls’ Games Compatibility List. It is important to follow the instructions exactly from these compatibility lists, since the address used in the /h code depends on the game .exe. Some codes require certain patches to be applied, or they will not work.

In the following example of Hoshi no Oujo, the game uses font caching so that there are missing characters in the text thread, making translation by Atlas impossible.

The programmer Niphty was able to find the correct parameters for the /h command to fix the font caching issue with games by Mirai, such as Hoshi no Oujo. In this case, with Hoshi no Oujo patched with its official update patch, the command to fix the missing characters is /HBC*0@444060. Adding this command for Hoshi no Oujo will fix the font caching problem so all the text is extracted. When the /h command is used, the correct text will be found on a “UserHook” thread in the AGTH window.

The /h command is extremely powerful, and one of the main things that sets AGTH apart from text hookers of the past. The only bad part about it is that you truly have to have some programming knowledge and use of code debuggers to find out all the correct parameters needed for the /h command of a specific game, and every game is different.

Several game engines which requires /h codes in the past have now been automatically built into AGTH: the RealLive game engine, and the KiriKiri game engine, and Alice Soft’s System4.0 game engine. Now if AGTH detects these game engines, it will automatically create the correct hook under either the “RealLive”, “KiriKiri”, or “System40″ user thread, so now /h codes are no longer required for games on these engines. Hopefully in the future, even more game engines may be able to be auto-corrected.

If you are having problems with incorrect text, don’t immediately freak out and think you have to have a /h command to fix it: there are many simple things people don’t try that can fix text issues without needing a /h command. For example, make sure you always have your in-game text speed set to the highest setting (there are a few cases where games may extract better on a slower setting, but not in general). If no text is extracting, try changing the font in the game. Also, always check by adding the /x3 and /v commands to see if there are any hidden threads extracting the correct text. If all of these fail, and you are getting text extraction with missing characters or some other problem, then there is a good chance that the /h command can fix the problem, if someone can discover the correct parameters for the /h command with that game.

Other Commands

As stated before, there are many different commands for AGTH. Here are a few other useful commands:

/t = Makes the AGTH window always stay on top.

/ns = Tells AGTH to not use subcontexts, so that it can take texts which are being separated into different threads and put them into one thread. This is useful, for example, on Ein’s games where the different colored fonts are being separated into separate text threads, so that all the text will be in one thread instead.

/b = Allows the paragraph split parameters to be changed. The default is /b4:16:1000. Increasing the first or second value may be able to fix unnecessary line breaks. It cannot fix line breaks that occur from the /kf parameter.

/nf = AGTH filters out some curser characters that may appear in the text. Using /nf will disable this feature.

/f = Renames specified threads and hides all other threads. This can be used to label the text threads in AGTH rather than having the default “TextOutA”, etc. as the thread names. It is used in the following format: /f[Preferred thread name]@[thread address];[Preferred thread name]@[address]. For example, /FDialogue@404F37;Furigana@405725:1124. This would hide all threads except for two which would come up in the AGTH window as “Dialogue” and “Furigana”. This makes it easy for you to tell your threads apart and hide the threads you don’t use.

Okay, that’s all for today. I think you could start to play Japanese Games from now. If you have any question you could leave comment bellow. I’ll answer it next time I’m log in :)

 

After you’ve read this article you might be like to read another related post in this hyperlink

Translator Aggregator

Ikuti

Get every new post delivered to your Inbox.