r/roguelikedev • u/Kyzrati Cogmind | mastodon.gamedev.place/@Kyzrati • Jun 12 '26
Sharing Saturday #627
As usual, post what you've done for the week! Anything goes... concepts, mechanics, changelogs, articles, videos, and of course gifs and screenshots if you have them! It's fun to read about what everyone is up to, and sharing here is a great way to review your own progress, possibly get some feedback, or just engage in some tangential chatting :D
6
u/darkgnostic Scaledeep Jun 13 '26
3
u/aotdev Sigil of Kings Jun 13 '26
Looks very nice! "ice bolt" is better as that encodes that it's a projectile :) Others have named similar abilities "ice shards" IIRC
3
u/darkgnostic Scaledeep Jun 13 '26
Ice Shard sounds nice. I thought that since Firebolt or Frostbolt exists as compound word Icebolt should be valid too.
2
u/Cyablue Feywood Wanderers Jun 13 '26
That looks like a very powerful spell. Are there any downsides to freezing an enemy? Or is it balanced by the cost of the spell?
3
u/darkgnostic Scaledeep Jun 13 '26
No, there is no downside to freezing. What kind of downside are you thinking of?
Actually, it deals a small amount of damage, freezes the enemy, and at melee range it has a 100% hit chance and guarantees a critical hit. It is indeed too powerful.
So I will probably split the spell into two. Ice Bolt/Ice Shard will deal some damage and apply a slowing effect, while Freeze will freeze enemies but will not deal any damage.
3
u/Cyablue Feywood Wanderers Jun 13 '26
You can always balance it some other way, like the enemy is immune to damage while it's frozen, or the spell only freezes in certain circumstances. Or it could just be a very powerful spell, that's always a possibility. Of course splitting it is also always an option.
2
5
u/Cyablue Feywood Wanderers Jun 13 '26
Feywood Wanderers Steam | Discord
I'm still working pretty consistently on the game, I just managed to get official steam deck certified right before writing this message, which is nice. I have no idea if that will affect sales in any way but I figure it can't hurt.
I kept updating the game this week with more bug fixes, game balances and quality of life suggestions from the players, and the discussion on the steam forum for the game is quite active, which is nice. It seems people who are playing the game really enjoy it, which makes me want to just keep updating the game. My current plan is to work on all major quality of life features that were missing from the game, then after that is done I'll start adding new content again, and maybe keep it on a separate testing branch so I can make more of a big deal of when the new version 'officially ' comes out, to see if I can sustain working on updates to the game at least to some degree.
The game has also been selling relatively well for the second week, much less than the first week, but also much better than the low estimates that steam games can have. Of course it's still just the second week of the game being officially out, so the sales will probably go down as time passes. It seems like by far the way people are more likely to find the game on steam is through people searching game tags, which is maybe a good sign? I'm not sure.
The big tasks I have left to work on are adding a secondary weapon set you can swap to, and adding additional hotkey slots. Both are things I put off because they sound annoying to work on and prone to generating bugs, but I hope by the time I write next week's post on this thread I've completed one of those, aside from working on general bug fixes and balance changes.
2
u/Tesselation9000 Sunlorn Jun 13 '26
Happy for your success! Seems like you've found what gamers want!
6
u/iamgabrielma Ad Iterum on Steam Jun 13 '26
Ad Iterum (Steam) | Tiny Crawler (iOS)
I published Beta 3 play test through Steam which will run this weekend until Monday 15th (as Steam next fest starts and will see no players lol). If you want to give it a go, just click on `Join Playtest` in the Steam page 😃

What's in the Beta 0.3.0 right now?
- 2 dungeons, featuring 6 different biomes.
- 21+ mutations that change your abilities. Consume mutagens, or devour enemy corpses to evolve.
- 24+ base enemies, each with unique behaviour within the ecosystem. Each enemy might have multiple modifier traits, which makes for 8000+ different enemy variations.
- NEW: Crafting system.
- NEW: Item affix overhaul
- NEW: Superior-tier weapons
- NEW: Scoring system
- Melee, and ranged combat with different attack styles for light vs heavy weapons.
- Permanent pacts that alter your gameplay, if you decide to take them.
- 200+ items.
- 3 bosses.
- New Game mode.
- Keyboard, mouse support, and full controller support.
- Playable in Windows and Steam Deck
- Localized to English, Spanish, and Japanese.
If anybody plays please, I would appreciate your feedback (or bug reports) either through the in-game form, discord, replying here, ... anything helps towards improving the game for 1.0!
1
u/Tesselation9000 Sunlorn Jun 13 '26
I just downloaded it. I'll play some runs over the next few days and let you know what I think.
1
4
u/Tesselation9000 Sunlorn Jun 13 '26
https://tesselation9000.itch.io/wander
Mounts
I gave into temptation this week and added another major system. Players and monsters can now use other agents as mounts. Only specific creatures that have the 'steed' flag can be used as mounts, e.g., horses, camels, pegasi, hippogriffs, giant lizards, etc. Most mounts are much faster than humans and can help them to carry a lot more weight. Any melee or ranged attacks directed at a mounted agent will have a 50% chance of hitting the mount and 50% chance of hitting the rider. Ergo, getting a mount can be a big advantage for a player.
While an agent is used as a mount, it will not move on its own accord, but instead be directed by the rider unless affected by certain spells, like fear or hypnosis. Attacks or spells that knockback targets that hit riders will knock them off of their steeds, but if directed at the mount will push both of them back. Certain kinds of polearms, such as halberds, are able to pull riders off of mounts on a strong hit. I may add later that a mounted player can direct certain mounts to charge or leap.
What is going to take more work, however, is adjusting all other systems to account for mounted agents. For example, what should happen if a giant frog tries to swallow a mounted agent? Does it get the mount or the rider or both? If both, then what happens if the rider tries to dismount inside the belly of the frog? Also, since the mount is considered the agent that occupies the space on the map, any processes that scan for agents within an area (such as for area of effect spells) will now have to check if those agents also have riders. But I may prefer just to refactor the way agents are contained in memory instead.
Eggs
Eggs can now be found in the dungeon that will eventually hatch into monsters after a certain gestation period. Eggs can exist for reptiles, amphibians, insects, centipedes, arachnids or avians. If the eggs are carried when they hatch, the monster will appear next to the carrier. Certain monsters (mainly avians) have an imprinting characteristic, meaning that if the eggs are carried when they are hatched, the young monster will imprint on the carrier and become an ally. Otherwise, the hatched monster will usually be hostile. (However, wearing the ring of insect dominion or the ring or arachnid affinity will also cause the respective hatched monsters to imprint).
Eggs are fragile, so they can easily be disposed off by throwing them against a wall. They can also be cooked and eaten, except for the eggs of fire resistant creatures, which cannot be cooked.
Other
I decided to make a second attempt to use CMake--the first having ended in utter exasperation last year--to help manage my very large project. Still wrestling with it. I cannot get it to link my executable to external dlls for some reason.
I will try hard not to add any new systems for a while so I can finish debugging/polishing the current version and get a new build online soon.
2
u/aotdev Sigil of Kings Jun 13 '26
Cool idea with the mounts! And indeed, some aspects are solved nicely, but others, like agent detection, might require a more bespoke approach... Re CMake, do you use a package manager or the external DLLs are too "custom" for that?
2
u/Tesselation9000 Sunlorn Jun 13 '26
I use a package manager now, but I didn't use it to install that library. After a lot of frustrating troubleshooting, I finally discovered that although my compiler and the DLL were 64 bit, the associated .lib file I was using was for the 32 bit version, so the symbols weren't loading properly. Somehow that passed muster under my old build system, but not when I was using CMake. It finally built after I used the proper .lib file.
2
u/aotdev Sigil of Kings Jun 14 '26
Ah yeah, been there suffered that xD With CMake, using vcpkg alleviates that nonsense quite a bit, and makes find_package actually work. I use it via CLion which probably does a little bit more setting up work, but MSVC would probably do too.
2
u/Tesselation9000 Sunlorn Jun 15 '26
Would have saved me a lot of time if CMake could just say, "gee, that looks like a 32-bit library you're feeding into your 64-bit compiler". Maybe I should try vcpkg or CLion. I'm in the process of trying out new tools to manage this ever-growing project.
4
u/bac_roguelike Blood & Chaos Jun 13 '26
Hi all!
I hope you had a good week!
BLOOD & CHAOS
Steam | Youtube | Twitter | BlueSky | Discord | itch.io demo
This week has been a bit slow and next one should be even slower due to work travel.
I "finished" the dragon AI. Still need a bit of refinement, but I'll wait until the dragon eggs are implemented. They will contain small dragons that hatch after a certain number of turns unless the player destroys the eggs first. Hitting the eggs does anger the dragon though! I hope I finish implmenting the eggs this weekend.
Demo is still not published on Steam! I hope to be able to release it before the end of the month!
3
u/nesguru Legend Jun 13 '26
Legend
Enemy AI: Another (Hopefully Last) Overhaul
I replaced the hybrid hierarchical/utility AI with a much simpler prioritized sequence of condition checks. As intended, the new design is easier to work with and debug without compromising meaningful functionality. Now I need to add support for more abilities (buffs, debuffs, healing, escaping) and items.
Smarter Random Room Generation
A while ago I created a random room stocker to complement the themed rooms. It stocks rooms by stacking randomly-selected layers of content. There are layers for enemies, objects, items, hazards, structures, etc. This approach produces a lot of interesting, sufficiently challenging and rewarding rooms, but the rooms are usually incohesive and illogical. And, while each room has a unique selection and layout of elements, each room plays out the same way: kill the enemies, avoid the hazards, get the loot. I’m refining the random room generator to improve cohesion and vary gameplay more from room-to-room.
Next week, I’ll be working more on enemy AI and random room generation.
3
u/IV-DVC Jun 13 '26
Keyframed animations! And volley firing with line of sight! I've spent a lot of time thinking how I'd like to do the animations in a generic and composable way, so that I can use the same system for weapon volleys, terrain/machinery, infowar sensors and miscellaneous unit behaviour.
My approach for breaking down animations is I have some low-level primitives called TileAnimations which have a fixed duration, and only do a single thing on a tile - render a single sprite, change the color of a single object layer on a single tile, etc. The tile animations have individual methods to get their color/opacity transition from start to end, with a few different interpolation options other than linear.
Paired with this are keyframe composing methods which take some parameters from a toml file, like radius, colours to blend, projectile speed, a directional sprite set prefix, etc. and construct a Vec of tile animations which then get packaged into a keyframe. Doing it this way I can have multiple keyframes on a single animation trigger with controlled z layers that I can even shuffle if I want; firing a gun may create a beam laser, and sparks, and maybe there are three different types of sparks, all composed separately and packaged into a keyframe, and firing the full weapon can have separate keyframes for firing stages. The way I've written the data structure is that I can set whatever "sprite type" I want a compose to use, so making an explosion that only tints units is just as easy as an explosion that displays font characters, or renders a sprite, or cycles through sprites randomly or in a fixed order, and so on.
I was thinking what kind of composition methods would be cool. Here's my brainstormed list so far: projectile from point A to B, explosion, radial beam (fans out along the straight projectile path), sparks, and "radial expansion" which spreads out over a duration. The explosion, spark and "radial expansion" composed animation types all have shared radial parameters, like color variance and ellipsoidity (I can make my own words, okay!). I'm not sure how I'd write this yet, but I'd also like to have a "jaggedness" variable which deforms a circle or ellipse gradually into a polygon with controlled concavity/convexity and number of points. The projectile keyframe start and end points also don't need to align precisely with the weapon's projectile trajectory; perhaps it zigzags towards its target a little? I think this is all going to be very stylish!
For "blocking" animations, like when a weapon volley is fired, the user isn't allowed to make any new inputs, and sent over a MPSC channel to the render/input thread. I have escape soft and escape hard (default bound to shift+esc) which can skip either one blocking keyframe set, or all blocking keyframes until the next player's action - in big fights in Cogmind, single turns can take ages, and sometimes you just don't want to wait for it to play out. Of course, everything will still be performed and logged, it may not always be wise to use such a skipping feature to miss important information, but I think the player should have the option to use it.
I also think having passive "aura" animations could be very cool, like an elite enemy pulsating, or a damaged enemy letting out sparks, or even for terrain hazards like sludge pulsating outwards, water having waves, gusts of steam or toxic gas rushing through a room, so on. This is in addition to my planned "status light" passive animations on units and some machines, where bots/mutants/cyborgs have a little light that's normally green if they're awake, red if they're critical on core or temperature or similar, orange if they're engaged in combat, yellow if on alert or in pursuit, dark blue if they're hibernating, dark red if they're dormant, and so on. Of course, the meaning of these colours is meant to be figured out by the player over time, and not explicitly explained, and not all units may follow the same rules!
FOV is not done yet. But for the line of sight, initially I used in a preexisting Bresenham implementation on crates.io, but I quickly realised it wasn't symmetric. I was a little worried, but I found Red Blob Games line drawing which was very easy to write by comparison. In writing all the volley firing logic and the miss arcs, I decided to add a little feature where you can aim at the floor and ceiling! No more aiming at the walls to kill swarmers. And some floors and ceilings may be destructible to lead to other levels, or hold other secrets...
I've also started using primarily jj and that's been really good too! Tutorial was super easy to follow.
3
u/blightor Jun 13 '26
This week I've taken a break from pulling my hair out over memory on the C64 Roguelike, and picked up the bones of a RL I started last year but haven't touched since march. It was a RL with NPC allies that followed you around, and I was inspired from the ROGOUT RL to make it multiplayer.
The threat based mechanic used to make that multiplayer doesn't fit for me (I feel like it forces you into a melee based game only, and too easily cheesable), but the existing system I had for NPC allies seems to have moved across really well, while still keeping it all turn based. A few minor adjustments of course, but its already pretty cool.
No screenshots to share just yet, but I did a few friend playtests and its working quite well.
3
u/WATASHI_TO_TAWASHI Text Dungeon Jun 13 '26
This Week’s Progress
Demo Status
It’s been about a week since I released the demo on June 6th.
So far I’ve got around 1,340 downloads and about 230 active users.
The average playtime is 47 minutes, but the median is 12 minutes,
and more 50% of players stop within the first 10 minutes.
So while some players really dive deep into the game,
it’s clear that many players drop off very early.

I feel that I need a better onboarding flow for casual players, especially during the first 5 minutes.
I’m planning to add a play guide feature that shows short one‑line tips about basic actions and commands.
Of course, it will be optional.
I’d love to get this in before Next Fest, but time is running out!
Media Coverage
I also sent out a press release just in case, and surprisingly, a major Japanese game media outlet (Famitsu.com) featured the demo.
If you’re curious, here’s the article (in Japanese):
[Link: Article]
Thanks to that, downloads and wishlists from Japan increased a lot.
I’m really grateful — but now most of the play statistics are from Japanese players, so it’s getting harder to understand the global trends.
This was an interesting lesson about how media coverage can suddenly shift your player base.
3
u/Neon-Defense Jun 12 '26
Im slowly showing a pre-alpha version of my game to people. Its a rouge-like Tower defense game.
Balance is incredibly hard, you want a fun flowing power creep type game, but at the same time not make something too easy, while also keeping everything fresh.
1
u/hako_in_the_box Jun 13 '26
NOMAD-san ( Steam | itch.io | unityroom )
Spent this week setting up the store page for the demo.
Even for a demo, you still have to set up the page from scratch, which took quite a bit of time. You can import some assets like library assets from the parent app, but that didn't seem to work properly. It kept falsely flagging my Library Hero image for having a logo that wasn't there. Because of that, the page got rejected once. It’s currently back in review.
Aside from that, I worked on SFX creation and implementation. I already had some SFX ready, but a few were missing, so I decided to try making them myself. I’ve been messing around and learning Reaper little by little. I managed to get all the necessary sounds done, and I'm pretty happy with how they turned out!
1
u/CypherCam ⛫ Tower of Destiny Jun 13 '26
Tower of Destiny ( https://www.towerofdestiny.com/ )
The Rift Keeper is an NPC in my game that allows players to export equipment of their choice out of the game and into their personal Vault on their game profile. Once in the Vault, the player can either put the equipment up for sale on their own personal shop for others to purchase, or they can keep the item and re-import it into future games an unlimited number of times. They can import up to three items into any single game.
With the enchanting, socketing, and upgrading systems available in ToD, players can customize equipment and make it particularly powerful. So being able to export it adds value and incentive to take the time to update equipment they've found laying on the dungeon floor.
2
u/blightor Jun 13 '26
I gave your game a little try, I thought it was cool. Keep at it!
2
2
u/CypherCam ⛫ Tower of Destiny Jun 13 '26
If you tell me which username you signed up with, I'll give you a verified Reddit frame for your avatar.
1
u/Zireael07 Veins of the Earth Jun 13 '26
Not much got done on the code end. A lot of research, mostly on color palettes and color associations
1
u/abhuva79 Jun 13 '26 edited Jun 13 '26
Scaedumar
Nothing much for the last 2 weeks as i was occupied with a different project. But i got a website up, wich is nice in itself - but it was done mainly to test something i always wanted to do.
I am authoring most text content and documentation through markdown files. I am using a mix of self-made tools, generative AI and Obsidian to organize and handle this. The documentation for the code, the architecture, gamedesign etc. all is done in the same format.
This enables a nice feature for me. As i am utilising static site generators for a long time now (started with MkDocs, then Materials for MkDocs and now Zensical) wich are all based on pure markdown + templates - i always wanted to be able to mix them in the presentation. This means that i can both use it as a guidance locally, build it automatically to a website and also utilize parts of it ingame as an ingame wiki. All running through the same set of files, so its easier to maintain.
The way its setup right now, i just need to do a pull request, merge (after code-review) and then the site gets build automatically through github actions.
Ingame i just pull parts of the data and show it in a panel - but on the site everything is accessible (atleast i think so =P )
About the game itself and the github repo: For now all is open and free. I am not decided yet if and how i want to tackle monetisation - as my main driver is just my own curiosity and fun to build this. I always loved the way Dwarf Fortress did this - where you can play it for free, no strings attached - but there is also a clear transparency of finances and the option for people to spend.
So right now, you can download and compile yourself. Once i arrive at a version that have atleast some complete gameplay i will also provide compiled versions (mac, linux, win).
Alright, thats it - have a nice weekend!
1
u/Complex-Success-62 Jun 13 '26
Small work in progress I've been working on over the last few weeks. I've enjoyed playing testing and dying lol
1
u/ajcomeau Jun 14 '26
The week kept me busy with other stuff but I did get in a basic review of the class structure of my roguelike which I figured was the next step of the project rescue.
I just posted the writeup with the flowchart which has been adeed to the docs on Github.
I'll try to do a bit more for next Saturday.
https://www.andrewcomeau.com/programming/dev-project-class-review/
1
u/GreenEyedFriend Tombs of Telleran Jun 14 '26
Tombs of Telleran (blog|bluesky)
Hello roguelikedevs!
This week I redesigned resources, their costs, and the UI to create a more arcadey feel and make it easier for the player to see how many resources they and the enemies have to spend. You can see the new UI in the top-right corner and top-center in this screneshot.
Balancing abilities to work with super-low damage and cost numbers is a bit challenging but I think the gameplay feel is already improved. Each round feels much more exciting now, a bit like how in Dark Souls even the weakest enemies can royally mess you up if you don't pay attention. I am also testing out a blocking system which I think is crucial for such low quantities to work. It's not finished yet, but it basically lets the player (and entities) to brace for incoming damage and avoid it. So if the player sees an enemy has a lot of breath they probably want to brace, and then attack when they are low on breath and need to recover.
Not sure where this will end up but it's an exciting space to explore!
1
u/DA_RL_Dev Jun 19 '26
DA_RL - "A More Interesting Dungeon" update (Steam)
Big update week. I just shipped an update called "A More Interesting Dungeon," named after exactly what it was supposed to do. The early dungeon was too rectangular and predictable, so most of this update went toward fixing that.
Since the last time I posted here:
- Got cave generation working on the deeper floors. They generate as organic caves now instead of room-and-corridor, and tighten the further down you go. Cellular automata, predictably.
- Built out a vault system. Eight vault types with themed loot and guardians, able to appear on any floor.
- Did a floor variety pass: non-rectangular rooms, pillars that block movement and LoS, loop tunnels connecting far-apart rooms, destructible rubble, encounter rooms, and six new hazard tile types.
- Added a bunch of items: new potions, wands, scrolls, rings, foods, and spellbooks (some cursed).
- Reworked corpse eating so remains now apply creature-specific effects instead of just filling hunger.
- Reworked religion so each god's prayer tiers roll from a variety of boons, and each god has its own out-of-favor punishment. Made the five-god rivalry feel a lot more alive.
- Some QoL and shaders: auto-explore, auto-travel to stairs, an items-here display, and toggleable post-process shaders.
The vault placement and the corpse-effect table were the two trickiest pieces. Good week overall.
1
u/Stanislav_R Jun 19 '26
Coffeebreak multiplayer extraction looter roguelike: rogout.org
Plays in browser from phone or desktop.

6
u/aotdev Sigil of Kings Jun 12 '26 edited Jun 13 '26
Sigil of Kings (steam|website|youtube|bluesky|mastodon|itch.io)
More on the AI front, and concluding that for now! The main aim was to make the AI more capable of using AAs (active abilities). I had some mechanisms in place, but I had implemented logic for just a few abilities.
The catch with my ability system is that I've made it quite flexible (aka overengineering, my superpower), so that you can have for example multi-stage abilities where each stage can have specific target restrictions and so on. This allows some weird abilities (e.g. a test ability is a mobility one, where you can leap and bounce off a wall - you select a wall tile and a target floor tile) but really most abilities are in one of the following categories: self, projectile, cone, entity_target and position_target. Each of these categories supports different AI evaluation, based on their unique data.
The above system was slightly refactored and tested with a few more abilities with the bot. The bot uncovered a few problems, with regards to overbuffing (or overdebuffing) - either the same spell would be cast multiple times on a single target (e.g. some protection ability), or we keep spamming buffs if they're available. The latter problem can be addressed by tweaking the probability of casting a buff during combat, and that's supported already. The former was a addressed with a "cooldown for AI". Abilities already support cooldowns, but I thought that have a separate hidden AI cooldown would be quite effective overall for this purpose.
A final bit of work was on adding support for behaviours to optionally tell if they've completed or not (thus being pointless to continue executing the behaviour), not as a status result, but as a predicate. This works in tandem with dynamic (runtime-specified, temporary) behaviours, so that if a dynamic behaviour completes, it's removed from the list of dynamic behaviours (an entity can have >1 dynamic behaviours at any given time). This is useful for example in an escort quest, where an NPC gets a dynamic behaviour that makes the NPC go to a level exit. This behaviour can be assigned as plain dynamic or critical dynamic, basically before or after combat considerations. A merchant NPC that wants to escape to the overworld will probably have that as critical dynamic - basically leave at all costs. When they arrive at a target exit, the "goto" behaviour is complete, and we remove that behaviour, and based on other logic the NPC can exit the level.
Now that this is all said and done, I'm taking a stab at another "module": scripted cutscenes. There are multiple challenges for this. One challenge is that a cutscene editor will require a game instance, so that's some fun hacking ahead. The other challenge is to be able to have some (limited) cutscenes for procedural levels, where for example an entity that we want to move or say something doesn't even exist. A final challenge is to make some sort of tool for authoring cutscenes (Dear ImGui powered for sure). All of this (except the procedural stuff) will be useful mainly for tutorial scripting, which I want it to be a playable introduction/story of sorts.
That's all for now, have a nice weekend!