Campfire by loreKin

What it says on the tin: nothing fancy, just a short camping story. Survive the end of your work-week, shop for supplies and head off for the campground for the weekend. Sort of a light simulation: I’m not sure you have to buy any supplies (it was a little startling the first time when I left the grocery store without buying anything, just shopping around to see what’s on offer, and then it removed that option so I couldn’t come back! Ack!) but they add options for when you’re on the campground.

It says it’s a first IF piece, and it shows: it’s a little uncertain of its footing. Some places are a little rote: others have surprising amounts of work put into them (there are at least three completely different intros; I think they’re even different jobs? And although some of this text doesn’t quite flow, like there are bits that exist only in the author’s head and didn’t make it to the page, these are intriguing. Nice bits of specificity).

There are some typos, and bugs (notably the time counter the second day at the campground counts up rather than down, so you can keep exploring indefinitely, but who’s complaining? :grin:). But there’s a lot of moving parts in here, and a certain charm. Not the most mind-blowing first IF piece I’ve seen, but not too shabby either. And probably only 10-20 minutes, depending on your reading speed.

to the author, if you're on the forum:

There’s a Playing > Beta testing requests category on here: if you write another, and you have time, do ask for playtesters here; they’re great.

In your blurb you mentioned the menu bug in Ink: if you’re willing to fiddle with the code, you can open up main.js, find line 295 and replace it with

        var duration = 300 + 300*Math.max(dist,0)/100;

That should fix it…

12 Likes

Ugh, that damn Ink bug. I wish they’d fix it properly upstream.

4 Likes

Just played and enjoyed this; I was able to revisit stores after I left them, and the activity counter properly ticked down rather than up, so looks like the author’s made some updates. I still ran into some bugs – popcorn is apparently a no go, as is cleaning out the camping store – but I similarly found it charmingly low-key. Full review here.

5 Likes

Thank you for the constructive feedback!

I appreciate that it is definitely rough around the edges but am glad that it still has a charm despite that. This project was mostly about having something completed and public. So I’ll definitely work on those rough edges.

Thank you for the fix suggestion. I have a question to make sure I’m understanding this correctly.

When you refer to the main.js file you’re referencing to the one built as part of the Export to Web process right?

Now I’m not the most experienced programmer but here’s what I see on my end.

[284] function splitPropertyTag(tag) {
    var propertySplitIdx = tag.indexOf(“.”);
    if( propertySplitIdx != null ) {
        var property = tag.substr(0, propertySplitIdx).trim();
        var val = tag.substr(propertySplitIdx+1).trim();
        return {
            property: property,
            val: val
        };
}

[295] return null;

Something feels wrong about replacing that line. When I checked your linked file it didn’t look like what I had.

Thank you very much for your feedback.

6 Likes

Yeah, the main.js built as part of the Export to Web process.

Ah, that’s probably an older version of the template: they keep adding more features. The duration line is probably up above that a screen or two, in the middle of function scrollDown(previousBottomEdge): you can probably search for var duration?

Oh geez, and I had a typo in my post, I missed the 0. So the only change is replacing dist with Math.max(dist,0) to make sure the scroll distance can’t be calculated to be negative.

With their code, if the list of choices is longer than the screen (small screen, large text, many choices), then it’ll try to scroll UP to the start of the choices (a negative scroll distance) and that gets the auto-scrolling code stuck in an infinite loop? Something like that.

1 Like

Basically this, yeah. The way the duration is calculated, it’s proportional to the distance to scroll; if the distance is negative, the duration ends up negative, and since a negative amount of time can’t pass, it can never stop scrolling.

If you use Math.max(dist,0) that means it’ll snap up instantly, if you use Math.abs(dist) it’ll scroll the same speed in both directions, but either is better than getting stuck.

2 Likes

Oh, I’m being silly: I downloaded your game to play it, so I can just go look to see where it is in the file you have.

Looks like it’s line 238.

2 Likes

Thank you very much.
I’ll release a patched version when I have a minute.

Hope you have a great Comp!

1 Like

cross-posting my separate review here although I had pretty similar thoughts. I am amused that the scrolling thing is a known issue!

1 Like

Hear hear!

3 Likes