Official IVAN Continuation thread Sticky

Jun 15, 2014, 7:58 pm
Joined: Dec 11, 2008
Posts: 1,770
There's a lot of ways you could implement set teleportation items:
  • A temple of sophos that happens to always contain a couple of scrolls of teleportation.
  • A set chest that always contains a wand of teleport or scrolls.
  • A "checkpoint" building that contains a mirrored ring of telecontrol that lasts just long enough to allow the player to find it and cross, but not long enough to be used in actual exploring later.
  • Have eddys wandering the level. Although iirc that could result in them dropping the enner on you.

I do like the idea of having blink dogs around. But yeah, overall I think there should be a guaranteed way across just in case you fail any of the other ways to cross. Of course, the singular bridge should be the least desirable route, like yes having the enner on it.
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.
Jun 16, 2014, 8:43 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 764
I added an altar of Sophos with SoT and a blink dog to the level.

I also changed tho layout a bit. I wasn't able to force the level generator to place tunnels normally while the level was bisected in half with no bridge. However, when I put the river on one side of the level with downstairs set rather than randomly placed, the rest of the level generates as it should. This way, you will know where the downstairs will be, but you still have to fight enner to get there. Tell me whether you like it or not.

About the ring of telecontrol - maybe enner could have it, as a boss reward? That would also prevent you from teleporting him away and running for the stairs.

SPOILER ALERT. Click here to see text.
Level ENNER_BEAST_LEVEL;
  {
    LevelMessage = "You hear a wailing scream in the distance. An enner beast must dwell here!";
    IgnoreDefaultSpecialSquares = true;
    Size = 60, 30;
    Items = 35:70;

    Room
    {
      Pos = 48,1;
      Size = 10,27;
	Type = ROOM_NORMAL;
	WallSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
	FloorSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
	GenerateDoor = false;
	AllowLockedDoors = false;
	AllowBoobyTrappedDoors = false;
	GenerateLanterns = false;
	GenerateFountains = false;
	GenerateTunnel = true;
	AltarPossible = false;

 	Square, Pos 0, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 1, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 2, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 3, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 4, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 5, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 6, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 2, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 3, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 4, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 5, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 6, 28;
      {
        OTerrain = 0;
      }

	Square, Pos 3, 27;
      {
        GTerrain = WATER liquidterrain(UNDERGROUND_LAKE);
      }
	Square, Pos 4, 27;
      {
        GTerrain = WATER liquidterrain(UNDERGROUND_LAKE);
      }
	Square, Pos 5, 27;
      {
        GTerrain = WATER liquidterrain(UNDERGROUND_LAKE);
      }
	Square, Pos 6, 27;
      {
        GTerrain = WATER liquidterrain(UNDERGROUND_LAKE);
      }
	Square, Pos 7, 27;
      {
        GTerrain = WATER liquidterrain(UNDERGROUND_LAKE);
      }
	Square, Pos 3, 27;
      {
        OTerrain = 0;
      }
	Square, Pos 4, 27;
      {
        OTerrain = 0;
      }
	Square, Pos 5, 27;
      {
        OTerrain = 0;
      }
	Square, Pos 6, 27;
      {
        OTerrain = 0;
      }
	Square, Pos 7, 27;
      {
        OTerrain = 0;
      }

	Square, Pos 2,27;
      {
        OTerrain = 0;
        AttachRequired = true;
      }

	Square, Pos 3, 16;
    	{
      Character = ennerbeast;
    	}
	Square, Pos 8, 22;
    {
      Items == Random { MinPrice = 200; MaxPrice = 1500; }
     }

	Square, Pos 8, 6;
    {
      OTerrain = stairs(STAIRS_DOWN);
      EntryIndex = STAIRS_DOWN;
     }

	GTerrainMap
      {
        Pos = 0,-1;
        Size = 10,30;
        Types
        {
        # = WATER liquidterrain(UNDERGROUND_LAKE);
	  _ = GRAVEL solidterrain(GROUND);
	~ = SAND solidterrain(GROUND);
        }
      }
      {
    			#####~~~~_
			~#####~~__
			~~#####~__
			_~~#####__
			__~#####__
			___#####__
			__#####___
			_#####~___
			_#####~~__
			__#####~~_
			__#####~__
			__~#####~~
			__~#####~~
			___~#####~
			___~~#####
			__~~~#####
			___~~#####
			___~~#####
			___~~#####
			____~#####
			____#####~
			___#####~~
			___#####~~
			___#####~~
			___~#####~
			___~#####~
			_~~#####~~
			_~~#####~~
			~~~#####~~
			__#####~~~	  	
      }
    }

  
    Square, Random;
    {
      Items == mine(BIG_MINE) { Team = MONSTER_TEAM; IsActive = true; }
    }

    Square, Random;
    {
      Items == METEORIC_STEEL beartrap { Team = MONSTER_TEAM; IsActive = true; }
      Times = 2:6;
    }

    Square, Random NOT_WALKABLE|NOT_IN_ROOM;
    {
      Items == stone;
      Times = 25:50;
    }

    Square, BoundedRandom 2, 2, 20, 28, HAS_NO_OTERRAIN;
    {
      OTerrain = stairs(STAIRS_UP);
      EntryIndex = STAIRS_UP;
    }

   Square, Random;
    {
      Items == bone;
      Times = 20;
    }

    Square, Random;
    {
      Items == skull;
      Times = 5;
    }

    Square, Random NOT_IN_ROOM;
    	{
      Character = blinkdog;
      Times = 1:3;
    	}

    Square, BoundedRandom 2, 2, 45, 28, IN_ROOM|HAS_NO_OTERRAIN;
    {
      OTerrain = GRANITE altar(SOPHOS);
      AttachRequired = true;
      Items == scrollofteleportation;
    }

}
Jun 16, 2014, 3:30 pm
Master mine stomper


Joined: Dec 16, 2007
Occupation: Shoveling. But metal.
Location: Blazing in the steppes
Interests: Absolutely fuck-all.
Posts: 2,050
4zb4 wrote
Have eddys wandering the level. Although iirc that could result in them dropping the enner on you.

This is IVAN we're talking about. This needs to be made more likely instead of listing it as a problem.

I don't like the way the river is always 5 tiles wide. It looks boring and artificial... None of the streams I've seen are like that. Make some bays in it, maybe even an island somewhere and some variation in it's thickness, so that crossing it is harder if the PC is too stupid.
Jun 16, 2014, 4:02 pm
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
I'm not such an advocate of guaranteed items, artifacts or altars. Eddys would be the IVAN way, as Erno points out. On the other hand, you could put the altar on an island in the stream somewhere >:]
When I take on Mr. Enner, then I usually have some form of teleport control, and a means of teleporting and detecting materials. So I think the level doesn't need any bonus items. There always needs to be a long way around, so a bridge to the other side, placed randomly in the vertical axis of the river would be nice, as a way of getting to the other side by brute force.

Make sure Enner.pcx is included
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Jun 16, 2014, 7:22 pm
Joined: Dec 17, 2007
Occupation: Taking Names, Formerly Kicking Ass
Location: New Jersey
Posts: 991
I would think toning down enners damage a little would be a requirement if you are adding this wrinkle. as it is killing enner is still not guaranteed for upper-moderate players. I think adding in this challenge without offering some kind offset on how bad enner is hammering you will make it overly unbalanced.

what is this really changing other than making it slightly harder to kill enner for beginner/moderate players who have had the bad luck not to find a tele-control item or corpse before enner. most players will have found some kind of tele control by the time you get there.

I suppose the real difficulty this imposes is that every time you want to cross over level 5 you could possibly have to tele across the river. this could lead to some serious item burn if you are trying to move back and forth from the lower dungeon to the overworld later in the game and didnt want to have you time wasted walking in circles with a ring of tele on.

I like the concept of trying to tweak the enners level, but its been my experience in ADOM that rivers are the most annoying thing in the world. Sure they make the game slightly more difficult to early players, but for me at least they make the game less fun to play.

note: I havent offered to many good ideas of my own sp i dont want to sound to bitchy, since im not really helping the cause much. please fell free to ignore me.
Booooooooooo!
Jun 16, 2014, 7:38 pm
Joined: Dec 17, 2007
Occupation: Taking Names, Formerly Kicking Ass
Location: New Jersey
Posts: 991
or a more constructive criticism: I like the idea of making enner harder, but make the river appearance a random chance. come up with 3 or 4 twist on enners level with the twist randomized each game. I think if all you do is add a river, its going to take a short period of time for people to figure it out how to deal with and it reduced to a mere speed bump.

Maybe instead of a river you could have a random level effect that makes killing him harder. what are the main tools for killing him : tele/telecontrol ,esp, detect material, wands. Take a random one away each game on his level, so you don't know what you are dealing with until you get there. "you feel your teleportation being blocked" "the screams of the enner keep you from concentraing on your scroll, it is wasted" "the wailing of the foul beast prevent you from honing your ESP" "the sonic waves disrupt the wands magic"

something like that make one or two of them randomly in effect for the level - it will cause players to have to come up with multiple strategies for dealing with enner instead of having one playbook to breeze though like it is now.
Booooooooooo!
Jun 16, 2014, 8:06 pm
Joined: Dec 17, 2007
Occupation: Taking Names, Formerly Kicking Ass
Location: New Jersey
Posts: 991
My point is that if the obstacle is fixed the solution will quickly become fixed as well and you will not have really accomplished anything for your effort
Booooooooooo!
Jun 16, 2014, 9:31 pm
Joined: Feb 20, 2012
Posts: 231
I don't like the idea of forcing any playstyles upon the player (eg. get the belt of levitation or find a method of controlled teleportation). And giving the player handouts like guaranteed blink dogs or wands isn't really IVAN's style. I think there should just be a bridge across the river so that anyone can cross it; it should serve more as scenery than a major obstacle.

And I don't think random teleportation would be a problem: when teleporting randomly in Oree's lair you always land on ground, so I imagine the same would apply to any other water placed in dungeons.
Jun 17, 2014, 8:44 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 764
Ernomouse wrote
I don't like the way the river is always 5 tiles wide. It looks boring and artificial... None of the streams I've seen are like that. Make some bays in it, maybe even an island somewhere and some variation in it's thickness, so that crossing it is harder if the PC is too stupid.

I'm not sure how exactly should the river be shaped. This simple shape looks good enough for me, it's just a short part of an undergorund river, after all, no large meanders attached. But I could change it, of course, if you didn't like it that much.

Batman? wrote
or a more constructive criticism: I like the idea of making enner harder, but make the river appearance a random chance. come up with 3 or 4 twist on enners level with the twist randomized each game. I think if all you do is add a river, its going to take a short period of time for people to figure it out how to deal with and it reduced to a mere speed bump.

Maybe instead of a river you could have a random level effect that makes killing him harder. what are the main tools for killing him : tele/telecontrol ,esp, detect material, wands. Take a random one away each game on his level, so you don't know what you are dealing with until you get there. "you feel your teleportation being blocked" "the screams of the enner keep you from concentraing on your scroll, it is wasted" "the wailing of the foul beast prevent you from honing your ESP" "the sonic waves disrupt the wands magic"

something like that make one or two of them randomly in effect for the level - it will cause players to have to come up with multiple strategies for dealing with enner instead of having one playbook to breeze though like it is now.

Having a level generator select from several potential layouts would be cool, but impossible with the current generator, I think, so some change to the code would be needed - not my cup of tea. Anyway, if that's ever implemented, we would need much more special rooms, and every game there should be only several of them placed, so that you don't always eventually run into the orc room.

Also, it would be nice if e.g. the zombie level could be randomly swapped with the mine-finder level (I've read that level idea in some ideas collection), so you would have 50% chance of having zombies and 50% of huge minefield.

Pent wrote
I don't like the idea of forcing any playstyles upon the player (eg. get the belt of levitation or find a method of controlled teleportation). And giving the player handouts like guaranteed blink dogs or wands isn't really IVAN's style. I think there should just be a bridge across the river so that anyone can cross it; it should serve more as scenery than a major obstacle.

What if we had a bridge in the middle of the river, with the enner always on it?

The room could be placed semi-randomly on the level, so you would never know how near will it be to the upstairs, and tunnels are completely random, so no easy path every game. That way, you would be always able to cross it, no items required, and the river would be something like a boss arena rather than outright obstacle.

I must say I still like the idea of isolated stairs, but too many voices have spoken against.
Jun 17, 2014, 10:03 am
mutant ass


Joined: Feb 5, 2014
Occupation: Sysnet Tech Support
Location: Dublin, Ireland
Interests: Computers
Posts: 59
what about different ways across?
like you can break some wood and drop it near the water to create a bridge.

[you can say walk into 1 block of water...provided you can grab onto something.....you drop say stone or wood to create another space you can safely walk out until a bridge is created........if you move away from anything to grab...chances are you'll swim like a brick provided your load isn't too heavy or you armor isn't too hard to move in....big heavy chest plate..gauntlets and boots would making agile swimming hard]

I also thought of finding lilly pads.......dried up lily pads you can collect and add to water......then you have to wait about 100-200 turns for them to hydrate themselves in water allowing you to pass.
Ivan's Still Alive and Kicking!
Jun 17, 2014, 1:36 pm
Master mine stomper


Joined: Dec 16, 2007
Occupation: Shoveling. But metal.
Location: Blazing in the steppes
Interests: Absolutely fuck-all.
Posts: 2,050
EireMadHatter wrote
what about different ways across?
like you can break some wood and drop it near the water to create a bridge.

[you can say walk into 1 block of water...provided you can grab onto something.....you drop say stone or wood to create another space you can safely walk out until a bridge is created........if you move away from anything to grab...chances are you'll swim like a brick provided your load isn't too heavy or you armor isn't too hard to move in....big heavy chest plate..gauntlets and boots would making agile swimming hard]

I also thought of finding lilly pads.......dried up lily pads you can collect and add to water......then you have to wait about 100-200 turns for them to hydrate themselves in water allowing you to pass.

Play Terraria much? =P I remember the devs had plans to add some form of crafting in the game, but I don't think it's nowhere near implemented yet. Nor do I think this is stuff we want for the next version, might be a lot of code to add this.
Jun 26, 2014, 9:45 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 764
One more try on the enner level with river. This time, there is a bridge over the river and enner will always spawn on that bridge. Guaranteed items or features are no more.

Let me know whether you like the beach around the river, or whether it should be normal ground all around.

SPOILER ALERT. Click here to see text.
Level ENNER_BEAST_LEVEL;
  {
    LevelMessage = "You hear a wailing scream in the distance. An enner beast must dwell here!";
    IgnoreDefaultSpecialSquares = true;
    Size = 100, 30;
    Items = 35:70;

    Room
    {
      Pos = 25:65,1;
      Size = 10,27;
	Type = ROOM_NORMAL;
	WallSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
	FloorSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
	GenerateDoor = false;
	AllowLockedDoors = false;
	AllowBoobyTrappedDoors = false;
	GenerateLanterns = false;
	GenerateFountains = false;
	GenerateTunnel = true;
	AltarPossible = false;

 	Square, Pos 0, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 1, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 2, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 3, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 4, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 5, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 6, -1;
      {
        OTerrain = 0;
      }
	Square, Pos 2, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 3, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 4, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 5, 28;
      {
        OTerrain = 0;
      }
	Square, Pos 6, 28;
      {
        OTerrain = 0;
      }

	Square, Pos 4, 9;
    	{
      Character = ennerbeast;
    	}

	Square, Pos 9, 22;
    {
      Items == Random { MinPrice = 200; MaxPrice = 1500; }
     }

	GTerrainMap
      {
        Pos = 0,-1;
        Size = 10,30;
        Types
        {
        # = WATER liquidterrain(UNDERGROUND_LAKE);
	_ = GRAVEL solidterrain(GROUND);
	~ = SAND solidterrain(GROUND);
	x = FIR_WOOD solidterrain(PARQUET);
        }
      }
      {
    			#####~~~~_
			~#####~~__
			~~#####~__
			_~~#####__
			__~#####__
			___#####__
			__#####___
			_#####~___
			_#####~~__
			__#####~~_
			_xxxxxxx__
			__#####~~~
			__~#####~~
			___~#####~
			___~~#####
			__~~~#####
			___~#####~
			___~#####~
			___~~#####
			____~#####
			____#####~
			___#####~~
			___#####~~
			___#####~~
			___~#####~
			___~#####~
			_~~#####~~
			_~~#####~~
			~~~#####~~
			__#####~~~	  	
      }
    }

  
    Square, Random;
    {
      Items == mine(BIG_MINE) { Team = MONSTER_TEAM; IsActive = true; }
    }

    Square, Random;
    {
      Items == METEORIC_STEEL beartrap { Team = MONSTER_TEAM; IsActive = true; }
      Times = 2:6;
    }

    Square, Random NOT_WALKABLE|NOT_IN_ROOM;
    {
      Items == stone;
      Times = 25:50;
    }

    Square, BoundedRandom 2, 2, 20, 28, HAS_NO_OTERRAIN;
    {
      OTerrain = stairs(STAIRS_UP);
      EntryIndex = STAIRS_UP;
      AttachRequired = true;
    }

	Square, BoundedRandom 70, 2, 98, 28, HAS_NO_OTERRAIN;
    {
      OTerrain = stairs(STAIRS_DOWN);
      EntryIndex = STAIRS_DOWN;
      AttachRequired = true;
    }

   Square, Random;
    {
      Items == bone;
      Times = 20;
    }

    Square, Random;
    {
      Items == skull;
      Times = 5;
    }

    Square, Random NOT_IN_ROOM;
    	{
      Character = eddy;
      Times = 1:3;
    	}
}
Jul 5, 2014, 2:23 pm
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Just for information which might be useful to others, I created a branch with help from the link below:
http://joelabrahamsson.com/remote-branches-with-tortoisegit/

too easy really
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Jul 11, 2014, 1:18 pm
Joined: Dec 4, 2007
Posts: 184
Why not made crossing the river like trying to open a door? "You try to cross the river. You fail to cross the river. You fall in."

Then the character could be forcively pulled down the river, while taking HP damage from some method; while being able to try to pull themselves out.
Mar 10, 2015, 10:37 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 764
I guess I found a bug:

Zombies or skeletons of intelligent monsters are still considered intelligent (i.e. they show through ESP), even though the base zombie is unintelligent (and skeletons/zombies are mostly presented as mindless monsters, so they shouldn't show through telepathy).

Mar 10, 2015, 7:26 pm
Joined: Dec 11, 2008
Posts: 1,770
I dunno about "bug" say, but that is definitely a good point. Monsters raised by necromancy serve their resurrectors unquestioningly and mindlessly so it'd make sense for them to lose their "intelligent" status.
Also presumably the brain is dead.
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.
Mar 11, 2015, 5:42 am
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
I never noticed before. I agree, anything brain-dead (un-dead or not) shouldn't show up on the radar when you've got ESP.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Mar 11, 2015, 9:15 am
Joined: Apr 2, 2014
Occupation: Navastating
Location: Aslona
Posts: 764
Warheck wrote
anything brain-dead (un-dead or not)

Interestingly, it seems kobolds are considered mindless.

Mar 11, 2015, 1:14 pm
Joined: Dec 11, 2008
Posts: 1,770
I think that's more to show that they're incredibly stupid rather than mindless.
Some of the tougher kobolds can actually be seen with ESP though (Rondol being one)

Gibberlings are also quite stupid it appears.
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.
Mar 11, 2015, 3:25 pm
Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,299
Does ESP detect based on the Intelligence value then? I wonder if it's possible for a person to have their Int drop so low that they aren't detected with ESP. Maybe through a big hit to the head or a -5 helmet of brilliance or something
Mar 19, 2015, 5:37 am
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
Does anyone want to look at implementing Ighalli's god system? To that end, does anyone know whether Ighalli's god system is only a change to the prayer system, or something bigger, like the god system?
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Mar 19, 2015, 2:53 pm
Joined: Feb 20, 2012
Posts: 231
Warheck wrote
Does anyone want to look at implementing Ighalli's god system? To that end, does anyone know whether Ighalli's god system is only a change to the prayer system, or something bigger, like the god system?

An implementation already exists in one of the attempts at development resurrection.

Frankly I'm not too fond of it, but mostly because it doesn't work well with the god/prayer system the way it currently is. If the god system was expanded and each god had more effects then Ighalli's prayer system would make more sense, but in its current state it doesn't really serve a purpose.
Mar 21, 2015, 11:09 pm
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,216
True that. I was just wondering what the status of that was, and whether it was related to this piece of archaeology.
I think it must be an older plan, because there are still some older god names in there. But still, rather curious.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Mar 27, 2015, 4:33 pm
Joined: Dec 4, 2007
Posts: 184
Anyone figure out what the mummy is for?
Mar 27, 2015, 6:14 pm
Joined: Dec 11, 2008
Posts: 1,770
I'd assume it was meant to be a decoration for Ivan's house or something which never made it to the game itself.
So far as I recall there was no mention of it in the source repository other than in the change log, could be wrong though.
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.
Jump to