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.

Doubling up on Monday threads…What about Tinkering Tuesday? Standup Saturday?


You know, I’ve been meaning to make progress on this for years, but maybe this is the time. Maybe I’ll do a better job sticking with it than I did for HighSpace. I’m going to make a spellcasting sandbox. In rough order,

  • Move a character around a top-down map with terrain
  • Cast spells which create effects on the map
  • Affect the terrain
  • Choose modifications for spells with a real-time interface
  • Construct the spells from a low level with that same interface
  • Fight monsters or other players or something

This week’s goal will be completing the Godot tutorial I’ve had open for ages. If I can manage that, I’ll see about a more elaborate plan.

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.)

Doubling up on Monday threads…What about Tinkering Tuesday? Standup Saturday?

Tinkering Tuesdays sounds good. I was thinking of empty days to post the thread, but for some reason didn't even think of the culture war roundup thread as one of the things that takes up a specific day.

Cool idea, it reminds me of Morrowind's spellcrafting system. I think it would work well for some hack&slash, or maybe even a puzzle game, but might run into issues in story-based open world RPG's. MW had to put some spells on rails, because it would be far too easy to cheese some encounters (I can't be the only one thinking Recall sure would work well as a projectile).

Are you planning on setting up public repositories? I'd be happy to test and review your stuff.

BTW, I think that link leads to the Motte's comment feed?

The trick is that I have no interest in writing/designing an RPG. Or really any content-driven game. There are systems I want to exist and play around with, but if I had a coherent vision for a story or setting, I’d have actually started my Ars Magica tabletop campaign by now.

So it went with my other half-baked ideas. Top-down Factorio capital ship battling? Military procurement RTS? The only one which is close to a complete design would be an X-COM game using Naruto-style hidden villages, but even there, I can’t imagine the work to populate it with enemies and encounters and maps.

That leaves me with pure sandboxes. Possibly PvP, because even though I am very bad at video games, I like a head-to-head challenge. And for this design, I want to recreate the flexible, reactive wizard duels of a certain kind of fantasy. The terrain-shaking insanity of Divinity OS2 mixed with the mind games of Warlocks/Waving Hands.

The trick is that I have no interest in writing/designing an RPG.

Yeah, I get that. Systems are a lot easier for me to wrap by head around and play with as well.

Top-down Factorio capital ship battling? Military procurement RTS? The only one which is close to a complete design would be an X-COM game using Naruto-style hidden villages,

Not gonna lie, I'd love to see all of these completed!

And for this design, I want to recreate the flexible, reactive wizard duels of a certain kind of fantasy. The terrain-shaking insanity of Divinity OS2 mixed with the mind games of Warlocks/Waving Hands.

It's a very cool idea. The trick might be a highly varying environment (possibly as a result of all the spells flying around), to force improvising of new spells rather than spamming of ones that were proven to be effective in most cases. It's hard to tell before seeing the mechanics in action, though.