CLIVAN Balancing, Bugs and Oversights

Sep 9, 2011, 6:00 pm
#26
Joined: Feb 15, 2011
Posts: 17
Warheck wrote
Hmm, I'll definitely make the characters you mentioned a bit tougher. I think there may be too many monsters on the bridge and the prison. If I lower the amount, I'll have to increase the difficulty level or the respawn rate. 1.5 is pretty big, but I'm sure it will be a worthwhile victory to pursue if I tighten some of the loose screws.

I must also remember to tone down the old Dragon Cuirass... maybe they should be made of stone materials.

Yeah, basically you should make the forest increase in difficulty each level, but reduce amount of monsters spawning on some levels.

The only reason I can't do the forest untill GC3 is because of the eagle around forest level 4. Its good for keeping people from an early win, but once you've gotten to GC 4, you're ready to do the whole forest, which is kinda too easy in my opinion for a win. Also, its very easy to avoid mobs when there is no specific path(bridge over river, prison exit). If I'm really in trouble, I just leave the forest, you should maybe add some kind of wall along the edges except for the beginning entrance at deep forest 1 near the west side.

Also, I recall seeing kobold casters once or twice, but they're really weak. A suggestion would be to make them on par with mystic dark frogs and have them be a higher frequency mob spawn in deep forest, to add some difficulty. Or am I wrong about them being low difficulty monsters? I never see them outside UT.


Edit: I also think the goblin jailers should get upgrades too, but have them spaced out throughout the prison, like 2 guarding a door, 4 in the room you enter by sewer into, 1 for each prison cell, 2 "elite" guards with the head prison goblin, etc etc.

Maybe add many houses outside the prison that were raided and turned into goblin barracks filled with the upgraded goblins or maybe some of the already existing ones? I don't know how hard it would be to code this, but if possible, it would allow you to turn off regular mob spawning.

They'd all have to be guaranteed to see you before you leave though, or it would be too easy to avoid them.


I've only seen dragon cuirass in shops and gotten it by wishes, but I find the golden jaguar shirt to be a much better choice.

These are only opinions and suggestions though, do what you see fit. I'm enjoying CLIVAN a lot.

Sep 10, 2011, 2:10 am
#27
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
How about a new tileset. Big tree, that functions as a "wall" tile. More of these in place of the regular trees would fix the mob issues too, as you'll have at least your back covered.
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
Sep 10, 2011, 10:20 am
#28
Joined: Feb 15, 2011
Posts: 17
chaostrom wrote
How about a new tileset. Big tree, that functions as a "wall" tile. More of these in place of the regular trees would fix the mob issues too, as you'll have at least your back covered.

Yeah, like 2x2 occasional trees that you need to walk around?
Sep 10, 2011, 8:57 pm
#29
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
... Not sure how well a 2x2 tree will work, as currently walls are single-tile and individually destructible.
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
Sep 10, 2011, 10:03 pm
#30
Joined: Dec 11, 2008
Posts: 1,770
I suppose you could make 4 individual tree wall entities that are 1 tile each, and then simply arrange them in the right order to make them a tree.

E.g.
      OTerrainMap
      {
        Pos = 0,0;
        Size = 17,19;
        Types
        {
          _ = 0;
          # = 0;
          p = GOLD wall(BRICK_PROPAGANDA);
          $ = GOLD wall(BRICK_FINE);
          ^ = decoration(HOLY_TREE);
          c = decoration(COUCH);
          d = EBONY_WOOD door;
          o = EBONY_WOOD wall(BRICK_FINE|WINDOW);
          T = BIGTREE_WOOD treetopleft;
          Y = BIGTREE_WOOD treetopright;
          U = BIGTREE_WOOD treebottomright;
          I = BIGTREE_WOOD treebottomleft;
        }
      }
      {
        .#o##o##o##o##o#.
        ##.............##
        o...............o
        #.....$$p$$.....#
        #...$$$___$$$...#
        #..$$_______$$..#
        o..$___TY____$..o
        #..$___IU____$..#
        #..$_________$..#
        o..$$_______$$..o
        #...$$_____$$...#
        #....$$___$$....#
        o.....$___$.....o
        #.....$___$.....#
        #.....$___$.....#
        #.....$___$.....#
        o...............o
        ##.............##
        .#o##o##d##o##o#.

And then just make the BIGTREE_WOOD material have such a high strength that it's nigh indestructable (and make it non-wishable too!)
Of course you couldn't have them spawned properly unless they were in pre-defined spots or you made one of those "random room" entries that contained only the tree.
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Sep 11, 2011, 6:57 am
#31
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
If a 2x2 tree is ever introduced, I'd want to be able to cut it down and possibly have the tree fall and crush you to death, but that's too much to ask for right now.
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
Sep 11, 2011, 7:04 am
#32
Master mine stomper


Joined: Dec 16, 2007
Occupation: Shoveling. But metal.
Location: Blazing in the steppes
Interests: Absolutely fuck-all.
Posts: 2,050
Hell yeah. Seconded! =D
Sep 15, 2011, 11:40 am
#33
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Good idea about the tree-wall tileset. I'll get working on it once I have time again. I started my new job and it definitely demands more attention than slacking around at varsity. Maybe I can make hedges, and then build a hedge-maze level. \o/
All I have to do is make the levels "IsOutside = true" and make the solid earth terrain resemble the trees. I'll also need to fix the earthquake bug if this happens, to prevent the infinite loop. Maybe open terrain needs a separate earthquake algorithm.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Sep 15, 2011, 10:58 pm
#34
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,898
Though, wolves would suit a forest nicely...
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
Sep 16, 2011, 1:19 am
#35
Joined: Feb 15, 2011
Posts: 17
chaostrom wrote
Though, wolves would suit a forest nicely...

Though, super powerful awesome wolves would suit a forest full of ravenous, powerful, bloodthirsty monsters much more nicely...
Sep 16, 2011, 2:49 am
#36
Joined: Dec 11, 2008
Posts: 1,770
Or treants even, which only attack once you're very close to them. (i.e. Set their perception very low)
System would indicate in graphic if person is mounted on horse or not.
Same system also show if person mounted on boar, elephant, polar bear etc.
Or if person mounted on ass.
Ivan find mounting on ass funny.
Oct 25, 2011, 2:47 am
#37
Ex-Tyrant of the IVANers


Joined: Dec 8, 2007
Occupation: Junior Scientist
Location: Not California
Interests: Physics and Astronomy, Exoplanets, Singing praise to Valpurus while smashing skulls with a bloody warhammer, Jogging
Posts: 2,920
How is this coming along?
"Put more stuff in the... thing where... more stuff goes in."
Oct 25, 2011, 6:41 am
#38
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Quite slowly. I'll have to take some time out to write down some plans on paper regarding what needs to be done next.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Feb 27, 2012, 3:55 pm
#39
Joined: Feb 25, 2009
Posts: 3
Thanks for CLIVAN, I'm glad the game is still getting so much interest.

I found a bug that I don't know comes from CLIVAN specifically but thought I would post about it. Here's a picture :

http://i39.tinypic.com/nytcnn.jpg

I kicked open a shop door thinking it was a regular door in this dungeon and the shopkeep and guards were after me. I decided to teleport them away, but the game crashed when I did that. The teleport graphic stopped at the guard behind the shopkeep who was apparently teleported away, the guards were not, I don't know if that last part is normal.


Edit : I have a fixed version of rookiedwarves already. char.dat has kamikaze dwarves using HpRequirementForGeneration : 58 and DayRequirementForGeneration : 5

CLIVAN has been good. My latest fun death was being shattered to pieces as a polymorphed flint golem in GC3 by an exploding kamikaze dwarf after I teleported away from a really determined werewolf who already lopped both my arms off - something like that. I was so close to surviving, those are the fun ones.

I barely handled some giant eagles a few times, and I liked the rookie dwarves attacks. I'm looking forward to seeing the other new creatures out there.
Feb 28, 2012, 3:39 pm
#40
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Thanks for spending time playing CLIVAN and spotting bugs

I don't know how widespread the shopkeep teleport bug is. My guess would be that it is limited to CLIVAN. I had hoped that most of the bugs were squashed, but I made quite a few recklessly implemented changes, so stability is not always guaranteed.

Just out of interest, what did you change the rookie dwarf's HP and Day Requirements to?

I'm glad you like the new creatures. Welcome, and be sure to stick around

Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Feb 29, 2012, 9:35 pm
#41
Joined: Feb 25, 2009
Posts: 3
I'm glad if it helps.
I didn't change the rookiedwarf stats in char.dat from what they were with the distribution of CLIVAN I have (r7). I checked them to see that they were different from what you posted about in the first post (IIRC).
When I played, they seemed balanced enough to me. Later I came here and read the old message of them appearing too early. So that changed my expectations temporarily. I checked the numbers and they were HpRequirementForGeneration : 58 and DayRequirementForGeneration : 5 .

I have played IVAN off and on for a few years and still haven't beaten it so I am likely to keep playing it for a while. Haven't found SPOILER ALERT. Click here to see text.
liquified fear
yet.
Mar 2, 2012, 5:10 pm
#42
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
localhosed wrote
I have played IVAN off and on for a few years and still haven't beaten it so I am likely to keep playing it for a while.

Heh, have you considered developing IVAN at any point?
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Mar 2, 2012, 8:35 pm
#43
Joined: Feb 25, 2009
Posts: 3
That's an exciting idea but I don't have the skill to do much right now . I can understand some C , but C++ can be much more complicated. The last time I looked at IVAN source a few years ago, I was overwhelmed. I want to look at it again though. I'm not a professional programmer and do it sometimes for fun. I made a few things here and there in darkbasic, blitz basic, freebasic, visual basic, C, euphoria, oblivion script and an easier variant of HLSL from OBGE. I made some graphics tests lately with isometric tiles in freebasic and submitted my first translation of C to euphoria bresenham's line algorithm at rosettacode. I did some simple text i/o and number crunching in C to help pre-compute the HLSL dithering shader, my only sort-of-HLSL program : http://tes.nexusmods.com/downloads/file.php?id=35947

I'm not a skilled programmer but even a small accomplishment isn't a bad thing.

I think IVAN really has a lot of good ideas and game balance that no other roguelikes have so I am still tempted to look in the source to figure out how it does what it does with certain things like level generation and object generation, rarity, combat, AI, the god's decisions. I would want IVAN to be able to use zoom and mouse scroll simultaneously , so that users could look up close at smaller tiles easier than using the look command. I know it is more complicated for a big program like IVAN than in a test demo so it's just an idea at this point.
May 21, 2012, 4:52 pm
#44
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
I have reason to beleive that the bug which is caused by offering to one of the shrines in the forest is the result of the following:

In the script file, a room is generated, which has DivineMaster = 0. An altar is generated inside the room. The altar successfully generates, and is devoted to a random god, which is the intention.
When the player comes to offer at the altar,
 if(game::GetGod(Square->GetDivineMaster())->ReceiveOffer(Item)) 

is called during the offering, which checks the square underneath the altar to see who the room is devoted to. If the room has no DivineMaster, then this is consequently zero. This results in a crash due to the above code.

This can be solved in a number of ways, but I propose a function that randomly assigns a DivineMaster to a room if it is set to DivineMaster = Random; in the script file. Altars are normally randomly generated by the game, and if an altar is assigned to a room, then the game changes that room's DivineMaster to the appropriate god.

I'd like to be able to set DivineMaster = 10:15; which would select a random chaotic god, to give the room and altar some evil flavour.

The other way to solve this is to hard-code the DivineMaster for each shrine, but that would make life boring.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
May 27, 2012, 6:32 am
#45
Joined: Sep 5, 2010
Posts: 103
2Warheck: as you command, my King!

my fork now allows to put random altars in rooms w/o explicitly assigned DivineMaster, and this will work ok.

and i have even more than that: you can set

AllowedDivineMasters := { CLEPTIA, SCABIES, CRUENTUS; }

for example, and your

Square, Random;
{
OTerrain = BASALT altar;
}

will generate random altar of Cleptia, Scabies or Cruentus!

enjoy.
May 27, 2012, 6:23 pm
#46
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Thanks vasiliy! Just what I always wanted I'm eager to see how stable the builds are becoming in light of developments like this.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
May 27, 2012, 7:22 pm
#47
Joined: Sep 5, 2010
Posts: 103
actually i'm not making deep changes, so stability is just slightly better than the original CVS (unless i broke something %-). i'm still playing the game and didn't found serious bugs. spontaneous crashes still there, but it's really hard to get rid of 'em all: I.V.A.N. code is not the best one, and i'm not an expert in C++ templates. for example, i barely undestand all that database processing stuff. %-)

but i already squashed some small bugs here and there.

I hope that spirit of Lenin will help me. i'm living in ex-USSR after all!
May 28, 2012, 2:53 am
#48
Joined: Sep 5, 2010
Posts: 103
wow! we have level tags now, so monsters can be restricted not only to dungeon, but to specific level(s) of dungeon(s).
Mar 13, 2014, 5:10 am
#49
mutant ass


Joined: Feb 5, 2014
Occupation: Sysnet Tech Support
Location: Dublin, Ireland
Interests: Computers
Posts: 59
http://gyazo.com/68f1fa40627802514cddea17656127ad

I thought holy fruits don't spoil?

[cursed gifs don't work.....oh well i can see the logic in that....spam gif spam gif spam gif .]
Ivan's Still Alive and Kicking!
Mar 13, 2014, 9:52 am
#50
Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,309
You can attach gifs, but we just have to click the thumbnail to view the animation
Jump to