Search Results
Searched for posts by vasiliy in all forums

Showing results 271 - 280 out of 431 total
Modify your search
Posted by vasiliy, Jan 21 at 4:32 am
red_kangaroo wrote
This doesn't happen in vanilla, but I think it has the "abandon and try again on failed dungeon generation" implemented. maybe try to steal the code from there?

See here: https://github.com/Attnam/ivan/pull/597
wow! thank you, i'll take a look. if Aquarius managed to untangle that code, i will definitely steal it!


red_kangaroo wrote
They are great in the early game, but fall off quickly afterwards. I think they are fine, because otherwise everyone will default to the "two attacks per round via dual-wielding" setup.
dunno, this may be the personal preference, but i feel that they are overpowered exactly in early game. no, really, i don't think that i could be sitting besides Jenny smoking a cigar and watching her hopeless attempts to bite me.

new shields will make people default to "shield and short sword" most of the time this way, because why choose something else? you're almost invincible with a shield in UT. ok, hedgehogs still bite, but…

dunno, i will prolly leave shields nerfed in k8ivan. that's why we have forks, after all — to allow everybody realise their visions!
Posted by vasiliy, Jan 21 at 1:23 am
i cannot stop thinking that the shields are overpowered with that change. like, i was fighting Jenny with oak shield, and she barely scratches me. she managed to hit me quite hard once, but most of the time she was harmless. i will prolly nerf the physical protection with `/2` at least. because with my current stats my physical resistense is 2, and shiled has 3, so i get 5. way too much. with `/2` the new total is `3`, which looks way more reasonable for me.
Posted by vasiliy, Jan 20 at 10:52 pm
and two screenshots, to make the thread less boring.

the first is "world teleport" wizard command, which will automatically teleport the player to the given worldmap location, revealing it if necessary. hidden locations are marked with orange.

and the second in improved IGOR — it allows moving things around, copy-pasting tiles, and even rudimentary tile editing (as shown on the screenshot).
Posted by vasiliy, Jan 20 at 10:42 pm
also, Goblin Fort level generation often fails. it struggles to put living quarters, and sometimes even forge room. for now i workarouned it by increasing level sizes a little — the crashes are still there, but they are less frequent. i also added `FailureIsNotFailure` flag to room definitions (creative name, i know), which indicates that failing to place this room should not lead to ABORT. this flag leaks memory, of course, and is prone to crashes itself, but meh… (it mostly works for rooms without monsters, and with little objects… and it works only sometimes.)

i know what exactly IVAN struggles to place because k8ivan records source file and line for all scripts, and prints which room script failed. the better solution would be something akin to worldmap generation: abandon current efforts, and start over, but i don't know how to properly implement that. i can throw exception instead of aborting, but at this time the level is in "half-backed" state, and i have absolutely no idea how to clean up the things.

i mean, ok, we can leave half-generated map alone and accept memory leaks (better than sudden crashes), yet at this stage we already have some entities created and registered in the game, without a way to properly unwind what we've done. at least i don't know the way.

saving and reloading the game (as an easy rewinding solution) is problematic too: at the time level generator is called, we are deep inside command handler, and have various pointers to objects lying around. they all will be invalidated on reload, leading to memory corruption and crashes.

if i'll ever find a way to properly unwind everything, this will not only make the game more stable, but will allow to better dungeon scripts testing. if we could rewind (or stop cleanly with half-generated level), we could show what the game already have (i.e. put the player there). so you'll be able to see how cramped the level is, what was generated so far, and so on. i believe that this will help with dungeon tweaking a lot.
Posted by vasiliy, Jan 20 at 10:58 am
by the way: Kaethos has 75% probability of science talk. and `BeTalkedTo()` is called only when science talk failed. as the player should came to liberate New Attnam with relatively high stats, it is quite hard to get the quest from him.

i believe that `BeTalkedTo()` should not be used for quests, healing, etc. we need a new method, like `truth QuestTalk()`, which will be called before trying a scitalk. currently this is workarounded with a hack: all quest NPCs have very low (or zero) scitalk probability — except Kaethos.

for now i lowered his scitalk probability to 25, but i don't like this solution at all.
Posted by vasiliy, Jan 20 at 8:28 am
added new shield code, and the game immediately spawned the zombie with broken meteoritic steel acid shield on UT1. now tell me again that the game is not sentient!
Posted by vasiliy, Jan 20 at 7:45 am
@red_kangaroo, wow! somehow i missed that part. thank you!

i ported most new dungeons now, and they seem to work. at least they don't crash the game outright, i consider this "working state".

in k8ivan, you have to give the scroll either to the necromancer, or to Petrus. (or to the emissary now.) i like it more this way. and the emissary will give the quest only of you haven't talked to Petrus yet. my idea is that there is That Main Quest most people will follow, but for those who are willing to explore Attnam first, there is a bonus (necromancer's quest). also, the player will prolly meet the emissary on his way to Petrus, and Aslona quest is a bonus for those who like to talk with people.

that is, i prefer the game to have more "hidden content". the player have to do something unusual (well… "something unusual" is IVAN motto anyway to find that the game is bigger than he thought. if i'll ever write "dungeon editor tool", i will prolly sneak more hidden quests in the same manner.
Posted by vasiliy, Jan 20 at 3:18 am
chaostrom wrote
This was previously discussed in various places. I don't know if it was actually implemented (since I haven't played any IVAN in years) but the solution was to enable only a single dungeon per game. You could also lock the magic-learning behind the generation of Ischaldirh's dungeon, if you go that route.

at least in k8ivan, GC can be found by just wandering around the map. but other quest dungeons only placed on the map by the respective quest giver, and most of them will take away the encrypted scroll. and you either require a scroll, or you should not start another quest to… well, take a quest.

so you still can go and slay Oree and Elpuri while being overpowered (and Petrus, because Attnam is here too), but you can only take one alternate quest.

if i'll add a wizard quest in Aslona, this will prolly require some way to block other Aslona "activities". maybe some kind of "wizard academy" or such, surrounded by impassable mountains and magic force field, so you won't be able to escape. so your only way will be to train yourself and face Izzy.
Posted by vasiliy, Jan 20 at 3:07 am
Yancakes wrote
I just noticed that typing G and pushing a direction only moves me one square.

movement aborts when there is a dangerous square nearby, or some unseen item/door, or a monster. some of that could be changed in options. check if there are nothing like that around. dangerous squares incluedes vomit, broken bottles, banana peels and such.
Posted by vasiliy, Jan 19 at 11:29 pm
implemented the dialog with Aslona emissary, so it is now possible to properly start the quest.

also, having the stupid encrypted scroll with you after accepting the quest doesn't seem right to me. so the player now asks the emissary if he can read what is written in the scroll, and the emissary takes the scroll away, promising to send it to Aslona wizard to decipher. this way the player will know for sure that Petrus' quest is no more.

now i have to implement "not on the same continent" flag for POIs.