Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
A jam submission

AlcatmistView game page

A spellcasting and rat battling demo
Submitted by DungeonMartian, Chowbacca — 10 hours, 52 minutes before the deadline
Add to collection

Play game

Alcatmist's itch.io page

Results

CriteriaRankScore*Raw Score
Gameplay#113.1823.375
Theme#113.1823.375
Audio#112.8283.000
Overall#113.0353.219
Graphics#122.9463.125

Ranked from 8 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.

Leave a comment

Log in with itch.io to leave a comment.

Comments

Submitted(+1)

I love alchemy games and combination mechanics, so this was perfect for me. I really like the idea of using the surroundings for spell casting rather than a mana system or something, and the procedural generation worked really well with the concept. Super cool.

Submitted(+2)

I thought the procedurally generated bits were quite awesome here! I never quite mastered the combat mechanics that y'all added, but I think with a bit more polish and tweaking this could really be something special. I'm also so curious to learn about how y'all organized your game across multiple threads. 

There have been a handful of occasions where I've wished threads were available in my Godot web builds, but I've usually been able to work around that by making any complicated algorithms re-entrant. It's not fun work, but no one likes a stuttering, poorly performing game either! 

Developer

Hey, thanks for playing!

We've utilized threads lightly in past jams to help us work through more complex functions that were choking up the main thread, but they were definitely relied on too heavily for this entry. The amount of WorkerThreadPool tasks and thread functions seemed to hurt the quality of the web build, which definitely made this an important learning experience.

Threads did a lot of heavy lifting for the simulations on the map. We used one that ran a custom flowmap for navigation that encouraged the enemies to avoid burning regions on the map. We also had a separate thread do the procedural generation at the start of the game, since the tile operations were quite heavy and really held up the scene tree when loading in. Finally we had a big WorkerThreadPool group task that decodes the map data and generates a texture for the shader to draw the map. That also got us around using the built in TileMap entirely. Since images aren't thread-safe we instead wrote the decoded color to a PackedByteArray and then converted that to an Image at synchronization. The fire simulation runs surprisingly well on the main thread, so that was left as was. The best way to maintain performance was to use GpuParticles2D and write to a pointmap to communicate where the fire would emit from, letting us offload a huge chunk of the work to the GPU. So everything you see there when a big fire is going is one singular particles node!

Seems like using threads on web builds are best suited when deployed sparingly though, and where the performance gain really counts. In the future we'll certainly be more careful with how we utilize concurrency!

Submitted

Very cool—thanks for sharing a glimpse into the inner workings of your game here!

Submitted (1 edit) (+2)

I smell a rat, here!  Ohhh, multiple rats.  And you play as a cat, I would assume they were dinner, not weapon-wielding crazies...   The things I do not know...

I like the concept, for sure.  Using materials around you for your attacks is neat.  However, it seemed like I was using attack after attack and they would continue to chase me without be taken out.  Maybe I was just terrible at it.

Well done!

Developer

Thanks for playing!

Some of the attacks definitely needed a bit more balancing in order to deal a correct feeling amount of damage.

Submitted(+2)

Unfortunately, we only get a week.  A couple of us had less time because we were submitting to another jam as well.  Balancing and bugs are not the easiest, especially with a ticking clock, so unless it's something that actually 'breaks' the game, I don't let it affect my review.

HostSubmitted(+1)

Okay that was SUPER COOL I love the alchemy mechanic using the resources AROUND you, not having a stocked up inventory or mana or anything like that. Could see that being really fun if expanded further!

I also REALLY loved the aesthetics of the procedural fire spreading. Something was really enchanting about the visual style overall. Great work!

A bit glitchy and I kept hitting invisible walls, so the combat/collisions could use a bit more polish, but overall the direction this is going is really interesting!

Technical notes: I definitely had better performance when downloaded vs. the web version! Might want to look into the multithreaded stuff more, because if I recall, godot web exports don't really support threads? I'm not an expert on the technical stuff so I could be wrong, but it may explain your performance drop on the web version if you were designing everything to be multithreaded

Developer

Thanks for playing!

I'm noticing in your video that you are using r to reload the world. This was an unremoved debug key, and it's not properly refreshing all the collisions correctly. It definitely should have been removed haha

Yeah, we built too much of the functionality with threading in mind, and realized far too late that it made the game run poorly in browser. Oh well, something to know for next time.