Summary of new features for #QuikBild (the word-guessing minigame) I worked on in the past days:

* New word list format, words now know context and synonyms
* Revised default word list (WIP)
* Quality-of-life: Better messages, more readable text, HUD stuff, sound effects, …
* More game settings to customize the game on servers
* Bugfixes! Bugfixes! Bugfixes!

Note: These features are NOT LIVE yet on the A.E.S. server for #Luanti.

#AES #Luanti

More on how the word lists are stored: It's one CSV file per language. Each word/entry is uniquely identified by the English word + English context *together*. Those two fields together act like a primary key in databases. Every CSV file has those two fields to identify.

This has the benefit that writing an updater script was super easy to do.

The old format was VERY fragile: It was just a table with 5 columns, one for each of the 5 languages. Which sucked. Glad I've nuked it. 😉

#QuikBild

An upcoming planned feature for #QuikBild is also to upload word list translations to #Codeberg Translate, a #Weblate instance, so the words can be more easily translated in the browser by translators instead of editing CSV files directly.

This should allow to extend the word list much faster.

#GameDev #Luanti

But it turns out this isn’t good enough. During playing, I noticed that frequently, players basically figured out what the artist built but they don't say the EXACT right word so they didn't score. Super annoying.
For example, the word was "truck" but the guesser said "lorry". The solution for that is simple: I just added a list of synonyms for each word. Guessing any synonym of a word counts as a correct guess.

#GameDev #QuikBild #AES

I found a solution tho: I changed the way how words in the word lists are stored. Previously, each word was identified by just the literal English word. Which is a problem for e.g. "spring".
Now, words (concepts) are identified by the English word PLUS an optional context field. This is somewhat similar to gettext.
So there are now "spring|mechanical", "spring|water source", etc.

The translated words also support a context, but this is just for displaying to players.

#QuikBild #GameDev #Luanti

A look behind the scenes: #QuikBild randomly picks a word from a word list to show it to the builder. This word is translated in 5 languages which can be set by players.

This makes it more complicated. We have to account for different word meaning, per language. Like "spring" can't be translated well w/o context (e.g. water source/season/mechanical?).

This is already an issue in English alone, but with 5 languages, it becomes more tricky …

#AES #Luanti #QuikBild #GameDev

In the last couple of days, I decided to work on the old #Luanti minigame #QuikBild (not by me originally), a word guessing game. It can be played on A.E.S. Players must build a word, like "apple" and others must guess the word to score.

It’s fun but there are many small and big longstanding issues like a small word list, confusion with word meanings, AFK, bugs, usability problems, and more.

I want to make sure all those old issues will be fixed and that QuikBild improves.