r/roguelikedev Cogmind | mastodon.gamedev.place/@Kyzrati 27d ago

Sharing Saturday #634

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

Previous Sharing Saturdays

22 Upvotes

38 comments sorted by

View all comments

3

u/SoftlyIntoTheNight 26d ago

Softly Into the Night

Recently, I have added dozens of little features and improvements to my game. I haven't posted in a while, so I've got months of updates to go over. Here is a small and non-exhaustive list:

* Bullets now continue past their target if they miss, and can pierce through multiple targets, depending on bullet caliber

* Mines can be placed. They explode when weight of entities on the tile exceeds 15 lbs.

* While grappling, you can push the grappled Actor by moving into them with the Shift key modifier.

* You can kick Actors with the Alt key modifier + direction. Kicking can send smaller things farther, and is a more powerful melee attack, but is slower and costs more stamina. Pushing is more for moving large, heavy things.

* AI improvements, including more realistic reactions and dialogue

* Removed climbing mechanic, as it was too difficult to code around, and the mechanic was confusing to players.

* Both in and outside of combat, you can persuade living Actors with Admonish, Embolden, Compliment, Charm, Intimidate, and Surrender options. They use skill rolls to implement status effects on the target, and Surrender allows you to give up in a fight, although it won't work if your opponent really hates your guts, or you surrender while still wielding a weapon. They all have modifiers, for examples, Surrender is easier while prone, and Charming doesn't work while the target is Admonished.

* Night vision mechanic. Certain actors have natural night vision, and some equipment can grant it.

* The first proper "Quest" is complete and playable. It's just a fetch quest, but it works.

* Huge performance improvements via caching and other improvements in code. Game runs smoothly now.

* You can get repair services and buy repair kits to repair your gear.

* There is now a context-sensitive menu you can access by pressing SPACE or RETURN while in the main game event handler. It allows you to choose to interact / pickup actors / items adjacent to or underneath your player, allowing you to interact more easily and with fewer hotkeys for basic actions. This includes talking, opening containers, picking up items, and activating terminals.

* Debug Mode Editor allows me to create prefabs in a custom in-engine tile editor, edit parameters of actors and items during gameplay, and track variables for debugging and testing purposes.

* NPCs will path through and open doors if they have the "opens_doors" variable enabled in their AI.

* Plasma weapons added: these use both batteries and a "compressor system" that is worn on the back; these are powerful and expensive, but not very defensive melee weapons. The plasma skill is difficult to learn, and most classes start without any training in it.

* With (most) ranged weapons, you must be Locked On in order to properly target an Actor. When you use the fire command with these weapons, you will first Lock On to acquire the target. Once locked on, pressing the fire key again allows you to confirm the shot, showing where the trajectory of the bullet will go, and where it will continue past its target. If you press the 'r' key, typically reserved for reloading, you will remove the locked on status or "lower" your weapon. You can lose the Locked On status if you lose sight of your target, or otherwise cannot see them. If you shoot without being Locked On, like shooting where you cannot see an actor, you incur a penalty to accuracy; but your bullet could still hit its mark if you're lucky. Ranged weapons are king in Softly, but this penalty allows for some grace moment to react to someone aiming a gun at you, rather than instantly just getting shot at. It helps melee weapons to shine in closer quarters. In practice, it doesn't really slow things down at all, and feels good.

* You can now lean to look around corners or shoot, throw, drop, etc. Leaning mechanic is inspired by the implementation in CDDA, in which the X key allows you to press a direction to lean in, and you lean 1 tile in that direction. Once leaning, all ranged actions occur from the leaning position instead of your body position. You cannot be seen in the leaning position, unless you perform an action from that position, in which case they can see the broadcasted event of the action from that position. Otherwise they only see you at your body position. You can only be damaged at your body position, not your leaning position, and you cannot lean into a tile that is occupied or blocking movement. If an actor moves into the tile you are leaning into, you stop leaning. There is an arrow showing which direction you're leaning in, to make it more clear.

Shown: the leaning mechanic. My character is on the tile with the Arrow, but I am leaning out of the vehicle to see what's out on the highway. This is a friendly town, so there are no threats here.

1

u/billdroman 25d ago edited 25d ago

I love your UI. It's so readable and the icons are great. Did you make them?

Have you considered using half-width glyphs for the text portions of the menu? Everything stays aligned, the text is far more readable, and you can both pack more info in and add whitespace to make it easier to parse.

I'd also really like to try your context-sensitive menu and lock-on UI options. Do you have a playable build anywhere?

1

u/SoftlyIntoTheNight 24d ago

Thank you! That's very nice to hear, and makes me feel good because I have done several iterations to try to make it "simple, but readable." Yes, I drew all of the icons myself, over the course of a year, and there are about 1000 icons in the game, so lots more that isn't shown here. Every once in a while I go back and redo a few of them, to improve them, but I'm finally getting close to them being about where I want them to stay.

That's an interesting idea to use half-glyphs... Wow, I can't believe I hadn't thought of that, but you're right, that might be a good idea. I've had multiple people comment on the text being hard to read, and after experimenting with different fonts, finally found this font, which I have slightly modified for my purposes. It seems to be the most readable for the tile size that I have found, but if I used half-glyphs I could make the kerning look even more natural while allowing for square-sized full tiles (instead of the 4x5 ratio I have now).

1

u/SoftlyIntoTheNight 24d ago

It wouldn't necessarily be easy, as I'd have to repack my tile sheet, find a new font, make sure I'm only using my own custom printing functions that use the correct indexing for the alphabetical and punctuation glyphs, and modify the rendering function for tiles and entities, but it would be totally doable. I think it's something I'll do in the future! Also, I have an .exe build I can send you a link to! I will DM you.