Tag: Development Updates

  • hmSpirit Dev Diary #2

    hmSpirit Dev Diary #2

    Hello everyone~! I have a new dev diary update to share on my hmSpirit project.

    I have been pounding away at prototyping on this and am finally back with a new post to share the progress made so far! I have a decent bit of tech-facing things to discuss in this dev diary so strap in.

    While it definitely doesn’t look like much, I have made several big implementations since the last time. In dev diary #1, the footage and progress thus far only included a lot of beginner troubleshooting and getting collision rigged up. The next step for the programming front included wiring basic AI movement, which was a lot of trial and error (and to be honest, it’s still kinda buggy).

    Following the AI Controller was the introduction of the Scheduler constructor – a struct that will allow NPCs to register their instance and a pre-defined key-value pair (dictionary style) array to tell the NPC what to do. Right now, it is straight forward and hard-coded into each NPC object, and essentially tells the NPC “at this time, either follow this path or wander around.”

    Actually, I am getting a head of myself – I added a pretty simple clock system too. This may get more robust, but for now it’s a persistent object called in by my GameInstance object to have a sort of time system for the game.

    _accumulator += delta_time / 100000;
    
    if (_accumulator >= seconds_per_min / time_scale) {
        
        _accumulator = 0;
        minute++;
        
        if (minute >= 60) {
            minute = 0;
            hour++;
        }
        
        if (hour >= 24) {
            hour = 0;
            day++;
        }
        
        if (day > 28) {
            day = 1;
            
            //We count seasons from 0 to 3, cannot go over 3
            if (season == 3) {
                season = 0;
            }
            else {
                season++;
            }
        }
    }

    This is the only calculation running per step for the clock – here we simply accumulate time based on Gamemaker’s delta time into milliseconds.

    Simple, right?

    Anyways, we’re back to the Scheduler. The struct utilizes these variables:

        entry_builder = _entry_builder;
        entries = [];          
        current_index = -1;
        active_task = noone;
        next_index = 0;
        last_day = -1;    

    Every NPC builds out a schedule that is currently hard-coded in their Create code:

    schedule = new Scheduler(function(season) {
        return [
        { hour: 6, minute: 50, type: "path", value: path_npc_1 },
        { hour: 9, minute: 0, type: "path", value: test_2 },
        { hour: 10, minute: 0, type: "wander"}
        ];
    });

    The current implementation allows to pass in a path string to tell the AI Controller’s poll_schedule function if we are following a path or simple wandering around. My brain is drained right now, but I am sure we will expand on the capabilities later.

    Today’s work achieved laying out the foundations for the InteractionManager and DialogueManager structures. Having not been exposed to other farming sim game’s codebases, I was making a guess that the best approach to separate concerns here was that we needed a manager to poll and register things that could be interacted with. Basically, a system that checks each Step for things the Player can press “E” on. That’s pretty much it – this will then callback to the appropriate manager to handle further processing. In this case, the DialogueManager’s functionality gets called from the NPC’s interaction object:

    interaction = new Interactable(id, INTERACTION_TYPE.NPC, "Miyuki", function(_player) {
        global.DIALOGUE.start("miyuki", _player, interaction);
        return "dialogue: miyuki";
    });
    global.INTERACTION.register(interaction);

    This implementation session was rather educational, because it helped me discover the use of Included Files in Gamemaker. This is important because I want to be proactive and have the dialogue of the game ready for localization and prevent hard-coding text.

    As such, my current approach is a three-tiered approach of using JSON in the /datafiles folder of the project.

    Basically, the system is nothing special and typical of a localization-supported language in a program:

    • One file with all the strings matching by key for each language (string_en.json)
    • One file for each dialogue per NPC, that references the language’s matching key, no actual text inside
    • A JSON file to match the condition sets. In this case, dialogue_index.json is what puts it all together.

    These are loaded in at the start of the program and persist in memory to prevent re-opening these files and ingesting the data. I think this would be the approach for memory-management, but I am sure there will be some roadblocks once we have a bunch of dialogue in there. Oh well~~

    That’s the grossly simplified over and under of the programming work done so far on the project that leads you to the video posted at the start of this dev diary. I am very happy with the foundations I have laid out, and they’re stubbed for more features but there’s definitely a lot more work to do to make them less buggy and feel more like a professional release. All’s that to say: even though it appears like the standards, this is a good bit of work and the workspace of the project is showing that growth:

    I am of course keeping a running documentation library in my drafft-2 instance, as adding any new character or interactable requires understanding some of the code base that exist. Once I get these current features ironed out nicely, I will tackle prototyping the actual farming system. I wanted to focus on interactions and the dialogue first because this game will heavily rely on these parts to progress.

    Anything on the Creative front?

    YES!

    I have made more progress on the master GDD, finally tackling the list of characters to be made. Of course, as the game goes into true pre-production and a team is assembled, these things may change, but making a list of characters and their basic personality and appearance has been something I have been stuck on since December.

    Much like anything in life, I just had to man-up and sit down and start writing anything to get this done – and I did. I am currently happy with the list of characters I have come up with, and some of them even inspired some possible side quests and features to think about!

    Not counting the Player, there are 18 planned NPC’s – 10 of which are currently planned to get at least intimate with 😉

    I realize writing this out it seems lofty, but again – this is subject to change. Once I get in the actual flow of a production, this can drastically get slimmed down or maybe even go up! Only time will tell…

    Thanks for checking this post out. If you’re interested, you can bookmark this blog for more updates or follow me on itch.io:

    https://zero-senpai98.itch.io

    I am cross-posting these updates there as well.

    I think in the next coming months, I will considering looking at some communities to see if there are any individuals looking to collaborate on a project like this.

    Peace peace~

  • hmSpirit Dev Diary #1

    hmSpirit Dev Diary #1

    It’s no big surprise that I think the ideal career is one of a game director/developer. I love video games and have my whole life, and one of my favorite aspects of video games are their elevated ability to tell a story, to make you feel things. This lofty opening is simply to provide my passion behind the subject, because while I have several ideas of fun games in the chamber of secrets, this update and the next several will be around a project for a NSFW game – a hentai game, if you will.

    Back in late 2021, I was actively writing demo scripts for a game I call the “dream project,” and while it has been indefinitely on hold, it is not without reason. I had enrolled into a Computer Science degree program to force myself into a deeper understanding of the principles of software design and development. Along that path, I took some game design courses that expanded my knowledge on how we approach game design and project management. During the degree, probably two or so years ago, I was friends with a friendly guy from Canada that ran his own software development firm. He has all but faded away from my life, but I still recall during one of his random pop-ups a conversation we had had: we discussed my further interest in advanced CompSci topics and then discussed my want to make games. This brought up the interest in doing a hentai or adult game, primarily for a shot at financial success that could be reinvested further.

    That is not to say this project does not contain any passion or aims to be a soulless cash-grab: on the contrary even. Currently titled “hmSpirit,” this is a 2D project being prototyped in GameMaker, a software I have been interested in using for some time now. As 2026 started, I decided if I had a resolution of any kind, it would be to kick it in gear with working on projects that put some of my degree to use (I am now graduated as of writing this!) Within just the first few weeks of 2026, I have already learned so much about the engine and got a ever so slight grasp on my approach to making a production-grade project by the end of this.

    Introduction to “hmSpirit”

    Code named “hmSpirit,” the project is currently to prototype something that will aim to be one of the best adult Farming RPGs. It is essentially a merge of my enjoyment of the doujin hentai game world and farming sims/RPGs. I know that there are a good few of these that exist on the market, but I personally feel none of them go far enough to provide a solid game experience all around. In fact, that is my complaint with most H-games: more often than not, core gameplay loops are neglected for quick thrills.

    You may say that is the point, they are literally porn games, and in some cases you may be right, but there are many classic Eroge or H-RPGs that have attempted a balance, and I want to strike on it and then some! While I don’t believe it will end up being on the quality of Stardew Valley, my vision is a core farming RPG that is well-done enough that people wouldn’t even mind if it never was a hentai game as well. But, my personal motto is “I want to make games I want to play,” and I love farming RPGs and H-games, but there isn’t a fun one that merges these for something you could sink say 50-60 hours into on just enjoying the gameplay loop and world alone.

    My idea, as much of it I can share, is to focus on one of the features I always love in any RPG when it’s incorporated (especially in Farming ones): relationships. A farming RPG without relationship mechanics is like a car without oil: you just can’t drive far without it (or at all, depending on the car). A big focus on the master Game Design Document (MGDD) is how the balance between Farming and your relationships are. To grossly summarize it: the quality and output of your farming endeavors will effect how your relationship endeavors with the NPCs, and vice versa. And not just in a positive way! Another important design philosophy to me is to design systems in a way that even if they’re limited in technical scope, they can be manipulated by the player to play the game again in many different ways.

    In one player’s save, they may choose to play it like they’re playing something like Stardew Valley – farming, becoming friends with everyone, unlocking all the secrets, and maybe do a little tomfoolery with their wife/husband/partner of choice on the side. Another player may choose to go full pervert-eroge gamer mode and focus maybe a little too much on the erotic aspects. I want there to be the freedom of choice there within this symbiotic system, but of course punish swinging too far in either direction (sort of like real life, huh?)

    So, on paper a prospective player may look and end up seeing a relatively tame hentai Farming game, but in reality the project scope is rather involved. I hope I keep the steam going so I can update someday on my challenges in developing the inter-workings of these relationship systems, but for now, you can have my lofty visions and the actual updates as of now.

    Design Documents

    The Master Game Design document is currently at 28 pages and over 5000 words, which is actually on the smaller side, but is by far the largest GDD I have put together so far. It is still ongoing and like most GDDs, it will change as the project takes new identities, but this has been a fun creative outlet I have desperately needed for sometime now. Thinking out the high-level systems, the skills, the scenarios and gameplay loops has been a blast. I have plans to work on this a bit more to a first revision by the end of January.

    I am trying my best to not tread into feature-creep too early, and so I personally feel my plans outlined in the GDD are on the slim side, but again, I want to prototype something playable with a solid foundation of design documentation before I ramp into actual production.

    Game

    This is the latest in-engine footage captured today. This is of course extremely amateurish. I am not too dedicated into programming the prototype yet, but I am trying to achieve the following while designing:

    • Get more acquainted with Gamemaker
    • Learn the engine low-level systems, functions, how to handle maps and tiles and draw orders, etc.
    • Set up basic boilerplate stuff, like collisions, depth, basic interactions, and basic AI (movement)

    This is the culmination of probably just 6 or 7 hours of work so far – of course using assets I have purchased from itch.io. I am fine with premade assets for prototyping (you can find the tileset by Emanuelle here) – I have plans to commission or employ the works of artists once it is ready for a pre-production state.

    Again, this video doesn’t show anything to brag about, but rather serves as proof to myself I am doing it. I am essentially taking up some hours throughout the week to handle all aspects of game production to trick my brain into getting into a locked-in state for the prototype. Under the hood, I am a little more proud, as I have been trying to wire this so that high-level concepts such as Character logic, input and collision handle in a reusable way and not copy+pasted per object. I may be making a hentai game, but I want it to run efficiently and be as bug-free as possible gosh darn it!

    I also have active engine and script documentation going, so if by some chance other people come on, they have the idea right away (and so do I if I ever take a break…) I am going to play around with setting up a basic interaction/trigger to dialogue system soon and then focus on making the rest of the preliminary design documentation: the MGDD, character sheets, crude concept art (I am not a great artist), scenarios, etc.

    Current (fuzzy) timeline for the prototype:

    Jan:

    • Basic dialogue system
    • Basic NPC AI movement on paths and prepare for unique NPC schedules
    • Finish the MGDD

    Feb:

    • Start Character Sheets
    • Start first “clean” test map in-engine
    • Start Character Dialogue mapping
    • Any bad concept art for characters

    Mar:

    • Start prototyping the farming mechanics and in-game clock
    • Prototype UI elements (menus and inventory)
    • Start Quests outlining

    Apr:

    • Dedicate to finishing design materials for first prototype
    • Finish up any lingering development items prior

    June is a busy time at work, so I will likely not get to do much for the project then.

    Jul:

    • Begin the prototype for the relationship systems
    • Begin prototyping cut scenes (to reuse for story and relationships)

    I hope you look forward to more updates if you’re a fellow farming rpg and/or H-game enjoyer!