ivanforum ivanforum
Forum for Iter Vehemens ad Necem
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   fchat fChat   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Trouble making new dungeons

 
Post new topic   Reply to topic    ivanforum Forum Index -> Programming
View previous topic :: View next topic  
Author Message
SquashMonster
blink dog


Joined: 05 Feb 2005
Posts: 297
Location: The spot right next to the spot where I am.

PostPosted: Thu Feb 24, 2005 7:03 pm    Post subject: Trouble making new dungeons Reply with quote

I'm editing the script file in an attempt to add a side-branch dungeon to gloomy cave.

The entrance to the dungeon generates fine, but whenever I try to enter, the game crashes, saying an unknown error has occured.

I defined the level's number as 13.

The part that generates the room:
Code:

  RandomLevel 1:3;
  {
    Room
    {
      Size = 11,11;
      AllowLockedDoors = true;
      AllowBoobyTrappedDoors = true;
      GenerateFountains = false;
      Shape = ROUND_CORNERS;
      WallSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
      FloorSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
      GenerateDoor = false;
      GenerateLanterns = false;
      AltarPossible = false;

      GTerrainMap
      {
        Pos = 3,3;
        Size = 5,5;
        Types
        {
          # = WATER liquidterrain(UNDERGROUND_LAKE);
        }
      }
      {
        ..#..
        .###.
        ##.##
        .#.#.
        .....
      }

      Square, Pos 5,5;
      {
        OTerrain = stairs(STAIRS_DOWN) { AttachedArea = 13; }
        EntryIndex = STAIRS_DOWN;
      }

      Square, Pos 5,0;
      {
        OTerrain = 0;
        AttachRequired = true;
      }
    }
  }

The level's entry is right after the Oree level entry:
Code:

  Level PLANT_LEVEL;
  {
    FillSquare = solidterrain(DARK_GRASS_TERRAIN), SLATE earth;
    TunnelSquare = solidterrain(DARK_GRASS_TERRAIN), 0;
    Size = 64, 36;
    Rooms = 15:20;
    Items = 35:40;
    GenerateMonsters = false;
    IsOnGround = false;

    TeamDefault = MONSTER_TEAM;
    LOSModifier = 16;
    IgnoreDefaultSpecialSquares = false;
    DifficultyBase = 50;
    DifficultyDelta = 10;
    MonsterAmountBase = 10;
    MonsterAmountDelta = 2;
    MonsterGenerationIntervalBase = 140;
    MonsterGenerationIntervalDelta = -10;
    CanGenerateBone = true;
    ItemMinPriceBase = 20;
    ItemMinPriceDelta = 10;
    EnchantmentMinusChanceBase = 0;
    EnchantmentMinusChanceDelta = 0;
    EnchantmentPlusChanceBase = 5;
    EnchantmentPlusChanceDelta = 5;
    BackGroundType = GRAY_FRACTAL;

    Square, Random;
    {
      Character = carnivorousplant(GREATER);
      Times = 18;
    }

    Square, Random;
    {
      Character = carnivorousplant(GIANT);
      Times = 18;
    }

    Square, Random;
    {
      Character = carnivorousplant(SHAMBLING);
      Times = 18;
    }

    RoomDefault
    {
      Pos = 2:XSize-5,2:YSize-5;
      Size = 4:11,4:11;
      AltarPossible = false;
      WallSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
      FloorSquare = WATER liquidterrain(UNDERGROUND_LAKE), 0;
      DoorSquare = solidterrain(PARQUET), GRANITE door;
      GenerateDoor = false;
      DivineMaster = 0;
      GenerateTunnel = true;
      GenerateLanterns = false;
      Type = ROOM_NORMAL;
      GenerateFountains = false;
      Shape = ROUND_CORNERS;
      IsInside = true;
      GenerateWindows = false;
      UseFillSquareWalls = false;
      Flags = 0;
     
      Square, Random;
      {
        Character = carnivorousplant(LILY);
        Times = 1:2;
      }
    }
  }

And I added two types of carnivorous plants:
Code:

  Config SHAMBLING;
  {
    AttributeBonus = 250;
    TorsoBitmapPos = 128, 48;
    Adjective = "shambling carnivorous";
    BaseBiteStrength = 900;
    CWeaponSkillHits == 100;
    TotalVolume = 40000;
    TotalSize = 250;
    IsEnormous = true;
    IsRooted = false;
    StandVerb = "skittering";
  }

  Config LILY;
  {
    AttributeBonus = 250;
    TorsoBitmapPos = 112, 48;
    Adjective = "carnivorous";
    NameSingular = "lily pad";
    BaseBiteStrength = 900;
    CWeaponSkillHits == 100;
    TotalVolume = 40000;
    TotalSize = 250;
    IsEnormous = true;
    IsRooted = false;
    MoveType = SWIM;
    StandVerb = "sticking"; /*only used if not swimming*/
  }

Could anyone tell me what I did wrong?
Back to top
View user's profile Send private message
holybanana
Party Chairman


Joined: 04 Jan 2005
Posts: 155
Location: Above Valpurus

PostPosted: Mon Feb 28, 2005 6:50 pm    Post subject: Reply with quote

I debugged the crash and found three problems.

1: If you haven't done so, increase the Levels value of the ELPURI_CAVE dungeon to 14.
2: This square script

Code:
Square, Random;
{
  Character = carnivorousplant(LILY);
  Times = 1:2;
}

should be

Code:
Square, Random NOT_WALKABLE;
{
  Character = carnivorousplant(LILY);
  Times = 1:2;
}


because your rooms are full of water and Random finds a walkable square by default.

3: The GenerateDoor value of your rooms should be true instead of false, since the GenerateTunnel value is true, and tunnels need doors as their starting and ending points. If you don't want tunnels at all, you must also set the IgnoreDefaultSpecialSquares value of your level to false, since by default mines etc. are generated on walkable terrains of GC levels, and there won't be any such squares if you don't have tunnels. You should probably set this value to false anyway, since by default up stairs to level 13 (Oree lair) and down stairs to level 15 (which doesn't exist) are generated, which I doubt you want.

Anyway, I really don't encourage you to use water squares too much since the water code in IVAN isn't very advanced and there may be more odd bugs in the level generation. Embarassed
Back to top
View user's profile Send private message Send e-mail
SquashMonster
blink dog


Joined: 05 Feb 2005
Posts: 297
Location: The spot right next to the spot where I am.

PostPosted: Mon Feb 28, 2005 9:08 pm    Post subject: Reply with quote

Aha! Thanks a bunch! *bows*

The no doors thing was because doors look kinda odd in that when going to a lake. But it works just as well to change the door square to lake instead of door. Congrats on the rediculously flexable system.

So far, I've discovered only a few problems with the increased amount of water.
1 - Items on water say "on" instead of "in". Also, if you planned on using more water (and well, there is that level full of blood which is about the same), you might want to sink items with an average density greater than that of the liquid.
2 - AI on water doesn't behave very intelligently.
3 - If you try to rest or something, it still alerts you about monsters on water that won't be able to reach you.

Thanks again.
Back to top
View user's profile Send private message
holybanana
Party Chairman


Joined: 04 Jan 2005
Posts: 155
Location: Above Valpurus

PostPosted: Tue Mar 01, 2005 9:47 am    Post subject: Reply with quote

No prob. Sorry for the lack of intelligent error checking in the script. Even though it warns about syntax errors quite sensibly, logical errors like trying to find a walkable square in an area where there's none cause but obscure crashes Crying or Very sad

We'll check all these issues at some point. We haven't really paid much thought to water squares, since if there is no way to swim in them, they seem to be a bit of a gum anyway. An underground river is going to appear one day in GC when swimming is possible and the other problems are fixed, and when that works, we consider adding wilderness levels above ground with lots of water, for instance a jungle area on the sea shore.
Back to top
View user's profile Send private message Send e-mail
jimmy
kobold lord


Joined: 18 Jul 2005
Posts: 245
Location: In the dream of a UT5

PostPosted: Sat Oct 29, 2005 9:53 pm    Post subject: Reply with quote

Interesting, Evan, mind hosting it for us?
_________________
"MY ASS IS NOT A GRINGO. I am.") -BotFluffy

http://kevan.org/brain.cgi?JimmyJ Best Site Ever, go now!!!!!!!!!!!
Back to top
View user's profile Send private message
Evan



Joined: 15 Dec 2006
Posts: 4

PostPosted: Fri Dec 15, 2006 8:49 pm    Post subject: Reply with quote

Somehow i have deleted my dungeon.dat with my precious dungeon Sad

luckily for me i had a copy in txt file, but -.-

i tried to add again this dungeon under crystal level, but no matter how hard i am trying game crashes with unknown exception.
i changed number of levels, named them correctly but i just cant enter my dungeon.

i have than tried to put another crystal level below first one, i made stairs and they arent working - same problem as with my own.

can someone be that nice and post here proper way of how it should be done.

i was thinking about making dungeon in New_Attnam with all my floor tiles etc etc in different configurations but got exactly same problem with adding new stairs in town >.>
Back to top
View user's profile Send private message
Evan



Joined: 15 Dec 2006
Posts: 4

PostPosted: Sat Dec 16, 2006 6:34 pm    Post subject: Reply with quote

Dammit, sry for double posting -- i have tried with clean Ivan installation to make new dungeon but i failed.

could anyone pls host me a dungeon.dat file with:
-level added below crystal level;
-level added in New_Attnam;

i dont care what will be in there - they can be just empty space.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ivanforum Forum Index -> Programming All times are GMT


Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group