site banner

Maker's Monday

Trying out a new weekly thread idea.

This would be a thread for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers. We can coordinate weekly standup type meetings if their is interest.

@ArjinFerman, @Turniper, and myself all had some initial interest.

Post your project, your progress from last week, and what you hope to accomplish this week.

24
Jump in the discussion.

No email address required.

I wonder if it would be more straightforward to implement completely scriptable spells. If that’s sorted out then you can always scope down what’s possible and slap UI to generate certain types of scripts.

I’ve waffled on that.

There are games like MagicMaker and Noita which give robust tools for programming your spells in game. At one point, I was playing a lot of Mindustry, which lets you set up schematics outside of combat. Then in a computer or player match you have a lot less micromanagement. But the tradeoff is that it feels more like piloting your build than designing it as you go, I guess? Which is a great fantasy, and one which suits a certain archetype of wizard: the consummate planner who has optimized for anything.

So I fell back towards real-time. Something like Magicka gives you a bunch of LEGO bricks and says, here, blow stuff up. Then the rest of the game is built around giving you reasons to try different ones. The PvP spinoff, Wizard Wars, slimmed down your options but made their interactions better. It really sells this mind game where you try and think several options ahead.

For sure. My point is that whichever way you the implementation might be easier if you make it very general first. You could totally make a thing where the user drags and drops Lego blocks to build a specific subset of spells, but under the hood it’s this general purpose scripting engine.

It’s very easy to develop it using only certain actions, then want to add a new action and it takes a significant amount of refactoring.

Imho it’s easier to make the user experience less flexible than more flexible. Just my two cents though! It sounds like a cool project.

How quickly and often do you want individual spell-interactions to happen?

HexCasting has a few built-in ways to store spells, and most of the time people will just load three or four spells down and never have to use a wand again. But I played for a short time in a group that disabled or made extremely inconvenient most of them, and while it never got to the "I need to charge compile my attack" level, having to trade off between spells that could absolutely wreck a room when prepped but couldn't be used in a hurry, against those you could draw in a few motions but were inefficient or destructive, was fun.

((Also one of the very few times where quining was useful.))

HexCasting's spell language is esoteric and unwieldy in a lot of ways (eg: simplest rainbow bridge), but a lot of that's intentional rather than a requirement of the design.

((Ars Nouveau is more 'slap pieces together, adjust only if you need something special', drop a familiar or a spell turret if you want to do something huge, though in turn it suffers a lot from complacency syndrome. You can do hilarious things with T3 glyphs, but basic particle->damage->amplify->delayed damage->amplify is what you'll actually use in 99% of vanilla.))

HexCasting has a few built-in ways to store spells, and most of the time people will just load three or four spells down and never have to use a wand again.

I really like the looks of this. It reminds me greatly of the spellcasting from Arx Fatalis, which I was disappointed to see wasn't replicated and expanded on in other games. Now if only I hadn't just started GTNH...

So I knew vaguely of Minecraft mods which had touched on this. Psi, originally. I’ve played packs with Ars Nouveau but never delved into it due to other mods getting in the way. And I don’t think I’ve ever seen HexCasting, so…I’ve got a lot to think about.

Sorry, didn't mean to inundate you. Neither of these would directly be good competitors for a top-down Magicka-like (especially Psi; while it provides a great tutorial, it depends on programming at a table and only allows a small handful of spells to be carried at once, so it's worse about piloting your build as Noita), so much as they've got different flavours and some source code available to browse to see how rough different things can be to implement.

(Hexcasting, for example, is Turing complete, and it's kinda impressive how little it takes to do so; the actual evaluation ops are a few dozen pages of admittedly polymorphism-dense kotlin. It's /also/ why the mod makes delay/sleep, multithreading, or unlimited recursion so very expensive, though.)