Devlog #10 - We are localizing Pamali! (Localization Part 1)

Hello there! Andre's here. Since a while, we actually have been wanting to implement a data-driven system to Pamali and other games, but always ending up casting that aside and deem in not urgent at the moment.

But all that changes when there's a new urgency: localization.

Pamali has a lot of speech contents such as conversations, player monologues, readable objects, choices, object names and interaction choices.

Up till last sprint all these contents all implemented manually inside each object's code.

This pipeline itself has a lot of flaws:
1. Transferring of the contents from the writer into the code are very prone to human error (e.g. mistype, pasting the wrong speech)
2. If there's a revision it takes two layers of work to be fixed: the writer and the programmer
3. Sometimes we manually fixes and changes the content directly inside the code (such as minor misspelling, wrong object name, etc.) and most of the time the writer is not aware of this.
This resulted in two different sets of data (the contents inside the engine and the contents on the documents created by the writer). Thus, there isn't a centralized 'document' that is always up to date
that the team could access anytime.

After seeing the problems above and imagining how it will be multiplied exponentially by doing it again and again on different languages, we feel that it is the time to develop the data-driven system.

On this new system, our game takes data directly from a spreadsheet file consisting of various data and is implemented through the use of keys. We only need to assign an object inside the game to
its corresponding key on the spreadsheet. Here's an example:

^ We now have a spreadsheets listing all of out interactable objects.

^ I assigned the corresponding key to the object's code.

This allows our content writers to directly change the data inside the game, greatly increases the efficiency of our speech content production especially when doing revisions on the content.
And with a centralized database, it is easier for anyone in the team to pull the latest data that is up to date to both the contents created by the writers as well the the one implemented in engine. Debugging (content-wise) is also so much easier now. (Its a huge lifesaver)

And lastly, this allow us to handily implement various languages to the system. This urgency manifested because we currently implementing a Chinese localization to Pamali and hopefully to be able to release it together with our English version. We had a new partner and they are helping us with the localization for Simplified and Traditional Chinese.

In a nutshell, we are glad the development of this data-driven system goes smoothly and everything works on the first try (this rarely happens...).

This makes us take a step behind but I believe that its an important step that will allow us to take big steps ahead.
That's all for the first part of my devlog about localization, on my next devlog I will share on how we handle the localization of our readable objects on the game. See you next time! :D

Leave a comment

Log in with to leave a comment.