[mod-wip] Treasury - General Help Me

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
Glew
Posts: 74
Joined: Sat Dec 21, 2013 7:57 pm

[mod-wip] Treasury - General Help Me

Post by Glew »

Hi folks. I realize that few days before the launch of Grimrock 2 is probably not the best time for modding, but the news of release inspired me and I went back to an old idea I had abandoned. And Grimrock2 hasn't launched yet, so maybe some of you still have some free time to help this newb modder out. :D

So this is going to be my 2nd mod ever (the first one was Room Escape viewtopic.php?t=6255), and instead of posting every new question I might have in a new topic, I thought it would be good if I made a sort of Q&A/brainstorming topic specifically for things I need for this mod. I promise I'll try my best to search the forums for solutions first.

Now, my first question would be more of a level-design thing rather than scripting. I have this idea for a maze where there are written clues hidden, pointing to the general direction of the exit. Now my dilemma is: should I make the exit available to just be "stumbled upon" by pixel-hunting/blind luck; OR should I somehow make sure the player first finds all the clues?
My problem is, that if I just place a secret button near the exit, then the player maybe just luckily finds it without ever realizing that there was a puzzle or what the heck it was all about.
Any advice, insight?

Thanks in advance!
Glew
Posts: 74
Joined: Sat Dec 21, 2013 7:57 pm

Re: [mod-wip] Treasury - General Help Me

Post by Glew »

I ran into an other problem. Is it possible somehow to correct/manipulate/control the wall texture randomness? I mean if you make a dungeon layout, then the editor automatically and randomly puts textures on the floors and walls and sometimes even adds chains or gratings. What if I don't want any of that? More specifically, what if I want to make 2 corridors look exactly the same?
User avatar
Skuggasveinn
Posts: 561
Joined: Wed Sep 26, 2012 5:28 pm

Re: [mod-wip] Treasury - General Help Me

Post by Skuggasveinn »

To answer your second question , yes by defining your own dungeon wall set you can control some aspects of it.

the original dungeon wall set is as follows, I would copy/paste this to your mod scripts and change the name of it, then use it for the maze.
I've added some comments into the code the explain in more detail.

Code: Select all

defineWallSet{
	name = "dungeon",   -- this is the name of the wallset, I would change it to something like dungeon_maze
	randomFloorFacing = true,   -- this controls if the floor tiles get randomly rotated or not
	
	floors = {
		"assets/models/env/dungeon_floor_01.fbx", 5,  -- there are 7 models that make up the floor, the number behind them is the population factor
		"assets/models/env/dungeon_floor_02.fbx", 5,  -- so for every 5 floors 1 to 6 (30 in total) you have 1 drainage.
		"assets/models/env/dungeon_floor_03.fbx", 5,  -- if you wanted to have all the floor look the same, just use one model and but randomFloorFacing to False
		"assets/models/env/dungeon_floor_04.fbx", 5,
		"assets/models/env/dungeon_floor_05.fbx", 5,
		"assets/models/env/dungeon_floor_06.fbx", 5,
		"assets/models/env/dungeon_floor_drainage.fbx", 1,
	},
	
	walls = {
		"assets/models/env/dungeon_wall_01.fbx", 50,             -- same applies here as with the walls, for every 50 normal walls you have one that's drainage.
		"assets/models/env/dungeon_wall_drainage.fbx", 1,
	},
	
	pillars = {
		"assets/models/env/dungeon_pillar.fbx", 1,
	},

	ceilings = {
		"assets/models/env/dungeon_ceiling.fbx", 1,
	},
	
	ceilingShafts = {
		"assets/models/env/dungeon_ceiling_pit.fbx", 1,
	},

	floorDecorations = {      -- there are no floor decorations (but if you want some, here is the place to add them)
	},
	
	wallDecorations = {
		"assets/models/env/metal_hooks_wall.fbx", 1,                     -- here are the wall decorations, remove them if you don't want any
		"assets/models/env/metal_hooks_chain_wall.fbx", 1,
	},
	
	pillarDecorations = {
		"assets/models/env/metal_hook_pillar.fbx", 1,                  -- remove this if you don't want decorations on your pillars.
		"assets/models/env/metal_hook_chain_pillar.fbx", 1,
		"assets/models/env/metal_ring_pillar.fbx", 1,
	},
}
So be defining your own dungeon wallset and changing it to your needs you can make your level less (or more) random regarding placements of models.
Hope that helps.

Skuggasveinn.
Last edited by Skuggasveinn on Sun Oct 05, 2014 9:50 pm, edited 1 time in total.
Link to all my LoG 2 assets on Nexus.
Link to all my LoG 1 assets on Nexus.
User avatar
Isaac
Posts: 3172
Joined: Fri Mar 02, 2012 10:02 pm

Re: [mod-wip] Treasury - General Help Me

Post by Isaac »

The way that I have done this is to define the specific custom architectural objects I needed and place them where the dungeon should never be random. This includes floors, pillars, and walls; possibly ceilings. I had a balcony that would spawn drains in the floor, and had to place custom tiles set to replace the floor.
User avatar
Skuggasveinn
Posts: 561
Joined: Wed Sep 26, 2012 5:28 pm

Re: [mod-wip] Treasury - General Help Me

Post by Skuggasveinn »

If you are just thinking about 2 corridors then Isaac approach is more easy, if you are thinking about a whole level I would go with creating the wallset.
Link to all my LoG 2 assets on Nexus.
Link to all my LoG 1 assets on Nexus.
User avatar
msyblade
Posts: 792
Joined: Fri Oct 12, 2012 4:40 am
Location: New Mexico, USA
Contact:

Re: [mod-wip] Treasury - General Help Me

Post by msyblade »

I did this for a small hallway where I wanted to do a "spinner" teleporter and I put much effort into trying to make it undetectable. If this (or something similarly small scale is what you're trying to accomplish, I (or Isaac, oblviously) would be happy to help you get it right. If you need it larger scale, then Skuggs has the best way to accomplish it flawlessly, and repeatedly. A general way to think about it is, if you manually place objects, like a floor grating, it is not randomized. or ceiling shafts (cave ins) for the top, Or wall drainages for the walls. Gobelins can help hide a specific defect, things like that. Or wall texts. . .you get the drift.

Hope this helps!
Currently conspiring with many modders on the "Legends of the Northern Realms"project.

"You have been captured by a psychopathic diety who needs a new plaything to torture."
Hotel Hades
User avatar
Isaac
Posts: 3172
Joined: Fri Mar 02, 2012 10:02 pm

Re: [mod-wip] Treasury - General Help Me

Post by Isaac »

msyblade wrote:If this (or something similarly small scale is what you're trying to accomplish, I (or Isaac, oblviously) would be happy to help you get it right.
Image
Glew
Posts: 74
Joined: Sat Dec 21, 2013 7:57 pm

Re: [mod-wip] Treasury - General Help Me

Post by Glew »

Thanks a lot guys!
I need a larger, symmetrically repeating area (rooms leading to rooms) to be completely identical. Or well, the corridors connecting them.
I am going for an invisible teleporter-misdirectionpseudo- endless maze puzzle here. [/spoilers]

So I think that the best way would be to do this to the whole floor. It certainly would not hurt at all and I guess it's less likely that it would be random this way.

So what I need is to put all that script into a file inside the map's folder, right? The question is where do I put this file exactly and how do I name it. Also how to access in in the editor?

And let me see if I get this right. Please, check if this code bellow looks right.

Code: Select all

    defineWallSet{
       name = "dungeon_same",   -- so I would need to select this name for the floor in the editor?
       randomFloorFacing = false,   -- so same facing for every tile?
       
       floors = {
          "assets/models/env/dungeon_floor_01.fbx", 1, -- so every floor tile looks uses the same texture, hopefully same facing so they look the same? The number behind should be 1, right?
       },
       
       walls = {
          "assets/models/env/dungeon_wall_01.fbx", 1, -- no drainage, and changed from 50 to 1
       },
       
       pillars = {
          "assets/models/env/dungeon_pillar.fbx", 1,
       },

       ceilings = {
          "assets/models/env/dungeon_ceiling.fbx", 1,
       },
       
       ceilingShafts = {
          "assets/models/env/dungeon_ceiling_pit.fbx", 1,
       },

       floorDecorations = { },   -- and I want no  floor decorations
       
       
       wallDecorations = { }, -- I want no wall decor either (this means chains, right?)
       
       pillarDecorations = { }, -- I just really hate decorations :D
    }  -- this extra bracket here is needed right? Does this end the "defineWallSet" thing?

User avatar
Isaac
Posts: 3172
Joined: Fri Mar 02, 2012 10:02 pm

Re: [mod-wip] Treasury - General Help Me

Post by Isaac »

Well... Before I started on the OORR2 room, I had begun a gelatinous Cube maze, with the idea that any 'breadcrumb' items left on the ground by the player would be picked up by the roaming cubes as they swept past it. Is this like what you are looking for? I had planned to script teleporters in all entrances to the outermost wall to randomly spawn the party somewhere in the interior of the maze.

Image

Code: Select all

-- This file has been generated by Dungeon Editor 1.3.7

--- level 1 ---

mapName("Unnamed")
setWallSet("temple")
playStream("assets/samples/music/dungeon_ambient.ogg")
mapDesc([[
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#...#...#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#...#...#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#...#...#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#.......#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#...#...#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#...#...#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#.#.#.#.#...#...#...#...#...#
.#...#...#...#...#...#...#...#..
###.###.###.###.###.###.###.###.
.#...#...#...#...#...#...#...#..
...#...#...#...#...#...#...#...#
]])
spawn("starting_location", 15,15,0, "starting_location")

Glew
Posts: 74
Joined: Sat Dec 21, 2013 7:57 pm

Re: [mod-wip] Treasury - General Help Me

Post by Glew »

Yes, something like this but on a much smaller scale. Actually 3 rooms like those, so 11X11 tiles for this "maze", not counting the secret passage that leads out of it.
But I'm not sure what that script you posted is all about...
Post Reply