Big Aspirations (0.6.2) A weight gain interactive story

This is the main reason I haven’t played through this in a while, every save I did have ended up with some game breaking/content blocking bug that would be fixed in the next update, but that bug would still be applied to my save. That and the mindless clicking to get back to where I was means I’ve in a loop of waiting for the next update, seeing more bugs reported that get fixed, update, bugs, fix, update, bugs, fix etc., so I’m never actually wanting to play up to the current end of content in case I find another bug that means I’ll have to restart to fix in the next update.

Even leaving aside the player frustrations, reworking everything behind the scenes will make the game a lot easier to make going forwards rather than getting to the end and then basically remaking the whole thing. It’s always better to have a solid framework to build off of instead of some flashy lights duct taped together and prone to falling apart.

@Aleece I’ll try to separate my general dislike of the “if you don’t like it don’t play it” mentality from this, but if people are being pushed away from a game by a certain feature or quality then that needs to be brought up, else nothing would be changed and more people would be silently pushed away. Whether that issue is huge or small, it’s still an issue that could potentially be resolved to the benefit of the game as a whole.

6 Likes

For what it’s worth, I’m also of the opinion of “just wait for the full release.

I understand the frustrations with needing to start over every update, but it kinda comes with the territory when you play a game in a prerelease state. I personally don’t mind starting over because of the content every update that has been added to the earlier weight stages.

5 Likes

Thank you all for the feedback, this is useful information for sure. Developing this game using the Harlowe format has turned out to be the biggest cause of strife for me from a dev stand point. The idea of switching to a new format that is using differnet code language is quite daunting though. I’m worried that it would kill my motivation to continue with the game to redo most of the work that I have already put into it. But considering the most common complaint that I have heard has been in regard to the lack of a proper save function and my inability to make one with how the game is at the moment has been a source of frustration to say the least. So, though it would likely mean a large amount of time till the next release, I will work on getting the game programmed into a differnet format.

12 Likes

Demanding someone remakes the entire game from scratch because you dislike how something is currently working is just entitlement to the next level. OP is making a project for fun and has no obligations to this community at all, it’s a free fetish game - not the next title from Bethesda

8 Likes

Lmao, “demanding”, sure.

Pointing out a potential flaw, or offering advice, or giving a suggestion for something to be added does not equal a forceful demand. Nor does defending the ability to do such things. If no such comments are given and a developer - any developer - is left in an echo chamber of positive comments then that opens their game up to mistakes and oversights that will likely never be noticed.

If I, or anyone else, had come in guns blazing with scathing comments based on the game engine then of course that should be punished, but that isn’t the case here. Free games aren’t immune to criticism, and if no criticism were given then nothing would improve. This is true for practically everything in life, and so long as it’s given in a fair and reasoned manner then there should be no issue with it.

While I may sometimes come across as condescending (especially with my tendency to write long spiels like this) and will take criticism on that, I won’t stand for being called demanding and entitled simply for voicing my opinion on a matter.

7 Likes

I made a save as file functionality button for this game, I originally created this as a userscript for personal use (because I love this game), I thought it would be good to show you.

to use it, just put this inside of output html, inside head tag after title.

<head>
    <title>Big Aspirations WIP</title>
    <!-- here -->
</head>

If you want some modifications, I’ll fix it!
currently it only works well only “a new day starts” screen.
it shows on every screen for now, but I can hide it if you want.

<script>
{

    const realSessionStorage = window.sessionStorage;
    let sessionCache = {};

    Object.defineProperty(window, 'sessionStorage', {
        get: () => {
            return {
                getItem: (key) => {
                    return realSessionStorage.getItem(key);
                },
                setItem: (key, value) => {
                    sessionCache[key] = value;
                    console.log(sessionCache)
                    return realSessionStorage.setItem(key, value);
                },
                removeItem: (key) => {
                    delete sessionCache[key];
                    return realSessionStorage.removeItem(key);
                },
                clear: () => {
                    sessionCache = {};
                    return realSessionStorage.clear();
                },
                key: (index) => {
                    return realSessionStorage.key(index);
                }
            }   
        }

    })


    function styleDom(dom){
        dom.style.position = 'absolute';
        dom.style.right = '5px';
        dom.style.cursor = 'pointer';
        dom.style.zIndex = '99'
        dom.style.color = 'white';
        dom.style.backgroundColor = 'black';
        dom.style.padding = '5px';
        dom.style.borderRadius = '5px';
        dom.style.border = '1px solid white';
        dom.style.fontSize = '12px';
    }

    function loadSaveDom(){
        {
            const saveDom = document.createElement('div');
            saveDom.style.top = '5px';
            styleDom(saveDom);
            saveDom.innerText = 'save';
            document.body.appendChild(saveDom);
            saveDom.addEventListener('click', () => {
                //get all sessionStorage keys
                const keys = Object.keys(sessionCache);

                //create object to store all sessionStorage keys and values
                const storage = {};

                //loop over keys and add to storage object
                keys.forEach(key => {
                    storage[key] = sessionCache[key];
                })

                //save storage object to json file
                const storageString = JSON.stringify(storage);
                const storageBlob = new Blob([storageString], {type: 'application/json'});
                const storageUrl = URL.createObjectURL(storageBlob);
                const storageLink = document.createElement('a');

                //download json file
                storageLink.href = storageUrl;
                storageLink.download = 'save.json';
                storageLink.click();

            })

            const loadDom = document.createElement('div');
            loadDom.style.top = '35px';
            styleDom(loadDom);
            loadDom.innerText = 'load';
            document.body.appendChild(loadDom);
            loadDom.addEventListener('click', () => {
                const fileInput = document.createElement('input');
                fileInput.type = 'file';
                fileInput.accept = 'application/json';
                fileInput.click();
                fileInput.addEventListener('change', () => {
                    const file = fileInput.files[0];
                    const reader = new FileReader();
                    reader.readAsText(file);
                    reader.addEventListener('load', () => {
                        const storageString = reader.result;
                        const storage = JSON.parse(storageString);
                        const keys = Object.keys(storage);
                        keys.forEach(key => {
                            sessionStorage.setItem(key, storage[key]);
                        })
                        window.location.reload();
                    })
                })
            })
        }
    }

    setTimeout(loadSaveDom, 100)
}
</script>
7 Likes

People are commenting on this thread because they like the game, and want to see it get better. Being overly antagonistic and shutting down valid criticism isn’t really helpful to anyone, especially when the developer seems open to listening to people’s issues with the game and addressing them. Because someone brought up the issue of the save system, it prompted @hamadana to very generously share a fix to the issue. Reasonable and well-meaning critique is nothing but good for a game, so there’s no need to start a flame war over it.

7 Likes

I know that asking for a whole code rework is pretty entitled, it isn’t like I say every RPGMaker game should be made in Unity. But when even the dev agrees that using the format is painful for them as it is for the playerbase, I think a switch might be warranted. You don’t even need a new version of the game to be released, simply restarting your computer or Itch.io updating their web host is enough to lose all your progress. Even if there is a full downloadable release years in the future, you still wouldn’t be able to save properly with Harlowe. Given that this long since outstripped being a simple coffeebreak fap dealio, I think it is more than a little fair to say the ability to save should be put more on the forefront over more content.

Plus it is still Twine at the end of the day. It’s not that complex a language and much of what was learnt with Harlowe can be used with something like SugarCube. Or simply just take what @hamadana did.

EDIT: I would also like to bring up that “don’t like it; don’t play it” doesn’t hold water because if I want to see new content added in because I DO like it or the sound of it, I have to play through the entire game again, even if the early sections haven’t been reworked…

6 Likes

Sugarcube isn’t a huge jump from Harlowe from what I’ve seen since they are both twine engines. If you wanted gamer, I enjoy reverse engineering things, as well I have a decent understanding of sugarcube. I’m pretty sure I could translate your game if you wanted and help you understand the basics of sugarcube and it’s formatting. Plus it’s got a built in save feature.

4 Likes

It’s difficult with all the opposing opinions, but I have to add my own here as well.
I think the goal is to be happy with your own work and project to get your vision out. I would strongly recommend focusing on what works for you and your current work flow to keep up momentum and achieve what you can reach for. If you decide to start a new project, then I would recommend changing engines or trying something new. If you burn your resources now trying to rejigger everything, there will be less to go towards developing more content.
The only way I would suggest changing tracks now is if you were to bring other dependable team members into the fold to help start you up. This is hella risky, as it will definitely destroy your existing workflow. But this would be worth it if your vision is much larger in scope than what your current trajectory is.

TLDR: Stick with what you know and get to the finish line. WIth a new project, try new things.

4 Likes

I can tell you from experience that your worries are quite valid, reformatting a fleshed out Twine game from Harlowe to another format (such as Sugarcube) can be quite the daunting task. While I do believe it to be a worthwhile endeavor if you are able to pull it off, it can be a pretty big if. I only recommend the retooling option if you are confident that you’re able to commit since a good game with engine limitations is better than no game on a better engine.

That said, if you do end up making the switch I highly recommend Sugarcube, while it is missing some of the straightforwardness of Harlowe, it more than makes up for it with its versatility thanks to being able to mesh so well with Javascript code (which is fairly optional knowledge).

Also, I can attest to LupusGamer’s abilities in working on Twine games. He has been quite the help on building and reworking parts of my latest project, so I am quite sure he could get the job done. Also, if you have any questions, feel free to send them my way, and I’ll see what I can do to help.

EDIT: Nice game btw.

8 Likes

I personally would rather you just keep going with the current version for now if a rework will be difficult and time consuming, and maybe add a quick start/“easy” mode where you start with extra money or something to make it faster for returning players, then when it’s closer to content completion maybe work on that element

5 Likes

Honestly I like restarting from scratch. It’s what makes the game feel so fun to start over and continue playing it till the end. But also I have a lot of free time to play the game. Honestly can’t stop loving the game and I try to play it a few days over and over cuz it’s fun.

1 Like

There’s also this project here? GitHub - Kajot-dev/Twine-Harlowe-Save-To_File: Harlowe utility for saving and loading game progress to encrypted file - Maybe could be helpful? Though haven’t tried it myself yet. I had also started playing with Harlowe 3, but didn’t realize there was this big of a limitation with.

Though, I’d imagine you’d need to record your ‘version’ info, so you could detect if a save is from an older version and have a function to upgrade it to the next version. You could chain them together so older saves from multiple versions ago get upgraded step-by-step until they’re at the latest?

Alright, whatever. I’ll add my two cents as well…I don’t care what engine this game runs in, or if the developer decides to switch to a different one altogether, as long as it’s fun

2 Likes

I don’t know if it would be easier to code, but you could have “checkpoints” unlocked by password. MIght be a way of threading the needle to avoid repeating without having to code a full functioning save feature.

I would like to give a huge shout out to @hamadana for coming to the rescue with a fully functioning save feature that works around the limitations of Harlowe. Clicking the save feature will now create a document that you can save within your computer and by clicking the load feature at the opening menu you can select that document to load your save. Because of their efforts I won’t have to make the transition to a different coding format. Now without further ado:

​Patch 0.5.3

  • Grammar and Spelling throughout the whole game has been checked and updated.
  • Menus have been streamlined so that there will be less scrolling and dead space.
  • Purchasing potatos will now add them to your inventory.
  • Lowered some requirements with checks so that you players are more likely some events that they could have missed
  • AN ACTUAL SAVE AND LOAD FEATURE
  • Added some more hints through out the game to hopefully reduce confusion for certain events.
  • Added a few extra images, because I was feeling saucy.
24 Likes

When you choose wander around when you go to the park, it just bugs out and skips to the ice cream thing near the fountain, and skips to the next size as well. Also then if you try going there again the screen is just black. Also doing anything with the fairy that you got from this bugged skip thing has no return button.

2 Likes

I don’t believe that this is intended behaviour; I seem to be getting both the stage 1 and stage 2 Beth events at the same time:

2 Likes

Thank you, yeah that is a mistake that I just caught and uploaded a fix for. It should work now

1 Like