another one IVAN fork

Jan 30, 12:08 pm
Joined: Dec 19, 2018
Occupation: Pharmacy Tech
Location: USA
Interests: ZZT, Roleplaying,
Posts: 59
Holy crap! You are a one man band at this point!
Energizer - you are invincible
ZZT @narchists unite! Turn off the dark, get free money, defeat death itself!
Jan 30, 6:21 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
tbh, this is mostly because i did a lot of work in past years. this all (except Aslona, of course meant to be done much earlier, and i did most of the heavy lifting, dropping everything just before doing a final touch. so don't expect me to be equally productive in the future — i just got some free bananas exploiting my past self.
Jan 31, 5:00 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
sorry. while trying to get rid of all those tv tropes tabs, i accidenally found kill 6 billion demons. i know i won't like the end of it (somehow authors believe that we need MOAR DRAMA, and love to kill characters we like at the end; i bet this won't be an exception), but i need to read it first, so i could say that the author is asshole.

i mean, no updates for a week or so, i guess.
Feb 1, 7:54 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
and by reading, i realised that i want IVAN to have the ability for having more hands. djini with 4. artifact for player for more hands. that is at least 4 attacks per round. devastating.

the game is not really ready for this, though: bodypart indices are hardcoded everywhere, and 2 hands (or 2 legs) is maximum. strangely, maximum number for heads is 1.
Feb 2, 1:08 pm
Joined: Dec 19, 2018
Occupation: Pharmacy Tech
Location: USA
Interests: ZZT, Roleplaying,
Posts: 59
Maybe hold off on extra limbs for after most everything else is done and major bugs squashed.

I'm curious if there's a way to have scrolls with lore lying around and not just spell-scrolls.
Energizer - you are invincible
ZZT @narchists unite! Turn off the dark, get free money, defeat death itself!
Feb 2, 1:24 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
Dark-Star2018 wrote
Maybe hold off on extra limbs for after most everything else is done and major bugs squashed.
i.e. do it never.

tbh, i don't have any defined roadmap. some todos are "definitely later", but most of them just pulled off the list randomly.

Dark-Star2018 wrote
I'm curious if there's a way to have scrolls with lore lying around and not just spell-scrolls.
yes, as a separate item class. actually, all scrolls are separate item classes, due to different effects. it's not hard to add more scroll (or book) types, it's just somebody has to write a flavor text. definitely not me — not with my broken English. (or they will be broken history scrolls.

p.s.: shelves full of history books would be a nice touch in Attnam dungeon, i think…
Feb 2, 3:23 pm
Joined: Dec 19, 2018
Occupation: Pharmacy Tech
Location: USA
Interests: ZZT, Roleplaying,
Posts: 59
I can definitely contribute some text!
Energizer - you are invincible
ZZT @narchists unite! Turn off the dark, get free money, defeat death itself!
Feb 2, 3:37 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
Dark-Star2018 wrote
I can definitely contribute some text!
thank you! i'll PM you if/when i'll implement "history scrolls" then, ok?


also, quick bugfix build is upcoming. i managed to royally screw ESP (you can only see monsters when THEY have ESP activated, lol). and other small bugfixes.
Feb 2, 7:27 pm
Joined: Dec 19, 2018
Occupation: Pharmacy Tech
Location: USA
Interests: ZZT, Roleplaying,
Posts: 59
I also had ideas for 'fluff' that involved either small, specific hints or was literally just...fluff. My friend suggested short passages from Medieval texts.

Some examples:
"You read from the (ragged/scorched/tattered/ripped/ancient/faded) scroll, written in (firm/shaky/jagged/blood-stained/desperate/elegant) lettering:"
(generated near a set of skull and 5 bones): " 'ware ye, fellow adventurer, of that which will not stay dead, lest ye beat against an impossible task"
(generated in a derelict store): "C*U*DNT *AY T*E C*NTR**T - RUN"
(generated in the wine cellar): "A caution. If but one bottle is missing come next counting, I will not flay the hide from thy back, but thy son's. Thou knowst who thou art."
(generated in the golden chest in the hoardmaster's room): "If you are reading this and there is not a (treasure/artifact guaranteed not to be generated inside it) the hoardmaster is a thief. I cannot speak of it while I live in this land without losing my life - or even worse. May the light of truth shine through you, stranger."
Energizer - you are invincible
ZZT @narchists unite! Turn off the dark, get free money, defeat death itself!
Feb 2, 8:06 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
i definitely like it! "fluff scrolls" should be easy to implement: they all could be one scroll type with different configs, each config with the specific text (or set of texts to choose by random).

SPOILER ALERT. Click here to see text.
there are currently no "useless scrolls", so adding some should be… ivanly. reading them should give a small boost to Int/Wis too, i believe. also, if we'll make them rare enough, the librarian might pay some good money for them, so you can choose either to read them for stats boost, or to sell them.

also, the one from the golden chest might be a side-quest item: bring it back to Attnam and give to… dunno, treasurer, maybe? to get some money/item. i love when some items given to some characters have interesting effects. mostly "fluff" ones, with a small reward.



and to skip making another post: activated bear trap thrown into somebody may trap the victim (if you won't miss, of course).
Feb 2, 9:28 pm
Joined: Dec 19, 2018
Occupation: Pharmacy Tech
Location: USA
Interests: ZZT, Roleplaying,
Posts: 59
A further improvement on fluffscrolls or "fluffies":

Give them a generic LOOK description that doesn't change until picked up and read. This will make the player have to guess if a scroll is worth the effort.
Energizer - you are invincible
ZZT @narchists unite! Turn off the dark, get free money, defeat death itself!
Feb 2, 10:22 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
Dark-Star2018 wrote
A further improvement on fluffscrolls or "fluffies":

Give them a generic LOOK description that doesn't change until picked up and read. This will make the player have to guess if a scroll is worth the effort.
that will happen automatically for such scrolls. yet i don't want to strip other scrolls of their type descriptions… or maybe i should? so "(L)ook" at the scroll will only tell "a scroll", and the player will learn what is that scroll only by picking it up? hm…

this will require special `GetLookDescription()` method, but should not be that hard: simply route it to the standard one for everything except the scroll… i'll prolly implement it.
Feb 3, 12:12 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
i just got a great idea for a-bomb implementation: it should delete saves, and crash the game. i mean, it destroys the whole world, without any way to survive. so hard that even the game is broken, and need to be repaired by restarting.
Feb 3, 12:24 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
SPOILER ALERT. Click here to see text.
also, sometimes i want to drag IVAN into grimdark/horror territory. like, if you load a save which is several monthes old, you'll find the world empty. the levels (including cities) partially ruined. fountains drained. no monsters will spawn. you are the only one there, with nothing to do, nobody to talk with. and no way to die, because no wands/scrolls will work. everybody's dead. gods themselves are dead. the sun is dead, and it's always dark on the ground. congrats, you won the game by destroying literally everything.

not that i'll ever implement this, it doesn't fit. but sometimes i really want to…
Feb 3, 1:38 am
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,905
vasiliy wrote
i just got a great idea for a-bomb implementation: it should delete saves, and crash the game. i mean, it destroys the whole world, without any way to survive. so hard that even the game is broken, and need to be repaired by restarting.

This already happens on the rare occasion. Well, used to, I don't know if the newer versions have fixed it. The game used to corrupt itself at random, so you had to download a fresh copy of the game. Then there was the time I lost one of my best characters when the game caused a BSoD and destroyed the save completely. Not even the auto-save was left. Of course, these weren't exactly features and only happened very rarely, but it's basically what you're proposing.

vasiliy wrote
SPOILER ALERT. Click here to see text.
also, sometimes i want to drag IVAN into grimdark/horror territory. like, if you load a save which is several monthes old, you'll find the world empty. the levels (including cities) partially ruined. fountains drained. no monsters will spawn. you are the only one there, with nothing to do, nobody to talk with. and no way to die, because no wands/scrolls will work. everybody's dead. gods themselves are dead. the sun is dead, and it's always dark on the ground. congrats, you won the game by destroying literally everything.

not that i'll ever implement this, it doesn't fit. but sometimes i really want to…

I actually like this idea though??? SPOILER ALERT. Click here to see text.
Like, if you've left a game for over a year maybe. Or the decay is progressive, so that it advances each month or so that you don't load a save or something, so that eventually an old enough save will have nothing left in the game.
Uchuudonge wrote
creating stable chaos
making patterns where there should be none
sewing order into the chaos
you spit in the face of random numbers, of chaos
Feb 3, 2:19 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
the original code had two big problems, both related to "object hell". i don't remember the exact details now, but that was the reason i rewrote hell from the scratch. they mostly manifested themselves as duplicate entities and "zombie" entities. 't was currupting the saves beyound almost any repair. k8IVAN may crash mid-game, but it should not affect the saves. i believe the only way to corrupt saves in k8IVAN is to trick the game into generating a new level with missing entities/configs — this is fatal, because the game updated the save moving PC to the new level, and then failed to generate the level itself. so on loading such save it tries to load the level which doesn't exist, and considers the save broken.

i don't remember the details (and i really need to revisit that code), but i believe that the game wipes old level from memory, so it need to save it before generating a new one. it also saves current player state along with it — which actually should be done only after the new level is generated. it's quite hard to follow the code, though, and i yet to convince myself to dive into it.
Feb 3, 3:20 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 807
vasiliy wrote
SPOILER ALERT. Click here to see text.
also, sometimes i want to drag IVAN into grimdark/horror territory. like, if you load a save which is several monthes old, you'll find the world empty. the levels (including cities) partially ruined. fountains drained. no monsters will spawn. you are the only one there, with nothing to do, nobody to talk with. and no way to die, because no wands/scrolls will work. everybody's dead. gods themselves are dead. the sun is dead, and it's always dark on the ground. congrats, you won the game by destroying literally everything.

not that i'll ever implement this, it doesn't fit. but sometimes i really want to…


I, too, like this idea! Though maybe it could be the effect of the thaumic bomb? If you trigger it, you cause a catastrophic ley line collapse, resulting in... this.

Or maybe a new quest from Mortifer.
Feb 3, 3:23 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 807
vasiliy wrote
the original code had two big problems, both related to "object hell". they mostly manifested themselves as duplicate entities and "zombie" entities. 't was currupting the saves beyound almost any repair.

That must be the elusive "duplicate object" bug that has plagued development for years now! It just keeps randomly cropping up and crashing the game.
Feb 3, 7:44 am
Joined: Dec 19, 2018
Occupation: Pharmacy Tech
Location: USA
Interests: ZZT, Roleplaying,
Posts: 59
red_kangaroo wrote
I, too, like this idea! Though maybe it could be the effect of the thaumic bomb? If you trigger it, you cause a catastrophic ley line collapse, resulting in... this.

Or maybe a new quest from Mortifer.

I freaking love this idea of a magic post-apocalypse from the thaumic bomb with some adjustments:

* Unique 'burned' worldmap
* Scrolls and wands fail, but magic tools don't
* Prayer fails
* Only insects, slimes and undead spawn. Skeletons, ghosts and zombies have unique dialog ("iiiiit buuuuuurnnnnns!" "what happened to meeeee?" "WHY?!")
* Cave/Dungeon entrances have new worldmap icons and can't be entered ("you cannot enter this pile of rubble/the cave entrance is collapsed") to simplify the new world
* Ruined maps of Attnam/Aslona/New Attnam with all basement entrances inaccessible and engravings from the dying
* Cans of food are the only edible thing left. Should be just enough to keep the player alive for a week, tops, without magical assistance.
* A single, tiny, new village of survivors far away from everywhere else. Elves, dwarves, humans and others all together.
* ---new endgame: "Survival" - you claim your own house in the village; several pages of grimdark text about scraping together in the new world
Energizer - you are invincible
ZZT @narchists unite! Turn off the dark, get free money, defeat death itself!
Feb 3, 2:34 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
red_kangaroo wrote
That must be the elusive "duplicate object" bug that has plagued development for years now! It just keeps randomly cropping up and crashing the game.
yes, i vaguely remember that it was what i trying to fix. sadly, i didn't had (and still don't have a habit of writing detailed descriptions for redesign reasons in commit messages, so i cannot remember it better. but the code looks like i tried to address some specific problem (hence it is so ugly).
Feb 3, 2:36 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
Dark-Star2018 wrote
I freaking love this idea of a magic post-apocalypse from the thaumic bomb with some adjustments:
it definitely needs a quest for water chip.
Feb 3, 2:48 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
also, thank you all, i haven't expected that my SPOILER ALERT. Click here to see text.
"dead world" (spoiler for no reason, i just love how it makes the text look important)
idea would be accepted so warmly. now i will definitely experiment with adding such mode someday. we may decide on exact triggering conditions (and effects) later, after i write all necessary support code. maybe even have several of those.

but for now, I NEED PROPER CONSOLE! it's time to stop trying to postpone writing console code. no more `fprintf` scattered around, it's ugly. i need a console to print into, and to control some game vars (which is at least partially done already: k8IVAN keeps all script defines in hashtable, and there are various debug defines there too). and i prolly should upload a new build before starting this.
Feb 3, 3:21 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
updated attchments in the first post.

* fixed item prototype bug: all items were good with plants.
* fixed ESP check: the player could see only monsters with ESP, lol.
* full helmets makes you less susceptible to siren songs (any helmet/ring/amulet with sound resistance, actually).
there is also new `SirenSongResistance` property, which can be used in new items.
* several items connected to ESP grant some siren song resistance too.
* Rebel Camp will be revealed only after talking with Lord Regent.
it is still placed, so it is possible to find it by simply roaming around.
yet it will not clutter autotravel menu initially.
* made one secret door to Aslona Wizard not locked (it's annoying to always run to another one).
* throwing activated bear trap can catch the victim (the same as stepping into the trap).
* fixed liquid and gaseous golems (some wizards may summon them).
* "L"ook command will not tell you which scroll exactly you see. you need to pick it up for detailed info.
Feb 3, 11:06 pm
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
implemented in-game command console. now i only need to fill it with commands (yawnsome!).

also, added the link to the official Fossil repository to the first post. i'd recommend to clone it instead (or in addition to) git mirror. it may be down sometimes (as we get more problems with power here), but it will hold more info that git, because Fossil also has integrated wiki, bugtracker, and even forums (empty for now). all this is cloned along with the sources. there is not much content besides the source code there yet, but i'll eventually add more.

you can get Fossil binaries here (official site). for windows it is just one .exe, for GNU/Linux it is easily buildable (and will be one self-contained binary too).
Yesterday, 1:05 am
Joined: Sep 5, 2010
Interests: make more ivans!
Posts: 232
i wonder, what if we'll create some better life simulation? why different species never infight on their own? canines and felines, for example. canines might be attracted by spilled blood, and chase wounded monsters to finish them off. hungry kobolds could seek and kill hedgehogs to eat them. and so on. the game can detect such infights, and immediately spawn a replacement monster if infight happened out of player LOS, for example. this way we could keep the level population roughly the same as without infighting, but the player could find some interesting "encounter remains", or even try to use infighting for his own advantage. also, level population will adapt to player danger level slightly faster, lessen the effect of "go in naked" exploit even further. and it is more interesting to have the world living by its own rules anyway.

i might try to implement this later, just to see how it goes. it may need some balancing (as randomized hate/attack chances, for example), but i think that it is worth trying.
Jump to