TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 10 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]

Steam ImageSteam ImageSteam ImageSteam ImageSteam ImageSteam Image
v1.54.1

Patch Notes - Version 1.54.0 Balance Changes

  • Adjusted loop difficulty scaling. The rate at which the difficulty increases on loop levels (+1, +2, +3...) will now grow faster
  • Ensured bosses continue to spawn on loop levels beyond +3.
Bug Fixes
  • Fixed an issue where quicksaves labeled "Last Turn" would save at the beginning of a level before any enemies were placed.
  • Prevented unspawned players from taking damage. Thanks to Piratesaur from the Steam forums and others who reported this!
  • Fixed missing "Damage" text in trap descriptions.
  • Corrected "Miniboss" to "Champion" in Blood Archer descriptions.
  • Resolved an issue where targeting spells sometimes lacked the "Requires Following" text if no non-targeting spell followed.
  • Fixed minion runes not working on automated summons. Also fixed quantity power scaling so that Sharp Teeth and Harden Minions effects now apply after quantity power from stacking summons. Thanks to @SquishyFishy!
  • Updated player manaPerTurn when upgrading manaMax. This didn't affect players directly since their stat refresh logic doesn't consider manaPerTurn, but it did affect player clones. Thanks to @Tingora!
  • Added a unit of measure to the Town Portal description. Thanks to @IVI and @Tingora!
Admin Tools
  • Added a "Give all runes" admin command for testing.


[ 2025-01-10 11:53:03 CET ] [ Original post ]

Even MORE Runes!

1.52.2 Update


I'm super excited about this update because I believe it will make lesser known / less popular builds and strategies MUCH more viable! For example, the Curse/Stall build will be a viable option even in single player due to the new Decoys. And there's much more like that but I'll leave it to you to figure out how to leverage these runes. Shoutout to @scobjo for making an incredibly well composed document pointing out some of the gaps in balance, may changes from that document made it into this update.

New Content


Rune: Precision Thanks @PiElRoja Rune: Whirlpool Rune: Plague Doctor Mask Thanks @Arivia! Rune: Reflex Rune: Hardened Minions, Sharp Teeth Rune: Thorny Decoys Rune: Witch Bane Thanks @Monarch! Rune: Blood Warlock Rune: Icy Veins Thanks @VinnickTalberot! Rune: Winter's Chill Thanks @VinnickTalberot! Rune: Investment Thanks @Akira! Rune: Blood Letting Thanks @Monarch! Rune: Town Portal Thanks @Arivia! Rune: Last Stand, Contaminate on Kill, Hat of Despair Thanks @Arivia for Hat of Despair! Added 2 new decoy upgrades Upgrades to Poison Thanks @Scobjo!

Balance Changes


Plague Doctor Mask cost adjustments Make Contaminate on Kill more expensive Since it transfers the stacks of the curse too, it's SUPER powerful. Make reroll runes cheaper Swap Rare Uncommon Recall: Uncommon Rare Thanks @Scobjo!

Bug Fixes


Fix: Desync with unit movement Units with leftover paths now clear their paths before receiving stamina. Fix: Spellmason clone movement timeout AI units now handle stamina changes correctly to prevent timeout issues. Fix: Blood Curse + Debilitate stage order Blood Curse now applies before Amount modifiers. Thanks @Varion! Fix: Goru resurrecting more than once Undying now removes itself properly. Thanks @Weedybird! Fix: Freeze immunity not working via non-spell sources Thanks @Varion! Fix: PlagueBringer working while dead Thanks @AlchemyExists! Fix: Missing mana SFX for 'send mana' and 'steal mana' Fix: Clones casting 'clone' on enemies Thanks @RAHHHHHH :3! Fix: Privacy policy overlapping menu logo Fix: Changelings' cast delay issues Fix: Prevent out-of-bounds spawns Thanks @Rampantegecko! Fix: Purple Portal clearing shields and mana overflow Fix: Purple Portal resetting quicksave on level start Thanks @Lost and @eps!

Optimization


Improve recall Units no longer pack together at the same spot.


[ 2024-12-10 21:37:40 CET ] [ Original post ]

Help Spellmasons win a Steam award!

Hello fellow Spellmasons! I started working on Spellmasons 4 years ago because I love playing multiplayer games with my friends and I wanted to create a unique kind of spellcasting game that would make players feel like Wizards! Spellmasons has been 100% self-funded and oh boy has it been a challenge. I've quit 3 separate jobs to resume work on Spellmasons and taken up new jobs when I ran out of money. But it has been totally worth it. The player community has been so amazing - you all have really driven the direction of the game with lots of players suggesting spells, runes and features that made it into the game and a handful of incredible mods have been created. If you want to help contribute to the future of Spellmasons, please nominate it for the "Labor of Love" category for Steam Awards! Thank you all for your support!


[ 2024-11-27 18:01:30 CET ] [ Original post ]

New Champion Modifiers!

Update v1.49.3


New champion modifiers, a new spell that allows you to sell your unwanted spells for more SP, and lots of fixes and balancing. Changelog
  • New Content
  • Add 3 new Champion modifiers: Curse Immunity, Unstable, and Double Damage Thanks Hex Obsidian for the "Displace" Champion Modifier idea Thanks Xulqulyat for "Curse Immunity"
  • Add "Sell" spell which allows you to exchange spells for SP Thanks to @Vintage the skulldog, @Xulqelyat, and @Cake
  • Balance Changes Remove random discount on Runes. Based on community feedback, discounts encouraged un-fun min-maxing where players would wait for the perfect discount, leading to regret when buying without one. Instead, we'll focus on providing more ways to earn extra SP.
  • Optimizations
  • Improve Siphon Spell (Bogiac's Spells mod) to not lag the game
  • Community Servers now have a unit and pickup limit (1000 and 500 respectively) to prevent crashes affecting other players. If the limit is reached, dead bodies will decay to make room for new units; if there are no dead bodies, extra units beyond the limit will be merged. I believe this will result in a happy medium of non-crashing servers and also not affect the gameplay for players who want to push the game reeeeeeally hard. Self-hosted servers (LAN or otherwise) have no limit and you can push it to the absolute limit of your available CPU and memory :)
  • User Experience (UX) Show mana cost for clones of taught spells Thanks @Brian for the suggestion
  • User Interface (UI) Improve mana badge icon
  • Major Fixes Determine rune cost on client Fixes "runes being undone" issue in multiplayer
  • Bug Fixes
  • Prevent Connect from targeting already targeted units (improves spell effectiveness)
  • Dead units no longer block spawning
  • Clones now use mana when casting
  • Fix audio for Ancient
  • Prevent Goru and Priest from resurrecting decoys, which confused players who assumed decoys were allies Thanks @Yasu


[ 2024-11-11 15:05:38 CET ] [ Original post ]

v1.48.1 Hotfix: Fixes broken Deathmason, spawn points, and more

Welp the most recent build broke a few important things, but fortunately they are now resolved on v1.48.1! The biggest fix: Multiple places that needed to find spawn locations such as Deathmason portals, summoner teleport, summoner minion spawn locations, changeling rune and more were broken. This is now fixed. Thanks @Godspeed, @Xeno, @Bogiac, @Falontani, and @Haze for reports fix: Allow cloning pickups multiple times fix: space in save name ends turn Thanks @Haze fix: Death Wager to work when greater than full HP. Thanks @Xulqelyat fix: Book glow to only occur when player has stat points. Before, DareDevil would make the book glow which was an obnoxious exception. Now it will only show as glowing if you have points unspent. Also I've been trying to add some "Juice" to the game and design to improve the "Feel" so there's a few improvements here:

  • Add glow to prediction circles
  • Make unit outline size relative to zoom so the outline doesn't look super chunky from far away and super thin when close up
  • Add drop shadow and movement to cards
  • Add subtle movement to the main menu characters
Thank you everyone from discord for reporting these significant issues!


[ 2024-10-29 11:39:48 CET ] [ Original post ]

Intelligent Clones!

The new "Teach" spell allows you to instruct any cloned Spellmasons to use a spell combination for their default behavior! Add "Teach" to the start of a spell combo and the rest of the spell will become the new spell of any targeted Spellmason NPC! New mod: Bogiac's Spells! Vastly improved FPS for the following Target Spells (especially when targeting TONs of units): optimize: Clone FPS optimize: Target Similar and Target Kind optimize: Connect Improved mod API mod-api: Expose Obstacle in the API mod-api: Expose seedrandom in the rand export for the API mod-api: Add Upgrade.ts to spellmasons api so that modded spells can grant other spells to player Thanks @Rosan mod-api: onLiquid event The onLiquid event is called when a unit either first enters liquid, starts a turn in liquid or exits liquid. For the first two scenarios `currentlyInLiquid` will be true, when exiting liquid, it will be false. This is for the modder Rosan! admin-toolbar: Add hotbar shortcut to give all cards from a mod Other Improvements juice: Improve resurrect animation with outer glow (lightsaber style) juice: Add a small pause after merge and swap so you can take in what just happened fix: BountyGolem's not triggering bounties when they kill an enemy with a bounty. Thanks Scojbo!


[ 2024-10-26 11:01:08 CET ] [ Original post ]

Update v1.45.2

This patch contains LOTS of FPS optimizations and bug fixes! There's still more optimizations on the horizon but I wanted to get these into your hands! Optimizations: - Optimize: floating text so if there are more than 20 of a single kind it will just aggregate a message Thanks Xulqelyat! - optimize: Target Circle - optimize: Target Column - optim: Throttle skybeam This massively increases efficiency for when lots of enemies are teleported to the same place all at once. Hugely reduces lag. - optimization: Update server to run entirely on bun.sh rather than just websocketpie (this should make many things on the server faster) Gameplay Balances: - balance: onKillResurrect Rune to make it less high %. It was way too high (50% max is too much) and you could get there too cheaply. Thanks Xulqelyat! - balance: Exploit: Repeated self rez for infinite mana Prevent resurrecting player units more than once in one turn to disallow infinite mana exploit where resurrecting yourself gives you mana - balance: Change Death Wager cost "Reset all spell costs back to their default. Sets your current health to 1. You must be at max health to cast. This spell must be cast alone." So it will no longer affect max health (no permanent effect). I think this will make it much more viable and strategic. fix: Always updateCardBadges after cast so spells like DeathWager that affect card costs will show the proper badges. Thanks Jace, SquishyFish, Monarch and Xeno! Bug Fixes - fix: Un "frontload" plus radius because it is in contradiction to how the spell's copy describes it and also users may want to use it more surgically. Thanks Darth_Dan! - fix: last will to only notify if it's able to spawn a potion. Thanks Darth_Dan! - fix: prevent projectiles from colliding with caster (because you can step in front of your own stream of arrows) Thanks Xulqelyat! - fix: Prevent infinite recursion with takeDamage events Once the takeDamage events start to process, any further damage cannot retrigger takeDamage events This ensures that a unit's onDamage events can't reflect damage back on itself which would cause infinite recursion Removes `hasRedirectedDamage` which is no longer necessary due to this new method of `takingPureDamage` which covers that case too Also fix prediction units from having a ref to themself via prediction copy, only real units should have that ref. Thanks Xulqelyat! - fix: Prediction purify from actually removing soul shard haver from units when soul shard owner was hovered with prediction purify. - fix: Far Gazer not showing stamina change on upgrade - fix: Res immune applies to players only - fix: Update mana badges when clearing queued spell. - fix: Logging death on prediction instead of only on real Thanks Darth_Dan! - fix: Increase potion spawn radius on alchemist so it doesn't spawn on top of you - fix: Increase spawn radius for purple portal so that it doesn't spawn too close to you causing it to trigger immediately In multiplayer, this made the game advance as soon as you cast the last kill spell. Thanks @Jackson - fix: findValidSpawn to use hex so we don't get unexpected far-away clones - fix: Remove "Choose a place to spawn" if player is already spawned on load - fix: Prevent competing Goru's from using each other's primed corpses. Thanks FfrankF! - fix UI: Unit attack range circle not moving with them - fix: Server Loop: "Could not find valid spawn..." To address infinite loop that reported 'Could not find valid spawn point in radius' over and over, if no spawn point is found just return the center. - fix Server Crash: If headless has to emergency exit force moves clear all force moves so that they don't continue to emergency exit next time the function is called. - dev: Drastically speed up starting up headless server using bun. - fix: Save remembers camera location


[ 2024-10-15 13:47:42 CET ] [ Original post ]

Performance Optimizations!

Backwards Compatibility warning Some of the optimizations in this update are not backwards compatible with old save files. If you still want to play on an old save, you can do so by right clicking on Spellmasons in your Steam library, choosing "Properties" > then "Betas" then v1.43.4 and restart Steam. This will ensure your client is on the previous update instead of this one.

FPS Optimizations


The game now runs a lot better when there are tons of units on screen. A few notable changes went into this: 1. Individual sprite outlines have been moved to outline the entire unit container. Not only does this look much cooler in crowds but it also makes a MASSIVE difference in FPS when there are over 1000 units on screen. If you still want individual unit outlines (optionally with different colors and custom thickness, it is still available in the Accessibility 2. Dynamically colored sprites (such as Blood Golem, Blood Archer, Dark Priest, etc) now have their own sprites instead of being dynamically tinted at runtime. This saves on FPS. menu but it will slow the game down when there are many units on screen.) 3. Spellmasons is constantly predicting what will happen next turn. When there are over 1000 units on the screen, this would really bog down the FPS. Significant prediction enhancements have been made for enemy unit targeting to resolve this issue. 4. Card mana and health badges are no longer updated when predictions run. This was a totally superfluous function call left over from long ago and will improve FPS. They are still updated when they need to be like when a spell is added, removed, etc. Other changes: Content: New spells "Give bounty" and "Target bounty" fix: removePickup actually removing pickup emitter and doing other cleanup even when `prediction = true` Thanks Hex Obsidian fix: Prevent multiple runPrediction calls from triggering simultaneously fix: Don't change player unit movespeed when slowed, only stamina otherwise it makes their movement jittery due to how multiplayer handles player movement. Fixes super speed when units were "slowed" Thanks Monarch and Xulqelyat fix: conserve to not always working correctly fix: Fully overwrite players array when loading a saved game. This fixes the case where playing a game with more players and then loading a game with less would leave you with ghost player objects that would softlock the game. Allow multiplayer saves to be played in a singleplayer context (as hotseat). fix: Add protections to prevent changing a player unit's faction to enemy Thanks FfrankF, evilcuttlefish and HeyShadowPhoenix fix: Black Coin desync on Multi Any time getUniqueSeedString is called with globalThis.player on the server it will desync compared to clients. fix: Show prediction markers on prediction units This fixes the issue where cloned units wouldn't show prediction markers because the unitsPrediction array wasn't the one being iterated. fix: runPredictions while player is spawning Otherwise predictions don't update while choosing a spawn location fix: unit attention markers persisting after death fix: infinite mana merge exploit Limit changeling to 1 max. Prevent stacking teleport in the same location to spawn a bunch of changelings and make units that recieve merge immune for 2 turns to prevent infinite mana growth Closes #1108


[ 2024-09-27 11:31:21 CET ] [ Original post ]

Runes have arrived!

Major Feature: Runes You can now upgrade Runes in the spellbook. Runes deeply expand the possibilities of your run: For example, "Inflict Poison" adds 1 stack of poison every time you deal damage. If you're going for an archer build, this makes all of your arrows poisonous. Combine that with "Endless Quiver" which ensures that your arrow spells do not get more expensive, and you've become quite deadly! I'll leave it up to you to discover more unique and clever rune combinations to elevate your build! Major Feature: Champions Champions (quietly released in the last update) provide a novel challenge, especially to seasoned players. They are larger, stronger units with special modifiers (like Damage Limiter, Slime, Target Immune - and more). You'll have to be extra clever to deal with them Change log: Features - Runes can be locked so that when they reroll each level (or when you manually reroll), your favorite runes will stay put so you can continue to invest in them. - Runes have a chance to be discounted for 20% or 40% off - Deterministic events. Events (like poison on turn end) now trigger in deterministic order. This means regardless of which order curses or blessings are added to a unit they will trigger in a sensible order. This should prevent confused expectations - Bosses (Goru and Deathmason) now spawn as Champions in the loop levels. Yikes!! Good luck... - Healthbars now only appear if a unit is damaged (or an ally so you can tell they're an ally). I think this makes the game a lot prettier and less cluttered especially when there are tons of units on screen. Please let me know what you think of this. Enhancements - Removed shader that was causing FPS drops - Note: I have LOTS of planned FPS / Optimization improvements that will be coming in the following update. Fixes - Swapping with pickups no longer triggers the pickup. Thanks @Liese! - Displace's teleport location is now unique to each player Balances - Bolt has been rebalanced. It now starts with 1 chain and gets +1 chain per stack UI - Fix menu buttons highlighting on hover in the main menu - Fix the alignment of the caution "Self damage / will die" popup underneath queued spell Huge thanks to all the awesome folks in the Discord who helps beta test this. Xulqelyat, Chain, Xeno, Whisky, SquishyFishy, SPGALTRM, Liese, NoZ, Baalstrum, Sippy, TheDocisHere, and others provided TONS of incredible feedback. And extra big shoutout to SoulMuncher who has been absolutely instrumental in developing this update.


[ 2024-09-01 14:32:13 CET ] [ Original post ]

Update v1.41

This update is rather large and the big "Runes" update is not quite ready yet; but I wanted to get these fixes and improvements into your hands since it's been a while since the last update. But this update does have some great new features! Thank you everyone for your continued support! Change log: Content: - New Spell: Cursify - New Spell: Add Ricochet - New Spell: Add Pierce - Split works on pickups - New mod! DaiNekolchis Tome of Spells! - New attributes for minibosses (Now named "Champions") which make them much more formidible especially in the late game - Target Immune - Defiance - Confidence - Slime - Damage Limiter Thanks NoZ and Baalstrum Improvements: - Improve smoothness of camera when moving it with WASD - Upgrades are now always available in the Spellbook via the yellow bookmark on the right - Add Crown sprites to minibosses so they are easily identifiable - Improved targeting prediction (#894) - Frontload cards like "Plus Radius", "Add Bounce", and "Add Ricochet" so they can be added to the end of a spell instead of undoing the whole spell queue to put more at the beginning - Protect user from accidentally ending turn while inventory is open. Inventory must be closed to use Spacebar to end turn. - Show selectedUnit's prediction unit range instead of the unit itself so that if you move them with a movement spell it shows what their range will be - Lots of missing translations added - Modifiers now have an explicit order so any given set of modifiers (e.g. Debilitate and Split) will have the same effect regardless of in which order they were added Balance: - Increase the number of minibosses on loop levels - Make minibosses having multiple modifiers; probability increase drastically for each loop level - Bolt deals more damage when more units are targeted Music: Normalized volume of tracks Added "Spellmasons Theme" to soundtrack!! (Theme plays only on the menu screen) Sound: Normalize all sound effects UI: - "Class" upgrades are now available in the persistent Upgrade Menu in the Spellbook - Add modifier descriptions to tooltip content - Color Blessings Gold and Curses Purple in tooltip - Show inventory book icon glow if you are able to purchase an upgrade Fixes: - **BIG FIX**: unit and pickup id desync HORRAY! This has been the cause of many-a-desync. underworld's lastPickupId and lastUnitId are now only updated if !prediction. This ensures that the headless server and the clients always have synced ids. - fix: Loading Hotseat Multiplayer games in a singleplayer context. Thanks Sippy for reporting! - Modifier.Init wasn't using prediction in load unit (#823) - Cards wont reappear after reroll within the same upgrade selection. Omitted cards reset each time an upgrade has been picked. - Fixes an issue where player could get "No upgrades to choose from" even when there are upgrades left to get. - Prevent showing upgrade button if there are no upgrades to choose from. - modifier subsprites and visuals missing on load Refactors modifier `init` to `addModifierVisuals` to better describe what it does. It is separate from `add` because `add` setup up state that is still present on save/load, whereas visuals such as subsprites or particles have to be reinitialized on load - Fix shield and bloat not persisting through loads / mutliplayer late join - Fix player being unable to cast while immune to freeze - Polymorph preserves currentHealthRatio (#841) - Clone supports pickup power property - Fix: RecalcDifficulty no longer overrides Unit Stats - Overriding unit stats based on source stats would cause modifiers and other stat changes to be "undone" any time the game difficulty was recalculated - Blood Curse guarantees integer stats - Fix an issue where the scale modifier applied by split was not changing properly with quantity - fix: Soul Shard Owner purification from making soul shard havers invulnerable. - fix: Consistent camera movement speed. Camera will move and lerp at roughly the same speed across all reasonable framerates - fix Player Health/Mana bar visuals (#869) - The value of incoming shield is now displayed during prediction - Changes to max Health/Mana are now shown in the lower UI bars the same way they are shown in the overhead prediction bars (i.e. blood curse shows as doubling current hp and preserving max health ratio) - Health/Mana gain visuals were swapped such that increases give a "fuller" looking bar, and decreases give an "emptier" one - Fixed an issue where overfilling mana would always display mana cost bars, even when no prediction was running - Fixed inaccurate and overlapping mana cost bars - Overfilling mana is now much more clear, and you can see each stage of mana bar as it appears, instead of mana just appearing "full" until post-prediction - The Health/Mana bars now look the same in prediction as they will after the effect occurs (predicting blood curse no longer shows hp going to full, overfilled mana displays correctly, etc. healing/damage and mana gain/loss visuals are still present) - Fixed "sheild" typo - fix: Player clones now deal damage - fix: Don't restore freeze sprite when in "freeze immune" state Docs: - Improve Modding Documentation (#870) - Doc: Clarify why split does not affect max mana


[ 2024-08-09 20:06:04 CET ] [ Original post ]

Patch v1.39.1

Removed cooldowns After considering, I've determined that the idea of a cooldown itself is against the design of Spellmasons. This was just a bandaid to a few select spells being overpowered. I've found it better to alter the spell logic itself (in the case of freeze to not allow stacking) and to make them more mana expensive (in the case of resurrect) which will prevent them from just being cast turn after turn. Also the modifier itself can prevent the unit from being refrozen (see freeze) which is much better than cooldowns because it also prevents refreezing in multiplayer. Balance: Freeze Removes cooldown Freeze no longer stacks Balance: Increase Merge spell rarity fix: Prevent empower from targeting players to prevent confusion i18n: Clarify that Empower does not affect players art: Add slightly new cast animation audio: Only play "endTurn" sfx once per turn Thanks Hazzie and Nord from Youtube for this suggestion! fix: Backfill stat upgrades for players who join late. Thanks Waterbending Squirrel! Fixes: #567 audio: Smoothly switch songs Don't switch songs every time a level is beaten, switch when the song is done Closes #805 content: Add Ultra Clone as upgrade to clone in order to balance out the clone + merge exploit which was mainly possible because clone with adding the clone as a target yields exponential results when stacked. Now the basic clone does not add clones as a target fix: Intercept END_TURN message and do not send the original. Send a new END_TURN message as client with playersTurnEnded attached. (Note: this already worked except it still sent through the original END_TURN message, this fixes the original from being sent through and only sends the transformed one through) Resolved: #811 log: Improve error message for proper aggregation on remote logger experiment: MultiColorReplaceFilter Decrease epsilon for blood golem to see if it resolves #695 UI: Fix default "Refund" text Before if no text was provided, none would appear for refund. balance: Exclude Execute from starting damage spells (#807) - Since it cannot deal damage on its own


[ 2024-06-17 01:33:02 CET ] [ Original post ]

Patch v.1.38.1

Mostly fixes and quality of life improvements in this patch. fix: rare bug where game was stuck because NPCs didn't end their turns Big thanks to Un4o1y, Xeddar and Adriller ref: Remove client side timeout for cards. When there are many enemies on screen the game's fps can slow which can cause cards to timeout which means the result of a cast may not match the prediction. This is bad. Instead, I will just leave the timeout on the serverside so the server will not hang. perf: Optimize ancient attack for FPS also optimize Blood splatter. Thanks @Whisky ref: END_TURN syncing Resolves the issue where 1 player ending their turn sometimes just progressed the turn phase without the other players being ready i18n: Translate card rarity Update Polish Thanks @Whisky! fix: Bolt radius increases for submerged units (#797) Thanks R?c??l?sc?nc?/recoalescence fix: Teleport pickup prediction (#787) Fixes an issue that cause displace, teleport, and similar "set location" spells to trigger real world pickups while in prediction mode Thanks @Whisky fix: Primed Corpse particles not reinitializing on units that recently had them fix: Player channeling animation while dead (#781) content: Plus Radius can now be cast on its own (#786) * Plus Radius can now be cast on its own - To let players increase Urn Radius * Add refund for plus radius fizzle ref: Change up order of color replace colors to see if it affects the bug where blood archers / golems aren't tinted copy: Fix modifier name "Primed Corpse" since it is visible to players Thanks Chumler optimization: Save files take up less disk space menu: Server list will be sorted by version number so servers on the latest version will be at the top menu: Enemies are now shown in the codex


[ 2024-06-02 15:40:44 CET ] [ Original post ]

Patch v1.37.0

Big thanks to everyone who have been reporting bugs on Discord! There's some significant fixes in here relating to desyncs, the "turn wont continue" bug (hopefully), and the memory leak. Changelog: fix: Softlock fix attempt 2 All spells now have builtin timeouts with error reporting to prevent softlocks (where the game is working but the turn wont continue). This *should* resolve the softlock issue or in the least tell me what's causing it. fix: large memory leak HUGE THANKS to DeathmonkeyJ (Github) and @Jace (Discord) for pointing me in the right direction fix: Force Move desync fix All spells that use force move (push, pull, etc) should be MUCH more reliable in multiplayer now


[ 2024-05-21 02:41:25 CET ] [ Original post ]

Hotfix patch v1.36

Hello everyone! It's been quite the week with lots of new folks joining the Discord. Thanks all for being a part of the community! A number of players have reported irregularly getting stuck in multiplayer games where all players are ready but the game won't progress. This update aims to fix that, but I have had a devil of a time reproducing the issue, so I am not 100% sure that it will. Fingers crossed. Changelog fix: Protect specific spells from potentially hanging server Burst: 52 Bolt: 46 merge: 28 Connect: 11 Triple Arrow: 8 Multi Arrow: 4 clone: 4 Phantom Arrow: 4 meteor: 1 fix: Add end turn protection Many players have been experiencing issues where all players have turn ended on their clients but the game does not progress It seems there are multiple causes > Re-readying up would have one of a few effects for us: 1: It unlocked for us 2: It made the noise over and over before unlocking after a 15-40 sec wait 3: It was completely stuck requiring us to save and restart the server completely (because when we would try to rejoin some players were in the game alone at the starting map even while others were still in the game) 4: A few of us had full whitescreens with a force quit required ~Wispy This change handles Cause 1, where somehow the clients have that everyone is readied up but the server is missing one. A client, when ending turn, also sends an array of all clientIds that have ended turn. If any of them are endedTurn == false on the server is will end their turn. This should prevent players from having to re-ready up fix: NPCs casting on wrong faction units - Thanks @Viz and @CandyKiller ui fix: card-inspect scale where cards had greatly varying sizes (slash was super small) menu: Update default ally unit outlines to be 2px consistent with enemy default outline fix: All bolts play at once fix: Burst quantity damage (#736) Stacks of burst were being double multiplied fix: Arrows being slow to cast in multiplayer fix: typos Thanks to WestonVincze for contributing!


[ 2024-05-19 10:32:18 CET ] [ Original post ]

Anniversary Update

It's been a over a year since Spellmasons was released publicly and it's been a wild ride! I'm so grateful for the community - tons of suggestions (and bug fixes) from Discord have been implemented in the 33 updates that have been released since launch! This is the biggest content update to date. Enjoy all the new spells and madness! Here's the full change log: New Boss! Goru: the Corpse Warlock New Spells! - Alchemize - Execute - Merge - Meteor - Polymorph - Recall - Shatter - Soul Bind - Soul Shard - Stomp - Target Curse - Target Injured - Empower - Enfeeble - Bolt - Dark Tide - Blood Bath - Fling New Music! 2 new songs in the soundtrack New Trailer! https://youtu.be/NNAzAQcNUXc?si=PsdDjUjowZFW0B1a Other changes - content: Remove cursed mana potion because it is anti-fun. Thanks to Kyte from Steam Community - i18n: Save dialog, modifiers, undying - menu: Deduplicate previousCustomUrls - ref: Allow purple portal to be used mid-game (#653) - fix: Upgrades work in the + levels - fix: shadows overlapping newly spawned units - fix: Prevent units disappearing when too close to Wall Thank you @Viz for reporting - mods: Remove broken explosive archer mod - fix: Protect against MessageQueue softlock Thanks @JCDreamz for reporting


[ 2024-04-27 02:12:44 CET ] [ Original post ]

Stabililty Update

There's a big content update coming on April 27th, and this update contains all the fixes and improvements that SoulMuncher and I have been working on over the past few months while developing the new content. Please let me know in Discord if you encounter any issues and thank you for your continued support! Change log: - art: Add particles to skyBeam and reposition it slightly to better cover the player's feet - art: Default to 1px unit outline Unit outline can be modified or turned off in Accessibility settings. I initially added the outline to help colorblind users distinguish between enemies and allies (you can change the color and thickness), but I found it to be very useful for me too as it helps distinguish units from the background so I've turned it on to a default. - art: Add shadows below walls so they feel more connected to the environment. - art: Update animated tombstone Tombstone appears instead of a dead body when gore is turned off in settings - art: Spellmasons play the bookIdle animation when viewing their inventory. Fixes bookOpen from playing every time a spell is cast in multiplayer even if no other player is casting - fix: poison bug - fix: clone Too many stacks would break the game due to the absurd number (limit to 10 - which is still enough to practically cover the whole map). Fix clone prediction badges, it now shows the actual number of cloned units because they no longer overlap - fix (IMPORANT): Synchronization bug This one, I believe, is rather significant. It should dramatically reduce desync issues after casting where you would cast a spell and it would suddenly be "undone" as if it never happened - fix: forceMove timeouts when multiple (#575) force moves were added to a unit or pickup - fix: flamestrike bug - fix: contaminate extras * fix: radiusBoost refactor for mods * fix: Contaminate not spreading modifier "extras" - fix: Targeting Unspawned Players Fixes a bug that allowed unspawned players to be targeted, which could cause a desync in the game over state, and adds further support for additional universal targeting catches by passing underworld through as a parameter to the add target function * Fix Target Similar Targeting Unspawned Units * Added warning for future bug catching * Fixed prediction discrepancy - fix: "Good Looks" upgrade filters out Doodads now So that choosing good looks doesn't explode urns - fix: Units being removed for being "out of bounds" when they were just close up against an upper wall. Unit's center point is the center of their image, and since this game is 2D but allow's "tile overlap" because it is appearing as isometric, the pathing bounds are pulled up by 10 (-10) and so when checking if a units' center point is inside a wall, we need to + 10 (down) to account for the fact that they can overlap by 10 with a wall that is above them. - fix: Squiggly force move lines when multiple forces were applied to the same object. Now forces get summed. Also fix prediction and headless fully processing forcemoves between units dying instead of letting all units die and then processing all the force moves (like the regular game client always has) - fix: await endPlayerTurn This is not in response to a bug, but I noticed that endPlayerTurn is async and not being awaited. Based on a visual inspection this only effects hotseat - fix: contaminate now spreads extra properties of modifiers (curses) such as expanded range - Thanks to @theytookmysoul aka Wisky - fix: Good Looks no longer explodes urns - Thanks @Elvarien - fix: Game soft locks if whole party is froze - Thanks @Waterbending Squirrel for reporting - menu: Add "recent custom server urls" So that it is easy to rejoin a server with a custom url - menu: Support quicksave at beginning of level - menu: Add bookmarks to menu to help find spells quickly by category - menu: Style Accessibility menu so it's more organized Add gore options to a11y menu in addition to graphics menu menu: Make actively selected buttons more obvious - Optimization: makeManaTrail to lower particles if number of trails gets large - Optimization: Only run prediction calculations if the player is hovering over the game space. If they are hovering over the spellbook or toolbar, it will not run predictions and thus not bog down the experience of picking new spells when the prediction calculation is hefty. Thank you @Whisky for this idea! - Localization: Polish Update Polish translations with Whisky's translation - Localization: Poison "start" -> "end"


[ 2024-04-14 14:16:36 CET ] [ Original post ]

Optional "No Gore" Mode

When I was a kid there were lots of games that I wasn't allowed to play and so I empathize with young gamers who face restrictions. Thanks to the request of MrMarblz from the community I was reminded of this and so have added a "No Gore" mode accessible in Options > Video > Blood and Gore. No Gore Mode - Removes Blood - Removes Death animations - Replaces corpses with Tombstones - Removes gory sound effects - Removes gore-containing tutorial and tooltip gifs. Also in this update: - Feature: Purify now works on Cursed Mana Potions - Thanks @Koliostro for this AMAZING idea - Fix: prevent network messages from old levels from executing on a new level. - Thanks @ReddPine, @Raven, @MrMarblz and others for reporting - Fix: player stamina unexpectedly getting set to 100 - Thanks @Innonminate for reporting - Fix: Potions spawned from Urns with Last Will from appearing at 0,0 - Thanks @Innonminate - Fix double decoy scaling


[ 2024-02-19 12:27:22 CET ] [ Original post ]

Small Hotfix / Bug Fixes

Hello all! Update 1.28.2 was a pretty huge refactor to stabilize some of the more important systems of the game and there were a few small issues that came with that update. Thankfully they are now fixed! - UI: Add hotkey numbers to side card holders Update hotkey numbers of spellbar if they change in controls Thanks MrMarblz! - fix: Server Crash due to broken kill switch (#490) - fix: Ally deathmason not summoning ally units on levels with Natural blue portal pickups. Thanks Raven and Isneverthere! - Deathmason On Death Event Fix (#467) - Killing the original deathmason will now slay all enemies on the map like it used to - Killing the original deathmason will now spawn his 3 brothers like it used to - fix: Waves - In plus levels, players get full mana before additional waves spawn - fix: Players suddenly at -1000,-1000 Thanks as always to all the amazing players for your support. Checkout our discord community to be a part of the happenings! https://discord.com/invite/q6sUCreHeJ


[ 2024-02-17 12:02:39 CET ] [ Original post ]

Update 27: Dramatic Entrance

Version v1.28.1 lays the ground work for a large upcoming content update with some important stability improvements. Additionally, a new spell has been added along with some balancing and a dramatic boss intro. Stay tuned for our largest content update to date, coming soon! - Added Spell: Potion Shatter - Shatters a potion to apply its effect to all nearby units - The area of effect increases with each stack of the spell - Mana Vampire Changes - No longer reduces maximum mana - Steals up to 40 mana from its target with each attack - Can spend up to 40 mana each turn to heal itself - Deathmason - Spawns after the players have taken their first turn, as to not reveal his location early - Has a sick intro animation - Steam Overlay - Pressing [Shift+Tab] in the Steam verison of the game will open the steam overlay - Tutorial Improvements - Players start the tutorial with Target Cone, Slash, and Push - Stat points earned in the early stages of the tutorial are auto-allocated to Max Health instead of being removed entirely, as to not make players' first sessions more difficult - Many other Tutorial fixes: Most listed at the bottom of the changelog - Huge Game State Refactor: This refactor encompases many different game systems and fixes. It should make the game much more stable and prevent softlocks - The end turn logic accounts for unspawned players, players that can't act (due to being frozen, dead, etc.), and should handle other edge cases more consistently - Players can end turn without needing to enter the portal and should never have to end their turn multiple times to progress the level - Fixes an issue that sometimes caused players to choose their classes at different times - Thank you @Moonlighter - Ally units have their end turn effects applied at the end of their turn, instead of at the end of the enemy turn - Improved unit turn order. Ex. Ranged units will always complete their action before Priests take their turn - Smart targeting factors in unit turn order, making it much more predicatble - Units are much less likely to make targeting mistakes, such as targeting an enemy unit that's already been killed by another unit - Planning view attention markers consider smart targeting, fixing an issue that rarely caused false prediction markers, especially with decoys around - Additional waves spawn the turn after all enemies are killed, instead of spawning immediately - Thank you @BrewBreuw - High scores are reliably tracked in online multiplayer, and for all hotseat players - Completing a level and dying within the same series of events should favor the player and progress the level, instead of ending the game immediately - Rework for client ID's, which should - Improve lobby handling for online lobbies to prevent issues such as duplicated players - Allow saved hotseat games to be loaded in an online multiplayer lobby - Ensure spells and network messages always target the correct player in hotseat (I.E. Freeze and admin commands) - General stability improvements Other Fixes - Fixed an issue that allowed players to skip the Deathmason's second phase. Deathmason now enters the second phase via the OnDeath event - Thank you @tennun. - Fixed an await issue that prevented "Slash" from resolving correctly, which could sometimes lead to desync - Fixed an await issue that prevented "Arrows" from resolving correctly, which could sometimes lead to desync - Fixed a pathing issue that caused desync in online multiplayer games where gripthulus or resurrections were involved - Modifier keys are ignored if there isnt a bound action. I.E. [Shift+A] will move the camera to the left, unless you have [Shift+A] specifically bound to something else - Thank you @innonminate - Fixed a bug that caused the some tutorials to not be completed when they should - Fixed multiple tutorial display issues, such as explain prompts not showing up, completed tasks not appearing, and the tutorial not appearing correctly in multiplayer - Fixed an issue that caused urn explosions to disappear too quickly - Thank you @blue1760 - Improved debug and logging - Temporarily removed LoS targeting lines in preparation for an AI Refactor


[ 2024-02-10 02:57:08 CET ] [ Original post ]

Update 27: Tons of fixes and improvements

Hello everyone, There's a lot of good stability fixes and refactoring in this update. (And a new Spell!) One notable change is that there is now a one-time privacy policy popup; this is because I'm collecting detailed logs for multiplayer games so that I will better be able to debug issues that are reported. Some game engine systems went through whole rewrites to be more stable and to improve predictions. A few important desync issues were resolved too. Complete notes below: feature: Add spell: Bone Shrapnel - Destroy corpses to damage nearby enemies - Thanks Ry for inspiration feature: Clones added to target list (#298) So now when you clone a unit or pickup it is automatically a target for subsequent spells in the same spell group balance: Reduce with of collision radius for ghost arrow It was far too wide admin: Add arrow keys to navigate power bar admin: Add "Give Card", "Level up" and new level skip admin commands admin: Add powerbar Accessible via Ctrl + Space admin: Add admin tools for testing desync Closes #315 admin: Warn about needing a selectedUnit for admin functions that require one. menu: Add Privacy Policy and EULA popup a11y: Add font selector for accessibility #365 @Tatapstar fix: Jan 10 Fixes (#370) * Burst VFX Fix * Some distance optimization * Targeting spells sort added units by distance * Swap targets last unit instead of initial * Distances and Optimization * Distances and Optimization 2 * Target Similar and Kind consistency - Target Similar ignores factions when targeting dead units - Target Kind uses the same logic target similar does, and removed multiple filter overlap to make it more readable * sortClosestTo Function * Removed Sqr Calcs for code clarity - SqrDist and SqrMagnitude have been removed. Turns out they provide negligible levels of optimization, and is not worth the maintenance/readability of the codebase keybind: Add Reset button to return to defaults. Allow 'Esc' to clear current key Thanks @BigRedCat i18n: Fix missing localization Note: the " spellmasons " class upgrade has spaces so as to not conflict with the summon spellmason upgrade so I had to add an extra line of localization fix: Impact Damage Fix (#353) * Arrow speed fix and slight optimization fix: Health potion capping blood curse health overflow Note: Regular healing over max is still denied in the takeDamage function. Tested with health potions and the healing spell Fixes #346 Further QA and Quick Fixes (#351) * Fixed Ice/Poison urns pushing units * Re-enable gripthulhu * Fixed blue circle issue * Gripthulhu uses LOS and correct movement/mana * Fixed poisoner using incorrect mana - Temp fix, used same workaround as the priest - Needs better fix in the future * Orient to match other LOS enemy behavior fix player teleporting back to cast location when moving during long-lived cast in multiplayer. This ocurred because MOVE_PLAYER is handled syncronously (in queue) on all clients and the server except the client of the player whose moving and by the time they are triggered the SYNC_SOME_STATE occurs and resets the player position. Now MOVE_PLAYER is handled immediately so players can move while casting on all screens (but still handled without the MOVE_PLAYER message on the current client for their own player to prevent stuttering while moving themselves). Fixes #329 fix: awaitForceMoves timing out for long arrow spells Now that projectiles work with the forceMove system, and because stacked arrow spells can continue to add force move projectils over time, the awaitForceMove timeout must be reset everytime a new forceMove is added since its completion can last an arbitrary amount of time, but it still needs proecting against an erronous forcemove that never ends. Fixes #352 UI: Fix missing spellIcons Closes #320 fix: Prevent tooltip stutter when scrollbar appears Fixes #211 src: Allow backups of the same day and name to overwrite each other. Tested in multiplayer. Closes #345 clean: Prevent meaningless error on client `process is undefined` content: Add spell icon recall fix: runTurnStartEvents should complete for all units before moving on. This was not previously a problem because there weren't any onTurnStart events that were using async code, but to support that potential, all onTrunStart events should be awaited and completed before moving on in code execution. Thanks MattTheWaz Closes #326 a11y: Choosing default outlines saves your setting Closes #338 fix: Force Move Improvements (#341) fix: Quick Fixes (#342) * Max mana no longer scales with strength * Resurrect sets endedTurn to false api: Add `pull` and `makeForcePush` to the api Thanks MattTheWaz Closes #326 fix: Refactor Force move projectile (#303) * src: Add Event.onProjectileCollision * src: Projectile: - Support pierce - Clean up image when done - Fix firing multiple arrows in sequence - Clean up projectile on collision * ref: Rework arrow spells to use forceMoveProjectile * src: Add gameloop delta time to forceMoves * log: Report loop count limit * fix: Headless not having element.querySelector * fix: Pull typing after refactor * clean: Remove unused import * wip: Build system for using setTimeout in headless and prediction * fix: pull distance due to forceMove refactor * balance: ForceMove impact damage scales a lot stronger than it used to * log: Remove dev logs * fix: Restore timeoutToNextArrow which was changed for testing purposes * fix: ArrowEffect takes the card id so it triggers the right projectile collision function * fix: pierce hitting the same unit multiple times * fix: arrow not being awaited * fix: shove magnitude after forceMove refactor * fix: velocity falloff should take deltaTime into account so that regardless of the deltaTime passed into runForceMove and the number of times it's called, it will have consistent results between clients fix: Significant movement desync Where if units started their turn already with a path, on headless, as soon as they got stamina they'd start and complete their movement, all before unit.action was invoked. This is different than on client because the server executes the gameLoop all at once. The solution is to always clear the unit's path at the start of their turn so that they don't start moving unless unit.moveTowards is invoked inside their .action function. log: reduce logging noise for server Related #291 fix: Dark priest and ghost archer action desync Closes #291 menu: fix codex UI issues Closes #311 menu: Disable multiplayer game name and password fields once the client has joined the room since changing them won't have any effect Closes #297 fix: Clear inventory in new underworld without calling syncInventory which requries a globalThis.player Fixes #305 npm: @websocketpie/client@1.1.3 Fix clientId being set to '' on roomLeave Fixes #292 Colorblind support (#314) Ref: #293 * src: Customizable color and thickness outlines * menu: Add outline accessibility controls * src: Persist accessibility outline to disk Fixed Target Similar (#307) * Fixed Target Similar * Removed workaround and prediction copy * Updated pickups to match unit behavior * Initial Targets [] for multi-initial targets Fixed target similar adding the same target multiple times Fixed clone not adding pickups to target list * fix: Restore use of lastPredictionUnitId predictionUnitIds should be incremented differently from unit ids. This is because prediction loops can run different amounts on different clients, but all clients should call create for real units the same number of times, keeping the unit ids in parity. fix: planningView graphics shouldn't use the prediction unit id to find the corresponding real unit id, so I added `real` as a reference to the original just like pickups. End Turn Sfx plays when an ally ends their turn as well (#309) Resurrect requires a valid corpse (#308) Res requires a valid corpse Fixed an issue where you could resurrect a unit after using bone shrapnel on them, which could lock the game in the case of a player character fix: Reset out of bounds players This should never happen but to prevent the game from getting stuck, if a player gets out of bounds, reset them. Closes #277 fix: Multiple priests targetting the same corpse Fixes #247 fix: Prevent target similar from mutating targets array while iterating targets array which resulted in undesired extra targeting because the targets array is refreshed inside of every loop. Fixed #299 fix: Timemason on Hotseat loses mana when other player is active Fixes #302 Contaminate Exclude Corpse Decay (#287) * Contaminate exclude corpse decay * Corpse Decay can't affect players/living


[ 2024-01-13 04:20:00 CET ] [ Original post ]

Update 26: Waves

- feature: Waves added in Plus levels, each subsequent Plus level gets one extra wave before the Portals appear This should make end game much more challenging. Also: Units in the Plus levels get "Corpse Decay" when a new wave begins so their corpses don't stick around long - feature: Added In-game chat (accessible via the "t" key) - Thanks Couls for this awesome feature! - content: Add "Teleport" spell Thanks Meme_Man - balance: Target Similar and Target Kind Thanks Meme_Man - balance: Significant Mana Steal rebalance - balance: Heal Alllies now requires Heal Greater instead of fully replacing it when upgraded. - balance: Send Mana: Cost is now increased to 30 and it scales in cost when used like other spells. - balance: Improve Contaminate, stacks now cause the curses to continue to spread also contaminate now overwrites lower level curses with higher level curses when it spreads, instead of ignoring already inflicted units. - balance: Significantly rebalanced Stat gain amounts: health, stamina and cast range are now greater per point spent. - balance: Casting Blood Curse on an ally Spellmason no longer grants them the Blood Curse spell - balance: Buff suffocate and poison - Also they now proc at the end of a unit's turn instead of the beginning - balance: Repel and vortex now require push and pull (respectively) - Repel and vortex mana cost increased slightly - balance: Target cone now increases it's arc much more when stacked. - balance: Target column now extends farther when stacked - balance: In Plus levels, units no longer get "Immune" - balance: Target Similar, Target Kind - balance: Reworked Connect spell algorithm for better targeting - balance: Enemy Mana Adjustments - improvement: Rejoining existing games should be much more reliable The clients have been improved to use the same clientID between reboots. This means that if you rejoin a game after a disconnect (or a saved game - after version 1.26.0) it should automatically give you back control of your original character instead of making a new one. - i18n: Russian translation Thanks sevagog and tatapstar! - fix: Prevent ending your turn while you're picking upgrades - fix: Multiple issues on Hotseat Multiplayer with major refactor - fix: Cloned or Summoned Spellmason now correctly deals the damage listed in their tooltip Also stacking a summoned spellmason increases it's damage output Thanks Meme_man - fix: Purple portals stick around after a player enters one. This resolves the occasional issue where one player would trigger both portals in multiplayer and the other player would have to end their turn to recreate a new purple portal so they could proceed - fix: The back button on the Load menu going to a multiplayer lobby menu even if you were in singleplayer. - fix: Spell smuggling between new games Thanks WildBerryBlast - fix: Vampires keep blood curse on death - fix: Split hack allowing infinite splits - fix: Incorrect damage dealth when combining Dash then Burst - fix: darkPriest sometimes displaying with wrong colors - fix: bugs where client's local player state would get overwritten by server I believe this will resolve the issue where summon spells would sometimes disappear - fix: Ensure clientId remains consistent, even in singleplayer - fix: Persist removing cards from toolbar - fix: desync in slash Where slash would return before all damage was done being dished out. - visual: Added suffocate display to health bar - visual: HP and MP bars now have a dark, partially transparent background and healing / gained mana is displayed in a spell prediction in addition to damage / spent mana. - visual: Spells in inventory are more sensibly grouped together - visual: Urn explosion radius now shows when selected - visual: Fixed urns losing red tint if damaged/killed - visual: Fixed issue where sometimes blood golem, blood archer, dark priest, etc didn't get properly tinted and appeared to be vanilla units - visual: Add Spell details to Unknown cards in the codex so you can see if they require other cards to get them or if they belong to a mod. - accessibility: Darken background colors even more when the option is enabled - accessibility: Added dedicated accessibility menu. If you need additional accessibility options, please let me know!


[ 2023-12-20 12:36:57 CET ] [ Original post ]

Update 25: The Witch

Staff update! Soul Muncher (from Discord) has joined the team as a developer and is doing awesome work! feature: New class: Witch! feature: New Spell: Long Arrow feature: New Spell: Send Mana Thanks @meme_man for the suggestion! feature: Some card upgrades now "require" other cards in order to appear as upgrades but will not remove them when chosen. balance: Necromancer's Capture Soul now costs a static 38 hp instead of 90% health so you can upgrade your health to make it less dangerous to use. balance: Target Column now increases in length when stacked making it a viable targeting spell. balance: The mana cost of summon spells has been completely rebalanced, making many of the summon spells much more viable than they were before balance: Timemason has been reworked so that you get double mana and lose mana over time rather than gaining mana over time and losing health. This increases pressure and challenge rather than encouraging stalling and waiting. big fix: Prevent clients from timeing out from servers due to idleness. This has been a big issue in multiplayer games where lots of folks were getting disconnected. Big thanks to @WhiteScythe , @Gumby and others for reporting this fix: Manual camera controls that skip the camera cinematic at the start of each level now allow you use to choose your spawn immediately rather than waiting the same amount of time that it would take for the cinematic to finish. Thanks @Skillo for uploading a video that showed this issue fix: Resolved issue where dashing to a pickup caused it to just disappear on multiplayer fix: Burst now deals the max damage when you are close enough to touch another unit rather than having to be right on top of them fix: Dash spell desync where dashing to multiple targets would cause a desync. Now dash only dashes to the first target if multiple targets are selected. Thanks @TheyCallMeWitch for reporting fix: Harvest + Push causing a crash Thanks @White Rider for reporting improvement: Explains why saves may fail due to lack of space improvement: Add speed run time to game over screen Thanks @WildBerryBeast and @Skillo improvement: New spells are now chosen via a level up button (shown where the "End Turn" button usually is), so that leveling up doesn't cover the screen just as your cool spell is finishing. stats: Gather stats for language use stats: Gather stats for upgrade choices so I can determine which spells are so unpopular that they need reworking. Your vote counts!


[ 2023-12-08 14:11:54 CET ] [ Original post ]

Spellmasons Update #24

- balance: Deathmason - Deathmason now actually uses mana and can be prevented from spawning portals if he has insufficient mana - Deathmason no longer casts slash - balance: resurrect weak so that you can cast it on yourself - Improve: joining saved games so that you automatically assume control over your old saved player character. This should resolve the issue of people joining saved games and not having control of their old, saved player character. - optimize: Improve server lag - Big Fix: Network messages being missed when game is alt-tabbed - Fix: red and blue portals not getting cleaned up when they are removed - Fix: invisible portals - Thanks SoulMuncher and Skillo for reporting this - Fix: Pickup bugs. Completely redid pickup code to resolve desyncs when colliding with pickups especially when using movement spells - Thanks WildBerryBlast Huge thanks to everyone who reported issues and gave feedback!


[ 2023-11-30 14:49:42 CET ] [ Original post ]

Fixed server crash bug

This patch fixes a significant server crash bug. Change log: fix: Infinite server loop that occurred after you summoned an urn and then died fix: Cards in your inventory not decrementing in cost when your turn ended Thanks Matt_97 for help debugging this fix: Resurrect Weak sometimes leaving enemy health and mana at non-whole numbers fix: Prevent Upgrade random number generator from showing the same upgrades if you get multiple level ups on the same level with a full toolbar


[ 2023-11-17 14:11:38 CET ] [ Original post ]

Hotfix: Spell Predictions

Hotfix: Spell Predictions


Lots of users in the discord have reported issues with Spell predictions not working properly. This patch resolves that issue and also fixes a bug on the server with movement spells not being calculated properly.


[ 2023-11-14 20:12:52 CET ] [ Original post ]

Spellmasons Update #23!

Spellmasons Update v1.23.3


This update adds "Upgradable Spells". Some spells have greater forms that you can upgrade them to once you find them. Have fun discovering what's new. There's more to come in the future! Also, find "Codex" in the main menu to see all the spells in the game (once you've discovered them!) and make sure to try out the spells in the mods! content: Tweak arrow upgrade spell cost and rarity content: Add slash spell upgrades content: Add arrow spell upgrades content: Add heal upgrades content: Add "Resurrect" Variations Thanks TonyFTW, Skillo and Mattmellow content: Stacked summons make bigger, stronger units perf: When moving with spell queued, only call runPredictions when idle to prevent lag while moving with spell queued UI: Fix size of cards on smaller screens Thanks Lemming Jesus UI: Prevent tooltip from hiding right spellbar Thanks LeoninoMalino from the Steam Community balance: Make summon decoy scale in strength when stacked like summon_generic. balance: Remove cooldown for Summon Decoy now that AI targeting is improved and wont target about-to-be-dead units Thanks Chase from Discord for this idea fix: longstanding bug with arrow spells predicting that enemies will die and then they wouldn't die fix: urns that had too many onDeathEvents due to their init function not being idempotent. Fix urn cleanup cornercase where the urn image would be left behind (and red) due to the image being restored in a sync. By changing Image.cleanup to allow maintaining the position x,y so that the other onDeath events such as bloat can still use it but the image is still cleaned up fix: Freeze UX when player is frozen especially by urn so that it shows the the player is frozen even when it skips their turn fix: Game failing to save if you save while a spell is being cast fix: Improve saving so if you try to save during the enemy turn, it will wait until the start of your turn to save the game fix: Bug where you're unable to join a multiplayer game after dying in hotseat multiplayer fix: multiplayer menu bug where when the game restarts, it reset player.isReady so it was showing the wrong menu on esc menu: Add Codex menu: Add legal


[ 2023-11-13 00:01:58 CET ] [ Original post ]

Spellmasons Update v1.22.4

Improvment: New experimental server build running on US-West and Europe regions. These should result in faster communication to clients. Please report any new issues with these servers on the Discord. Performance: Improved performance when determining spell predictions. Previously when the game had a huge number of enemies, preparing to cast a large spell could cause the framerate to tank. This has been much improved. It has further to go, but the game won't slow down to a crawl when trying to cast large spells in the late game anymore. UI: Add unit stats (health, mana, etc) to summon cards Thanks Lemdoran for this suggestion fix: Spells from Rene's Gimmicks not showing up in multiplayer thought bubbles fix: Auto-rejoining doesn't work if the game has a password Thanks Manman fix: Summon card descriptions update when difficulty or language changes fix: Urns don't take poison damage Add Doodads to action loop so that their onTurnStart triggers which is used by poison and other modifiers fix: urns' additional onDeath events (such as bloat) not working because the unit was cleaned up before it triggered fix: Skipping player turn on load when you load into a saved game and choose "join game as player" fix: Hotseat players not getting mana back after one player died Thanks Genthru fix: Not being able to capture soul ally spellmason fix: Hotseat players not getting stat upgrades fix: prevent calamities from affecting Urns Thansk PandaPhilly for reporting fix: Prevent friendly npcs from attacking urns. Thanks MattMellow fix: prevent ally npcs spawning from Blue Portals that are supposed to be used for teleporting


[ 2023-11-02 10:54:54 CET ] [ Original post ]

Spellmasons Update v1.21.2

Spellmasons Update v1.21.2


Thanks to Pandize for general feedback! feature: Teleport Trap! After level 5, at least 2 blue portals will spawn that will allow players to teleport around the map. Thanks Skillo feature: Add urns that explode when damaged each with a unique effect Thanks Skillo for this idea balance: Increase poison base damage to 18 balance: Reduce probability of trap pickup spawning balance: Increase number of pickups along with level size balance: Immune units (in + levels) CAN be targeted but cannot be damaged or recieve modifiers (like curses) i18n: Update Portugues Translation Thanks to Iwashi kan fix: Clones and split units don't provide experience when killed Thanks enigmaticbacon for reporting this fix: Players that rejoin should have endedTurn set to false so they don't miss their turn when another player ends their turn. Thanks Kess from Discord! fix: Ensure saves can only be made during the player turn so it doesn't save a corrupted game state fix: After load, set all player.endedTurn to false so that loading a game wont skip the player turn if players rejoin the game in an order where the first person to join/load had ended their turn during the save fix: Prevent rerolling from sometimes presents the same spell you just saw Thanks Lemdoran fix: valid spawn logic for blue and red portals it was denying valid spawn for portals that were close to walls that should've been valid fix: Target Arrow granting infinite range if cast standing right up against a wall Thanks Stench and others from Discord for reporting this issue fix: Extra stat points hack where you get extra lvl up stat points whenever you load the game Thanks Salazar for reporting this! fix: UI: Ensure spell costs are up to date in the inventory Thanks Mattmellow and others for reporting this fix: Prevent Deathmason brothers from attacking immediately after spawning if the original deathmason is slain by an ally npc. Thanks flowkrad from Steam and others for reporting this fix: Ensure mage classes are visible on 1080p screen Thanks Coaldust Numbers and others for reporting this issue fix: big bug in random number choice function favoring certain choices over others fix: killing a clone of a deathmason from incrementing your "games won" stat fix: UI: Ensure spell costs are up to date in the inventory Thanks Mattmellow and Lemdoran for reporting this fix: Ensure Pickup's emitters follow them if they move (like pushing a portal) fix: Attempt to fix duplicate pickup issue on multiplayer where a recently triggered pickup is recreated. fix: if over max hp, ensure healthcost spells don't snap hp to max. It is unusual to go over max hp but sacrifice does it. Thanks enigmaticbacon fix: If spellcost is refunded cooldowns are too Refund freeze if no targets Thanks Kekis! fix: Prevent deathmason death from killing all NPCs unless it is the original deathmason. Any summoned deathmason should not kill NPCs. Thanks H4D3S for reporting fix: hiding broken tooltip images UI: Allow modifier keys (ctrl, shift, alt) in hotkeys Thanks Lemdoran and Skillo UI: Assign hotkeys to side bars spell slots Thanks Lemdoran and Skillo UI: Hide broken images in UI Prompt


[ 2023-10-25 18:28:20 CET ] [ Original post ]

Spellmasons Update v1.20.0

feature: On loop levels, half of the enemies are immune for 1 turn. This makes levels after the deathmason a better challenge balance: make Necromancer class summon spells 30% cheaper Thanks Antonio! and Expresso Depresso and others for feedback balance: Temporarily remove bloodmason class until he can be properly balanced. improvement: Ally deathmasons now summon blue portals which heal you if you walk through them instead of hurt you like red portals do. (If you do not walk through them, they still spawn allies) fix: Prevent Deathmasons from health-sapping each other. Thanks Antonio! for reporting this! fix: Calamities not increasing health and stamina stat of enemies Thanks Antonio! for reporting this! fix: Spawn locations for deathmasons' brothers fix: Cloned player blood cursed also secretly blood cursed player without reporting in UI. Thanks MeBeDerp for reporting this! fix: Enemy priest resurrecting Player and changing player's faction. Thanks Ian for reporting! fix: deathmasons teleporting to the same portal causing them to overlap UX: turn off player damage sfx for timemason so it's not annoying UI: Add TIMEMASON_DAMAGE_AMOUNT to timemason card UI: Fix size of mana badge modified by usage when large in card-inspect UI: Limit uiZoom lower bound to 0.1 Thanks Hagbard from Discord for reporting the issue


[ 2023-10-09 19:49:19 CET ] [ Original post ]

New Spellmason Classes!

Spellmasons Update v1.19.1


balance: Increase difficulty of early levels balance: Make Ancients cost more in the level budget for spawning balance: Increased damage of poison spell from 10 to 15 damage per turn content: Add Mage Classes content: Revise per level upgrades to be stats points rather than perks content: Add 2nd stage of Deathmason battle content: Change to lvl up / experience system instead of scroll pickups performance: Add perf option to disable emitters Thanks to @XzeroAir on Discord art: Fix target similar and connect lines animating father than they should UI: Make level up progress bar in tooltip UI: Add victory stats to class selections fix: Bug where ancients spend mana per target instead of per cast which caused their mana to go negative at times. Thanks @Expresso Depresso for finding this bug! fix: Undesirable smoke on pickups fix: Priest should resurrect ANY dead unit into their faction not just corpses of allies


[ 2023-09-15 16:07:13 CET ] [ Original post ]

Spellmasons Update v1.18.0

- balance: Prevent deathmason from purifying self - balance: change decoy health from 20 to 70 - Thanks Krowbar for this suggestion! - UI: Cast Range perk displayed as % instead of meaningless number Thanks Krowbar for this suggestion! - menu: Show mod contents in description - UI: Add mod name to cards - fix: Make lastWill immediate so it doesn't cause desync on multiplayer - fix: mods registering multiple times which messed up probabilities (especially with pickups) - fix: Prevent allowing rejoin to failed game by changing difficulty. Thanks Krowbar for finding this bug! - fix: Prevent Split players from being permanently split when they die Thanks to sJacob for pointing this bug out!


[ 2023-08-03 13:30:32 CET ] [ Original post ]

Improved AI - Improved Difficulty

- Feature: Smart Targeting Improve AI targeting so that AI battles are more realistic. AI units will not all focus on the closest enemy and overkill them making AI battles take forever. - balance: Make summon spells cost less mana - balance: Keep Capture Soul spell after use Capture Soul no longer disappears from your spells when used - balance: When Ancients spawn, spawn more of them. - balance: Higher difficulties now make harder enemies spawn on earlier levels and allows for spawning more enemies than it would otherwise - i18n: Add German translation from Feilz. - accessibility: Touchpad move keypress support https://steamcommunity.com/app/1618380/discussions/0/3810656323972884104/ Feel free to join our Discord to let me know what you think of the update! Spellmasons Discord


[ 2023-07-21 19:49:33 CET ] [ Original post ]

Rene's Gimmicks

Rene's Gimmicks adds 5 new spells:

  • Burning Rage
  • Caltrops
  • Sadism
  • Summon Trap
  • Vampire Bite
Thank you @Edeusz from Discord for your awesome mod! This update also adds - Difficulty options in multiplayer - A fix for Target Arrow allowing summoning out of bounds (Thanks @Monarch for reporting this) - Fix Fast Forward from Wode's Grimoire for some advanced spell combinations


[ 2023-06-28 14:05:36 CET ] [ Original post ]

Gripthulu

content: Add new unit: "Gripthulu" Thanks MrMarblz and scojbo for encouraging me to resolve issues with "enemies that move players" content: Add spell: Explosive Arrow balance: Ancient can attack 3 targets simultaneously (previously only 1) balance: Adjust unit spawn budget for multiplayer so that there will start to be more enemies in games of 3 players and beyond balance: Make Ancient cheaper in level spawn budget balance: Fortify so it stacks 50%, 75%, 87.5%... Thanks TonyFTW src: Resolve desyncs between spells cast during player turns fix: Resolve some users getting a blank page in the mods menu fix: Spell cooldown decrementing in multiplayer right after you end turn which allowed casting it again. Thanks The Joe for this bug report fix: Target Cone odd targeting when stacking Thanks MuditaMan fix: (spell) Prevent suffocate from ever increasing turns left to live. Thank you scojbo fix: Scroll disappear particles showing when hovering prediction spell (undead blade) over portal. Don't check if should spawn portal (or check game over) for prediction cast fix: Priests getting damage boost from Calamities Also add stamina as calamity to boost enemies Thanks TonyFTW fix: Able to kill unspawned allies with targeting spells. fix: "F" to see range when spawning Thanks to MrMarblz for pointing this out fix: Aberrant UI line when simulating force move into liquid. Feel free to join our Discord and let me know how your experience with Spellmasons has been!


[ 2023-05-19 12:14:22 CET ] [ Original post ]

Wode's Grimoire

Spellmasons Update v1.14.0 - Wode's Grimoire


The first community mod Wode's Grimoire is now available in Community Servers. Huge thanks to Blood Spartan and his unnamed friend who did the art for this incredibly fun mod! You can try it now by clicking on "Mods" in the main menu and enabling it. If you are interested in making your own mod, you can checkout my modding playlist on youtube https://youtu.be/qyGxK-tdSqs or the modding repository on github https://github.com/jdoleary/spellmasons-mods. Changes in this update: - content: Add new unit: "Ancient" - content: Add new type of Calamity "Stat Calamity" that makes enemies more dangerous - balance: Continue to allow gaining perks after looping Thanks S4m for criticism that led to this balance - src: Improve statCalamity percentages - src: Choose available statCalamities based on which units are in the current level so that the next level has increased difficulty due to calamity. - src: Add mana refunds for slash and target_arrow without targets - UI: Add attack range to tooltip Add words ("mana", "health") to tooltip - UI: Add visible level count UI when inventory is open to the top right corner. Thanks MrMarblz for this suggestion! Note: Levels past the Deathmason are now displayed with a trailing "+" to denote that it's a loop level - UI: Make "Spawn instructions" less obtrusive after level 3. Thanks Mr. Marblz for this suggestion - i18n: Translate stat calamities - api: Add pixi particle emitter to modding api - fix: Prevent Last Will from stacking like the card says it doesn't. Thanks to MrMarblz for pointing this out - fix: Fix link to source code in Mods menu - fix: desync issue where player loses control of themself. This was reproducable by having 2 players in a multiplayer came, killing one unit and then casting Harvest on them. Then the underworld's units array would be filled with a bunch of units that weren't cleaned up and some were the player units that still shared the same id, but these 2 changes (changing the id's of cleaned up units) and removing cleaned up units right after a sync resolves this issue. - fix: Support player thought spell icons from mods Modded icons still have to be manually added to the sprite sheet. - fix: Add SYNC_SOME_STATE after every SPELL to attempt to remedy desync snowballing that sometimes occurred on the same player turn when multiple spells are cast by having the server only send a SYNC_SOME_STATE message after every SPELL message - fix: Archer movement bug Thanks to scojbo and others (not recorded) for mentioning this issue - fix: statCalamities not applying double whenever a 2nd or beyond is chosen. When a new statCalamity is chosen, only apply that one an extra time to already existing units - fix: Prevent unspawed players from being targeted by ally magic. This only impacts multiplayer. Thanks mrman227 and others to reported this issue - fix: Allow Capture Soul for minibosses Thanks MrMarblz for pointing this out - fix: Ghost Archer doing 20 more damage than predicted. Thanks Jackson for pointing out this bug! - fix: Admin "Regenerate Level" command - fix: spell mana cost calculations To allow for mana from manasteal to be used in the same spell. This uses what mana is left from the prediction player to see if they have enough mana to cast in the first place Thanks TonyFTW and JamesGamesA_Lot - fix: Desync caused by sending initialTargetedUnitId or initialTargetedPickupId as array. They should be numbers. Also; somehow in javascript `3 == [3]`


[ 2023-05-01 18:31:20 CET ] [ Original post ]

Necromancer's Rejoice!

- Spellmasons source code is now public. Check it out at https://github.com/jdoleary/Spellmasons - Balance: Add cooldown to some cards to make players wait a number of turns before casting them again - Balance: Make fortify more meaningful - Balance: Made capture soul's cards more affordable (Necromancers rejoice!) - fix: hotseat multiplayer skipping player turns after any player dies - fix: hotseat multiplayer loading and forgetting which spells were in the toolbar - fix: Once you hit 0 health from using Death Wager you can no longer cast any spells. Thanks ObsuredCrow - fix: errors in Copy - fix: issue where game wouldn't change turn phase if a non spanwed player was disconnected from the game in multiplayer - fix: Deathwager allowing player health to go to 0 and preventing them from casting (now it won't let you cast it if you have only 1 health) - Thanks ObscuredCrow - fix: "Insufficient Mana" warning to allow for spells that give you mana to affect the chain. For example, if you mana steal in a chain of spells you are now able to use that new mana in the rest of the chain - Thanks MuditaMan for reporting this issue. - i18n: fix: newlines messing up localization for some languages - UI: Add cooldown badge to cards that have a cooldown - UI: Fix alignment of modifier icons in tooltip - Menu: Add "Source Code" link to the Mods menu to take players to the github - Mod: Expose Events.ts in API - Thanks Blood Spartan - Mod: Allow F12 key to open console at any time


[ 2023-04-14 18:44:55 CET ] [ Original post ]

Fixes mods not allowing multiple spritesheets - other misc. fixes

Spellmasons Update v1.12.0


- Thanks to the following community members for reporting issues or making suggestions included in this update!
  • Blood Spartan
  • Vivid Empress
  • MrMarblz
- Quality of Life: Speed up target_kind - fix: Prevent choosing calamities that you've already chosen - fix: Protect against unit being loaded in with null stamina - fix: Spell displace sometimes pushing enemies into walls - fix: Keep perks fresh when user is selecting multiple perks on one level, which can happen if player is joining a game late. - fix: Perk labeling - Fix: calamities not being given after you run out of spell upgrades - UX: Don't show player thoughts when hovering over non-game space such as inventory or toolbar. - mod: export cards/util to API - mod: mod loading bug where only one mod with a spritesheet could be loaded or else it would error out


[ 2023-03-31 20:32:22 CET ] [ Original post ]

Improved unexpected disconnect handling, fixed hotseat multiplayer bugs and more

Spellmasons Update v1.11.0


Thanks to Madgod, Spud Bud and Expresso depresso from Discord and Expirium from Steam Forums for reporting issues that have been resolved in this update! Improvements: - Language Translations: Add missing translations in multiplayer menu and other miscellaneous places - src: Auto save game on accidental network disconnect so players don't lose their progress - tutorial: Skipping Tutorial also skips all Unit introductions - UI: Move player spells under their perks since the spells list can get rather long - menu: Improve Disconnect handling - Fix: Issue where Disconnect View doesn't show up if you are in the lobby when the server disconnects - Fix: Issue where if the server disconnects when you are in the lobby and then you ready up the map will be out of sync and you'll see units off map - Ensure that auto rejoin will only join an existing room and not host a new room if the server crashes. This resolves the issues where players would suddenly and unexpectedly get kicked back to level 1. Now if the server crashes players can resume where they left off from the autosaved backup (though they will have to manually load the backup in a new lobby). Bug Fixes: - fix: Prevent Hotseat Multiplayer from getting stuck in the Lobby Menu - fix: Not enough portals bug in Hotseat Multiplayer, now if one player enters a portal, it will just move on to the next level. - fix: Prevent "smoke" from cursed potions from emitting during a spell prediction involving Last Will - fix: Insufficient Mana spell from actually casting on Server but not on clients resulting in desync - fix: calamity miscalculation in multiplayer where the calamity options would be chosen based on which player last cast instead of each individual player - fix: Poisoner AI Previously, it was trying to move closer to a different unit than it was targeted which resulted in weird behavior where it would sometimes not attack. - Fix: UI tooltip showing last selected unit gif even when pickups are selected - copy: Fix typo in multiplayer error message.


[ 2023-03-21 12:04:14 CET ] [ Original post ]

Multiplayer Potion / Pickup bugs fixed

Spellmasons Patch v1.10.1


- fix: Target Arrow allowing infinite cast range - Thanks to hexingMagus from Discord for reporting this - fix: Potions duplicating their effect multiple times - Thanks Jacobzeba01 and Madgod from Discord for reporting this - fix: Issue where multiple levels would be generated simultaneously resulting in enemies appearing out of bounds - Thanks Jacobzeba01 for reporting this - fix: Prevent Ally Priest from adding Summoning Sickness to resurrected player unit which made the player lose their next turn - Thanks Firecat from Discord for reporting this - fix: Prevent Burst from timing out if cast on only dead units


[ 2023-03-13 17:33:23 CET ] [ Original post ]

Harder Endgame, Perk Balancing & More

Spellmasons Update v1.9.1


This is the first "content" update since launch! I finally have balanced the perks so the end game isn't too easy and have added "Calamity" Upgrades: after you beat the Deathmason, rather than picking perks you pick "Calamities" which weaken you instead of empower you. Now, continuing on past the Deathmason will become harder and harder. How far can you make it before you perish? Also, I'm excited to announce that I'm working with Spellmason's artist again to produce brand new spells and enemies for a future update! Changes in v1.9.1: - content: Restore Contaminate Spell - content: Add Target Arrow Spell - content: Add Cursed Mana Potion - content: Last Will yields a higher than usual probability of returning cursed mana potions - content: Introduce Calamity Perks after beating the Deathmason - balance: Flat rate perks instead of %s - AI: Improve ally Spellmason AI behavior so it will pursue and attack enemies - balance: Make freeze and debilitate take longer to return to default mana cost. Thank you Scojbo from Steam for this recommendation - translations: Implement language translations for perks and add misc missing translations - fix: Stop dropping scrolls once players have all the spells - fix: Protect against red portals spawning player out of bounds Thank you AlienSmoke from Discord for reporting this bug - fix: Burst so that it uses the latest caster position so it will combine properly with movement spells such as dash - fix: Dark Summoner explanation to match new behavior


[ 2023-03-10 15:59:47 CET ] [ Original post ]

Small bug fixes

Resolved "infinite spell upgrades" bug Resolved bug where players could skip multiple levels when going through a portal


[ 2023-03-07 13:44:43 CET ] [ Original post ]

Desyncronization Improvements and Gameplay balances

Spellmasons Update v1.8.0


I have high-hopes for the desync fixes in this build. I think it will resolve many of the desyncs that people have been encountering. Please continue to report any desync issues that you encounter in our Discord channel - the reports so far have been monumentally helpful in uncovering these issues. I have still detected a few minor desync issues but as of this update I, personally, have not found any remaining major issues. Thank you to everyone who messaged on Discord to report issues and thank you all for your support! Changes in v1.8.0: - gameplay balance: Dark Summoners so they start with 40 mana out of 60 so it takes them one turn before they can cast and make them regen mana slower. Thanks to Sander and Shurimoo for the suggestions - gameplay balance: Dark Summoner summons Dark Priests and Mana Vampires instead of more summoners to prevent overpopulation from crashing the game - Translations (i18n): Add Japanese and French and Korean - Thanks to Cie, Skornett and Vedmin_Studen for the translations! - refactor: Scrolls Scrolls still trigger the "pick upgrade" screen, but they will no longer disappear after a number of turns have passed. This should resolve numerous issues encountered with scrolls. - fix: desync: Update lastUnitId when loading Player - fix: Extra desync protection, send lastUnitId along with SYNC_PLAYERS message When lastUnitId is out of sync it opens the possibility of a desync where there can be multiple units that share the same ID which can result in different results on different clients if one client has the shared id bug and another client does not. - fix: Killing ally player allows scroll to drop Scrolls will only drop when killing enemies now - fix: menu: Fix blank mods screen - fix: Bug where freezing yourself would result in you missing 2 turns instead of one because your turn got ended before the modifier got added to your unit which meant when the onEndTurnEvent fn ran, there was no freeze modifier to remove and so it didn't get removed until the next turn. - npm: @websocketpie/client@1.0.0 Upgrade wsPie client so that it doesn't handle client messages immediately by default. Client messages will bounce off the server before being handled to alleviate desync issues - optimize: Throttle PLAYER_THINKING messages Prevent messages from sending with no cardIds (unless it's clearing a previous thought) Before this change the server was being inundated with messages because every client was sending a player_thinking message on every mouse move - UX: Give players immediate feedback if they send SPAWN_PLAYER while other messages are still processing - UI: Fix updating unit health and mana bars at the start of player turns and after ending player turns. This is triggered manually so that the player doesn't have to move their mouse to get the updated prediction UI


[ 2023-03-03 18:12:22 CET ] [ Original post ]

Modding and Hotseat Multiplayer are now available!

Spellmasons Update v1.7.1


Two long awaited features have arrived: Mod support and Hotseat Multiplayer! My next priorities will be to improve the end-game difficulty curve and to continue to work on fixes (desync issues and more). Changes in v1.7.1: - feature: Add mod support for Units, Pickups, Spells, Art, Audio - Supports singleplayer, multiplayer, saving/loading games with mods - feature: Add Hotseat Multiplayer so players can play together on a single computer - Supports saving/loading games with hotseat multiplayer - UI: Add scrolling to spell queue box for super long spells do it doesn't cover too much of the screen - UI: Ensure "Game Over" button is always visible even in cases where stats are super tall. - UX: Increase speed of "Slash" for super long combos - UX: Limit how many visual stacks of "Rend" animate to prevent the player from having to wait too long for a super long "Rend" combo - fix: Prevent player's turn from ending mid cast. This addresses the desync that occurred when a player would resurrect themself at the end of a spell that killed them. - fix: Prevent game over screen from popping up if you resurrect yourself - fix: Gold circle under player character's feet not showing up sometimes


[ 2023-02-17 17:26:14 CET ] [ Original post ]

v1.6.1 Update

Spellmasons Update v1.6.1


- fix: Desync occurring anytime "slash" was followed by a spell that took remaining health into account (such as "Bleed" or "Capture Soul") on multiplayer - fix: Fix desyncs involving spells' initial targets - fix: Deathmason crashing the game after resurrecting him - fix: Issue with Deathmason's red portals - fix: prevent loading corrupted savefile - fix: enter portal crash loop - fix: Only living units can acquire pickups - fix: Skipping a level when an NPC ally finishes a level while you're dead - AI: Make ally AI Spellmason follow you rather than pursuing enemies - balance: Prevent cloning scrolls (I want to do something cooler with this in the future when you attempt to clone a scroll to reward players for being creative but for now I just have to prevent it because it totally breaks the balance of the game) - UX: Improve explanation if server is behind in version - UX: Add special message for when servers are down


[ 2023-02-09 14:02:50 CET ] [ Original post ]

v1.5.2 Update

Spellmasons Update v1.5.2


- balance: Units that remain in liquid at the end of their turn will take damage again - balance: Make ranged units move out of liquid once it's their turn - fix: Player sometimes clicking on spell upgrade and not getting it - fix: "Target Similar" spell so it matches units of the same faction as the initial target (prevents accidentally targeting allies) - fix: Desync issue where clients experienced random number generation drift - fix: Add 70 character limit to player names - fix: Make Deathmason's particles disappear when he dies - fix: Prevent "Conserve" from being able to kill you - fix: Issue where under some circumstances players could pick more than one spell upgrade for a single scroll pickup (was known to happen when a whole lot of enemies were killed at once and no enemies remained on the level) - fix: Sync health, mana, and stamina at the start of every turn (this fixes the issue where some changes to health/mana/stamina weren't reflected in the bars until the user moved their mouse) - UX: Add glow to floating toolbars when dragging a spell to denote that they are available to recieve a spell - UI: Prevent "no more spells" message from taking too long to clear out in late game after you clear a large number of enemies - UX: Prevent camera from snapping to the center of the map after player dies


[ 2023-02-07 12:57:23 CET ] [ Original post ]

v1.4.0 Update

Spellmasons Update v1.4.0


2/5/2023 - fix: Resolve portal not spawning on tutorial level - fix: Prevent the camera from snapping to center of the map after player death - UX: Delay game over modal on death so it does not obscure how the player died - feature: Any unit (including the player) that remains in liquid at the end of their turn will take damage from that liquid again


[ 2023-02-05 12:26:04 CET ] [ Original post ]

v1.3.1 Update

Spellmasons Update v1.3.1


2/4/2024 - Feature: Support auto reconnect attempts when client loses connection to the server - Quality of Life: Increase arrow speed when firing an absurd amount of arrows (thank you Omni from Discord!) - fix: **significant** Pickup (portals, potions, etc) synchronization by sending pickup creation over the network and stabilizing pickup ids - fix: "Target Kind" spell so it wont target you or allies - fix: Deleted save files getting restored after reboot - fix: Localization screen not showing all language options on some resolutions - fix: When a player dies, their turn is now ended automatically


[ 2023-02-04 13:16:19 CET ] [ Original post ]

v1.2.0 Update

Spellmasons Update v1.2.0


2/3/2023 My priority has been resolving the multiplayer sync issues so that people can play reliably together online without experiencing issues. This update includes a significant fix regarding the sync issues but there is more to come before it will be perfect. Thank you to everyone who has contributed to bug reports and suggestions in Discord!

Improvements and Fixes


- fix: Overhaul unit synchronization issue. This will address many (but not all) of the synchronization issues people have been experiencing in multiplayer - fix: Pickup synchronization issues that resulted from v1.1.1 - fix: Summoner appearing submerged even after he teleports out of liquid - fix: Another sync issue with "Bleed" spell causing the server to pause for a short time - fix: "Connect" spell prioritizing the wrong unit / pickup / corpse connections - fix: Multiple targeting spells not combining properly - This is a regression bug introduced in v1.1.1. With it fixed, now spells like "target cone + push + target circle" will work as expected - UX: Limit length of multiplayer thought bubbles so they don't cover too much space if an ally is casting a large spell - feature: Re-enable Loading saved games in Multiplayer - Note: This feature is still a little clunky if you are rejoining a save where the same players are not present. It allows you to assume control of a different player character while in the lobby if, for example, you were to load your save game on another computer or with different friends than you saved it with. - I expect Loading multiplayer saved games may not work perfectly, but I put it back in so people can at least try it. Please let me know in Discord if you encounter any issues with it - Quality of Life - Increase speed of high quantity arrows so the spell animation doesn't last too long - Language Translations: Add support for () zh-CN and () zh-TW. Thank you Cie from our Discord Community --- I have a future update planned for the spell system that will ensure reliable synchronized results between clients every time - this will become available in the next update (v1.3) and I believe it will be the last of the major fixes needed to resolve server reliability so stay tuned!


[ 2023-02-03 11:49:18 CET ] [ Original post ]

v1.1.1 Bug fixes and Improvements

Spellmasons Patch Report v1.1.0


2/1/2023 The biggest issue reported after launch was the desyncronizations in multiplayer servers (mostly in Community Servers, rarely in LAN servers). I have found and fixed a few specific issues causing desyncs; however, I'm not fully confident that the desync issues have been fully fixed - as I have been unable to reproduce the issue in my own multiplayer testing. Please report any further issues you find in our Discord channel. https://discord.com/invite/q6sUCreHeJ Thank you to everyone for being understanding as I work through these issues. It is my top priority to provide a reliable experience where you can enjoy spellcrafting with your friends and I am confident the server issues will be fixed soon. I have also resolved a good number of much simpler issues described below.

Improvements and Fixes


- balance: Remove Nullify spell because it was way too powerful in the endgame (I may rethink a way to reintegrate it later) - balance: Increase enemy difficulty after "looping" (after level 12) - balance: Increase clone expense scaling (it now takes longer to return to base mana cost) - menu: Add link to "How to Host" youtube video in multiplayer menu in case you'd like to host your own server - UX: Make WASD camera speed relative to zoom level for more precise camera control - improvement: Handle multiplayer thought bubbles concurrently. They no longer wait until other players are done casting to be processed and visible to the other players. - optimize: mana steal particles - fix(Multiplayer sync issues): Resolve "Rend" spell timing out - fix(Multiplayer sync issues): Resolve potion pickup discrepancies - fix(Multiplayer sync issues): Resolve red portal spawn locations and teleport locations - fix(Multiplayer sync issues): Resolve player location discrepancy between clients and server (off by decimal values) - fix: Prevent multiplayer server crash after quitting a game when you have living allies and all enemies are dead - fix: Prevent Deathmason red portals from overlapping which could cause more damage to the player character than expected - fix: soundtracks overlapping bug - fix: "0.1%" to "10%" on Fortify spell description - fix: Remove Priest unit's unused Damage stat - fix: Prevent ally Deathmason from killing you with "Sacrifice" - fix: Ally Deathmason now spawns new enemies on the correct faction - fix: Prevent miniboss priest from going into negative mana - fix: target + movement spells not combining properly - fix: ensure particle emitters are cleaned up properly - fix: Sometimes not enough Perk choices generating - fix: Prevent ending your turn before you choose a spawn - fix: Spell upgrade choices not refreshing between new games - fix: "Ready" button not working in lobby if you quit and rejoin game - fix: Allow overwriting save files with the same name rather than keeping duplicates - fix: Temporarily disable "Contegous" until it's reliablity can be assured under any circumstance


[ 2023-02-02 11:39:17 CET ] [ Original post ]

Spellmasons
Jordan O'Leary Developer
Jordan O'leary Publisher
Early 2023 Release
Game News Posts: 49
🎹🖱️Keyboard + Mouse
Very Positive (472 reviews)
Spellmasons is a tactical, turn-based, roguelike where you and your friends play as mages who combine spells on-the-spot to address the unique challenges of each moment!


Conjure spells from an ever-growing repertoire of combinations in order to survive against the onslaught of enemies, save your friends, and ultimately devastate the great danger that opposes you. As you progress further, your spell collection grows, enabling even more chaotic and creative encounters.

Use the environment to your advantage!


Each level is procedurally generated, providing you with ample new means of cheating death just when it appeared that you had no escape. As you learn the many ways your spells interact with yourself, your enemies, your allies, and the environment you will become more resourceful and adept at handling the most difficult encounters.

Work Together!


Spellmasons supports online multiplayer so you can coordinate and strategize with your friends! Spellmasons uses innovative faction-based turns: You and your fellow mages can all move, cast and act simultaneously. Plan carefully, work together, execute your master plan, and overcome the challenges before you!

Grow into a formidable mage!


Unleash absurdly powerful endgame spell combinations where one small difference can mean the simultaneous death of every enemy on the map or the end of your run!

MINIMAL SETUP
  • OS: Ubuntu 14.04. Fedora 24. Debian 8
GAMEBILLET

[ 6106 ]

1.45$ (85%)
7.54$ (16%)
33.59$ (16%)
25.19$ (16%)
4.47$ (78%)
4.44$ (11%)
25.49$ (15%)
21.21$ (15%)
15.90$ (20%)
20.99$ (16%)
16.97$ (15%)
20.74$ (17%)
35.59$ (11%)
16.97$ (15%)
16.97$ (15%)
8.27$ (17%)
16.99$ (15%)
8.27$ (17%)
17.39$ (13%)
2.01$ (80%)
12.71$ (15%)
4.14$ (17%)
34.79$ (13%)
4.12$ (17%)
3.29$ (18%)
34.79$ (13%)
5.77$ (17%)
16.52$ (17%)
5.87$ (16%)
7.89$ (74%)
GAMERSGATE

[ 1485 ]

2.55$ (83%)
3.4$ (66%)
0.9$ (85%)
1.28$ (91%)
8.7$ (65%)
17.0$ (57%)
1.5$ (85%)
12.0$ (80%)
0.85$ (91%)
1.28$ (91%)
2.55$ (91%)
11.99$ (60%)
0.45$ (85%)
1.36$ (83%)
6.0$ (60%)
6.38$ (87%)
8.5$ (79%)
2.13$ (91%)
5.95$ (70%)
4.58$ (24%)
1.05$ (85%)
0.94$ (81%)
6.38$ (79%)
0.85$ (91%)
5.0$ (75%)
2.25$ (91%)
3.28$ (78%)
1.5$ (85%)
14.4$ (64%)
1.19$ (40%)

FANATICAL BUNDLES

Time left:

16 days, 17 hours, 6 minutes


Time left:

356441 days, 9 hours, 6 minutes


Time left:

27 days, 17 hours, 6 minutes


Time left:

13 days, 17 hours, 6 minutes


Time left:

23 days, 17 hours, 6 minutes


Time left:

22 days, 17 hours, 6 minutes


Time left:

29 days, 17 hours, 6 minutes


HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB
🔴 LIVE