Made for CS 426 (Game Programming 2)

Spellcraft is a sandbox game where the player is a wandering wizard traveling around an infinite terrain while inventing his own spells to warp the world to his whims. The game features a Turing complete magic system which can be used by placing "runes" into the slots of a magic circle, each rune does something different and when combined they can be used to do anything the player can imagine.


I added a web version for your convenience but remember the downloadable is always a smoother experience.


Controls:

right click on an object to select or deselect it (having no object selected will default to the player himself).

left click to activate the current spell.

scroll to swap through the spells you have made.

WASD & space to move and jump.

E to open spell creation menu.

Spell creation:

each slot in the magic circle can accept a "Setter rune".

each setter rune has smaller slots for "Getter runes".

the spell will loop through each rune causing things to happen to the selected object based on what each rune does.

each rune has a description of its details.

click create once you are done crafting the spell to make the spell.

changing the number at the top of the menu (where it says 10/99) can change the size of the spell circle.

StatusReleased
PlatformsWindows, macOS, Linux, HTML5
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
Authorkeckles
GenreAdventure, Puzzle
TagsCreative, Low-poly, Magic, Physics, Procedural Generation, Sandbox, Singleplayer, Wizards

Download

Download NowName your own price

Click download now to get access to the following files:

SpellcraftMac.zip 46 MB
SpellcraftLinux.zip 50 MB
SpellcraftWindows.zip 35 MB

Comments

Log in with itch.io to leave a comment.

NOICE

I am a big fan of this idea. The environment seems to act more like a demo of the spellcraft; something to interact with by necessity. This is fine. The idea; however, is incredible. You could choose to lean in more heavily with the coding aspect, which would provide more freedoms in creating spells. Alternatively, you could condense common routes into secondary runes to lean more heavily towards the magic aspect.

Obviously, as a class project, this game is not complete, but I can easily envision multiple variants on this I would pay money for.

I would recommend looking into Opus Magnum (a coding-based strategy game that uses alchemy as the theme. Should be obvious as to why) and the "Making a procedural crafting system" video by Youtuber Quantum Developer, for considering balancing some of the spells the game currently has (or will, if you so desire.)

thanks for the feedback! and ya its definitely demoy and something id like to get a more full game out of one of these days. One idea I had for the condensed runes was to give the player the option to make one spell into like its own rune that you could use in bigger spells sorta function esque.

I do like the idea! However, to execute it properly one would need a larger set of initial setter and getter runes, or more versatile targeting.

For the former case, my general loadout involves:

  •  Gap-Closer
 and, if necessary, a separate spell to turn off said gap-closer
  • Defensive Movement Option
My favorite among these transcribes the distance between me and the nearest enemy to my y-vel. Paired with a spell that sets all vel to zero.
  • Delete Spell
Uses any variation of a x,y,z pos getter to set as a target's y-velocity. I like to pair this with a delay and a var-mult of -1*y-velocity.

The amount and ability of setter runes are the limiting factor here. ~4 of the 12 setter runes do the same thing, and the other half are operators or evaluators. I honestly think operators and evaluators should have their own tab.

Another way to fix this would simply be to allow a spell (possibly through the use of a rune that accepts strings only, where the player must type the "true name" (object name) to target them. And it always chooses the closest objects with that name within an arbitrary radius) to target multiple objects. Because one cannot target multiple objects at once for a spell, the uses of recursive spell formula amount to setting variables faster.

Other reply was pretty long, and this is disconnected enough to warrant its own.

Recursive spells- or, recursive runes - would only ever be as complex as the enemies or level. As I have no reference for what other work may have been done on this game, I can only consider recursive spells (in this environment) to be of low utility. The bigger problem is that they would not act like functions. Spellcraft currently has effects and objects to apply these too (or in refence of, in the case of the x, y terms). It is currently missing the third category: effects to apply too. Or, what I would call Meta spells/meta runes. Meta spells would be effects that only applied to magic and, in my opinion, would fix a large hole (?) Spellcraft currently has. For example, a Mirror meta rune that can hold x mana (costing the player x mana plus the cost of the rune to cast initially) which, when activated, casts its own spell (using its given mana) composed of every rune preceding it (in the same front-back order), but in the opposite 'targeting' direction. This one meta rune already presents multiple different applications. 1) Preforming a 180 degree spin (assuming a metarune exists for that, or it is keyed to the character orientation) and a short delay before casting the mirror metarune would have it hit the desired target 2) Literal Raycasting. A beam of death (through arbitrary means) which uses the mirror metarune so it can count as an aoe attack. 3) Combat blink: A short range teleport with a delayed mirror metarune would be great for dodging. 4) would achieve multitargeting with certain set ups.

(1 edit)

Some sort of tutorial would be beneficial... I really have no idea what I'm supposed to be doing. I *think* I made a spell, and I seem to be able to at least attempt to cast it, but AFAIK it doesn't actually do anything. It could just be a combination that doesn't work, but TBH I'm not seeing any combinations that *would* do anything.

(1 edit) (+1)

Very sorry to hear you had a hard time, I went ahead and added some more explanation here on the itch page and will add a proper ingame tutorial in a future update.

Thanks for the feedback

also it sounds like your problem was that you either didn't set the inputs (the small getter runes inside the main runes) or didn't select an object

I didn't do either of those things because I had no idea you *could* do either of those things :P

haha that makes sense, hopefully the explanation helps and feel free to ask if you have anymore trouble :)

Yes, it helps to tell me I have zero interest in playing a game that... allows me to move, push, or teleport an object to exactly its current position, and thinks that these are either different things or even slightly useful.