Call for mappers

All development conversation and discussion takes place here

Moderator: Moderator

Message
Author
Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#16 Post by Repton »

darkgod wrote: BTW I made all vaults have sealed doors that only the player can open, with a visual prompt, and all have hard walls, that prevent esp, detection and magic mapping them from the exterior :)
All doors in the vault can only be opened by the player? Or just the initial door that allows entrance to the vault?

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Call for mappers

#17 Post by darkgod »

It's configurable, I made only the entrance door work like that for now.
Just use a DOOR_VAULT instead of just VAULT terrain.

Also about circling them with floor, you dont have to.
Either:
* circle them by floor
* define a startx/starty that is where the game will check for connectivity

So if there are multiple entrances it's better to circle them since you cant put them all in startx/starty

Oh and the esp/sense blocking walls are HARDWALL (not diggable either?
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

marvalis
Uruivellas
Posts: 683
Joined: Sun Sep 05, 2010 5:11 am

Re: Call for mappers

#18 Post by marvalis »

Here is my attempt: A simple vault with only 5 treasures. The central chamber 3x3 is the best, but the most dangerous one. To get there the player must fight two lower level monsters in the open rooms (you cannot dig to the central room without digging in one of the bigger rooms). The other four 3x3 rooms have a medium difficulty monster. Feel free to change the difficulty of them I have no idea what it should be.

Dig-able version:

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "WALL")
defineTile('1', "FLOOR", {random_filter={add_levels=15}}, {random_filter={add_levels=20}})
defineTile('2', "FLOOR", {random_filter={add_levels=12}}, {random_filter={add_levels=17}})
defineTile('3', "FLOOR", {random_filter={add_levels=5}}, nil)


return {
[[.............]],
[[.....XXX.....]],
[[...XXX2XXX...]],
[[..XX3XXX3XX..]],
[[..X...X...X..]],
[[.XXX3XXX3XXX.]],
[[.X2XXX1XXX2X.]],
[[.XXX3XXX3XXX.]],
[[..X...X...X..]],
[[..XX3XXX3XX..]],
[[...XXX2XXX...]],
[[.....XXX.....]],
[[.............]],
}
Alternative version with doors:

Code: Select all

defineTile('.', "FLOOR")
defineTile('X', "HARDWALL")
defineTile('D', "DOOR")
defineTile('1', "FLOOR", {random_filter={add_levels=15}}, {random_filter={add_levels=20}})
defineTile('2', "FLOOR", {random_filter={add_levels=12}}, {random_filter={add_levels=17}})
defineTile('3', "FLOOR", {random_filter={add_levels=5}}, nil)


return {
[[...........]],
[[...XXDXX...]],
[[..XXD2DXX..]],
[[.XX.XXX.XX.]],
[[.X...X...X.]],
[[.X3.3X3.3X.]],
[[.XDXDXDXDX.]],
[[.X2XX2XX2X.]],
[[.XXXDXDXXX.]],
[[.XX.XXX.XX.]],
[[.X...X...X.]],
[[.X3.3X3.3X.]],
[[.XXXDXDXXX.]],
[[..XXX1XXX..]],
[[...XXXXX...]],
[[...........]],
}
The doors should only be opened by the player, not the monster. Starting position is the upper door.

Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#19 Post by Repton »

darkgod wrote: Just use a DOOR_VAULT instead of just VAULT terrain.
[...]
Oh and the esp/sense blocking walls are HARDWALL (not diggable either?
Ok, so:

Code: Select all

defineTile('+', 'DOOR') -- a normal door that monsters can open
defineTile('=', 'DOOR_VAULT') -- a door that only the player can open
defineTile('X', 'WALL') -- a normal wall that can be dug, mapped, etc
defineTile('#', 'HARDWALL') -- a wall that blocks ESP, can't be dug, can't be phased through
defineTile('.', 'VAULT') -- what does this mean?
Should we specify HARDWALL for the outer walls, or will the engine do this automatically?

What happens if something is not fully surrounded by HARDWALL?

e.g. using the symbols above (X for wall, # for hardwall):

Code: Select all

    X
   PX
######
    @
Can the player sense the giant? Will magic mapping or earth eyes detect the normal wall? (assuming those six # are the only HARDWALL in the level)
* define a startx/starty that is where the game will check for connectivity
How do we do this?

Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#20 Post by Repton »

A hilbert curve, full of surprises.. There's no particular theme to this, so I guess it could go anywhere.

Code: Select all

defineTile(' ', "FLOOR")
defineTile('+', "DOOR")
defineTile('#', "HARDWALL")
defineTile('c', "FLOOR", {random_filter={add_levels=10}})
defineTile('$', "FLOOR", {random_filter={add_levels=25}})
defineTile('~', "FLOOR", {random_filter={add_levels=10}}, nil, {random_filter={add_levels=10}})
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=5}})

defineTile('s', "FLOOR", nil, "MASTER_SKELETON_ARCHER")
defineTile('o', "FLOOR", {random_filter={add_levels=5}}, {random_filter={add_levels=5}})
defineTile('O', "FLOOR", {random_filter={add_levels=10}}, {random_filter={add_levels=10}})
defineTile('P', "FLOOR", {random_filter={add_levels=15}}, {random_filter={add_levels=15}})

return {
[[#################]],
[[#^^^#   #   #  s#]],
[[#P# # # #o#~#~# #]],
[[# # ss# #o#~s~# #]],
[[# #####s#o#####^#]],
[[#  O#  O#o  #cO #]],
[[###s# ##### #O###]],
[[#c  #s^^+   #s  #]],
[[#c############# #]],
[[#c# ooo # ooP #s#]],
[[#~# ### # ### #^#]],
[[#c  #s  #   # ~ #]],
[[#####s#####s#####]],
[[# PP#  O#  o# c #]],
[[# # ### #~###o# #]],
[[#$#s    #    o# #]],
[[###############+#]],
}

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Call for mappers

#21 Post by darkgod »

In your example no the player would not see anything. Magic map would black out after the hardwall, esp and detection would not work.
If the lpayer was on the side oft he normal wall he would be able to map/esp/sense just fine.
In the current vauls I made all walls hardwalls, you you can indeed make some and not all.
I kinda like that they are surrounded by hardwalls so the player must open it to know what's inside, and since there is a warning on entrance the lpayer only has himself to blame if he dies an terrible death ;)

Code: Select all

defineTile('.', 'VAULT') -- what does this mean?
Does not mean anything ;)

Oh and:

Code: Select all

defineTile('s', "FLOOR", nil, "MASTER_SKELETON_ARCHER")
You can do instead:

Code: Select all

defineTile('s', "FLOOR", nil, {random_filter={name="master skeleton archer", add_levels=10}})
This allows you to give it additional levels and to bring in NPCs without a define.
(works for objects & traps too)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#22 Post by Repton »

darkgod wrote:In your example no the player would not see anything. Magic map would black out after the hardwall, esp and detection would not work.
But phase door still works?

Code: Select all

defineTile('s', "FLOOR", nil, {random_filter={name="master skeleton archer", add_levels=10}})
This allows you to give it additional levels and to bring in NPCs without a define.
(works for objects & traps too)
What if I want to specify "This object should be a random mace" ?

yufra
Perspiring Physicist
Posts: 1332
Joined: Tue Jul 13, 2010 2:53 pm

Re: Call for mappers

#23 Post by yufra »

Repton wrote: What if I want to specify "This object should be a random mace" ?

Code: Select all

defineTile('s', "FLOOR", {random_filter={type="weapon", subtype="mace"})
Or subtype="greatmaul" for the two-handed variety. The first type="weapon" is also probably redundant.
<DarkGod> lets say it's intended

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Call for mappers

#24 Post by darkgod »

I made all vaults no-teleport
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#25 Post by Repton »

darkgod wrote:I made all vaults no-teleport
I hope you can still teleport out, or else it could be a little nasty :-)

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Call for mappers

#26 Post by darkgod »

I am a nasty fellow ;)
But yes you can teleport out
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#27 Post by Repton »

Here's an orc armoury:

Code: Select all

defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=5}})
defineTile('+', "DOOR")
defineTile('#', "HARDWALL")

defineTile('a', 'FLOOR', nil, {random_filter={name='hill orc archer', add_levels=15}})
defineTile('i', 'FLOOR', nil, {random_filter={name='icy wyrmic uruk-hai', add_levels=10}}) -- will be generated with escorts, so leave some space free
defineTile('f', 'FLOOR', nil, {random_filter={name='fiery wyrmic uruk-hai', add_levels=10}}) -- will be generated with escorts, so leave some space free
defineTile('o', 'FLOOR', nil, {random_filter={name='uruk-hai', add_levels=10}})
defineTile('O', 'FLOOR', nil, {random_filter={name='uruk-hai', add_levels=20}})
defineTile('n', 'FLOOR', nil, {random_filter={name='orc master assassin', add_levels=10}})
defineTile('N', 'FLOOR', nil, {random_filter={name='orc grand master assassin', add_levels=15}})

defineTile('m', 'FLOOR', {random_filter={type='weapon', subtype='mace', add_levels=10}})
defineTile('M', 'FLOOR', {random_filter={type='weapon', subtype='greatmaul', add_levels=10}})

defineTile('x', 'FLOOR', {random_filter={type='weapon', subtype='axe', add_levels=10}})
defineTile('X', 'FLOOR', {random_filter={type='weapon', subtype='battleaxe', add_levels=10}})

defineTile('s', 'FLOOR', {random_filter={type='weapon', subtype='sword', add_levels=10}})
defineTile('S', 'FLOOR', {random_filter={type='weapon', subtype='greatsword', add_levels=10}})

defineTile('b', 'FLOOR', {random_filter={type='weapon', subtype='longbow', add_levels=10}})
defineTile('B', 'FLOOR', {random_filter={type='ammo', subtype='arrow', add_levels=10}})

defineTile('w', 'FLOOR', {random_filter={type='weapon', subtype='sling', add_levels=10}})
defineTile('W', 'FLOOR', {random_filter={type='ammo', subtype='shot', add_levels=10}})

defineTile('k', 'FLOOR', {random_filter={type='weapon', subtype='knife', add_levels=10}})

defineTile('t', 'FLOOR', {random_filter={type='weapon', subtype='mace', add_levels=10}}, {random_filter={type='giant', subtype='troll', add_levels=10}})
defineTile('T', 'FLOOR', {random_filter={type='weapon', subtype='greatmaul', add_levels=10}}, {random_filter={type='giant', subtype='troll', add_levels=15}})
 
return {

[[#########################]],
[[##aa#ooo+xx#BBBB#OOO#knk#]],
[[##  #oOo#xx###bb+ f #nNn#]],
[[##  #oOo#XXXX#bb#   #knk#]],
[[##^^##+###########+###+##]],
[[+ ^^                   ^#]],
[[##^^##+###########+###+##]],
[[##  #OoO#SSSS#ww#   #TtT#]],
[[##  #ooo#ss###ww+ i #ttt#]],
[[##aa#ooo+ss#WWWW#OOO#TtT#]],
[[#########################]],

}
The fiery and wyrmic uruk-hai will, I think, be generated with escorts, so I've left some room around them ... but I'm not sure what will happen if there isn't enough room. (how many escorts will be created?)

darkgod
Master of Eyal
Posts: 10751
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Call for mappers

#28 Post by darkgod »

I made the Town generator able to do vaults and added this one :=)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

Repton
Archmage
Posts: 371
Joined: Wed Aug 05, 2009 2:17 am

Re: Call for mappers

#29 Post by Repton »

This is a forge ...
I'm a bit less certain about it; can I bring in stuff from different zones like this?

Code: Select all

defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=5}})
defineTile('+', "DOOR")
defineTile('#', "HARDWALL")
defineTile('~', "LAVA")
defineTile('_', "DEEP_WATER")
defineTile('X', "WALL")

defineTile('T', 'FLOOR', {random_filter={type='weapon', subtype='greatmaul', add_levels=10}}, {random_filter={name="stone troll", add_levels=25}})
defineTile('D', 'FLOOR', nil, {random_filter={name='fire wyrm', add_levels=10}})
defineTile('f', 'FLOOR', nil, {random_filter={name='orc high pyromancer', add_levels=10}}
defineTile('i', 'FLOOR', nil, {random_filter={name='orc high cryomancer', add_levels=10}}

defineTile('A', 'FLOOR', {random_filter={type='armor', add_levels=10}})
defineTile('$', 'FLOOR', {random_filter={type='armor', add_levels=20}})

return {
[[#############]],
[[#$$X###A i###]],
[[#### AA  _~##]],
[[+        T~D#]],
[[#### AA  _~##]],
[[#$$X###A f###]],
[[#############]],
}


Burb Lulls
Spiderkin
Posts: 480
Joined: Mon Jul 26, 2004 5:20 am
Location: Blighty

Re: Call for mappers

#30 Post by Burb Lulls »

So, players can't dig or sense through these so-called 'hard walls'. But can xorn or xaren? If not, this could make for a delightful ambush...

Code: Select all

defineTile('.', "FLOOR")
defineTile('^', "FLOOR", nil, nil, {random_filter={add_levels=5}})
defineTile('#', "HARDWALL")
defineTile('X', "WALL")
defineTile('+', "DOOR")

defineTile('1', "WALL", nil, {random_filter={name="xorn", add_levels=5}})
defineTile('2', "WALL", nil, {random_filter={name="xaren", add_levels=10}})
defineTile('s', "FLOOR", nil, {random_filter={name="skeleton archer", add_levels=10}})
defineTile('$', "FLOOR", {random_filter={add_levels=10}})

return {
[[...................]],
[[........#+#........]],
[[......###.###......]],
[[..##..#2#.#2#..##..]],
[[..##..#X#.#X#..##..]],
[[......#XX.XX#......]],
[[..##..#XX.XX#..##..]],
[[..##..#X#.#X#..##..]],
[[......#1#.#1#......]],
[[.########.########.]],
[[.#$$s..^^.^^..s$$#.]],
[[.########.########.]],
[[......#1#.#1#......]],
[[..##..#X#.#X#..##..]],
[[..##..#XX.XX#..##..]],
[[......#XX.XX#......]],
[[..##..#X#.#X#..##..]],
[[..##..#2#.#2#..##..]],
[[......###.###......]],
[[........#+#........]],
[[...................]],
}
Once diggers are implemented, additional goodies may be embedded in the 'normal' walls.

Post Reply