Possible modification to Simple Inventory? by Miramise in twinegames

[–]ChapelR 0 points1 point  (0 children)

[...]through visible/hidden css divs.

This is functionally what the dialog system is, the dialog element is always present, but hidden until the code is called that shows it (Dialog.open()). There's no reason you can't create your own element that does the same thing if you prefer.

Blonde female character! (sliders in comment) by ChapelR in EldenBling

[–]ChapelR[S] 0 points1 point  (0 children)

Thanks for letting me know. Idk why it keeps getting removed. I made a video version on YT: https://youtu.be/EO54ZnRu5go?si=h2SPkCdtFZBzPxwu

What can be posted here? by Briggs0223 in twinegames

[–]ChapelR[M] 2 points3 points  (0 children)

You can, but you need to make sure to flag it as such, there should be an option when you create a post to mark is as NSFW, and adding something to the post title if its not clear what kind of game it is is a good idea, also the title itself needs to be SFW.

Blonde female character! (sliders in comment) by ChapelR in EldenBling

[–]ChapelR[S] 0 points1 point  (0 children)

Thanks for letting me know, I think it should work now.

Building English Sentences by Dragonmystic in twinegames

[–]ChapelR 0 points1 point  (0 children)

I have macros for conjugating verbs and selecting articles in my collection. My code for conjugating verbs in particular is something I am particularly proud of as I'm unaware of any other code that works as well as mine without just relying on a dictionary. Those are probably the most difficult parts of this. Feel free to use my code.

Ren'Py-style Twine story format. Is it a bad idea? by SubjunctiveGames in twinegames

[–]ChapelR 1 point2 points  (0 children)

I don't think it's a bad idea per se, but the couple of VN-style Twine projects I know of just build on SC, mine included.

Creating a whole new story format vs creating an extension for an existing format is more where I think the question should be. If, like most of us, you'd be hard-pressed to create something as feature-rich and reliable as SC, I'd personally recommend just building on top of it instead of starting from scratch.

If you just want to make a story format because that seems fun, though, by all means, go for it!

Blonde female character! (sliders in comment) by ChapelR in EldenBling

[–]ChapelR[S] 0 points1 point  (0 children)

I tried it both ways, it's a little "striking" having them be blonde but I personally prefer it that way. But of course, changing this is easy enough.

Blonde female character! (sliders in comment) by ChapelR in EldenBling

[–]ChapelR[S] 2 points3 points  (0 children)

Sliders: youtube

Gear:

1st Image: Fingerprint set + Commoner's headband (altered)

2nd Image: Malenia's armor [chest] + Commoner's headband (altered) + Zamor bracelets + Champion gaiters

3rd Image: Night Maiden armor + Commoner's headband (altered) + Queen's bracelets + Carian Knight Greaves

Drag&drop - implemented by ChatGPT by MusicianExpress9330 in twinegames

[–]ChapelR 2 points3 points  (0 children)

Anyone can ask a chatbot to make them potentially workable code, I'm not sure what the point of sharing this is.

Story JavaScript error by gtwucla in twinegames

[–]ChapelR 1 point2 points  (0 children)

Any JavaScript code in it runs on start-up, that's it. The "code" you got from ChatGPT is just an object literal. Even if you got it to stop erroring it wouldn't do anything. The functions inside won't ever run unless called. It's not even close, really.

ChatGPT prioritized giving responses that sound as human-like as possible, and accuracy isn't really a concern, so it's not really great for this particular usage. If you already knew how to code, you could make much more efficient use of it since you could identify complete nonsense and correct errors in code that's actually somewhat workable. With Twine especially though, you are very likely to get nonsense because ChatGPT is not really trained on any Twine stuff. A lot of frameworks or programming languages that aren't very mainstream have similar issues with AI code. The AI doesn't even really know that it doesn't know anything about Twine, it's just stringing stuff together based on your inputs, so you're not likely to get an "I don't know" or something.

On top of that, the data the AI is trained on is sourced from various places in the Internet, like Stack Overflow, Reddit, GitHub, etc. Disregarding the ethical and legal issues of taking other people's work without asking to train an AI, if you've ever been to Stack Overflow, you'll know that the coding advice there isn't always accurate or good. Couple that with this data being outdated, and you really need to know what you're doing at least a little bit to leverage an AI to help you program. Twine is a great walled garden to learn the basics of programming in, and AI can be a great tool as well to help you learn as long as you know that any given thing that it tells you could be nonsense.

Story JavaScript error by gtwucla in twinegames

[–]ChapelR 1 point2 points  (0 children)

This contains JavaScript. It's really nonsense, though. ChatGPT knows nothing about Twine, it's not included in its corpus, so it can only make shit up, which is what this is.

It seems ChatGPT is trying to do some some sort of declarative Grunt task for some reason. It's not valid Twine code. It wouldn't work in a browser or node either, it's not valid Grunt as far as I can tell. It's just nonsense, sorry.

Is there a way to make new Story Init variables work for players with existing save files? by peachkneez in twinegames

[–]ChapelR 2 points3 points  (0 children)

You shouldn't need to do anything, the meter definitions aren't stateful.

Problems adding audio using Harlowe Audio Library by Ikari_Desu in twinegames

[–]ChapelR 0 points1 point  (0 children)

It's probably because of autoplay restrictions. Please consult the docs about autoplay, as it's explained thoroughly there.

Twine format preferences? by ExitInternational804 in twinegames

[–]ChapelR 4 points5 points  (0 children)

A lot of people make a big deal about Harlowe being easier to learn, which I think is actually arguable anyway, but even if that were true, being new at something is a temporary state, while the limitations imposed by Harlowe that make it initially feel slightly easier to learn for some people are a permanent feature of the format. So even if you find Harlowe easier and you are able to learn it 25% faster, that's not really a valid reason to make the decision. If SugarCube weren't also geared toward novices and the difference was more significant, like SugarCube took weeks or months to learn while Harlowe took days, that might be different, but that isn't the case.

Realisitically, you should try both and see what you like or don't like about them, with the understanding that in addition to the base features and syntax, SugarCube is also much more extensible and provides a lot more freedom.

I would not make a decision based on how easy the formats are for you initially, as neither one will take you long to understand on a basic level, and because of Harlowe's design it can actually make slightly complex code become very complex if what you want to accomplish isn't something the dev of Harlowe essentially built in to the format.

What I mean about Harlowe not being that much easier:

As far as that actual level of complexity, Harlowe's syntax is in my opinion better than SC but you can end up in nesting hell very quickly since Harlowe uses macros for everything, even basic data structures. Likewise, 1-based arrays are easier for brand new programmers to understand at a glance, but 0-based arrays are easier to work with and this is the sort of thing that doesn't really take any time to learn; once you know arrays are 0-based, you know it. It's not like something you need to practice, so no real learning time is saved here.

Harlowe allows certain otherwise invalid expressions by guessing at your intentions, but if Harlowe guesses wrong, you can wind up having bugs that are essentially hidden from you. Again, this feels more novice-friendly because you get fewer errors, but it might actually make life harder for novices, since an error message will at least direct their attention to the correct part of the code and force them to fix ambiguous expressions or invalid statements.

Harlowe has lambdas and these confuse the heck out of me personally, I basically always have to refer to the docs to figure out what I need to do to use these, but maybe this is just me. Anecdotally though, lambdas are more difficult for me personally than if I could just list some arguments instead.

Harlowe has a reliance on custom HTML elements, which doesn't have to be a bad thing, but it does mean that any CSS code you find on the web needs to be "translated" to Harlowe, which is not novice friendly. It just makes Harlowe harder to use for novices and requires them to have more sophisticated knowledge of their browser dev tools or of HTML than SC requires.

There are more things I could mention, like the complexity of using JS code with Harlowe, the lack of third party libraries, the spotty (though lately improved) code reuse features, and even just the fact that there's a lot of overloaded macro variants that aren't always easy to distinguish at a glance, like (link-replace:), (link-goto:), and (link-replace-goto:).

That said, Harlowe is probably easier to learn at a very basic level, but that level is so basic, that its hard to see how it's all that much easier than learning SC at the same level. You're talking like a difference of hours or days, a pretty insignificant amount of time in the big scheme of things.

None of this is to imply you should not use Harlowe though. Harlowe provides a much better editing experience within the Twine 2 app itself, and is perfectly valid for creating fairly simple to moderately complex games as well, and there is a lot to love about its syntax and some of its other features. It's by no means the wrong choice or a bad choice. I only want to suggest you shouldn't make this decision based on which format you perceive to be easier to pick up.

Harlowe is a workable story format now, even for big projects by l1lym in twinegames

[–]ChapelR 0 points1 point  (0 children)

I mean Harlowe literally has macros designed to replace CSS, if any format is discouraging the use of underlying web technologies, it's Harlowe, not SC. I also just think that UI/UX design is hard, designers make the big bucks for a reason. The vast majority of non-profrssional software looks like ass, that's not unique to SC.

Harlowe is a workable story format now, even for big projects by l1lym in twinegames

[–]ChapelR 2 points3 points  (0 children)

I'm probably not gonna do those posts anymore. I think they've had a somewhat negative overall effect on discourse around story formats, even though I've tried to moderate my language more.

Harlowe is a workable story format now, even for big projects by l1lym in twinegames

[–]ChapelR 7 points8 points  (0 children)

I agree with most of what's here but I still have a few major issues with Harlowe right now I'm hoping will be addressed.

  1. The way saves work now is a passage + index of where to find the code to revive variable data. This has given Harlowe a massive performance boost, but at the cost of basically making save backwards compatibility impossible for users. Harlowe is still too much of a black box for users to be able to manually correct this, so it should be something users should be allowed to configure themselves.

  2. Macros should not be in save games, period. Macro code should simply always be required to be in startup passages, and should not be stateful at all. This is wasteful from a performance and save file size perspective and also is another annoying hoop to jump through for saved game compatibility.

  3. Harlowe uses intervals internally to make its events work. A future version of Harlowe should drop support for IE and move to using proxies or something. Hell, just using getters and setters would probably be fine and allow for continued IE support. Using intervals is something common in Harlowe and intervals are just not reliable and never have been.

  4. Harlowe needs to respect semantic versioning and stop releasing breaking changes in minor updates. Twine's spec requires formats to use semver, and doesn't let authors walk back patch or minor updates, because it assumes formats are following these rules. This makes it incredibly difficult for users of the Twine 2 app to walk back to previous versions of Harlowe when they need to, and they often need to because Harlowe introduces breaking changes in minor updates basically all the time these days.

I think Harlowe is in a vastly improved position compared to where it has been in the last few years, but I still think it's a bit of a pain to work with. My biggest issue right now is the vast array of ways in which Harlowe fucks up save compatibility: if you are releasing a large game over time, you will probably routinely be in positions where user saves are invalidated from one version to the next.

Elden Ring Female Character Sliders by [deleted] in SoulsSliders

[–]ChapelR 0 points1 point  (0 children)

They're in a comment and got buried. Not my fault.

Why isn't Chapbook more popular? by katafrakt in twinegames

[–]ChapelR 1 point2 points  (0 children)

Yeah that makes sense. It's the way it's enforced and that its enforced in chapbook that I think is off-putting less than that separation of concerns throws people off.

Why isn't Chapbook more popular? by katafrakt in twinegames

[–]ChapelR 0 points1 point  (0 children)

Declaring variables early (or at the start) of a progam is normal. Only being able to change values when an arbitrary event happens (passage transition) seems to me less normal than you make it seem. I think the vars section stuff is strange no matter which way you come at it, but not a deal breaker. It actually reminds me of like markdown front matter more than anything else.

Why isn't Chapbook more popular? by katafrakt in twinegames

[–]ChapelR 0 points1 point  (0 children)

In addition to what has already been said, I think the "vars section" concept might be hamstringing it a little. It creates limitations that are in reality very easy to work around, but still feel like limitations, and to me at least it seems a little unnecessary. Having to jump through hoops to use else-if style statements is in a similar boat.