14 Feb

Hidden Soulmates: A Free Hidden Objects Minigame for Valentine’s Day

Hidden Soulmates is a hidden objects minigame you can play directly in your browser, completely free. In the game, you’ll be presented with a Valentine’s-themed scene filled with various images. Some of these images form pairs, and your goal is to find and click on those pairs to remove them from the scene. Completing Hidden Soulmates should only take a few minutes.

Play Hidden Soulmates now 🙂

Hidden Soulmates v1.0

Built with Unity 6Hidden Soulmates is designed to load fine in most browsers, though loading times may vary depending on your internet connection. It’s important that your browser is updated (it must support WebGL 2).

Hidden Soulmates screenshot

Creating this minigame was a fun break from the larger project we’re currently developing. We enjoyed every step of the process, from designing the Valentine’s scene to fine-tuning the gameplay with help from some friends.

Happy Valentine’s Day! May your day be filled with love, laughter, and maybe a little hidden object fun 🙂

10 Feb

Spooky Dwellers 1 in Czech

Hello! Spooky Dwellers 1 on Steam has just leveled up! The game now fully supports the Czech language, making it more accessible and enjoyable for our Czech-speaking players. Whether you’re a new adventurer or a returning player, you can now dive into the spooky world in English or Czech!

This localization update wouldn’t have been possible without the help of a dedicated player from the Steam community, who generously volunteered his time and expertise to translate the game from English into Czech, and we’re so grateful for his contribution. Thank you for helping us bring Spooky Dwellers 1 to even more players!

Our localization process also utilized the functions we previously introduced, which are designed to extract localization phrases directly from our Unity projects.

So, what are you waiting for? Immerse yourself in the eerie adventures that await: puzzles, secrets, or just enjoying the spooky Match 3’s levels! We hope you love playing Spooky Dwellers 1!

01 Feb

Extracting Localization Phrases from our Unity projects

In our Unity projects, we handle localization using the No Such Localization component, as detailed in a previous post. Specifically, we use the phrases version, where phrases act as keys to retrieve strings from a comprehensive table. Switching languages is as simple as changing the table for text (for images, we use a different method).

We maintain a large database of strings and extract a subset tailored to each game’s specific requirements. To do this, we compile a list of all the phrases used by the localization components within a given game. Our process is straightforward: we open each scene in the Unity project, retrieve all localization components, and store their phrases.

The following code demonstrates our approach. We’ve integrated this functionality into a Unity editor menu option, automating the entire process of retrieving phrases and writing them into a text file.

public class IKIGamesEditorTools
{
    private const string LocalizationMenuPath = "IKIGames/Localization/Extract All Phrases";
    private const string LocalizationFileName = "localization_keys.txt";

    [MenuItem(LocalizationMenuPath)]
    private static void ExtractAllLocalizationPhrasesInAllScenes()
    {
        HashSet<string> phrases = new HashSet<string>();
        List<string> scenePaths = GetScenePaths();

        foreach (var scenePath in scenePaths)
        {
            ExtractPhrasesFromScene(scenePath, phrases);
        }

        WritePhrases(phrases, LocalizationFileName);
    }

    private static List<string> GetScenePaths()
    {
        List<string> scenePaths = new List<string>();
        foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes)
        {
            scenePaths.Add(scene.path);
        }
        return scenePaths;
    }

    private static void ExtractPhrasesFromScene(string scenePath, HashSet<string> phrases)
    {
        UnityEditor.SceneManagement.EditorSceneManager.OpenScene(scenePath, UnityEditor.SceneManagement.OpenSceneMode.Single);
        ExtractPhrasesFromLocalizationComponentes(phrases);
        // No need to close the new scene since OpenSceneMode.Single opens it as the only active scene
        Debug.Log($"Processed: {scenePath}");
    }

    private static void ExtractPhrasesFromLocalizationComponentes(HashSet<string> phrases)
    {
        foreach (NoSuchStudio.Localization.Localizers.TMProTextLocalizer localizer in Resources.FindObjectsOfTypeAll<NoSuchStudio.Localization.Localizers.TMProTextLocalizer>())
        {
            if (!string.IsNullOrEmpty(localizer.phrase))
            {
                phrases.Add(localizer.phrase);
            }
        }
        foreach (NoSuchStudio.Localization.Localizers.TextLocalizer localizer in Resources.FindObjectsOfTypeAll<NoSuchStudio.Localization.Localizers.TextLocalizer>())
        {
            if (!string.IsNullOrEmpty(localizer.phrase))
            {
                phrases.Add(localizer.phrase);
            }
        }
    }

    private static void WritePhrases(HashSet<string> hashSet, string filename)
    {
        string filePath = Path.Combine(Application.dataPath, filename);
        try
        {
            using (StreamWriter writer = new StreamWriter(filePath))
            {
                foreach (string item in hashSet)
                {
                    writer.WriteLine(item);
                }
            }
            Debug.Log($"Phrases written successfully to: {filePath}");
        }
        catch (System.Exception ex)
        {
            Debug.LogError($"Failed to write phrases to file: {ex.Message}");
        }
    }
}
24 Dec

Merry Christmas and Happy New Year!

2024 is coming to a close, and we want to take a moment to express our heartfelt gratitude to all our customers. We’re excited to continue this journey together into 2025. Your support has made this year truly special for us, with 3 games released:

This Christmas, we hope you find joy and warmth surrounded by family and friends. As you unwrap your gifts this holiday season, we want to share a little something about what’s coming next. In 2025, we’ll be working on a brand-new game of the hidden objects kind. We wanted to complete that project this year, but the workload made that impossible. We have several other exciting projects in the pipeline, and we’ll be revealing more details in the coming months. We’re committed to bringing you engaging and memorable experiences. Thank you once again for being part of our family.

We wish you a Merry Christmas and a Happy New Year filled with adventure, fun, and all the things you love! Cheers to a fantastic 2025 ahead!

04 Dec

Suddenly Meow Christmas is now live on Steam

Exciting News! Suddenly Meow Christmas is now live on Steam! Celebrate the launch with a 10% discount! Don’t miss out on the festive fun and grab your copy today!

Resources for the game: If you like Suddenly Meow Christmas, you may also enjoy our previous Suddenly Meow games:
02 Dec

Solving Level 60 of Suddenly Meow Christmas

Completing Level 60 of Suddenly Meow Christmas for this video took me 101 moves. The key to this level is breaking multiple obstacles (black rocks, chained icons, and the rock that must be broken with the hammer) and then guiding Tim to the fish. Additionally, I managed to collect the star located in the top-right cell. I also destroyed all the crates on the board to earn the Gold Trophy and a power-up at the end of the level. You may want to check out the Suddenly Meow Christmas’ walkthrough.
Suddenly Meow Christmas: Level 60

Here’s a video solution for Level 40. An here’s a YouTube playlist, with videos related to Suddenly Meow Christmas.

27 Nov

Solving Level 40 of Suddenly Meow Christmas

Level 40 of Suddenly Meow Christmas is a tricky one. Fish must be caught by Tim in the proper order; otherwise, the level would become unsolvable, and you’d have to restart it. You may want to check out the Suddenly Meow Christmas’ walkthrough.
Suddenly Meow Christmas: Level 40

You can also break all the crates on the board to earn the Gold Trophy at the end of the level. Additionally, getting the Gold Trophy awards you a free, random power-up.

Here’s a video solution for Level 26. Today we created a playlist on our YouTube channel, with videos related to Suddenly Meow Christmas.

25 Nov

Solving Level 26 of Suddenly Meow Christmas

Level 26 of Suddenly Meow Christmas features double cat action. Tim can’t get all the fish at first because he’s blocked by some gifts. So you’ll have to move Spooky to grab those gift boxes and clear the way for Tim.
Suddenly Meow Christmas: Level 26
Remember that by breaking all the crates on the board you’ll earn the Gold Trophy at the end of the level, and getting the Gold Trophy awards you a free, random power-up. If you need further help, you may want to check out the Suddenly Meow Christmas’ walkthrough. You can also check out video solutions for Level 1 and Level 2 of Suddenly Meow Christmas.

16 Nov

Solving Level 2 of Suddenly Meow Christmas

The second level of Suddenly Meow Christmas introduces water tiles. Tim can’t walk on these tiles, so you’ll need to create paths around them. Since the main goal in this level is to lead Tim toward the fish, we must form matches to expand the path and connect Tim to his fish.
Suddenly Meow Christmas: Level 2
You can also break all the crates on the board to earn the Gold Trophy at the end of the level. Additionally, getting the Gold Trophy awards you a free, random power-up. If you need further help, you may want to check out the Suddenly Meow Christmas’ walkthrough.
13 Nov

Solving Level 1 of Suddenly Meow Christmas

Solving the first level of Suddenly Meow Christmas is easy. The main goal in this level is to lead Tim toward the fish: to do that, you have to form matches next to Tim or the fish to create path tiles on the board. Then, keep forming matches next to the path tiles to expand the path and connect Tim to the fish. When a path is formed, Tim will automatically move to catch the fish.
Suddenly Meow Christmas: Level 1
And if you break all the crates on the board, you’ll earn the Gold Trophy at the end of the level. If you need further help, you may want to check out the Suddenly Meow Christmas’ walkthrough.