Chaosforge Forum

General => Off Topic => Topic started by: Sereg on February 02, 2019, 21:59

Title: Working on a roguelike...
Post by: Sereg on February 02, 2019, 21:59
<Latest version: Demo 0.1.3.0 @ 03APR2019 21:15 CST>


I've been inactive here for quite a long time due to RL commitments, although I have been occasionally (quietly) observing the progress of Jupiter Hell - from what I have seen, it's looking good and I hope to have some time to get into it in depth in the near future.

That said, part of my RL commitments have involved learning to code, and I've been working on a roguelike of my own. I have a very small group of friends I've shared it with, but I'd like to put it out to a slightly larger audience for a better range of feedback, and since it's, at least to some extent, inspired by DRL, I thought this would be a suitable place to make it available.

I've primarily been working with Java, so I distribute it as a .jar. If anyone would like to help me test it, here (https://drive.google.com/open?id=1rHBPE7Mi0D4p8l3P01bLNMFdi_nA8Rhp) is a download link - I'm currently hosting it out of my google drive since I don't have any sort of website or anything else at this point.

For anyone playing on a smaller monitor, I recommend enabling the Maximize Screen option - I don't currently support dynamic resizing, so this is my solution to legibility issues on smaller screens for now.

In the interest of full disclosure, this is an extremely early alpha release, and the gameplay is incomplete(although winning is possible), unbalanced, and very unpolished - there are also probably most definitely bugs lurking that I haven't detected during my own testing.  Edit: Already found one! Link updated with a bugfix.

If there is any objection by the Godhand or the Inquisition to my releasing a personal project unrelated to the Forge on this forum, do please feel free to remove the link.

Thanks for reading,

-Sereg

Edit: As of 03 APR 2019, I have iterated from Alpha to Demo. At this point, I had planned to move into a Beta, but due to other projects, I am indefinitely suspending active development on Viridian Abyss. I will, however, continue to support it with balance updates and bugfixes based on player feedback.

Thanks to everyone who helped out with testing the Alpha, especially Tormuse and mihey1993, my most prolific players. Your feedback was essential to getting the game to its current state - I greatly appreciate your participation, and I welcome continued feedback on balance issues and bugs - there are definitely a lot of these still out there, which I'd love to get cleaned up.

I'll also probably bring my other projects here in the future, but that may be a long way out - I intend to spend much more time on design and quality assurance so I can avoid the massive amount of bugs I experienced with Viridian Abyss, and keep the code cleaner and more conducive to continued development.
Title: Re: Working on a roguelike...
Post by: Kornel Kisielewicz on February 03, 2019, 06:12
No problems on my side - I'd have issues if this was the only reason you'd register and post, but as a long time community member, you're more than welcome to post your stuff :). I might take a look myself, but probably at work, because I don't want to setup the needed java stuff at home (in the long run you should research the all included deployment setup of java projects).
Title: Re: Working on a roguelike...
Post by: Sereg on February 03, 2019, 08:16
I appreciate your approval - thanks, Kornel.


I'll definitely look into other methods of deploying projects as I continue my education - this is simply the format I am most familiar with and it's sort of a starting point as I develop my skills, but I do realize how limited it is.


Thanks for the advice - and if you do end up having a look at it, I'd definitely be interested in your thoughts.

Title: Re: Working on a roguelike...
Post by: Tormuse on February 03, 2019, 17:48
Ouch...  that font is not easy on the eyes at all.  :(  Even when I maximize it, I still have to lean forward and squint at my screen to read anything.  (So when I saw the text wall at the beginning, I was like, "F...  that!")  :P

Anyway, it looks pretty cool!  :)  I wandered around for a bit, fighting giant red rats and I'm already encountering a bug that I can't access the menus.  (Like they appear greyed out when I click on them)  They started greyed out when I first ran the program and then I was able to access them briefly after I started the game, but after that, they've been perpetually greyed out and I can't look up the controls, so I have no idea what button does what.  I mean I can guess; I figured out that "i" accesses my inventory and "e" accesses my equipment, and "g" gets items on the floor, but anything else, I have no idea.  For example, I found a chest, but I have no idea how to open it.  :(
Title: Re: Working on a roguelike...
Post by: Sereg on February 03, 2019, 19:10
Thanks for trying it out, Tormuse. Out of curiosity, which version did you download? I've been pushing updates somewhat frequently as I continue to work on it...

I did encounter some menu oddities, but at least during my tests, they have been resolved as of the 0.6.3 release which I've just uploaded - I believe it had to do with how I handled loading existing game files, so if you delete your existing game.sav file that should also resolve the menu issue(this can be done by quitting with ctrl-q instead of ctrl-x - I frequently use the q option in my testing and I believe that's why I hadn't noticed the menu problem until just now).

Typing '?' will load the exact same help screen that the menu option does, so there is some input redundancy available if you continue to have trouble with the menus - but do let me know if that's the case, since I'll want to look into that if my latest fix doesn't resolve the issue on your end.

Typing 'a' will "alter" your environment and is a general purpose command that does different things depending on what you use it on - it should allow you to open chests and doors, among other things.

As far as the text, is it solely the font that's to blame or the formatting also an issue? I can certainly look into changing the font if that's the only problem, but the formatting is dependant on the underlying console program and may prove much more difficult to change... My latest release features additional screen size options and the ability to resize at run time, so give those a try and let me know if anything helps. If not, I'll consider other fixes.

The text walls that occasionally pop up are just some BS lore I've written to give the game a setting. It can certainly be skipped with minimal loss of enjoyment(or perhaps even gain, if my writing is as awful as I suspect, lol) for the rest of the game.

Thanks again for your input - I welcome feedback from anyone, but, having read your commentary on quite a lot of topics during my time here, I find yours especially valuable.

Edit: Alpha 0.6.4 is up with support for font selection from a limited set of common fonts. Please let me know if this helps with readability for you, and feel free to suggest other fonts for future inclusion.

Edit2: Help! Can't stop coding. Must go to sleep... Anyway, 0.6.5 is now available, which features an additional color theme which may help visibility - or screw it up even worse. I suspect lots of fine tuning will be needed to get it to look decent, but give it a shot and let me know what you think.
Title: Re: Working on a roguelike...
Post by: MaiZure on February 04, 2019, 02:29
I found it basically unplayable due to being unreadable on Windows 10

For reference, I had a project going on in the background so you can compare text size and spacing.

Look forward to seeing what this could turn in to though!

EDIT: 1920x1080 on a 14" laptop screen with 150% scaling
Title: Re: Working on a roguelike...
Post by: Sereg on February 04, 2019, 07:56
Thanks for having a look, MaiZure; I apologize for the issues.

I also use Windows 10 - I suspect the issue is the ratio. Your screenshot appears to be significantly wider than it is tall(the image file, at least, is 1911 x 981), which would certainly affect the automatic sizing algorithm my console program uses. In fact, it appears to be off by so much that the menu bar wasn't allocated any space, and without the menu bar, it isn't possible to change the default sizing or the font.

Unfortunately, my testing pool up to this point has been very limited, so this isn't an issue I've encountered yet (which is even more reason to be grateful to those of you willing to do testing under different conditions than are available to me), so I'll have to do some research and see if I can find a way to adjust the console program to be more compatible with different environments.

Thanks for bringing it to my attention - I am not sure that it will be something I'll be able to resolve quickly, but at least I am now aware of that particularly unfortunate deficiency.
Title: Re: Working on a roguelike...
Post by: Tormuse on February 04, 2019, 10:00
Thanks for trying it out, Tormuse. Out of curiosity, which version did you download?

Version 0.6.2.  Also, MaiZure's screenshot shows pretty accurately how unreadable the font was.  I'll give the new version, 0.6.5 a try and see how it compares.

EDIT:  I played around with the fonts and I think I like Verdana the best.  I think the formatting does contribute to the difficulty in reading though; it would help if the letters are closer together when it comes to text that you're supposed to read, though I understand that that's probably a lot harder to implement.  On a related note, I finally read the big text wall at the start and I have to say...  the images of snakes are "unsettling and disturbing?"  Incorrect!  Snakes are cute!  :D
Title: Re: Working on a roguelike...
Post by: Sereg on February 04, 2019, 13:56
Alright, so I did some tinkering with the console program in an attempt to avoid the menu bar issue MaiZure encountered. I'm still not sure how to handle that very wide screen ratio, though - that may continue to be a problem, but at least he should now have access to the display adjustment options, which will hopefully make things more tolerable. It's also possible that I've broken something entirely new and unexpected, but it seems to work on my system, at least =P

On the legibility front, I've also attempted to improve contrast for better readability, and I've added two new display themes which might prove easier on certain eyes, so let me know how that works for you.

You are right that the formatting is a much more difficult issue to address - if that's consistently a significant problem, I'll have a lot of work to do to correct it, because the entire console environment is based on tiles of fixed size. I may have to create an entirely new tool for supporting that sort of text output.


And Tormuse, you're not doing a very good job of roleplaying, here - your character finds the snake motif to be unsettling, so it's your responsibility to assume that perspective ;)
Title: Re: Working on a roguelike...
Post by: Tormuse on February 04, 2019, 14:17
Can I suggest you put the version number in the file name or at least the folder name?  I don't know what version I'm downloading until I play it!  :P

Also, is there a command for looking at distant objects to identify what they are?  Or for that matter, identifying items that are in your inventory?  I found an "Atlantean Soul cradle," a "flask of Lemurian sacred oil," and a "flask of Atlantean fire water" and I have no idea what they do.  (Though maybe that's the point)  Also, also, the latter two items have their descriptions go off the side of the screen, so I don't know how much they weigh.  (I'm assuming the number in square brackets is the weight?)  Also, also, also, is there some indication somewhere of how much you can carry?

EDIT:  One more question:  is there a rest and/or wait command?

EDIT2:  "You found a ancient chestplate."  (Grammar, should be "an ancient chestplate")
Title: Re: Working on a roguelike...
Post by: MaiZure on February 04, 2019, 14:30
No worries -- here's what it looks like on 0.6.6 at 1920x1080 (my last screen shot was cropped, this one is full)

Still not really workable.

If you're thinking that view portability is a sticky problem, you are correct.
If you're thinking that the solution involves manually calculating logical screen size (resolution) and relating it to physical screen size (dpi) and computing scaling factors for display elements, you're on the right track.
If you're frustrated that putting all the work in to solving the problem doesn't actually enhance the 'game', all devs know that feeling :P

Title: Re: Working on a roguelike...
Post by: Sereg on February 04, 2019, 17:03
@Tormuse

I can start including the version numbers on the zip for subsequent releases.

You can pull up as much information as I provide on any given object into the info window, directly above the player view, by entering 't'argetting mode for distant objects, or 'i'nventory mode for items in your pack (in theory this should work for 'e'quipment mode as well, but I noticed recently that I don't actually do this yet - I'll have to update that). The best way to find out what an item does is to use it (by pressing 'u' or <enter> in inventory mode). You will either attempt to consume it and receive a message that should give you an idea what it does, or equip it, where it will modify the stats, and depending on its slot may provide additional information - for example, equipped weapons display their attack speed and damage type, and equipped armor displays its resistance to various damage types(I should include a legend for this in the help file, though).

You'll also get some help from the item name - Lemurian sacred oil, for example, is an alternate fuel for your lamp(since you will not find any modern lamp oil in the type of dungeon you are exploring), and the Atlantean Soul cradle is a rare type of armor that provides certain non-physical protective abilities(so rare, in fact, that in my testing I've never actually managed to generate one - congratulations on finding it). Try using the fire water and see if the message you get will give you a clue as to its use ;)

Beyond this, stats and uses are intentionally obscure - it's up to the player to learn which items do what. This is because I prefer games where learning is by trial and error, and I want to write the type of game that I will enjoy playing. Don't worry, there are no cursed items, although some items may modify certain stats in negative ways as a balance to their positive benefits(and it will be apparent when this happens) - nor does the game allow you accidentally do something harmful like try to drink a flask of lamp oil.

The capacity of your inventory is listed in the title of that zone of the screen. There's no limit on the number of item slots, as in DRL; rather, the limit is based on the bulk of each item, which is meant as a representation of how much space it takes up inside your pack. I'll see about handling overly long item names - I think I looked into moving the bulk indicator to the front of the description, but the implementation caused me some trouble. I'll revisit that and see if I can get at least a temporary solution.

There is a repeat command which applies to movement, including the pause command ('5'), although when testing it just now, I've discovered that it's broken due to some faulty logic and you won't be properly interrupted if something bad happens - I lost a fairly good run I was on by doing this, lol. I've already implemented a fix and it should be working correctly in the next release, but for now you can still repeat wait if you're willing to take the risk of death =P

As far as your second edit, I honestly haven't even looked at grammar yet - anything that's correct is hardcoded that way. For now I'll rework that particular message to read a bit better("You found an item: ancient chestplate.") - please do let me know if you find other instances like that.


@MaiZure

Most concerning to me is that your menu bar is still missing. I am not sure why that is happening, and it's somewhat distressing.

I appreciate your perspective on the problem, though - good to know I am not simply incompetent(or perhaps I am, but that at least is not the only issue, lol), but it sounds like I'll have a lot of hard work ahead of me to ensure that the game looks acceptable for a majority of users.

I don't personally mind putting in work on quality of life stuff - for me, at least, it's actually more rewarding to see a better looking, better playing result than to add some obscure piece of content that might be really cool if only someone actually ever encounters it (see Tormuse's Atlantean Soul cradle above =P). However, I don't have an extremely clear idea of how to proceed in that regard just now.

It's certainly something that will remain near the top of my to do list, but I'll have to consider the problem and do some more thorough research on both the underlying Java utility(swing) and the general problem of view portability. If all else fails, I can add more input redundancy and allow access to the menu functions via keyboard, but of course that's just masking the problem, and I'd much rather solve it =P I'll also have to find a way to generally improve the legibility of the display text - it really does look atrocious in your screenshot.


Thanks again for all the feedback, from both of you. I've said it before, but it really is quite valuable to have additional perspectives for testing - almost none of these issues came up during my own testing due to my limited test environment and play style, so without your feedback, this stuff could have sat unnoticed indefinitely.

Edit: I've just uploaded A0.6.7, mostly with the changes relevant to Tormuse's feedback. I have not yet made any progress on MaiZure's, unfortunately.

Edit2: And now A0.6.8, addressing inventory issues and a few other minor problems I discovered.

Edit3: Killed by the final boss - damn.

Autopsy: 2019.02.04.23.09.44
Killed by lemurian necrocrat on level 14
Kills:
75x giant red rat
20x cave worm
10x grave worm
38x tomb serpent
9x a swarm of tiny scarabs
5x albino tiger
15x mummified swordsman
1x mummified noble
2x spectral remnant
Title: Re: Working on a roguelike...
Post by: Sereg on February 05, 2019, 16:02
I've refactored the underlying console utility to compress the screen horizontally and increase the font slightly. I've also increased the minimum screen size, removed the medium size, and made maximum the default.

Hopefully this will make the larger text screens more legible.

Edit: As of Alpha 0.7.0, I offer a compressed display mode which hides the inventory and equipment panels and redirects messages to the info panel, allowing for a much larger representation of the game state at any given time. Inventory and equipment can still be accessed and now behave like more traditional roguelike interfaces.

I still have no idea why MaiZure's menu bar is not appearing, but I'll address what I can for now.

Edit: A0.7.1 is up, expanding autopsy files and adding info windows for inventory and equipment screens in compression mode.

...and I died again: Here's the improved autopsy:

Autopsy: 2019.02.06.20.41.19

Killed by lemurian necrocrat on level 14

Total XP: 28905

Equipped Items:
an ancient falchion (+2, 4d6+4) [Moderately Damaged]
<no item equipped>
an Atlantean torch <fire water:61%>
a Lemurian noble cuirass [Moderately Damaged]
an amulet of precision

Carried Items:
<70> an ancient khopesh (+3, 2d8+2) [Undamaged]
<25> an oil lamp <no fuel>
<35> an Atlantean torch <no fuel>
<125> a Lemurian noble cuirass [Slightly Damaged]
<2> an ancestral pendant
<3> an amulet of focus
<50> 10x flask [sacred oil] (100%)
<10> 2x flask [fire water] (70%)

Kills:
63x giant red rat
15x cave worm
15x grave worm
32x tomb serpent
16x swarm of tiny scarabs
6x albino tiger
17x mummified swordsman
4x mummified noble
2x spectral remnant

[checksum: 61dfe30c]
Title: Re: Working on a roguelike...
Post by: Tormuse on February 06, 2019, 22:33
(Disclaimer:  I was just playing with version 0.6.5 because I wanted to finish the game I was playing)

Anyway, I just finished a game in which I died...  I think?  It just suddenly dumped me to the desktop without any message.  I thought it crashed, but then I saw the autopsy file, which I'll post the contents of here:

Spoiler: Autopsy (click to show/hide)

I guess I got killed by a Viridian aura?  I caught a glimpse of it just before the end; if that's what killed me, then they do an awful lot of damage, considering I was at full health and wearing an ancient chestplate.  (Maybe they don't do physical damage?)  I had encountered one earlier and dispatched it with no problems; I didn't realize they were so dangerous that they could one-shot me!  :|

Anyway, I took some notes...

Fire water gives the message that it's not compatible with my lamp and then my lamp percentage froze at 55%.  My lamp percentage ceased to tick down for the rest of the game.

At one point, I dropped some flasks of Lemurian sacred oil on the floor of a treasure room to make room for more inventory and they vanished from the ground.

"You start to see red."  What?  What's going on?  Genuinely confused.  It did this without any input from me while the game was minimized, so it wasn't based on anything I did.

When there's a "pile of items," is there a way to see what items are there and choose which items to pick up from the pile individually?

You said that using "T" to activate "targeting" mode lets you identify terrain features, but it only identifies the names of enemies, not for example, doors, chests, items, etc.

I encountered a door which, when I tried to "apply" it, it alternated between saying "You fail to close the door" and "You fail to open the door" a dozen times before finally saying "The door swings open."  It seems to do this for any unlocked door.

Is there a way to look up past messages in the message history?

On a couple of occassions, sudden static effects appeared on screen.  Now, I'm wondering if that, along with the "red screen" effect are insanity effects?  Probably the perspective shift too?  Although it still did a perspective shift after my sanity level was returned to "stable."

At one point, I removed my "Lemurian noble cuirass" to put on my "Atlantean Soul cradle," and it looks like the cuirass vanished!  :(  (Probably because my inventory was too full to accommodate it)  I expected it to be dropped, but it didn't appear on the ground either.

That's all I've got right now.  I'll give the new version a try.  :)
Title: Re: Working on a roguelike...
Post by: Sereg on February 07, 2019, 08:30

Anyway, I just finished a game in which I died...  I think?  It just suddenly dumped me to the desktop without any message. 

Hmm, yes, currently I don't provide a message on death - I had better update that. I'm used to it since I've been developing it, but it's probably rather jarring for people used to proper games.


I guess I got killed by a Viridian aura?  I caught a glimpse of it just before the end; if that's what killed me, then they do an awful lot of damage, considering I was at full health and wearing an ancient chestplate.  (Maybe they don't do physical damage?)  I had encountered one earlier and dispatched it with no problems; I didn't realize they were so dangerous that they could one-shot me!  :|

Yep, those are bad. They're actually sort of a placeholder relic from the early days of the game when I was testing monsters, and I haven't replaced them with anything more appropriate yet. They are meant to be extremely rare - I haven't seen one myself in quite a long time now. You're quite a lucky guy to have found two in one session!


Fire water gives the message that it's not compatible with my lamp and then my lamp percentage froze at 55%.  My lamp percentage ceased to tick down for the rest of the game.

It's meant to be incompatible - it's not meant to provide infinite fuel =P I'll have to see why that's happening.

At one point, I dropped some flasks of Lemurian sacred oil on the floor of a treasure room to make room for more inventory and they vanished from the ground.

Did they appear on the ground at any point prior to vanishing? Did they drop to the same tile as an existing item?

"You start to see red."  What?  What's going on?  Genuinely confused.  It did this without any input from me while the game was minimized, so it wasn't based on anything I did.

Are you alright, my friend? Perhaps you should see a mental health specialist...

When there's a "pile of items," is there a way to see what items are there and choose which items to pick up from the pile individually?

Currently not. This is definitely on the to-do list, but I haven't got around to it yet. It's a pretty high priority QOL feature though, so expect it (and drop-all, etc.) soon.

You said that using "T" to activate "targeting" mode lets you identify terrain features, but it only identifies the names of enemies, not for example, doors, chests, items, etc.

Terrain items appear on a different line of the info window than monster names. Is it possible you're overlooking this? If not, I'll have to check on that, too - it's not an issue I've encountered.

I encountered a door which, when I tried to "apply" it, it alternated between saying "You fail to close the door" and "You fail to open the door" a dozen times before finally saying "The door swings open."  It seems to do this for any unlocked door.

This *should* have been fixed by a patch in 0.6.7. If not, let me know and I'll open it back up for investigation.

Is there a way to look up past messages in the message history?

Not yet, this is another one on the to-do list.

On a couple of occassions, sudden static effects appeared on screen.  Now, I'm wondering if that, along with the "red screen" effect are insanity effects?  Probably the perspective shift too?  Although it still did a perspective shift after my sanity level was returned to "stable."

Hmm, you really *do* need to see a mental health professional, if you claim to be seeing such unbelievable things in my well-written game. I refuse to believe the screen would suddenly exhibit such disconcerting effects... (Yep, that's your sanity at work. At stable, it's very rare for such things to happen, but anywhere below lucid you might see some odd things... Ever play the old Gamecube game Eternal Darkness? That's the effect I'm going for with this system.)

At one point, I removed my "Lemurian noble cuirass" to put on my "Atlantean Soul cradle," and it looks like the cuirass vanished!  :(  (Probably because my inventory was too full to accommodate it)  I expected it to be dropped, but it didn't appear on the ground either.

Removing an item that won't fit in your inventory will indeed drop it on the ground, and it should also send you a message telling you that. If you aren't getting the message, that's a problem, and if the item is additionally not actually on the ground, that's a much bigger problem. I'll do some digging and see if I can figure out why that might be happening.

At any point during your testing, did an error file appear in your save directory? If this ever does happens, please do pass it on to me, as they'll give me an idea where to start looking for problems - especially if you can describe what happened when the error occurred.

In any case, thanks for playing, and thanks for all of the feedback. I'll do my best to resolve the known issues, track down the unknown ones, and add the requested features (trust me, I want to see what's in a floor pile too! just not enough to prioritize it over trying to improve the legibility of the interface over the last few days).
[/quote]
Title: Re: Working on a roguelike...
Post by: Tormuse on February 07, 2019, 12:32
You're quite a lucky guy to have found two in one session!

Or unlucky.  :P

Did they appear on the ground at any point prior to vanishing? Did they drop to the same tile as an existing item?

I'm not sure for either question; I was more focused on my inventory free space at the time.

Ever play the old Gamecube game Eternal Darkness? That's the effect I'm going for with this system.

I haven't played that game, but I have played Consuming Shadow, (made by Yahtzee, of Zero Punctuation fame) and that has fancy insanity effects.  Same with Trilby's Notes, also by Yahtzee.

Removing an item that won't fit in your inventory will indeed drop it on the ground, and it should also send you a message telling you that.

As I recall, it did display a message saying the cuirass was dropped.  It just wasn't there.



In other news, I took a quick look at the latest version.  The display/interface looks *very* different from previous versions!  I'm not sure how I feel about that, but I'll give it a try and let you know what I think.


EDIT:  Okay!  I just finished playing a version 0.7.1 game and I won!  :D

Spoiler: Here's the autopsy. (click to show/hide)

At one point, I got hit by a virdian aura and didn't die, (it brought me down to "heavily wounded") so it either has a somewhat wide range of damage or the amulet of protection, which protects from physical attacks, saved me.

I have some more notes, of course.  I'll start with comments about the differences between this version and the previous one.  The different display without the inventory and equipment visible threw me at first, but I got used to it.  That being said, you might want to re-think what information you display on the left side.  If you want to cut down on how busy the screen is, that's fine, but the information that you leave there should be stuff that the player needs the most often.  Having the time, health, and sanity levels is fine, but I wouldn't expect the player to need to know all their individual resistances except when they put on something new.  Same with evasion and accuracy ratings.  I would put all of those on a separate screen, because they're stats that you would only want to look at once in a long while.  However, the state of your weapon, armour, and how full your lamp are would be much more useful to have there.  You're gonna want to know if your equipment is about to break or if you're about to be plunged into darkness.  (Though I admit I've never used any item to the point that it broke; that's probably something I should test)

I also encountered a number of bugs.  I'll start with the bugs that were absent from previous versions but started appearing in this version...

"The giant red rathits you."  There's no space between the creature's name and what follows.  This happens every time any enemy hits me.

Okay, using "targeting" mode works for viewing terrain features now, but now, it doesn't identify items as I walk over them.  I have to use targeting mode constantly for items on the ground, which is a bit of a nuisance.

The game no longer displays the last few messages at a time as it does in the previous version; it only shows the last message, and as a result, it seems that I sometimes miss important messages, such as if an enemy gets multiple swings at me, it only shows the last swing, so I only see "it misses me," but I still take damage.

It no longer displays how injured the enemy is after I hit them.  It doesn't show it when I use targeting mode either.

On the plus side, fire water seems to not give me infinite oil any more.  :P  (I never found a use for that stuff, by the way)

Is there a way to have the field of view pan around without actually walking to that place?  It would be nice to be able to survey the level to look for unexplored areas, so I know where to go.

Sometimes, I have to unlock doors twice.  Like it says "The lock falls open with a click," and then I "apply" it again and it displays "The lock falls open with a click," a second time and then I have to apply it a third time for it to actually open the door.

There appears to be no message for the lamp going out if it happens while you're walking, rather than while you're in the middle of an activity like unlocking a door.

The amount of oil in the lamp continues going down, even if you turn the lamp off.  (And here, I thought I was being clever, turning it off while unlocking doors to save oil)  :P

I notice that the message display cuts words in the middle if they go off the end of the line, such as with the message, "Your lamp does not seem to be compatible with this fluid."  (I took a screenshot if you want to see what I mean)

I witnessed the disappearing dropped items phenomenon again.  This time, I dropped my leather vest to make room in my inventory so I could look at a pile of items to find out what was in there.  I dropped the vest in a free square and it appeared on the ground, but at some point while I was rummaging through the pile of items, it vanished and was nowhere to be found.  Interestingly, when I tried to use targeting mode on the square where the vest was, it generated an error message.  It generated a new error message each time I tried to look at the square.  I'll attach them to this post in a zip file.

It happened again; a noble cuirass vanished after being dropped on the ground and it generated an error when I tried to look at the spot it previously was.  I actually saw it disappear this time.

Oh, hey!  My leather vest came back!  :o  I don't know what caused it, but it re-appeared in the same spot I had previously left it.

It happened again with a falchion.  I don't know what the pattern is.  I guess I have to accept that my dropped items just disappear sometimes.  :P



That's all for now.  I look forward to the next version.  It's fun.  :)
Title: Re: Working on a roguelike...
Post by: Sereg on February 07, 2019, 18:31
Okay!  I just finished playing a version 0.7.1 game and I won!  :D
Congratulations. I'm amazed you managed it with so many healing items left - then again, you *are* More Angelic Than Not, so perhaps I shouldn't be surprised =P

At one point, I got hit by a virdian aura and didn't die, (it brought me down to "heavily wounded") so it either has a somewhat wide range of damage or the amulet of protection, which protects from physical attacks, saved me.
Most monsters do in fact have a wide range on their damage. Depending on what armor you were wearing, that may also have helped (tip: armor resistances function differently than the resistances on other item types ;))

I have some more notes, of course.  I'll start with comments about the differences between this version and the previous one.  The different display without the inventory and equipment visible threw me at first, but I got used to it.  That being said, you might want to re-think what information you display on the left side.  If you want to cut down on how busy the screen is, that's fine, but the information that you leave there should be stuff that the player needs the most often.  Having the time, health, and sanity levels is fine, but I wouldn't expect the player to need to know all their individual resistances except when they put on something new.  Same with evasion and accuracy ratings.  I would put all of those on a separate screen, because they're stats that you would only want to look at once in a long while.  However, the state of your weapon, armour, and how full your lamp are would be much more useful to have there.  You're gonna want to know if your equipment is about to break or if you're about to be plunged into darkness.  (Though I admit I've never used any item to the point that it broke; that's probably something I should test)
It *is* still possible to switch back to the original screen layout for full access to everything at once. That said, you make some excellent points - I will see about redesigning the compressed interface to present more critical information.

I also encountered a number of bugs.  I'll start with the bugs that were absent from previous versions but started appearing in this version...

"The giant red rathits you."  There's no space between the creature's name and what follows.  This happens every time any enemy hits me.
Fixed as of the current version.

Okay, using "targeting" mode works for viewing terrain features now, but now, it doesn't identify items as I walk over them.  I have to use targeting mode constantly for items on the ground, which is a bit of a nuisance.

The game no longer displays the last few messages at a time as it does in the previous version; it only shows the last message, and as a result, it seems that I sometimes miss important messages, such as if an enemy gets multiple swings at me, it only shows the last swing, so I only see "it misses me," but I still take damage.

It no longer displays how injured the enemy is after I hit them.  It doesn't show it when I use targeting mode either.
All related to the new compressed interface - for now, these problems can be avoided with the expanded version, but as above, I'll see about redesigning the compressed interface to address these issues - they're certainly bothersome enough to be well worth fixing.

On the plus side, fire water seems to not give me infinite oil any more.  :P  (I never found a use for that stuff, by the way)
I am glad to hear this, because I went over the code in detail and couldn't find any reason why that would have been happening. If it ever comes up again, please let me know, with as much other information about the state of the game as it's feasible for you to provide. As far as the use, my autopsy may provide you with some clues...

Is there a way to have the field of view pan around without actually walking to that place?  It would be nice to be able to survey the level to look for unexplored areas, so I know where to go.
Not yet, and not planned for the near future. I will almost definitely add it once I begin to introduce larger levels, but for now I'm going to leave this one on the back burner, sorry =\

Sometimes, I have to unlock doors twice.  Like it says "The lock falls open with a click," and then I "apply" it again and it displays "The lock falls open with a click," a second time and then I have to apply it a third time for it to actually open the door.
Some doors are protected by multiple layers of security measures. However, these tend to have a different graphical appearance until you break the outer layers.

There appears to be no message for the lamp going out if it happens while you're walking, rather than while you're in the middle of an activity like unlocking a door.
I suspect this is due to the much smaller message recall in compression mode(meaning the message is probably overwritten before you have a chance to see it), but I'll take a look at it.

The amount of oil in the lamp continues going down, even if you turn the lamp off.  (And here, I thought I was being clever, turning it off while unlocking doors to save oil)  :P
This is unintended. Quite a simple fix, though, so I've patched it for the next release.

I notice that the message display cuts words in the middle if they go off the end of the line, such as with the message, "Your lamp does not seem to be compatible with this fluid."  (I took a screenshot if you want to see what I mean)
Unfortunately, this is a consequence of the compressed interface also. The info window uses a very basic wrap method to display messages, which produces the behavior you've described. The actual message window is actually a different type of window which uses a more advanced wrapping function(since that type of window is intended for displaying longer messages which are expected to wrap, while the info window is intended for short descriptions that would interfere with the descriptions on other lines if it wraps using the advanced method). I'll add this to my list of things to consider for the redesign.

I witnessed the disappearing dropped items phenomenon again.  This time, I dropped my leather vest to make room in my inventory so I could look at a pile of items to find out what was in there.  I dropped the vest in a free square and it appeared on the ground, but at some point while I was rummaging through the pile of items, it vanished and was nowhere to be found.  Interestingly, when I tried to use targeting mode on the square where the vest was, it generated an error message.  It generated a new error message each time I tried to look at the square.  I'll attach them to this post in a zip file.

It happened again; a noble cuirass vanished after being dropped on the ground and it generated an error when I tried to look at the spot it previously was.  I actually saw it disappear this time.

Oh, hey!  My leather vest came back!  :o  I don't know what caused it, but it re-appeared in the same spot I had previously left it.

It happened again with a falchion.  I don't know what the pattern is.  I guess I have to accept that my dropped items just disappear sometimes.  :P
This is bizarre. I've dealt with the previous lost drop issue you mentioned(turned out the method for replacing an existing worn item with a new one for that slot from inventory wasn't bothering to check that the inventory could hold the existing item, and as a result didn't care about putting it somewhere else if adding it to the inventory failed), but I suspect this is something different. I'll take a look at those error messages and see if I can work out what's going on.


That's all for now.  I look forward to the next version.  It's fun.  :)

Glad you enjoyed it, and I really appreciate your feedback. I'll do my best to squash all of the bugs you found =P I'll shortly post a new release, and it may have introduced new ones - some of the features gave me loads of trouble at first, and while I've dealt with all the issues I am aware of, there could easily be more lurking.

Edit: After checking the error reports, I have a theory on what might be causing them, but I can't replicate it. It's possible some of the debugging I did in related areas of the code for the current release has already resolved it, but do let me know if the issue persists.

Additionally, I can confirm that you are not 2Deving my autopsy files ;) checksums are a wonderful thing.

Edit2: I have rebuilt the compressed interface to supply significantly more information. Turns out the message window wasn't the one that supported advanced wrapping - that still wraps unintelligently. The Lore screen is the one that wraps properly and has tons of extra formatting tools... I'll look into possibly updating the message pane, but because of its scrolling capability, that may be a bit more challenging to do.

Additionally, disembodied map exploration will probably be easier than I originally anticipated, so it may creep in earlier rather than later - it's certainly not my highest priority update, but if it's simple to do it's more likely I'll tackle it soon.

Edit3:
Spoiler (click to show/hide)

Seems your strategy of turning your light off to open doors is not without its dangers...
Title: Re: Working on a roguelike...
Post by: Tormuse on February 07, 2019, 22:37
Congratulations. I'm amazed you managed it with so many healing items left - then again, you *are* More Angelic Than Not, so perhaps I shouldn't be surprised =P

The amulet of protection may have helped me avoid damage, but even without that, it's generally not too hard to avoid damage; I'm long accustomed to waiting until enemies approach me so that I can hit them first.

It *is* still possible to switch back to the original screen layout for full access to everything at once.

It is?  Is there a key for that or something?  (Maybe I should have looked closer at the menu options)

Some doors are protected by multiple layers of security measures. However, these tend to have a different graphical appearance until you break the outer layers.

In that case, perhaps it should have different messages like, "you open the first lock," or "you open one of the locks," or "you open the last of the locks."

Additionally, I can confirm that you are not 2Deving my autopsy files ;) checksums are a wonderful thing.

Ahaha!  I didn't realize "2Deving" is a verb.  :D  What does it say about me that I think it's hilarious that that's his legacy?  :)

Title: Re: Working on a roguelike...
Post by: Sereg on February 08, 2019, 08:37
The amulet of protection may have helped me avoid damage, but even without that, it's generally not too hard to avoid damage; I'm long accustomed to waiting until enemies approach me so that I can hit them first.
Perhaps I made it too powerful? But then it's also one of the rarer types - and I feel like I'd be making a pretty big mistake if I try to balance my game around your capabilities, lol...

It is?  Is there a key for that or something?  (Maybe I should have looked closer at the menu options)
Yes, it's a checkbox on the fourth menu - unfortunately, it does not operate at run time - you'll need to change the option and then re-load the game for it to take effect. It should be possible to change that - I'll look into it.

In that case, perhaps it should have different messages like, "you open the first lock," or "you open one of the locks," or "you open the last of the locks."
This is slightly less feasible due to how the doors are implemented, but I should be able to come up with something hacky that'll do the trick.

Ahaha!  I didn't realize "2Deving" is a verb.  :D  What does it say about me that I think it's hilarious that that's his legacy?  :)
This is the Chaosforge forums, where anyone can become a verb if they're sufficiently successful at circumventing a feature of the game. I turned a challenge mode into a shortcut to victory, he turned a record of in-game accomplishment into a demonstration of text editing talent. Kornel's mortem system is a brilliant concept, which is why I've implemented mine in a very similar way, but it is 2Dev that inspired me to add a security feature to my system =P In any case, you too can become a verb if you like - although I'll warn you that Tormusing doors is not without drawbacks beyond those I demonstrated in my most recent autopsy post.

Edit: As of A0.7.6, compression mode can be toggled at runtime, and doors give better messages, among other things.

Edit2: Quick patch to fix an issue with runtime compression toggling breaking inventory and equipment modes. Last one for the week, gone for the weekend.

Edit3: I lied, here's Alpha 0.7.7 - actors no longer need to attack before they interrupt as long as they are adjacent to the player(so it's safer to run-wait, or otherwise use repetitive commands). I've also adjusted base move and attack speeds closer together(tradeoff - it's now no longer possible to get an absurdly large number of attacks in on an enemy that moves next to you).
Title: Re: Working on a roguelike...
Post by: Tormuse on February 08, 2019, 20:13
I just played a round of 0.7.6...  (I didn't realize there's a 0.7.7 now)  and died mostly due to silliness on my part.  :P

Spoiler: Here's the autopsy (click to show/hide)

There was a combination of things that led to my death.  Firstly, I was trying to see what happens if I let an item's durability wear down to zero, so I wasn't using my best weapon or armour.  Secondly, I was about to encounter the first undead enemy of the game and I wanted to see what would happen if I killed him without seeing him.  (If it would break the programming for the message it shows when you first see one)  So I turned off my lamp, without realizing that my inventory was full, so it caused me to drop the lamp on the ground.  I ended up flailing around blindly and didn't even see what killed me.  :P

I found a lot fewer treasure rooms in this game than the previous one, so I had a lot less equipment, including healing sources.  I'm not sure if that's rotten luck or if you changed probabilities.  Oh well...

Some more notes:

If I switch compressed mode on and off a few times, the game slows down to the point that it's unplayable.  (Like there's a half second delay after each button press)

It still does the thing where it goes back and forth between "You fail to close the door" and "You fail to open the door."

"The grave worm's attack interrupts you!"  It said this message when my lock-picking was interrupted while my lamp was out.  (to save oil)  It probably shouldn't identify the creature that's doing the interrupting if I can't see it.

Using targeting mode on a monster doesn't show how injured it is unless you select it by pushing enter.  Not the most intuitive thing.  Any reason it doesn't display that when you just hover over the monster?

An Atlantean torch?  That's new!  :)  Could this be what the fire water uses?  (Too bad I never found any)  :(

I am overly amused by using the "alter" command on altars and being told that the altar can not be altered.  :)

I can resume game after I died!  Pushing "resume game" shows the last screen I died on and the game is frozen.  No key inputs work and the menus don't work either.  I couldn't even quit or otherwise close the window except by going into Task Manager and killing it from there.  I suspect this may be related to the fact that my last action of the game was to heal myself at the same time as I was being killed.

One more thing I've been meaning to ask:  What's the "view character" button on the main menu for?  It doesn't seem to do anything.
Title: Re: Working on a roguelike...
Post by: Sereg on February 08, 2019, 20:34
I found a lot fewer treasure rooms in this game than the previous one, so I had a lot less equipment, including healing sources.  I'm not sure if that's rotten luck or if you changed probabilities.  Oh well...
I have not adjusted anything; you are simply experiencing the disfavor of the RNG =P

If I switch compressed mode on and off a few times, the game slows down to the point that it's unplayable.  (Like there's a half second delay after each button press)
This is because I'm actually creating new console windows each time. I'll have to inspect the method I'm using to remove the old ones - obviously, there's a reference to the old console somewhere that I'm not properly cleaning up.

It still does the thing where it goes back and forth between "You fail to close the door" and "You fail to open the door."
This is odd - what kind of door is it happening with? One of the vault doors, or a basic one, or both? I haven't encountered this one, but I'll try to reproduce it if I can...

"The grave worm's attack interrupts you!"  It said this message when my lock-picking was interrupted while my lamp was out.  (to save oil)  It probably shouldn't identify the creature that's doing the interrupting if I can't see it.
An oversight on my part; this should be pretty easy to fix. Thanks for pointing it out.

Using targeting mode on a monster doesn't show how injured it is unless you select it by pushing enter.  Not the most intuitive thing.  Any reason it doesn't display that when you just hover over the monster?
It behaves slightly differently between targeting mode and game mode - in game mode, if you have a target, the info window will prioritize that target's info over the standard display(which is information about the tile you're occupying), whereas in targeting mode it will always display monster - item - terrain for the tile the cursor is on, ignoring the monster's health. I'll see about reworking this.

An Atlantean torch?  That's new!  :)  Could this be what the fire water uses?  (Too bad I never found any)  :(
It *might* be... the RNG is not your friend this game, apparently, lol.

I am overly amused by using the "alter" command on altars and being told that the altar can not be altered.  :)
  Heh. That particular play on words hadn't occurred to me until just now(having coded the altar, I knew it didn't do anything, so I never tried to alter it, lol), but perhaps it will have a use with a future update...

I can resume game after I died!  Pushing "resume game" shows the last screen I died on and the game is frozen.  No key inputs work and the menus don't work either.  I couldn't even quit or otherwise close the window except by going into Task Manager and killing it from there.  I suspect this may be related to the fact that my last action of the game was to heal myself at the same time as I was being killed.
This is certainly troubling - I encountered it once, but wasn't able to reproduce it, so I'm not sure where to start looking for the problem. If you can collect any more information about the state of the game when this occurs, that would be amazingly helpful... and yes, I do block the program from closing with the X button to avoid problematic exit conditions... I'll research the close operations of the java tool I built my console on top of and see if I can come up with a better solution.

One more thing I've been meaning to ask:  What's the "view character" button on the main menu for?  It doesn't seem to do anything.
That's an unimplemented feature - when I added the menu screen, I put it in there since I intended to eventually collect a character record like DRL has, but I have not gotten around to making it do anything yet.

Sadly, I won't be able to address any of these until probably Sunday night, but I figured I'd at least acknowledge the feedback before I leave for the weekend. As always, it's much appreciated.

Edit: How many times are you toggling compression mode before you experience notable slowdown? I've done it repeatedly for maybe 15 or 20 iterations without noticing any loss of responsiveness, and I can't see anything in my code that would indicate the old console still exists somewhere... even if it does, it shouldn't be consuming system resources, because the command I use to remove it from the screen actually cleans up everything used to run the window. I also re-direct the pointer by which everything references the console to point to the new console, and your JRE *should* then de-allocate every remaining resource committed to the old console once there's no longer a reference to it. Obviously, you're still noticing an issue, so something must be going south somewhere, but my initial suspicion seems unfounded... if there's any further information you can provide about this one, that may help.

Edit2: I've addressed the darkness interruption and updated the cursor targeting to show health. I've also found the cause of the door message bug you described... it'll take a bit of rearranging to correct but shouldn't be too problematic - expect a Sunday night release with these fixes. I've also changed the order that I handle cleanup after player death, which *might* fix the resume game issue. I'm not positive this is the cause, though... Just to clarify, you were presented with the resume option after landing back on the menu page following your death, not re-opening the game? In either case, can you confirm whether your game.sav file still existed?

Edit3: Ok, this is really it. Done coding for the week =P I am highly confident that I found and fixed the resume game bug - if it continues after 0.7.8, let me know, but I'll probably cry a little - but it will still be present until I have a chance to release that version, unfortunately. Incidentally, I also noticed that I'd broken the quit confirmation - it would only allow you to proceed, not go back to the game. That will also be fixed for 0.7.8.
Title: Re: Working on a roguelike...
Post by: MaiZure on February 09, 2019, 18:22
0.77a: The major problems are still around, but the text is now somewhat legible...but I found something else that may be wrong on my side:

I started the first level wth only 2 rooms and no possible exit. I walked in to all walls and tried to change level on all floor spaces to no avail. Am I trapped? Screen shot included

EDIT: As I'm leaving the game window open pending some advice on this situation, I noticed that it's using up 10-15% of my CPU.
EDITEDIT: Oh it dropped to 1% after 5 minutes of being idle....ahh because it locked up.

I'm beginning to suspect it's my JDK -- 11.0.2 and I'm launching directly with './java -jar ViridianAbyss.jar'
Title: Re: Working on a roguelike...
Post by: Sereg on February 09, 2019, 21:48
The + indicates a door... you'll need to use the 'a'lter command to open it. That gets me sometimes too... courtesy of the lighting engine, colors rarely have as much variation as might be ideal... perhaps I'll have to adjust some of the mechanics at work there.

I note that your menu bar is still missing. I wonder how widespread that issue is... I can allocate more space to it, but doing so will result in blank space at the bottom of the screen for anyone who doesn't have a missing menu bar... I think I may have to bring that into a keyboard interface instead of using the swing menu system to achieve the optimal result for the majority of players.

Edit: my phone sucks.
Title: Re: Working on a roguelike...
Post by: Tormuse on February 10, 2019, 10:16
I played a game of 0.7.7 last night.  (That's the version that's up right now, although your other post made a reference to 0.7.8; did you neglect to upload it or is that a typo?)

Anyway, I died from a combination of wanting to find out what happens when I break my weapon (I got to level 10 killing everything with my starting cinquedea and it got down to "severely damaged") and just generally messing around with the torches and plunging myself into darkness in a moment I probably shouldn't have.  :P  Side note:  The cinquedea is not very good against the undead; they took a lot of pounding to go down, compared to when I was using a falchion like in the other game.  Does your weapon do less damage when it's degraded?

Spoiler: Autopsy (click to show/hide)

Notes for this run:

It doesn't take very many switches of "compressed mode" to slow the game down down; after 5 or 6 switches, it even made music that was playing in another window stutter and start to get crackly.

"Gilded door with a lock" (or "with an open lock") is the one that does the "You fail to close the door" and "You fail to open the door" thing.  It does this while opening and closing it.  "Ancient door" also does it.

"The giant red rat's attack interrupts you!"  (It still says this while the light is out and I shouldn't be able to see it)

Text in the "Messages" box doesn't wrap properly.  (It cuts words in two when going to the next line)

Oh, hey!  Another Atlantean torch!  And this time, I have fire water for it!  :D  Looks like it lets you see further and turns everything green.  Cool.  :)  Then I tried using sacred oil and it turned everything purple.  Aww...  I kinda liked the green.  :(  Oh well, purple can be a cool colour too.  :)  (I wasn't really expecting the sacred oil to work; I guess the Atlantean torch is the superior light source in that it accepts more fuel types)

EDIT:  Oh yeah, I almost forgot...  in the above game, I had the "Continue game" bug after dying.  (And again, I died at the same time as trying to heal myself, though I don't know if that's related)

EDIT2:  Played another game.  Died against the Necrocrat.  :(

Spoiler: Autopsy (click to show/hide)

I used a falchion and Lemurian noble cuirass that I found in chests on level 2 all the way to the end, killing every single monster I encountered, including every monster on the last level besides the Necrocrat himself.  I got them both down to "severely damaged."  I don't think it's possible to fully break any of your equipment with the current length of the game.  I found the embermace in a chest on the last level and was a bit disappointed that I didn't get a chance to try it out.  (I mean I swung it a couple times at the Necrocrat, but it missed both times)

I'm now convinced that my amulet of protection in the other game was responsible for my victory, considering that in this game, the Necrocrat was able to bring me from full health down to "critically injured" with one hit, even through my Lemurian Noble Cuirass.  (Maybe that's a sign that I should use armour that favours speed over protection?  Hmm...)  Anyway, the battle (such as it was) consisted of me taking a single swing at him, then him almost killing me with one hit, then cue the Benny Hill theme music as I ran wildly around the whole level, trying to get some distance between us so I could heal myself and try again.  When I ran out of healing sources, I started opening chests and urns around the place and a couple times, that caused him to get a couple free hits on me, annoyingly.  (That's when I found the embermace)  I only hit him once and it brought him down to slightly wounded.  Oh well, better luck next time...

Some more notes:

FYI, I confirmed that there's definitely no message if your lamp runs out of oil while you're walking around.

Something I've been meaning to ask:  Do different weapons have different attack times?  For example, the cinquedea is described as "fast" on the equipment screen, whereas the falchion is described as "slow."  I would expect that to mean enemies get more free hits on me if I'm using the falchion, but that doesn't seem to be the case.

I witnessed an item vanish from the ground again.  Still haven't noticed a pattern, but here's the sequence in this case:  I killed a mummified swordsman, dropped my leather vest on an empty square so I could sort through the pile of stuff he dropped.  I picked up his ancient chestplate, moved over to an empty square and dropped it.  After noting that there was nothing besides the khopesh in the pile, I picked up my leather vest again.  The chestplate vanished from the ground exactly the same time I picked up the leather vest.  Oooh...  even more interesting...  when I drop the leather vest again, the chestplate reappears.  I can repeatedly pick up and drop the leather vest and make the chestplate appear and disappear over and over again...  but...  only when I drop the leather vest on a specific square?  O_o  I'm experimenting with moving around and dropping both the chestplate and the vest on different squares.  Sometimes, it makes the chestplate disappear and sometimes it doesn't.  I'm still not seeing a pattern.  I recorded a short 2 minute video to demonstrate the effect. (https://youtu.be/ugmNpMS_vLw)
Title: Re: Working on a roguelike...
Post by: Sereg on February 10, 2019, 20:51
"Interruptions in the darkness will no longer reveal the name of the source. Targeting mode now displays the health of any monster at the cursor. Fixed a bug where it was not possible to cancel quitting with ctrl-Q. Fixed the resume game bug after a death or win. An issue with incorrect door alteration messages has been fixed, and doors have their contrast forced during display so they will appear more distinct from the surrounding terrain." - Alpha 0.7.8 changelog

@MaiZure: Sorry for the short response earlier, I was only able to post from my mobile phone at the time. There is a door in one of your rooms, but the graphics do not set it off well enough from the surrounding walls - I've included a feature in the latest version(a0.7.8 at the time of this post) which will help with that.

As far as your CPU usage, that seems quite good - my development computer is a fairly powerful Alienware desktop and I use ~20% of both CPU(Intel i7-8700 3.2GHz) and GPU(NVIDIA GeForce GTX 1080) running the game.

When the game locked up, did it generate an error file in your save directory? If so, can you please send it to me?

I am not particularly familiar with the effects of different Java environments, unfortunately - if you decide to update to the latest version, I'd be interested to know if you experience an improvement in performance.

@Tormuse:
I played a game of 0.7.7 last night.  (That's the version that's up right now, although your other post made a reference to 0.7.8; did you neglect to upload it or is that a typo?)
I was able to make some changes to the code, but I did not have a chance to complete and upload the new version that night - as of now(~21:00CST 10 FEB 2019) that version is up, with the changes listed at the top of this post.

Anyway, I died from a combination of wanting to find out what happens when I break my weapon (I got to level 10 killing everything with my starting cinquedea and it got down to "severely damaged") and just generally messing around with the torches and plunging myself into darkness in a moment I probably shouldn't have.  :P  Side note:  The cinquedea is not very good against the undead; they took a lot of pounding to go down, compared to when I was using a falchion like in the other game.  Does your weapon do less damage when it's degraded?
Damage types are important - undead aren't generally bothered much by stabbing attacks like the cinquedea performs, since they have no functioning internal organs to damage. In general, I intend to create monsters with intuitive strengths and weaknesses along those lines. And yes, as your weapon(and armor) degrades, it will become less useful - think armor threshholds in DRL (where, say, a red armor would drop from 4/4 to 2/4 below 50%, if memory serves). However, my armor generally has a lot more base durability than in DRL and more thresholds where its performance deteriorates, so it's probably a good idea to replace your gear well before the point of falling apart on its own.

It doesn't take very many switches of "compressed mode" to slow the game down down; after 5 or 6 switches, it even made music that was playing in another window stutter and start to get crackly.
Interesting - I have not been able to reproduce this, unfortunately, and I do not know why it could be occurring. I hate to wave it off by saying, just don't use it that many times, since that's not addressing the underlying issue - but in this case, there's not actually much of a reason to be adjusting that particular setting more then once or twice a run(and honestly I sort of intended it to be a preference setting, where you'd pick the one you like best, then never mess with it again).

Out of curiosity, are you using the most up to date JRE? I can't help but wonder if there's an issue with an older version of Java, maybe not properly garbage collecting or something...


"Gilded door with a lock" (or "with an open lock") is the one that does the "You fail to close the door" and "You fail to open the door" thing.  It does this while opening and closing it.  "Ancient door" also does it.

"The giant red rat's attack interrupts you!"  (It still says this while the light is out and I shouldn't be able to see it)
These should both be fixed as of the current release.

Text in the "Messages" box doesn't wrap properly.  (It cuts words in two when going to the next line)

I'll have to look at updating the underlying console utility that runs this type of display. It's probably going to be fairly straightforward to upgrade, although not trivial, but it's also not my biggest priority just now. I'll tack it on to the to-do list.

Oh, hey!  Another Atlantean torch!  And this time, I have fire water for it!  :D  Looks like it lets you see further and turns everything green.  Cool.  :)  Then I tried using sacred oil and it turned everything purple.  Aww...  I kinda liked the green.  :(  Oh well, purple can be a cool colour too.  :)  (I wasn't really expecting the sacred oil to work; I guess the Atlantean torch is the superior light source in that it accepts more fuel types)
Yes, and as I continue to add light sources, expect different ones to be compatible with a different range of fuels. You may also notice that the light produced by burning sacred oil in an Atlantean torch is slightly different than from burning the same fuel in an oil lamp.

EDIT:  Oh yeah, I almost forgot...  in the above game, I had the "Continue game" bug after dying.  (And again, I died at the same time as trying to heal myself, though I don't know if that's related)
This is another issue that I believe I've solved for the current release - as always, if you continue to notice it, do please let me know.


EDIT2:  Played another game.  Died against the Necrocrat.  :(

I used a falchion and Lemurian noble cuirass that I found in chests on level 2 all the way to the end, killing every single monster I encountered, including every monster on the last level besides the Necrocrat himself.  I got them both down to "severely damaged."  I don't think it's possible to fully break any of your equipment with the current length of the game.  I found the embermace in a chest on the last level and was a bit disappointed that I didn't get a chance to try it out.  (I mean I swung it a couple times at the Necrocrat, but it missed both times)

I'm now convinced that my amulet of protection in the other game was responsible for my victory, considering that in this game, the Necrocrat was able to bring me from full health down to "critically injured" with one hit, even through my Lemurian Noble Cuirass.  (Maybe that's a sign that I should use armour that favours speed over protection?  Hmm...)  Anyway, the battle (such as it was) consisted of me taking a single swing at him, then him almost killing me with one hit, then cue the Benny Hill theme music as I ran wildly around the whole level, trying to get some distance between us so I could heal myself and try again.  When I ran out of healing sources, I started opening chests and urns around the place and a couple times, that caused him to get a couple free hits on me, annoyingly.  (That's when I found the embermace)  I only hit him once and it brought him down to slightly wounded.  Oh well, better luck next time...
This is much more in line with my experiences with him - that amulet of protection must be doing some serious work(I do remember him being easier back when I was testing different amulets by granting them at the start of the game). There will be quite a lot of balancing to be done, especially as I continue to add more items(an armor that emphasizes speed over protection could certainly be an interesting addition).

FYI, I confirmed that there's definitely no message if your lamp runs out of oil while you're walking around.
This baffles me - I actually went to test this myself to see if I could fix it for the a078 release, but couldn't reproduce it despite running out my fuel under multiple repeat conditions. The message itself is generated as a result of the lamp attempting to burn fuel and finding that it doesn't have any, so it shouldn't matter what conditions cause this to happen - the message should be produced regardless.

Something I've been meaning to ask:  Do different weapons have different attack times?  For example, the cinquedea is described as "fast" on the equipment screen, whereas the falchion is described as "slow."  I would expect that to mean enemies get more free hits on me if I'm using the falchion, but that doesn't seem to be the case.
Yes, weapons do have different attack speeds - I don't make that information directly available, but the interested player is welcome to find out for himself by observing the game clock. It's possible that as a result of my contraction of the gap between base move and base attack times, the difference in speeds isn't meaningful enough to make a significant difference. Then again, it's not *really* meant to be about minmaxing your weapon choice - it's more about the idea that you'll need to use multiple different weapons throughout the game, and the experience should be different from weapon to weapon - each will have a slightly different flavor. Still, this will be another area where I'll be seeking balance as I move the game forward, so I welcome feedback on it.

I witnessed an item vanish from the ground again.  Still haven't noticed a pattern, but here's the sequence in this case:  I killed a mummified swordsman, dropped my leather vest on an empty square so I could sort through the pile of stuff he dropped.  I picked up his ancient chestplate, moved over to an empty square and dropped it.  After noting that there was nothing besides the khopesh in the pile, I picked up my leather vest again.  The chestplate vanished from the ground exactly the same time I picked up the leather vest.  Oooh...  even more interesting...  when I drop the leather vest again, the chestplate reappears.  I can repeatedly pick up and drop the leather vest and make the chestplate appear and disappear over and over again...  but...  only when I drop the leather vest on a specific square?  O_o  I'm experimenting with moving around and dropping both the chestplate and the vest on different squares.  Sometimes, it makes the chestplate disappear and sometimes it doesn't.  I'm still not seeing a pattern.  I recorded a short 2 minute video to demonstrate the effect. (https://youtu.be/ugmNpMS_vLw)


I'll check out the video, and I'll double check the hashing algorithm I use to access the floor inventories - there's most likely a bug on my end, but I'm sort of hoping I can blame this one on an out of date JRE, too =P Thanks for taking the trouble to create that - hopefully, it'll help give me an idea as to what might be the problem.


Edit: Ok, I have a theory - would it be possible for you to send me a savefile capturing a game state where that is happening?

Edit2: Nevermind, I've replicated the issue. Should be soluble now that I've got it to occur for me. 

Edit3: Fixed, I've uploaded a patched version. Turns out what was happening was that I was trying to clean up old piles by removing them from memory once the last item was withdrawn. Unfortunately, I didn't consider the impact this would have on the hashing algorithm - I actually was properly handling collisions, but once I removed an existing data entry, the collision no longer happened because the earlier entry no longer existed to collide with, and the result was non-sensical - the hash table still contained the dropped items, but the method the rest of the game was using to access them was reporting the wrong index, so the pile wasn't displayed. When you dropped an item back at the original coordinate, suddenly the collision occurred as expected and the real index was again being returned, so the lost items would become visible again.


Once again, thank you for making the video - makes my job so much easier when I can clearly see what's going wrong.

Edit4:

11 FEB 2019 - Alpha 0.7.9:
   Fixed a problem with dropped items sometimes disappearing if other dropped items were picked up. Oil lamp once again uses fuel at a reasonable rate. Engineering pass to de-clutter the game engine. Added several new items. Adjusted certain lamplight values. It is now possible to empty fuel from a lamp, whether in inventory or equipped, with the 'l' command from an item mode. Dropping something you don't have room for now gives better messages.

Edit5: Found a bug and added some new content.

11 FEB 2019 - Alpha 0.8.0:
   Introduced a new Vault room type, new loot types, and a new door. Fixed a bug with removing fuel from an equipped light. Ensured that inventory display will not write out of bounds if too many items are carried.

Edit6: More updates -

12 FEB 2019 - Alpha 0.8.1:
   Reworked the loot system - more dangerous monsters have a significantly higher chance of dropping decent loot, and loot containers may dispense more than one item. Message pane messages now wrap more intelligently.

Edit7:
Found some really cool stuff thanks to finding one of the new vaults on level 1, but it wasn't enough to save me from an errant viridian aura(especially with the new upgrades designed to offset the new higher loot chance!). However, it appears that the autopsy writer can skip items if your inventory is open at the time of death - that'll be corrected for the next release:
Spoiler (click to show/hide)

Edit8:

12 FEB 2019 - Alpha 0.8.2:
   Fixed a bug where the autopsy file could fail to write inventory items if the inventory was open at the time of death. Implemented free camera mode.

Thereyago, Tormuse, you can look around all you want now.
Title: Re: Working on a roguelike...
Post by: Sereg on February 12, 2019, 13:08
Finally won my own game:
Spoiler (click to show/hide)


That embermace does *work* against undead - got lucky and found it in a greater vault near the bottom.

Edit:

12 FEB 2019 - Alpha 0.8.3:
   Introduced the Grimoire item type. Currently this only serves as an extra item slot for hosting resistances and other modifiers, but will be expanded in the future. Also introduced several new terrain types, mostly loot oriented. Successfully altering a loot terrain will give a more specific message.
   
This is finally an actual content update and should significantly expand the feel of the game - balancing feedback is always welcome.


Edit:

13 FEB 2019 - Alpha 0.8.4:
   Certain loot containers are now required to generate an item - they may not contain nothing. Fixed a significant bug with Actor tracking that was granting the player extra moves. Implemented the language system, which grimoires now use. Added casting speed. Added element and speed glyphs to the weapon details of the critical info panel in compression mode. Further reduced the condition masks there.

I encountered several vexing bugs while implementing these changes - while I believe I've dealt with them, the nature of the bugs is such that there's potential for more to be hiding, so please be on the look out for anything unusual with this one. Essentially, there was a significant deficiency with a core system of the game engine which had gone unnoticed due to a rather unqualifiable impact up until I introduced some of the features for this release, and while I was able to address it, the fix was not particularly elegant or satisfying. I believe it to be effective, but I guess we'll find out...

Edit:

13 FEB 2019 - Alpha 0.8.5:
   Adjusted the rate of learning for new languages from grimoires. Adjusted sanity costs of discovering dark secrets in grimoires. Fixed an error with language knowledge modification of grimoire stat adjustments.

Short balance pass on last night's update.

Edit:

13 FEB 2019 - Alpha 0.8.6:
   Internalized the settings menu. There is now no longer a menu bar at the top of the window - instead, access the settings menu  by pressing 'm'.

This one's for you, MaiZure. There's no menu bar to go missing anymore - hopefully this allows you to experiment with the display settings and see if it becomes playably legible for you at some point. As always, let me know if something I didn't catch has gone sideways for you.
Title: Re: Working on a roguelike...
Post by: Tavana on February 13, 2019, 23:14
Downloaded Java 11.0.2 to test this out. Seems to run well for me, at the moment. I tested two levels of the game and then needed to take a break. I could have just left it running, but I normally shut this computer off when I'm not using it.

There appears to be no command to quit a game once started, or for saving/loading. I tried 'Q', 'q', 'ESC' and even 'ALT+F4' to no avail. Had to kill the process in task manager. The game would not boot up properly after this, just showing a blank screen with no graphics. I suspect I will have to restart my computer to get it to work again.

The kerning of your walls of text was a bit odd on my computer. I could read it, but it strained my eyes a bit due to the spacing. Given the feel of your game, perhaps that was intentional?

Unlocking a vault on level 1 worked fine, but man was there a wall of text of my failures. Any chance of when there's a repeated action like that to show "You failed to [do a thing] 147 times." and then either have the interrupt or show a success?
Title: Re: Working on a roguelike...
Post by: Sereg on February 14, 2019, 08:02
Downloaded Java 11.0.2 to test this out. Seems to run well for me, at the moment. I tested two levels of the game and then needed to take a break. I could have just left it running, but I normally shut this computer off when I'm not using it.

There appears to be no command to quit a game once started, or for saving/loading. I tried 'Q', 'q', 'ESC' and even 'ALT+F4' to no avail. Had to kill the process in task manager. The game would not boot up properly after this, just showing a blank screen with no graphics. I suspect I will have to restart my computer to get it to work again.
The commands are 'ctrl-x' to save and quit, and 'ctrl-q' to quit and delete the savefile. Both of these and all other existing commands can be accessed via the '?' help screen - however, you're not the first to encounter trouble with the window's refusal to close. I did intentionally disable that to avoid unhandled exit cases - both ctrl-x and ctrl-q go through specific routines to properly shut down the game, and I suspect that your task manager kill may have caused the game to shut down in a way that left a non-restorable character file. I have had to do this myself but didn't experience problems with startup - for now, I would suggest simply deleting the contents of the SaveData directory, which will allow the game to restart from a blank slate. In any case, this is something I plan to address in the near future.

Out of curiosity, did the game generate an error file in that directory when it failed to start? If so, could you please send me the contents of that before deleting it? It'll help me pinpoint the source of the data corruption and help with any fix I implement.

The kerning of your walls of text was a bit odd on my computer. I could read it, but it strained my eyes a bit due to the spacing. Given the feel of your game, perhaps that was intentional?
Not quite intentional, simply a side effect of how the console program I wrote to support the game automatically sizes itself. Again, you are not the only one to have difficulty with the text - much of my development time since first releasing the game here has been on attempts to make the game easier to read =P as a result, there are quite a lot of font options, color themes, and screen resizing tools available to customize the appearance - these are accessible through the 'm' (settings <m>enu) command. Unfortunately, kerning isn't an area I'm very familiar with, so that's the best solution I've come up with so far.

Unlocking a vault on level 1 worked fine, but man was there a wall of text of my failures. Any chance of when there's a repeated action like that to show "You failed to [do a thing] 147 times." and then either have the interrupt or show a success?
I should be able to work out a way to do this.


Thanks for giving the game a try - I apologize for the difficulties you encountered; it's still a work in progress, and the reason I posted it here was to find issues that bother other people that I may not have considered, or overlooked due to personal preferences.

I really appreciate your feedback - I should be able to kill the message spam for the next update, and I'll see what I can do about the closing situation in the near future.

Edit: I've got the code for blocking spam messages done and it'll be in the next release. I also think I've found a solution to the closing problem, but I'll need some time to work out exactly how it functions and how I need to implement it to do what I want it to do. However, unless I experience significant difficulty with that, I should also have it available for the next release, which I expect to push later today.

Edit:

14 FEB 2019 - Alpha 0.8.7:
   No longer display the same message repeatedly - instead, if a message is repeating, a count will be kept and displayed when a new message arrives. Amulet of Focus now increases casting speed. Existing magical grimoires have had their modifications improved. It is now possible to close the game safely via the window X button - this will have the same effect as quitting with ctrl-x where applicable.


Edit:

14 FEB 2019 - Alpha 0.8.8:
   Added more info to the help - commands screen. Languages slightly easier to learn. Fixed a crash that occurred if the player removed their weapon other than by equipping another weapon in compression mode. Implemented a new item type to support spell-casting. Reworked and codified display symbols - an overview is available as part of the help screen.


Mostly minor stuff to support eventual full functionality for the grimoire item type. Some display symbols have changed significantly, so those of you who have played before should be wary of that.

Edit:

14 FEB 2019 - Alpha 0.8.9:
   It is now much easier to distinguish walls from all other terrain on the memory map. Fixed a settings menu bug. Updated Grimoire glyph in compressed mode and description in expanded mode. Player now starts with a grimoire. More work to support spell-casting.
Title: Re: Working on a roguelike...
Post by: Tavana on February 14, 2019, 23:52
Dude, its an alpha, no need to apologise! XD

I didn't see instructions for Ctrl +X or Q in the ? menu, let me look again. Also, good to know about deleting the save file. I'll give that a go if it doesn't load up the next time.

I don't see any obvious error file that has generated, so I'm guessing that none came about. I'll download the newest version and give it a go later.
Title: Re: Working on a roguelike...
Post by: Tavana on February 15, 2019, 00:02
Error time!

So, the first time I ran your game it displayed the opening screen and then in hung, and I restarted my computer. I figured it had done this due to my literally just installing Java.

This time, I deleted my old directory and installed your new files. Ran it once, it created the Save files and then the first screen had another hang. It accepted ALT+F4 as an input and closed. When I ran again, it apparently detected a save file and would not let me start a new game, I had to continue. It of course had an issue with this, and gave me a red error message. There are more error files than the forum will allow me to attach, so I'll just email them to you.
Title: Re: Working on a roguelike...
Post by: Tavana on February 15, 2019, 00:51
And just to be incredibly spammy, here's another response.

The <x50billion> repetition thing works, but say I run into a wall 50 times and then start walking and run into another wall, there's no new message because it's the same stored message. You might want to make it so that your counter finishes off if you move into another square?
I feel like using healing ointments might be a similar thing - I see that despite great age, I'm healed. But I can't tell how many times I've used it until I run into a wall or get attacked. The same with a monster attacking you and missing/hitting if you don't hit back.

I just died to a swarm of scarabs after powering through 2 Viridian Auras because I couldn't hit the dang things. Ah well.

Spoiler (click to show/hide)

Please also find attached a screenshot of the kerning on my computer, and how ridiculously bad I am at lockpicking/opening an urn, and then being far worse at opening a complex lock.
Title: Re: Working on a roguelike...
Post by: Sereg on February 15, 2019, 16:14
Sorry for the delayed response - I've been occupied all day, unfortunately.

I should be able to resolve the message weirdness by only treating messages which are expected to repeat a significant number of times as potential spam - these will always terminate with a different message and work as intended. As you pointed out, ordinary messages can also repeat, and don't immediately update the count when finished, which isn't ideal.


As far as the error messages, I reviewed them and they originate from a point in my code where it's very odd to have a null pointer during runtime... Were they only related to the crash and hang? And are the circumstances that caused the hang repeatable?

I was able to generate a crash on first starting the game, but it appears to be because I neglected to Serialize one of the new classes I created to support spell-casting... which generated a different error than your error logs indicate. I have not been able to reproduce that one - anything you can tell me to help me understand what state the game was in when it crashed like that would be helpful.


I'll push a fix for the crash I found, and an update to the spam filter, shortly.


I have an idea about how to handle the kerning, but it's going to require a pretty big re-write of important parts of the underlying console program. I'll see what I can do on that front, but I can't promise an immediate fix. However, the more feedback I get, the more obvious it is that that's an issue, so I do need to handle it somehow.

Edit:

15 FEB 2019 - Alpha 0.9.0:
   Fixed a crash related to spell-casting preparations. Updated spam filter to only affect certain messages which can be expected to repeat.

Edit:

I've found a solution to the text display problem, and the back end of the console program has been updated to support the new method. However, converting the front end over to make use of it is taking some time. It may be a few days before I have a full conversion available to upload.

Edit: 0.9.0 was inadvertently released in development mode, meaning all sorts of things that you shouldn't be able to do are enabled. I have temporarily reverted to 0.8.9.
Title: Re: Working on a roguelike...
Post by: Tavana on February 16, 2019, 00:34
EDIT: Remembered the error incorrectly.

Those error messages are from more than a startup hang. I was given the option to continue a game despite not having saved a game previously. The game loaded in, but was unable to do anything since files were missing. I've since reproduced the error twice and sent some more logs your way.
Title: Re: Working on a roguelike...
Post by: Sereg on February 16, 2019, 07:21
Thanks for the logs... to be clear, is the state of the save directory such that a game.sav file exists but a char.sav file does not?
Title: Re: Working on a roguelike...
Post by: Sereg on February 16, 2019, 11:07
Ok, that took a lot of work, but it ought to be worth it...

16 FEB 2019 - Alpha 0.9.5:
   Fixed a rare bug where a certain loot container behaved oddly. Implemented console support for vastly greater readability of game text - as a result, compression mode is no longer supported. New message format supports scrolling to review previous messages and saving of message history between play sessions. Possible fix for illegal load game condition.


Legibility should be much better, and I believe I even tracked down the bug you described, Tavana - I was able to replicate your error logs, but only under conditions that should never naturally occur, so I'm not entirely convinced it's the same issue you were having.
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 18, 2019, 09:30
After trying it for first time, i already have messages i cant fully see ( like when using medicine), and i have managed to generate an error when swapping books - not sure what it did.
Edit: correction - messages seem to display the end of the phrase before it starts.
Edit 2: jars of ointment when used display percentage - but do it quite weirdly (100% - 96% 93 % -next jar)
Edit 3: upon entering a level at some point game locked up spewing error logs at me endlessly, not letting me do anything , not even use controls.
Title: Re: Working on a roguelike...
Post by: Sereg on February 18, 2019, 11:31
Thanks for giving it a try. The message inversion is a consequence of how I implemented the new text output system for the scrolling message window. I simply failed to test it extensively enough to catch that, so thanks for pointing it out - I'll be able to fix that rather trivially.

Percentages for stackable items actually display the percentage of the entire stack, not the top container. This was a conscious design decision, but it might be clearer if I just showed the percentage of the top container instead... I'll keep it in mind.

Thanks for sending the error logs for the other issues - I'll have a look and see if I can pinpoint the problem. Depending on the severity, I may have a fix tonight, but I can't guarantee it since I unfortunately have other business to prioritize today =\
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 18, 2019, 11:34
Hey, it is fun one:3 especially since assassin garb makes one almost always attacking without repercussions and gives you quite high ability to hit things!

By the way, that is not the only problem i have with the jars and percentage- as i understand it is supposed to show how much use is in the pot correct? however the same percentages were deducted no matter how many jars between 9 and 12 i had. it was always 3.
On other hand, the sanity - i could turn it focus with the soothing potion ,but only once - neither of other used potions put me above stable next time i used them and the interface screw still happened.
Edit: also either game was incredibly generous with oil - or the censer does not really use that much oil outside of study action which often takes almost half my oil out of it.
Title: Re: Working on a roguelike...
Post by: Sereg on February 18, 2019, 14:33
I believe the reason the percentages behave that way is because I am casting between ints and floats, so some rounding is involved - I don't attempt to be more precise than a single percentage point with that display. Between 9 and 12, the difference of a single dose in the stack generally rounds to about 3%.

Stable describes a reasonably large range of sanity values, and the elixirs only restore a fairly small amount, so it's certainly possible that drinking a single dose of elixir near the top of the mask will push you over to focused, while drinking several containers of elixir near the bottom of the mask won't change the mask at all.

I do intend to be deliberately vague about the exact numerical values of the stats(which is why I use descriptions, not percentage bars or actual numbers), but it probably wouldn't hurt to make the masking intervals a bit more regular.

Drop rates aren't very balanced yet - there's an entirely new class of item that will fill the same loot niche as healing items and lamp fuel currently do, so expect both of those to become sparser in future releases. Also note that the most common type of loot container currently only generates items of those types, so you'll find more healing items and oil than equippable items  in general.

I do intend to do a balancing pass eventually, but for now, I'm still working to add content, and I have quite a lot still planned, which is guaranteed to throw off any balance I try to establish now, so for the time being balance will be approximate at best =P

Once again, thanks for the feedback. I had a look at the error logs and I believe I can correct them both relatively quickly, so expect a patch release sometime tonight. I'm glad you had fun playing, and I hope you'll continue to check it out once in awhile.

Edit:

18 FEB 2019 - Alpha 0.9.6:
   Handle repetition of invalid commands so as to completely cancel the repetition order. Level title moved to main screen, info retitled with [Detail]. Reworked borders for better consistency and more apparent focus. Reworked stat masks to scale better. Messages now scroll from the top of the window and are printed in proper order.

That should resolve all of the issues you raised, mihey1993. Thanks again for calling my attention to them.
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 18, 2019, 21:54
Fun fact - if you start the game with enemy right next to you and attack it on the very first turn, you receive message "You attack blindly in the darkness". Counterattack - even if you see clear on screen who it is - "Something hits you".
Edit: could not test for longer yet, but when i was having fun reading books, losing all my oil in process, my character symbol changed from expected @ to "
Title: Re: Working on a roguelike...
Post by: Sereg on February 18, 2019, 22:53
There are some odd rare lighting issues I haven't completely tracked down... I'll see what I can do on that front.


Low light conditions change the appearance of certain monsters to the point where you can only see retinal reflection or some other chance glimmer of light - the player is one of them. This might occur if your lamp is using a fuel it doesn't burn well enough to illuminate even your own tile properly. That effect is intended.
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 18, 2019, 23:40
Edit: yep, that was the reason. welp XD
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 19, 2019, 10:53
Finally died in game.  Most notable changes - the armor being damaged now visibly affected the resistances it gave (lemurian noble armor).

Spoiler (click to show/hide)
Title: Re: Working on a roguelike...
Post by: Sereg on February 19, 2019, 14:50
Armor condition always affected resistances, but the masks were far too broad before. Thanks to your suggestion, I've adjusted those.
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 19, 2019, 15:08
No problem, it worksmuch more understandable now. If i may, I still believe percentage to show rrmaining uses in top of the pile item. Also, what plans there are on ingame languages?
Title: Re: Working on a roguelike...
Post by: Sereg on February 19, 2019, 15:49
Languages are for reading and understanding the contents of the grimoires. Grimoires will allow spellcasting, grant inherent bonuses, and will also be vehicles for game lore, but they are currently at a very early stage of development. Eventually, though, the more you know about a given language, the more use you can expect to make of a grimoire written in that language.

Note that your knowledge of languages is actually preserved in the char.sav file, not the game.sav file, so it will persist between games.
Title: Re: Working on a roguelike...
Post by: Sereg on February 20, 2019, 23:17
20 FEB 2019 - Alpha 0.9.7:

   Grimoires once again display their conditional information even when not equipped. New rarity tier added - no items exist at this rarity yet. Torches now display a metric of their light on the equipment screen. Rebuilt engine with a new principle of operation - this should correct any lingering lighting oddities from previous versions.


Basically, some minor QOL updates and bugfixes. I did a bit more groundwork for spellcasting, but nothing visible yet - the majority of this update was the engine overhaul. As noted, this should correct a few bugs, and it will also run slightly faster. As always, it's possible that new bugs have been introduced, so please let me know if anything seems off.

Edit:

21 FEB 2019 - Alpha 0.9.8:
   Fixed a bug where actors could sometimes spawn onto the same tile. Mechanics for spell-casting have been completely implemented, and the starting Grimoire now contains three functional spells.


Edit:

21 FEB 2019 - Alpha 0.9.9:
   Corrected an issue with interruption that was causing odd behavior. Filtered access to spells and lore within Grimoires by knowledge of the language. Added lore for the starting Grimoire. Grimoire lore can now be displayed by 's'tudying a book after reading it. Lore in languages you don't know completely is scrambled, but the more you learn, the easier it becomes to read.


Edit:

22 FEB 2019 - Alpha 1.0.0:
   Fixed some bad behavior in the actor tracking system. Disabled View Character from main menu. Actors now have types which might have certain effects. New spell 'Panacea' added to starting Grimoire. Spells now display a list of reagents required to cast.
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 23, 2019, 03:16
Finally got to try it out in it's newer version.
My experience:
1)starting oil in oil lamp without having to study any books lasted me for 6 levels with full exploration! talk about efficient fuel:D
2)Randomness of loot left me with alll the similar armor in the world and first weapon had to be fought for with swordsman. a rat later on suddenly dropped me a khopesh - wonder how it fit in the rat:3 and since it happened more than once ....
3)first time met viridian aura - it missed me, and died in two pokes. undead are hardier to khopesh it seems:D
4)got something hit you when i discovered a mummy swordsman next to the doorway.
Spoiler (click to show/hide)
Edit: it is fun that you have to use reagents for spells. not as fun not finding any in the wild :D tho I have now idea how you intended to replenish it, but the cost of the spell that should allow you so is so steep you either not casting till you find it, or do not rely on it anyway.

Title: Re: Working on a roguelike...
Post by: Sereg on February 23, 2019, 08:27
1) Yep, your fuel should last you for quite a lot of regular gameplay - as you note, however, the catch is that you also need light for things like opening doors and reading books, and these are much more time-consuming activities.

2) Several monsters have specific item sets that they themselves use(which is why when you kill one of the undead types, you'll often find that their equipment has been damaged to some extent). Additionally, every monster has a certain random chance to drop an item or items. This chance scales with the monster, so it's quite rare to find an item, especially one of Uncommon or higher rarity, from something like a rat, but it is allowed to happen. Not entirely realistic, of course, but I wanted to offer a method of loot generation other than the vault rooms, in case a player happens to be unlucky with those in a particular run.

3) Yes, the khopesh does quite alot of damage - the balance, if it can be called such, of the game in its current state relies on the fact that the player can generally kill monsters very quickly, even the dangerous ones like the Viridian Aura you found(if you had let it hit you, you'd have been very unhappy, lol). So with good positioning and patience, you can avoid damage - with bad, you'll end up taking quite alot. The counter to this is the Sanity mechanic, which cannot be avoided at all (although Tormuse suggested an interesting method of intentionally blind-fighting sanity drainers... in theory this will work, but it's not without its own risks...)

4) Yes, apparently I haven't worked all the bugs out of my lighting engine. I believe I'll have to overhaul it compeltely - currently it runs in the background constantly, so there are times when the light map has been cleared out at the exact wrong time, and a check will show a tile is unlit because of this. I'll need to make it work in such a way that it only updates the maps it uses when something changes, and then simulate things like flickering lights and sanity effects separately, because currently they rely on the continuous operation of the lighting system. This will be quite a large project, and will no doubt break lots of things, so I'm hesitant to begin it until I can block out enough time to deal with it *and* the inevitable bugs which will result all in a single go.


I'm glad you like the reagent system. As far as finding more, that will definitely be the case for the reagents you'll need to cast spells from the dungeon books, but the starting book, like all other starting items is unique to the player at the start of the game and cannot be replaced in dungeon - and so is the primary reagent it uses. As such, you'll need to make careful decisions about how to use your starting supply. Of course, as one of the spells suggests, there may be a way to acquire more... but you'll have to discover the conditions under which that spell functions, and save enough of your mercury to be able to cast it when the conditions are met.
Title: Re: Working on a roguelike...
Post by: Tormuse on February 23, 2019, 12:12
Sorry I haven't been following this thread in the last week, but I did play another game the other day.  (Version 0.9.6)  I died due to a combination of stinginess and impatience.  (I was trying to save my starting healing source, since it's lighter than the ones you find, and I was charging into battle, rather than waiting for enemies to come to me)

Spoiler: Autopsy (click to show/hide)

This is the first version I've played that had books!  :D  I didn't figure out what they do, but books are cool, I guess.  :)

A few notes:

"an text of alchemical wisdom"  (should be "a" instead of "an")

Text for items like the khopesh and sacred oil is really hard to read, dark grey against a black background.  I don't remember it being this hard to read in previous versions.  (Applies to all "mundane" items)

There's still no message when the lamp goes out.
Title: Re: Working on a roguelike...
Post by: Sereg on February 23, 2019, 12:42
No worries, thanks for checking it out again.

In a096, I don't think grimoires had much functionality beyond some stat modifications - in the current release, the starting grimoire now enables spell casting(I haven't implemented reagents or spells for the other books yet).

I've fixed the typo and brightened up the color of Mundane rarity items in the current development version, so these changes will make it into the a101 release.

I actually had a lamp go out on me during a repeated action, so I've now finally experienced this myself - but I still don't know what could be causing it. When I have a chance, I'll thoroughly examine the checks it makes and see if I can find out which one is failing and why.

Edit: Good news - the light engine overhaul was much simpler than I expected - this will increase efficiency on slower computers at the very least, and I expect it will also address the remaining lighting oddities. I think I may also have found the reason that lamps weren't reporting running out of fuel. Both of these fixes will be live for the next release.

Edit:

24 FEB 2019 - Alpha 1.0.1:
   The engine now only updates the data it uses to draw the player view when necessary. Adjusted the logic and ordering of the lamp burning code to address the occasional failure to report running out of fuel. Silver Bullet now functions as a projectile. Spell animations will appear on the screen to illustrate the effect and trajectory of the spell. Magic damage now routes through a standard pattern like melee. Added a new Legendary armor type which enhances magical abilities.


Edit:


24 FEB 2019 - Alpha 1.0.2:
   Added a large selection of reagents for future spells. Urns are now guaranteed to give at least one item and may give more. Added new rare super-urn capable of giving large quantities of rare reagents. Vaults are slightly more common. Corrected a bug where reagents were not being consumed correctly. Corrected a bug where the screen was not being properly drawn on the player's turn. Fixed a bug where attempting to open a broken door gave the wrong message.
Title: Re: Working on a roguelike...
Post by: ZicherCZ on February 25, 2019, 01:38
Hey Sereg,
I got around to try your game at version A102. On a best run so far, I managed to get to floor 11, but shortly afterwards, after killing a few monsters there, the game froze entirely (I think that killing a tomb serpent was the very last action prior to the freeze).
Closing the game window generated the char.sav and game.sav files, attached. Launching the game again allowed me to continue the game with no ill effects.

Otherwise, good job. The game breathes Lovecraftian atmosphere, so I will definitely give a few more shots.

Edit: I just happened to "start seeing red", and I must say that the red overlay is quite heavy on the eyes. I would suggest a darker shade. Also, after the effects ended, only the area of my light radius was drawn normally, the rest of the level was still drawn red. Upon my next action, the rest of the level was also drawn normally.
Title: Re: Working on a roguelike...
Post by: mihey1993 on February 25, 2019, 04:15
Second the red filter - it was straining my eyes as well.
Title: Re: Working on a roguelike...
Post by: ZicherCZ on February 25, 2019, 06:32
Hey Sereg,

in addition to my bug posted earlier today, another error was generated when I was trying to unlock a single-locked door on floor 1. The error log file suggests a division by zero. The game allowed me to continue playing afterwards.

Screenshot and error log are attached.
Title: Re: Working on a roguelike...
Post by: Sereg on February 25, 2019, 08:19
Hey ZicherCZ, thanks for giving the game a try.

I ran the game from the files you sent, but as you pointed out, the game resumes without trouble when loading from them, so I am not sure what caused the hang in the first place... I'll keep an eye out for it, but I'm not entirely sure where to start. Was the kill immediately prior to the crash? Was it with melee or magic?

Edit: It looks like you had actually started to hallucinate just before the crash - I wonder if that's the culprit... hallucination was built on the original lighting engine, so it's possible there are points of failure that came about during the transition. I'll inspect that when I get a chance - meanwhile, please keep me posted if anything similar happens again.

I'm glad you like the atmosphere - Lovecraft is very definitely an inspiration for this game, so it's good to hear that I've captured that inspiration well enough to convey it to the user that strongly. I've also drawn from derivative works like Deathstate and Eternal Darkness, and of course DRL is a big inspiration for many of the gameplay concepts, but Lovecraft's cosmic horror is the basis of the setting and what exists of the lore so far. Unfortunately, my own writing is nowhere near the level of his, but I hope it doesn't come off too badly.

I've updated that sanity effect to use a much darker shade of red, and it now also only affects the player's memory and sight, rather than the entirety of the undrawn viewspace. While it is meant to be an impediment to natural gameplay, it's not meant to physically harm the player - just his character =P I definitely appreciate feedback on stuff like this, so thanks to you and to mihey for reinforcing it.

Thanks for sending the screenshot and error log on the other bug. I have to say, that division by zero occurs at a very unusual place in the code - the line it references directly follows another line which checks that the divisor is non-zero, so I can only speculate that there might be some sort of obscure race condition I'm unaware of in how the JVM handles the code. In any case, I've rewritten that section of code to treat the error differently, which I believe will solve the problem.

These fixes will be present in the next release - unfortunately I'm not able to send that up just yet, but once I have a bit of free time this evening I should be able to get that uploaded.

Thanks again for checking it out - I hope you'll continue to enjoy it.


Edit:

25 FEB 2019 - Alpha 1.0.3:
   Fixed a divide by zero error in the lighting engine. Adjusted bloodsight hallucination to a much darker shade of red, which only affects player vision and memory. All sanity effects are now triggered and progressed by player movement, and will now persist even when saving and exiting.

Edit:

25 FEB 2019 - Alpha 1.0.4:
   Weapons can now do extra damage to certain types of enemies. Three new weapons and one new armor added. Wrote Lore for Black Moon Grimoire. Added the first batch of spells to Black Moon Grimoire. Fixed a bug in the lighting engine which sometimes hid items on the ground unnecessarily. Expanded Reagent description in casting menu.
Title: Re: Working on a roguelike...
Post by: ZicherCZ on February 26, 2019, 00:57
Ah well, yet another freeze, and this time completely out of the blue. I just downloaded version a104 and was happily walking in a corridor, when the game froze. And again, char.sav and game.sav were generated (and attached here) and the game allowed me to continue after relaunch.

One more little piece of feedback: Potions lying on the floor are now displayed as a dot, which makes them easy to miss among all those broken chests, urns and doors, even with the potion displayed in the upper-right Detail window. In a number of traditional roguelikes, potions are instead displayed as an exclamation mark (!), so I'd suggest changing the symbol to that. Unless, of course, the symbol is deliberate and justified by potions being small and easy to miss :) .
Title: Re: Working on a roguelike...
Post by: Sereg on February 26, 2019, 08:25
That's unfortunate - I have experienced a freeze on rare occasions, but never often enough to pinpoint what might be causing it... I'll examine the program flow and see if I can track it down. Certainly don't want those in the game =\

Currently flasks display as a comma, while reagent containers display as a period. Flasks are closer to what you'd call a potion, but I think I'll go ahead and adjust the reagent containers to an exclamation point, since the comma is already a bit more distinct from the surrounding environment, and reagents being exclamation points complements grimoires being question marks a bit better. This should leave both in a recognizable state and make more sense thematically.

Again, thanks for the feedback - if your freezes do keep occurring, and you notice any kind of pattern to it, please let me know. Such a pattern would be of immense help in finding out what's going wrong =\

Edit: I've checked the savefile, and the only similarity I see between it and the previous one is that the last message before the freeze is about movement blocked by terrain. I can't seem to get the issue to repeat from that state. However, I do appreciate you sending it... please keep them coming if, god forbid, this keeps happening =P hopefully with enough information I'll figure this one out.


Edit: Did you attempt to study a book at all? I found one oddity in the code the might have been the culprit in such a case...

Edit:

26 FEB 2019 - Alpha 1.0.5:
   Implemented the rooting mechanic - affected monsters or players will be unable to move, but all other actions will function properly. All melee attacks and all attempts to move will attempt to break the root. Depending on the initial power, this may be a very brief hold or an almost permanent one. Implemented the fourth spell in Black Moon. Added fifth spell which is not yet implemented. Fixed a bug where spells having multiple reagent types would fail to properly consume their reagents. Added some guards on certain blocks of code to reduce freezes - they still occur, but this should minimize the number of occurrences.


Freezes are still occurring, but I've noticed something odd - player input apparently continues to affect the game state. This most likely means that, for some reason, the code that refreshes the screen is failing to function correctly. While this is unexpected, it gives me a new approach to solving the problem... hopefully by the 1.0.6 release, freezing will be a thing of the past.
Title: Re: Working on a roguelike...
Post by: ZicherCZ on February 27, 2019, 02:04
I've checked the savefile, and the only similarity I see between it and the previous one is that the last message before the freeze is about movement blocked by terrain. I can't seem to get the issue to repeat from that state. However, I do appreciate you sending it... please keep them coming if, god forbid, this keeps happening =P hopefully with enough information I'll figure this one out.


Edit: Did you attempt to study a book at all? I found one oddity in the code the might have been the culprit in such a case...

Hello Sereg,
the last message was indeed the "Movement blocked by terrain", but I'm quite certain that my last action was walking along the corridor, into free space. I'm not certain whether I did study the book in that run.

Edit: More feedback incoming :).

So I got a105, found the dark grimoire and cast the moonglobe. As a light source with no need for fuel, it is quite useful, especially for actions with long durations (unlocking a "very complex lock" took almost 2000 turns). However, when I looted a chest, the ancient falchion could not fit my backpack and ended on the floor. When I moved away, the falchion was not displayed at all - it was still lying there, but invisible from even a single tile away. I tried dropping a few different items, and they were also invisible. It looks as if the items were "displayed" with a black character on a black background. Is this intentional?

Also, the fighting log while using the moonglobe shows a minor inconsistency. The monsters are only displayed with their eyes ("), and the player knows what he hit or missed ("The tomb serpent misses you" and "You hit the tomb serpent"), when the creature dies, it is only referenced as a "source of [color] eyes", as in "The source of green eyes convulses in the throes of death". It's looks even worse with the "swarm of tiny scarabs" - these are not displayed at all, effectively invisible, you know that you hit the swarm, but the death message goes "The source of <no visible monster> convulses in the throes of death".

The third thing I noticed is that under moonglobe, a mummified swordsman is only seen as "a faint eldritch glow". Seeing one did not seem to affect my sanity, making the moonglobe even more useful.
Title: Re: Working on a roguelike...
Post by: Sereg on February 27, 2019, 08:33
So I got a105, found the dark grimoire and cast the moonglobe. As a light source with no need for fuel, it is quite useful, especially for actions with long durations (unlocking a "very complex lock" took almost 2000 turns). However, when I looted a chest, the ancient falchion could not fit my backpack and ended on the floor. When I moved away, the falchion was not displayed at all - it was still lying there, but invisible from even a single tile away. I tried dropping a few different items, and they were also invisible. It looks as if the items were "displayed" with a black character on a black background. Is this intentional?


Yes. Under lower light conditions, items on the floor are not visible until you are actually on top of them.

Also, the fighting log while using the moonglobe shows a minor inconsistency. The monsters are only displayed with their eyes ("), and the player knows what he hit or missed ("The tomb serpent misses you" and "You hit the tomb serpent"), when the creature dies, it is only referenced as a "source of [color] eyes", as in "The source of green eyes convulses in the throes of death". It's looks even worse with the "swarm of tiny scarabs" - these are not displayed at all, effectively invisible, you know that you hit the swarm, but the death message goes "The source of <no visible monster> convulses in the throes of death".
I'll take a look at the relevant areas and address the inconsistencies... not sure which way I'll go yet, but probably if you are in melee range I'll treat it as high light conditions.

The third thing I noticed is that under moonglobe, a mummified swordsman is only seen as "a faint eldritch glow". Seeing one did not seem to affect my sanity, making the moonglobe even more useful.
Good catch. This is, of course, a consequence of the previously noted inconsistencies, and should be fixed with the next release as well, but for now you're right, there is an added utility to it.


I've got some updates ready to go, but I'm still correcting a couple of issues that arose, and I'm hoping the freezing condition will occur for me again and I can do something more decisive to deal with it... I'll add these in  and hopefully have a new version out tonight. If I can't find the source of the freeze, I'll at least be generating some better error logs about the condition of the game when they occur.


Thanks again for your feedback, please keep it coming.


Edit:

26 FEB 2019 - Alpha 1.0.6:
   Implemented the final spell in Black Moon Grimoire. Added error logging in the case of forced window closing to help identify the source of freezes. Manipulating equipment other armor can no longer be interrupted.

27 FEB 2019 - Alpha 1.0.7:
   Fixed a bug where consumption of spell reagents was working improperly. Fixed a bug where bypassing interruption on equip and remove actions caused other item based interruptible actions to break. Standardized message patterns based on available lighting. Fixed a bug where killing the Lemurian Necrocrat with magic didn't properly end the game. Error logging for freezes is even more comprehensive. Inventory capacity and item bulk have been scaled to gave greater capacity for reagents while keeping remaining items equivalent to their current space costs.


Edit:

28 FEB 2019 - Alpha 1.0.8:
   Freezing may occasionally still occur, but it will now self-correct and unfreeze rather than forcing a manual exit. Corrected a bug where an error log might be unnecessarily generated by a check after player death. Added two new fuel producing spells to the starting Grimoire. Increased the power of the alchemical medicine. Wrote lore for and added six spells to Cleansing Rituals of the Atlantean Priesthood. Cursor redesigned to show white on player, green on valid target, red when out of range. Fixed a major bug related to attack spell projection. Separated lore splash screens for undead and viridian, which are now based on type not sanity loss. Casting a spell now brings up a much more informative menu. The sanity toll for seeing certain enemies has been slightly increased.


Edit:

2 MAR 19 - Alpha 1.0.9:
   Wrote lore and implemented all spells for Black Testament. Implemented the temporary effect system and updated the interface to display active effects. Reduced the stat modifications of spellbooks. Horrifying books now negatively impact eldritch resistance. Found the true source of the lamp message bug and fixed it.


Edit:

03 MAR 2019 - Alpha 1.1.0:
   Implemented lore and spells for Viridian Testament. Reorganized spellbook rarities for layer one. Added Atlantean scroll at Scarce.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 04, 2019, 06:03
Finally got to trying out the newest version - was surprised to find containers are now actually locked it seems? at least if you dont seem to damage a container message is anything to go on. was a bit surprised by text log structure too - with x111 and so numbers being detached from what they are supposed to relate to.
Now i see there is small "this weapons seems to be very effective against this opponent" - helpful and nice touch! it sure helps figuring out what works on what!
If last time all i had was fuel and healing items, this time I had almost all ingredients for things i do not know of yet:D
I never knew that having 0% oil in the lamp meant there is still some oil for it to light my way:D
Looking in the rooms with slow phlogiston in your oil lamp makes it very jarring and heavy on the eyes sadly.
edit: it seems that if you accidentally tries to alter the enemy, it still wastes your time and produces "enemy interrupts you!" message as well as letting them score a hit on you.
Spoiler (click to show/hide)
Title: Re: Working on a roguelike...
Post by: Sereg on March 04, 2019, 08:24
Finally got to trying out the newest version - was surprised to find containers are now actually locked it seems? at least if you dont seem to damage a container message is anything to go on.
Everything that can be altered has a difficulty associated with it - empty containers are alterable because they have a small chance to spawn anywhere, so if they appear in a corridor the player needs a way to clear them. The difficulty to destroy an empty container is very low with respect to other alterable terrain, but it is still possible to fail and generate that message.

was a bit surprised by text log structure too - with x111 and so numbers being detached from what they are supposed to relate to.
Numbers are disassociated because they are only produced once an action is finished - I should be able to combine them into one message by reordering the logic, though.

Now i see there is small "this weapons seems to be very effective against this opponent" - helpful and nice touch! it sure helps figuring out what works on what!
Yes, weapons (and spells) will now indicate whether they are effective or not against a particular target. Currently this is not tiered - a weapon that does 5x damage and a weapon that does 1.1x damage will still produce the same message. I'll probably update with a greater range of messages later, but for now there is an indication of whether your attack is working well or not.

If last time all i had was fuel and healing items, this time I had almost all ingredients for things i do not know of yet:D
These are reagents for spell casting. Your starting grimoire doesn't require very many of them, but if you locate some of the other grimoires, you will find a use for them... Every grimoire currently in the game has a set of fully functional spells associated with it, and more are coming ;)

I never knew that having 0% oil in the lamp meant there is still some oil for it to light my way:D
0% means there is still some fuel left, or the fuel container itself would be gone - it's possible to show up this way because I use integer division to get the percentage, which means anything after the decimal point is ignored, so if you have less than 1% remaining, it will show up as 0%. I suppose I could give some precision now that my new display format is less greedy about screen space.

Looking in the rooms with slow phlogiston in your oil lamp makes it very jarring and heavy on the eyes sadly.
Hmm, what about the slow phlogiston is jarring? It's the exact same color as the bright phlogiston, just a much smaller light radius. It's meant to be sort of a trade off - you can make the bright stuff, which is significantly brighter than normal lamp oil but burns twice as quickly, or you can use slow phlogiston to create a much slower burning fuel at the cost of some visibility. I don't know that I can do anything to make it less jarring while still preserving this balance, unless you mean that in a different way then I am understanding.

edit: it seems that if you accidentally tries to alter the enemy, it still wastes your time and produces "enemy interrupts you!" message as well as letting them score a hit on you.
Yes, it looks like a failed alter attempt was going ahead and using the full alter time cost. It now reverts to a pause action, which is also what happens when you walk into a wall, and has a much smaller cooldown to your next action. This, along with the rejoining of counts with messages, will be live in the 1.1.1 release - hopefully sometime tonight.




Title: Re: Working on a roguelike...
Post by: mihey1993 on March 04, 2019, 08:38
Well, as i am currently running through it a second time i can answer better - as less potent oil have range of five, when you approach a room, you "suddenly" discover it is bigger than what you see when approaching it which on my monitor was always very sudden. as i played with contrast tho i managed to make it more easy on the eyes.

I am still advocating for spell to gain more mercury to be cheaper:P Or finding mercury or creating it without using it:P I wish to try out full on spellcaster sometime :D

As of current run, i have found out that the clear liquid when used is used in odd percentages, always different.
Unlike other currently percentaged items.
Edit: this time rng was even less nice towards me. Didnt find many good weapons, nor healing items and no luck with books either.
Spoiler (click to show/hide)
Title: Re: Working on a roguelike...
Post by: Sereg on March 04, 2019, 09:32
Hmm... I don't really know that I can do anything about that other than give all lights larger radii... but since I eventually intend to introduce much larger rooms, the problem won't actually go away by doing that. In the current map generation theme, Catacombs, everything is very close together, but future themes will have bigger rooms, corridors, or be entirely open, so lighting will actually just illuminate a circle around the player, as it does now in very large central chambers.

I presently have no plans to introduce anything like a class system - you're one person exploring a massive ancient dungeon complex with very limited supplies, and you have to make do with what you find. It might be possible that in some far distant update I'll have something like DRL's Marine/Technician/Scout option, and maybe the Mage version will have better reagent drop chances or use fewer of them... but like I said, there are currently no plans for this. I actually considered something like that when designing the game(Soldier/Alchemist/Cleric), but went with the current system instead - I didn't want to overcomplicate game balance by accomodating too many different options, preferring to focus on my own priorities - the sanity system, or the grimoire system, or the many lighting options, for example.


As far as balance goes, there's a lot of work to be done - I think once I finish the bulk of the work on Layer 1(the catacombs theme), I'll try to do a balance pass, which may affect your mercury, or the way the RNG doles out items, so definitely keep the feedback coming in that regard, but I probably won't do too much to balance it until I have all of the elements in play that I'll need to balance.

Edit: What do you mean by clear liquid? The sanity restoring items? If so, what percentages are you experiencing? Those only have 2 doses, unless you find the rarer version, so percentages shouldn't be too weird on that item...

Title: Re: Working on a roguelike...
Post by: mihey1993 on March 04, 2019, 09:45
By that i mean that while healing jars now work on showing you percentages of topmost jars, clear elixir seems to behave on old scheme - which is overall percentage of all the liquid u got:3
Title: Re: Working on a roguelike...
Post by: Sereg on March 04, 2019, 11:30
Odd, since I hadn't changed any item yet.

What I'll probably do is what I did for reagents - show the total unit quantity available rather than masking with a percentage.

Edit: Fuel still displays as a percentage, since this is slightly more valuable than the raw data, but other items of this type now simply count their remaining doses.

As with the other changes, this will be included in the A1.1.1 update.

Edit:
04 MAR 2019 - Alpha 1.1.1:
   Choosing an invalid target with the alter command now replaces the command with a pause similar to walking into a wall. Message repetition counts are now attached to the messages they correspond to. It should now be possible to close the game window even in the event of a fatal crash. Non-fuel flasks display dosage rather than percentage now. Implemented temporary effects for melee attacks. Added new monster Vitriol Serpent with a poisonous attack. Effectiveness masks on attacks offer a greater variety of information. Wrote lore and implemented all spells for new Harappan tome Arcanium of Dholavira. Fixed a bug where the cursor was no longer allowing targets to be selected. Cursor may no longer be moved outside of the game map. Added new monster Corpse Leech.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 08, 2019, 15:41
Got to checking out my favorite alpha again:D finally got lucky enough to use mercury font spell! Ye, this amount of mercury will last me awhile;P
Got funny graphic bug. A font on one step shown empty, on another filled.
First time seen embermace and hunting spear!
Overall i feel like humping in closed but not locked door should just open it.
Title: Re: Working on a roguelike...
Post by: Sereg on March 08, 2019, 19:02
Outside of high light, certain terrain features display an alternate image - you can see this with the mural walls, which only display the mural graphic when your light is bright enough to reveal them, and appear as a normal wall otherwise. I applied the same mechanic to fonts, but maybe they would be better off displaying their normal graphic regardless - after all, presumably you can still hear them running.

I can certainly make moving into a door attempt to open it, but this will be more costly if done accidentally - still, though, it's probably worth doing. I'll add it to the set of features slated for the next release. I have some pretty decent work done already, but I'm not quite ready to release yet. Among other things, the rarity has been scaled back a bit, so players will have an improved chance of finding some of the nicer items that exist, like the mace and spear you found. Should still be high enough to make the really rare items, Legendary and up, rare enough that they aren't guaranteed in a given run, but no longer quite so inaccessible.

Also, nice work discovering the conditions for the mercury replication spell. There are some other mechanics, especially among spells you'll find in some of the rarer books, where mechanics are hinted at like this but not directly revealed - I like to believe I offer enough information to solve them, but since I wrote them, I don't have a really good feel for that - so I'm glad this one wasn't too obscure.


I'm glad you're enjoying the game, and as always I appreciate the feedback.


Edit: Both of the proposed changes are now live in the development version of the game and will be part of the next release.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 09, 2019, 01:22
Glad to be of service! Another thing i noticed is that any creature i met so far tries to move in such way as to avoid being illuminated.
Aaand i died when trying to change one weapon for another. I have no clue how long the game thinks this process is, but it was enough for undead swordsman to step to me, and kill me when i was completely healthy.
On another note, this was first run i saw a lectern dungeon feature.wonder if it can be not empty.
By the way, currently useful dungeon features are so rare i seen them exactly twice in all the tries x3
And the first time i got to royal crypt ia the time i die from my sanity level, and i had no elixir to help with it. Is there any way to get sanity damage down beyond them?
Title: Re: Working on a roguelike...
Post by: Sereg on March 09, 2019, 05:14
Currently the AI I use is very rudimentary - its default behavior is to shun light, but if the player illuminates it, it will instead attack. This makes sense for the animal type enemies, but other enemies will eventually have different AI.

I might see about adjusting dungeon feature rarity in addition to item rarity - there is a feature that will help restore sanity, but it also has a different use you've already discovered...

Sanity can also be conserved by keeping your Eldritch resistance high, and if you do find a non-empty lectern, or otherwise come across some of the magical grimoires available in the dungeon, you may find that some have ways of restoring your sanity. Others, of course, may make it even worse...

Changing equipment used to be an interruptable action.  Changing armor still is,  but every other slot can now be swapped without interruption.  However, I never changed the time cost... I believe it's still 5 seconds, which is a lot longer than it takes for a strong enemy to melee you to death.  I'll leave armor at that time, but I think it would be reasonable to speed other gear up a bit.  Of course,  it will still take some time... I don't intend players to change gear in combat, so it will not be a free action,  but it shouldn't be quite that lethal either.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 09, 2019, 09:12
The problem i have with current sanity mechanic is that whether u die to it or not is currently solely depends on whether u find anything to protect it with or otherwise. And i died in very dumb way- i did one step to discover three undead in the crypt, then tried to move to see below, and next thing i know i receive a "you have died" screen x3
I d say you can only lose so much sanity seeing same enemy type before it wears out it,s novelty,
Title: Re: Working on a roguelike...
Post by: Sereg on March 09, 2019, 10:15
 It actually does work like that, with diminishing losses as the number increases,  but perhaps the threshold is too high... I'll look into that for the next release.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 12, 2019, 15:21
Second time I died to sanity - when i was trying to open a door while unstable XD
Spoiler (click to show/hide)
Title: Re: Working on a roguelike...
Post by: Sereg on March 13, 2019, 08:18
Heh, I really ought to get an update rolled out with the update to sanity... it's been a busy week, and I'm trying to move to a release schedule where I emphasize more content per update rather than fast releases, but I should have enough done to push an update tonight or tomorrow, or Friday morning at the latest.

I'm glad you're still playing despite that, and I hope you don't burn out on the current somewhat rough mechanics - the next update should have a better balance overall, as well as some nice new books to play with.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 13, 2019, 08:45
Ye x3 i want to see new magics at least!:D as i havd not yet have any luck finding spellboooks or scrolls that i could read x3

By the way, on side note, the mercury bullet while effective and fairly cheap, it still requires like dozen casts against mummies, and 5 against aura xe not complaining since it is safer than beating them in the face, but maybe having higher power version would be fun? Also may give some more ingredients some use xe
Edit: finally, on the dryest in terms of items and equipment run i got a grimoire different to my starting one. versatile, but i guess antivenom is yet useless:D
In my humble opinion current generation leaves you with endless supply of all kinds of ingredients, and makes things like light sources a novelty. I had seen barely any healing items in the few rooms that generated, and the first room was level 5 of catacombs.3.
Title: Re: Working on a roguelike...
Post by: Sereg on March 14, 2019, 10:19
14 MAR 2019 - Alpha 0.1.1.5:
   Reworked loot system - it should now be somewhat easier to find items of higher rarity. Monsters are also slightly more likely to drop items. Temporary effects now have diminishing returns the more times they are applied. Wrote lore and spells for new Grimoire 'Atlantis Ascendant'. Fixed a bug where the northwest borders of the map were improperly hidden. Active fountains now appear active regardless of lighting. Moving into a closed but not locked door automatically attempts to open it, which now has almost no chance of failing. Monster sight sanity threshhold halved. Center terrain features are now slightly more common, with a better chance of becoming a better feature. Non-armor equip and remove actions replaced with consume and dequip actions, respectively, taking much less time to complete. Fixed a bug with refueling. Fixed a bug with loot generation. Pause now passes appreciably more time, but is still faster than any other action besides Instant spellcasting. Added new weapon stone hammer. Added new grimoire 'Liber Ivonis' with lore and spells.

Edit: missed a couple - I adjusted the rarity on falchions from Uncommon to Scarce. I also added a new spell, Mercurial Missile, to the Lapis Philosophorum, as a less efficient but more potent per shot version of Silver Bullet for alchemists with extra mercury on their hands.

I've also reformatted how I do version numbers - I'll be working toward a 1.0.0.0 completion in larger steps than before... The fourth number will denote minor adjustments, with the third and second denoting larger milestones. I have a rough plan for how to progress these, but nothing set in stone yet, so version stamps will probably still be somewhat inconsistent, but it should be an improvement over the earlier system.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 14, 2019, 10:59
Oooh~ I am definitely giving it a whirl!
Edit: it seems the game starts to lag a small bit - not too seriously but noticeable - assume lighting is the culprit.
And i died due to having no weapons beyond starting and allll the tomb serpents in a row, with me missing one for like 7 times while he hit me every time.
Spoiler (click to show/hide)
at least i can confirm that i indeed get something more useful than countless ingredients for nonexistant spellbookS:d
Title: Re: Working on a roguelike...
Post by: Sereg on March 14, 2019, 12:47
Lighting is actually less expensive than before, so I suspect it must be something else... I wonder if the slowdown is due to the new temporary effect checks. Do you mind posting your hardware specs?

Glad to hear the loot rework is having some effect - I suspect that death was just the wrath of the RNG, but let me know if it continues to be an issue.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 14, 2019, 14:11
Well i felt that few met enemies spawned more than before but it may be rng's spite for me finding a decanter of the sanity juice:D
As for specs - i have i5 6500 with 3.2 GHz. Unless it is my processor being too weak, i literally have no other clue:D
and well, it dips a small bit, like a lag of rendering actually lighting as i press key, or getting quickly lagging if i move too quick with keys.
using win 10 btw.
Title: Re: Working on a roguelike...
Post by: Sereg on March 14, 2019, 15:13
Hmm... if you're having performance issues on that, I probably just wrote some really inefficient code somewhere. If it only started recently, I have an idea where to start looking, but I should probably make a complete optimization pass on all the algorithms at some point.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 15, 2019, 08:21
As i am playing new version being happy with much more loot than before, i cant help but have a couple questions:
1) will at any point there be a way to break doors down instead of lockpicking them, or way for monsters to do so? or the broken doors are just for flavor?
2) does anything in game improve the magic spells damage?
Edit: i met six or seven fonts in this game:D and a troll locked room with broken chests only inside.
a small bug appeared - when i tried to pick up a thing, my oil gone out which didnt let me pick it up - with no message but your oil is gone out given.
another thought i had was that moderately wounded is much larger category than slightly wounded - or severely to that matter
Spoiler (click to show/hide)
Magic missile (silver missile:P) for the win!
Title: Re: Working on a roguelike...
Post by: Sereg on March 15, 2019, 09:44
1) Yes, technically doors can be broken via other methods - their transform tables allow modification from other sources than alteration. However, I've only implemented modification from alteration, so presently nothing else can actually do this. Broken doors are a flavor for now, then, but in theory, eventually monsters will exist who will be able to break down obstacles between themselves and the player, and the player should have new ways of affecting their environment.

2) Currently the only way to improve your damage is by evaluating enemy damage type strengths and weaknesses and selecting spells which are more effective against your particular target. Casting speed can be boosted, which is useful to some extent, but probably better would be raw damage increases or chances of saving reagents - It should certainly be possible to implement damage boosts with the current system, but reagent modification will be more difficult to do.

Hmm, 6 or 7 fonts in 13 floors might be a bit more common than I intended. I'll probably revise that rarity upward, but not as far as it was before. However, it could just be a very lucky RNG - certainly, a treasure room with only broken chests is extremely rare. Loot containers, when generated, have a small chance of reverting to a different type, and for everything in the room to manage that is rather incredible.

Light going out is an interruption, so it will stop an interruptible action like picking up an item. Currently, any interruption other than of studying a grimoire will only display the interrupt message, but nothing specific to the item or action. In the development version, I've just added new messages to make it more clear to the player that their interrupted action was not completed, so this should be fixed for the next release.

And yes, the masks are a bit poorly spaced on health - I'll look into rebalancing those as well, like I did for Sanity.

Congratulations on winning - I notice you have a couple of Grimoires which you could read well enough to cast some spells from, and quite alot of reagents... were you able to make use of any of them? I see you finished the game with the starting Grimoire, and I'm hoping that's only because of the overabundance of mercury you found on the run.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 15, 2019, 11:30
I indeed dabbled in using two of three grimours i had on me - atlantean i had barely unlocked second spell on next to last floor , and lemurian grimour i found only a floor before it, so mostly i played with harrapan one.
Magic dart seems fine,even though it costs a lot of reagents to fire - reagents that i normally used to make phlogiston before oil became a bit more abundant.
as for grimour, i didnt have necessary reagents for spell i needed from it, and the rest of what was opened to me didnt feel like using - while having a lot of fonts, i didnt have too many sanity things - and seeing viridian auras sure is a hit enough to get me on first time from lucid to strained.
Atlantean spell i assume helps with this but i didnt see the effect as i was lucid at the time. Sadly spell i wanted to try i never found reagent for - was going to see what exactly poisoned weapon do :3
edit: almost forgot! i swapped grimours frequently both to test the speed of this action(i assume haste does not affect those timings, does it?:P) and used them to keep my sanity on somewhat resistant. while talking of this also reminded me that no armors in game i wore so far gave me enough of the resistances to change the resistances on the list. only amulets/grimours. even if armors clearly work - the better they are the more often i shrug off weak enemies.
Double edit: I also must admit that added spell for starting alchemy book is massively speeding up dealing with undead. Also - i have tested that you may want less bright but still far reaching fuels more than bright ones so to use the "i dont see what is that thing so i do not fear" approach when throwing magic at them.
By the way, may i suggest not just skipping to "you died" screen? i d like to see what kills me and how sometimes:D
Also when you go downstairs and spooky monster is in the view you immediately suffer sanity damage - so being without reagents when phantasms start to appear may leave you usntable enough that travelling downstairs will just straight up kill you - especially if there are many enemies, like on last floor:D
Title: Re: Working on a roguelike...
Post by: Sereg on March 15, 2019, 12:02
Action speed does indeed affect equip and remove times - I believe those are based on attack speed, which implies the use of your hands, not move speed which affects use of legs or cast speed which affects speed of mind/speech.

Armors do not directly affect resistance stats - they behave differently than other gear slots, and their resistances are applied directly to the process of absorbing damage, while in general resistances are applied up front before the damage is dealt. It might seem a bit confusing, but think of the resistances you get from amulets and grimoires as sort of magical enhancements, while resistances on armor reflect the actual properties of that piece of armor.

Radius of a light source is actually directly related to its brightness, so there is currently no way in my lighting system to create a large light radius with a low brightness(although I could certainly override this, and it might be interesting to do for some lights...). However, burning things down from a distance, before you can directly see them, is definitely a valid strategy for managing sanity.

As far as going to the death screen immediately, I might be able to find a way to add an intermediate step that freezes the screen and displays a message, but the death screen does tell you what killed you, so I'm not entirely sure what the confusion is... still, it probably wouldn't be a bad idea to capture the screen at death and write it to the mortem. I'll look into that for the next release.

As far as the danger of entering a new floor, that's certainly an intended part of the sanity mechanic - imagining already being in a mentally unstable state from the horrors you've seen, then descending a new level and being immediately faced with several more horrific enemies - the shock very easily could kill you, or leave you completely mad.

If you're frequently finding that such situations are occurring, I may need to slightly rebalance the sanity restoration rates, but at first glance I'd chalk that up to an unfortunate RNG. Bear in mind that some mitigation comes through repeated play - knowledge of languages persist between games, so the next time around you may find you have access to more spells for dealing with Insanity in the books you find.


Edit: By the way, I've got a spell power modification system implemented for the next release, so you should be able to optimize your equipment to create a stronger caster playstyle from now on.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 15, 2019, 12:39
Thanks for all clarifications!
I didn't get in too bad of a shape in this build - mostly due to me having access to a lot more magic than before in form of the trusty alchemy book , so i didn't have to melee phantasms, and only met one in the game - but ye, rng currently plays a big role in what happens to my char:3
may confirm though, new system gives me a lot more chances to have weapons and armor not taken off the undead like happened once or twice before.
Edit: as for what kills me - if you die from sanity damage, you don't know WHAT affected you there in the end:D
Spoiler (click to show/hide)
that is why you do not test spells that say they sacrifice x3
Title: Re: Working on a roguelike...
Post by: Sereg on March 16, 2019, 06:40
Haha that's awesome... I thought to myself while writing that spell... should I make something bad happen if the player stands in the area of effect? As you have discovered,  the answer to that question was: "Yes. Yes I should."

It looks like you had quite the run going, too... that's a lot of loot so early in the game o.O
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 16, 2019, 13:59
That is indeed!I must say, having amulet of haste is invaluable with slow weapons - and i lucked out on chests with red tinge a lot!
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 16, 2019, 14:11
Also, u kiiinda gave me an idea on how it is supposed to work now ;P
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 17, 2019, 15:06
A new thing happened - "you failed to learn anything new from it"
also first time seeing :"you are affected by smth"
Spoiler (click to show/hide)
of note - created amulet, tested hammer out, tried out various spells and clothing:3
Title: Re: Working on a roguelike...
Post by: Sereg on March 19, 2019, 08:19
It is possible not to learn anything new about a language from a grimoire - but annoying. I might remove that total failure chance.

Temporary effects are new, and inflicted by very few monsters and a couple spells, so it's a fairly rare message.

I am aware of a bug report that's generated by a non-fatal crash while trying to read lore for books whose language you haven't mastered - this has been corrected in the development version.
Title: Re: Working on a roguelike...
Post by: mihey1993 on March 19, 2019, 10:36
When can i expect to try the newest one?:3
Title: Re: Working on a roguelike...
Post by: Sereg on March 19, 2019, 17:48
I'll try to push a release tomorrow night - I haven't got quite as much done as I'd like, but I'll be away until next week sometime, so nothing new will get done until then if I delay it, anyway.
Title: Re: Working on a roguelike...
Post by: Sereg on March 20, 2019, 19:21
And here it is:


20 MAR 2019 - Alpha 0.1.2.0:
   Added new interruption messages for clarity. Revised rarity of center tiles down slightly. Added and implemented Spell Power modification. Grimoires and some amulets will increase this by certain amounts, while heavier armor will decrease it. Added a new weapon and amulet which boost spell power, and added a boost to the warlock's attire. Losing sanity now passes a message which will identify the cause if the player dies of madness. Fixed a bug where scrambled lore as a result of poor language proficiency could lead to bug reports. There is now a lower bound on how much the player learns from studying an unread grimoire - some progress will always be made. Slightly reduced chance to upgrade a loot roll to a higher tier. Reduced the reagent cost of many spells. Added new monster type Reptilian. Wrote lore and spells for new Grimoire 'Ophidian Apostasies'. Rebalanced some casting times and made Chant uninterruptible. Adjusted the rarities of several weapons. Added light override and burst effects to temporary effects to support new spells.
Title: Re: Working on a roguelike...
Post by: Tormuse on March 21, 2019, 21:10
Admittedly, I haven't played this since version 0.9.6 and it looks like there have been a lot of updates!  :o  (And the game I just played was A0.1.1.5, so I'm behind again already!)  :P

Anyway, this is the first time I've played a game with spells and spell-casting ingredients...  lots and lots and lots of ingredients, filling up half my inventory!  :o  (Well, filling it quantity-wise, not weight-wise)  :)

Anyway, I have a couple suggestions right off the bat, since you can't actually use reagents from the inventory screen, perhaps they could be on their own separate screen?  It would look less cluttered that way, I think, and I wouldn't have to cycle through quite so many items every time I want to use a healing potion.  It would be really nice if I could see a listing of my ingredients on the spell-casting screen, since that's when I'm most likely to need to see them.  (And it seems like there's plenty of space...  I mean unless there are a lot more types of reagents than I encountered...  which seems likely, now that I think about it)  :P

As usual, I took some notes:

On the spell-casting screen, text is too dark to read for some ingredients, like sulphur and bone dust.  (They're bright enough to read on other screens, like the regular inventory screen)  I get the impression that they're extra dark if you don't have enough of that ingredient for the spell.  Still, I think it could stand to either be brighter or distinguished in some other way.

(Something I've been meaning to say since the beginning)  What do you think of changing the "Save" button to "Ctrl-S" since I think that would be more intuitive than "Ctrl-X?"  (It can be both, really; just putting that out there)

It displayed a message when my lamp ran out!  Yay!  :D  (Generated an error message when I refilled it, though; attached below)  :|

I found a black grimoire which displays its spell names in black, which are unreadable.

I would post the mortem autopsy from the run, but unfortunately, the game is hanging right now.  It isn't accepting any keyboard input and won't let me save or exit or move or anything.  :(  The last things I did were I found an Atlantean torch, filled it with fire water, then pushed "T" to look at the containers in the treasure room where I was at the time.  It froze as soon as I pushed "T," with the little target "X" showing.  I'll attach a screenshot of my final screen below.
Title: Re: Working on a roguelike...
Post by: Sereg on March 22, 2019, 06:16
I'll send a more complete response Sunday night,  but for now I'm on mobile only so I'll keep it concise... did the hang occur immediately after the refill which generated the error log,  or were there two separate instances?
Title: Re: Working on a roguelike...
Post by: Tormuse on March 22, 2019, 11:30
They were two very separate instances.  Like they happened hours apart from each other.
Title: Re: Working on a roguelike...
Post by: Tormuse on March 24, 2019, 01:12
Okay, I played a game of version A0120 and I won!  :D

I got a bit of wonky RNG action in this game;  I only found one grimoire and didn't find enough books to translate it, so I didn't get to do much in the way of spell-casting, despite (I daresay) having a pretty impressive collection of spell-casting ingredients.  :)  The game buried me in healing sources and fire water, but not so much in the way of calming elixirs, so I spent the late game well lit and physically healthy, but insane.  :P

The amulet of haste made the game a breeze; as long as I was careful and didn't impatiently charge into battle, I was able to avoid taking any damage.  Also, the Embermace is surprisingly effective against the undead!  It was able to take down mummified swordsmen in 2 or 3 hits, whereas the khopesh would take about a dozen hits.

I also encountered a couple Spectral Remnants that "rended my soul."  I don't know what that means, but it sounds bad.  Does that mean they drain sanity?  In any case, I'm glad I had the Soulcradle at the end.  My sanity level was "unstable," but I'm sure it would have been lower without that.

Spoiler: Autopsy (click to show/hide)

EDIT:  Whoa, that's weird...  I just found a bug.  After I won, it took me back to the main menu and there was a "continue game" option and when I selected that, the final level where I faced the Lemurian Necrocrat flashed on the screen for a second, and then it took me back to my previous saved game.  I'm guessing it's not supposed to do that.
Title: Re: Working on a roguelike...
Post by: Sereg on March 25, 2019, 07:52
Part of the reason I require reagent containers to take actual inventory space is because a player might at some point want to manage their inventory and remove excess reagents to make space for other things.

Probably it would be better to treat them separately, as suggested, and not display or track them in the inventory, but since they are currently items, this would require either a large rewrite or a hack - either way, probably still worth it to save a headache in inventory management that's not really intended. I'll see about a solution for this.

There are some contrast issues on some screens - I created a solution for this, but it isn't working as intended, so I'll revisit that and see if I can come up with something better - the player shouldn't have to select a different display theme to read their book.

As far as the save command, intuition is not necessarily universal - 'X' actually stands for "E(x)it", of which saving is a natural side effect, as opposed to 'Q', which stands for "(Q)uit without saving", and in my experience, I exit more games with Ctrl-X than Ctrl-S. However, it would probably not be a huge deal to add a line or two under a modifier switch for the s key code to handle this, since as you point out Ctrl-S may be a more intuitive understanding for some subset of players.

I'll look into the lamp message and see if I can find why that's happening. Fortunately it wasn't fatal, but it's a bad thing when Null Pointers start cropping up in unexpected places for unknown reasons.

The second error was probably unrelated to the refill, if it was so widely separated - I suspect that's a separate issue where the display thread dies. In the past this caused an unrecoverable hang, but in the current version, the game does recover from it after some amount of player input because I monitor the thread and attempt to restart it if I find it terminated. However, the conditions which cause it to be terminated are unclear to me, and apparently can persist for several player actions depending on the game state, so the hang is still present, and not particularly nice if it occurs while the player is in a situation where they need to take precise actions. I have had great difficulty finding the source of this issue, since it occurs in a portion of the code that comes from a standard Java library, and I don't understand why my input is producing the output that causes the crash, so my thread monitoring is a sort of temporary patch to make it recoverable when it occurs, but I'll have to investigate the problem in depth and find a proper solution before any kind of non-alpha release.

As far as the RNG behavior in your win, that's definitely within the scope of intended gameplay - and it's one of the reasons language knowledge persists between games.


Haste is probably too powerful as it is - I'll probably promote it to legendary rarity.

Embermace is definitely strong against undead - it doesn't inherently have a damage bonus against the undead enemy type, but the resistance profile of undead enemies is weak to fire, so the effect is similar.

Soul-rending is indeed a sanity based attack - be careful of those remnants, especially when your sanity is also low. Of course in your situation there's little you can do about it without spells, but in a more generous run, they make a great case for using magic instead of melee.

That bug appears to be caused by your save state persisting even after your victory, which is not supposed to happen. I'll trace it and see if I can find out why that important step was missed.
Title: Re: Working on a roguelike...
Post by: Tormuse on March 25, 2019, 12:55
Part of the reason I require reagent containers to take actual inventory space is because a player might at some point want to manage their inventory and remove excess reagents to make space for other things.

Probably it would be better to treat them separately, as suggested, and not display or track them in the inventory, but since they are currently items, this would require either a large rewrite or a hack - either way, probably still worth it to save a headache in inventory management that's not really intended. I'll see about a solution for this.

(Random idea; don't know how viable it is; probably would need to be done in a hacky way...)  Perhaps reagents could show up in the inventory as a single item, "spell-casting reagents" with weight equal to the total weight of all the ingredients you're carrying and when you select it, it brings up an itemized list of all your reagents?

...since as you point out Ctrl-S may be a more intuitive understanding for some subset of players.

...Like people who play DRL for instance?  :)

I'll look into the lamp message and see if I can find why that's happening. Fortunately it wasn't fatal, but it's a bad thing when Null Pointers start cropping up in unexpected places for unknown reasons.

Additional information:  I was refilling it with the lamp oil you start the game with.  The refill that generated the error message used up the last of my oil while filling my lamp up to 100%.

...language knowledge persists between games.

Oh, really?  Guess I need to go play another game now to test that.  :)
Title: Re: Working on a roguelike...
Post by: Tormuse on March 29, 2019, 00:05
Well, that was fun...  I was playing along, doing decently well and got insta-killed by a Viridian Aura.  I started a level two tiles away from it.  I was wearing an undamaged Lemurian Noble Cuirass and was "slightly injured" at the time.  (So good HP and armour, I think)  The only thing I did was switch to my Embermace and died while doing that.  I think those things need a nerf.  I had killed one earlier and I observed that they're a lot faster in this version!  It got multiple moves for each of my own.

Spoiler: Autopsy (click to show/hide)

A couple of Some notes:

Something I probably should have mentioned earlier:  The diagonal arrow keys (from the numpad) only work if Numlock is on.  I don't know if that's a problem per se, but in other Roguelikes I've played, they only work if the Numlock is off, so it always causes momentary confusion when I switch.

At one point, I forgot to check out a locked door, because I wanted to secure the area before unlocking it.  My fault, of course, but it makes me wonder if they could appear a different colour or something when they're out of view so they stand out and remind you that they're there.

The "Partial Eclipse" spell says it "imprisons an undead opponent using fuel from a moonglobe."  Fair enough, so I cast a Moonglobe spell and then cast Partial Eclipse, which used up my reagents, but said it failed, along with the message, "perhaps it draws power from the fuel in your lamp?"  Okay, well, the Moonglobe, displayed in my "lamp" slot says "no fuel," but it won't accept any of my oils.  Is there something else I'm supposed to put in to fuel it?  I got the idea of using "moonpearls," and it used up a bunch of them without anything happening, while giving the standard "you must use this reagent in a spell" message, which I'm pretty sure is a bug.  (EDIT:  In fact, it seems that selecting any reagent makes it disappear from your inventory without any effect; I have a feeling this is unintended)

UPDATE:  Okay, so I figured out that I'm supposed to cast another spell to generate fuel for the moonglobe before I can cast partial eclipse and when I finally cast it, it brought a mummified swordsman, (ie the weakest of the undead) down to "heavily injured" and it immobilized him for about three moves, I guess?  I went up to him to finish him off and he started chasing me again.  Considering all the reading and studying I had to do to be able to cast that spell, and the fact that I had to cast three spells and use up reagents for all three, (note that it used up *ALL* of the fuel in the Moonglobe to "imprison" the swordsman and I use the word "imprison" very loosely here) it was a pretty crappy spell, when you consider I could have had the same effect with one whack from my Embermace.
Title: Re: Working on a roguelike...
Post by: Sereg on March 29, 2019, 20:12
Thanks for the additional feedback. Unfortunately, I've been a bit busier lately, and on top of that I've started a new project to build a much better console than the one Viridian Abyss currently runs on, so most of my spare coding time has been devoted to that recently. What this means is that I don't have a new version ready to go, nor is it likely in the immediate future.

However, I do plan to continue supporting Viridian Abyss with bug fixes and balance adjustments, so I continue to welcome such feedback.

Viridian Auras are intended to be the most dangerous enemies you can encounter in the current version. They do magic typed damage, which the player tends to have fewer sources of resistance against(your armor is focused mostly toward physical typed damage), and they move quickly. A weapon change action, while significantly faster than it was prior to recent changes, is still significantly slower than a basic move or strike action, and the Viridian Aura performs those faster than the player. Additionally, there is no monster pause on level creation - the player will have the first move, but every other monster is queued up and ready to begin acting right away, too.

The current balance is not kind to on-the-fly equipment changes. Perhaps this will be a problem in the long run and will need to be looked at, but for now, that's intended - I don't want players swapping gear as a reaction. I prefer to favor advanced planning - selecting the gear that the player believes will be most effective for the type of enemies they anticipate encountering, and carrying extras not for situational swapping, but for backups when their current gear degrades. If informational spells are available, these can certainly be used to plan situational swaps in a timely fashion, and I don't mean to completely discourage a playstyle of keeping a more powerful weapon in reserve to spare its durability, as you seem to have been doing. Perhaps it wouldn't be a bad idea to switch to a more potent weapon as a precaution before heading for the stairs, just in case something bad is waiting for you - if you do end up needing to make a few attacks against weaker enemies, it won't cost too much off the durability, since they'll likely die in one or two strikes.

I already hack doors to be brighter than surrounding terrain when lit, to make them easier to notice, so it should be trivial to do the same when remembered.

Good job working out the eclipse spell - it's meant to be somewhat opaque, so that the player does have to work out from the spell book lore or the spell description how to correctly employ the spells(as one might expect of our intrepid adventurer), but they aren't meant to be dragonslayer hard, so I'm glad you were able to find the solution without too much trouble.

You are correct that using a reagent isn't supposed to consume it - I'll address that along with the overall reagent reorganization suggested in your previous post - I certainly need to do something different with displaying those, so I may as well handle that too.

Sounds like Partial Eclipse needs a significant buff - I don't always have a great sense of what's balanced, what's overpowered, and what's too weak, and it looks like I erred on the side of way too weak in this case. Expect a damage increase and a significant lengthening of the root duration for the next release, and please do let me know if you come across other spells that feel underwhelming - Grimoires are rare, the languages aren't easy to learn, and the RNG can play havoc when it comes to finding the precise reagents you need, so while I don't want magic to be godmode, I also don't want it to be disappointing.

I'll try to get some work done on this over the weekend, and hopefully I'll have something to show for it by early next week, but unfortunately I'm not quite able to promise a release date for these changes just now.
Title: Re: Working on a roguelike...
Post by: Sereg on March 30, 2019, 16:23
30 MAR 2019 - Alpha 0.1.2.5:
   Save and Exit now also responds to Ctrl-S in addition to Ctrl-X. Improved contrast in several game interfaces. Spell Reagents are now condensed in Inventory, and appear in full detail in the casting menu. Rebalanced amulet rarities and split protection, resistance, and speed into tiers. Increased the power of Partial and Total Eclipse spells, and significantly increased the root duration. Doors which are closed or locked are now highlighted in memory. Added several extra checks against certain bugs.

Alright, got a lot of that done sooner than I anticipated. As far as the bugs, as the changelog says, I added some extra checks, but I was not able to reproduce either of them, so I cannot be certain I addressed the true cause. As always, do please let me know if they persist.
Title: Re: Working on a roguelike...
Post by: Tormuse on March 31, 2019, 00:16
I haven't played the new version yet; these notes are still for version A0120.  (It should probably say the version number in the autopsy to avoid confusion)  I was doing fine up until I got overwhelmed in the last room.  I tried using an offensive spell from my grimoire, (can't remember what the spell was called) but it didn't seem to affect the Necrocrat.  I died while using my starting medicine.  (Which I thought was supposed to act faster; at least according to the description; oh well...)

Spoiler: Autopsy (click to show/hide)

Notes:

Typo in description of "Third Eye" spell, "hopefully, the insight gainedwill prove worth..."  (there should be a space between "gained" and "will")

I tried reading a Harappan grimoire while having 100% grasp of the Harappan language.  It used up 50% of my lamp oil, even though it showed the message, "You know everything there is to know about the Harappan language."  It probably shouldn't take the time (and lamp oil) if you've already mastered the language.

Hey, I successfully used the Mercurial Font spell!  Go me!  :D  (Used it next to an active fountain and it turned clear elixir from the fountain into mercury; previously, I wasted it by trying to use it on a dry font)

I can't figure out how the Transmute spell is supposed to work or what it's supposed to do.  It won't let me use it on spell reagents at all and it failed while wasting my mercury when I tried using it on one of my weapons or on my sacred oil.  Also, it generated an error message when I tried using it on my ancestral pendant.  (And the pendant vanished from my inventory)  EDIT:  Ah, okay, I figured it out; it turns jars of healing ointment into ancient vials, ancient vials into jugs of healing ointment, and jugs of healing ointment into crystal decanters.  EDIT2:  Or...  maybe not?  Now I'm trying it on those same things and this time, it's failing consistently.  :(  Perhaps you have to not have any of the item you're trying to transmute to?  Either I have to experiment more or I need spoilers.  :P

EDIT:  Oh yeah, I should probably attach the error message.  (From trying to transmute the Ancestral Pendant)
Title: Re: Working on a roguelike...
Post by: Sereg on March 31, 2019, 09:44
I'll fix that typo for the next release - thanks for catching it.

Grimoires must still be read to access the spells contained, even if you already know the language, and this will still take a while - but perhaps it would be interesting to modify total reading time with the player's level of understanding of its language. Of course, the intuitive way of doing this would make studying unknown grimoires take much longer, and known ones the same as current - the base time to read a grimoire, if memory serves, is about 20 minutes of game time, which is really fast proportional to reality. Probably in the interest of gameplay I could scale the time from 10-30 minutes or so alongside 100-0% language knowledge.


Glad you figured out the Mercurial Font - another one of those pseudo-puzzles that isn't meant to be *too* hard for the player to solve, but since I wrote it and know exactly how it works, I don't have a good sense of exactly how easy it is for anyone else to understand it =P


Transmute is intended to take a base item and attempt to improve it to an item of a higher rarity tier. Since recent modifications to the loot system, it no longer behaves as it originally did, and will need a review and rework to force it to behave as intended again. Thanks for including the error message - it's part of the misbehavior from the changes, but it's actually a very specific failure I'll need to address differently from the general problem, and may not have recognized without the error, so I'm glad you sent that.
Title: Re: Working on a roguelike...
Post by: Tormuse on March 31, 2019, 14:33
The funny thing about the Harappan grimoire in that case was that it was a second copy of the same grimoire I already had with the same spells in it I had already studied...  so it made even less sense for it to take time to study it.  :)
Title: Re: Working on a roguelike...
Post by: Sereg on March 31, 2019, 17:44
It also makes no sense to study it in the first place, if that's the case. Studying does two things - first, it gives a chance to learn more of the language the grimoire is written in. If you already knew the language at 100% proficiency, you will not gain any benefit from this effect. Second, it unlocks the ability to cast spells from the grimoire. If you already had a read copy of that grimoire, you already have access to those spells. Note that negative effects, such as sanity penalties that can occur for reading certain particularly eldritch grimoires, can still occur, so studying such a grimoire in this situation is not only pointless, it's dangerous without any compensating benefits.

Currently(and probably permanently - this type of effect annoys me, so I am unlikely to add it to my own game), inventory items cannot be affected by external effects(for example, fire burning scrolls or cold shattering potions, as in Angband and its variants), so keeping a backup of a non-degradeable equipment item like a grimoire does not convey any benefit I can think of. Studying it when you already know the language and have access to its spells is just a slow way to get rid of extra oil =P

All that said, I have introduced knowledge based scaling in the development version along the lines I specified before - half an hour for a totally foreign language, down to ten minutes for a perfectly fluent one. Actual times will probably be faster, since casting speed is the base modifier for the studying action - however, you'll definitely still be consuming appreciable quantities of oil, so there will still be an advantage to studying under permanent light if you have access to it.
Title: Re: Working on a roguelike...
Post by: Sereg on April 03, 2019, 20:18
03 APR 2020 - Demo 0.1.3.0:
   Study time now scales from 10-30 minutes of game time depending on knowledge of the language the studied grimoire is written in. Experience has been replaced by score, which can be increased through kills and additional levels of completion.


I now consider Viridian Abyss to be complete from a gameplay perspective, although there's still a lot of polishing to do. I've posted the following update to the original post:


As of 03 APR 2019, I have iterated from Alpha to Demo. At this point, I had planned to move into a Beta, but due to other projects, I am indefinitely suspending active development on Viridian Abyss. I will, however, continue to support it with balance updates and bugfixes based on player feedback.

Thanks to everyone who helped out with testing the Alpha, especially Tormuse and mihey1993, my most prolific players. Your feedback was essential to getting the game to its current state - I greatly appreciate your participation, and I welcome continued feedback on balance issues and bugs - there are definitely a lot of these still out there, which I'd love to get cleaned up.

I'll also probably bring my other projects here in the future, but that may be a long way out - I intend to spend much more time on design and quality assurance so I can avoid the massive amount of bugs I experienced with Viridian Abyss, and keep the code cleaner and more conducive to continued development.

Title: Re: Working on a roguelike...
Post by: mihey1993 on April 24, 2019, 15:11
Am glad to be credited for something. However, since youmove away from viridian, may we know where to see whatever project you going for now?
Title: Re: Working on a roguelike...
Post by: Sereg on April 24, 2019, 21:29
The new project will also appear here once I have something ready for public testing.

I'm currently not much past the planning phase on the actual game - I do have a superior console program to the one Viridian Abyss was using, but that's as far as I've gone with actually coding anything. I have lots of ideas for the new game, as I did with VA, but it took me quite a while to realize them there, and that was with rather poor design and rushed coding, leaving me loads of technical debt which contributed heavily to my decision to halt the project.

I will also be busier than usual with real world commitments for the forseeable future, so I expect progress will be slow, and a release-ready version may be a long way out. However, I'm now confident that I am capable of putting together a decent, somewhat enjoyable game, and I fully intend to keep doing so, improving on my previous work as much as possible.

I'm grateful to you and the rest of the alpha testers for allowing me to do so, and I hope to have your feedback on the next one as well, so I'll definitely keep you informed - if you'd like, I'd be happy to send you a private message or e-mail when that time comes.
Title: Re: Working on a roguelike...
Post by: thelaptop on April 25, 2019, 08:24
The new project will also appear here once I have something ready for public testing.

Unless otherwise vetoed, I'd suggest starting a new thread.  If you want to update VA here and if the thread is locked, feel free to contact one of us via PM to unlock it.