Page 1 of 1

A livelier Far East

Posted: Mon Oct 25, 2010 12:38 am
by Susramanian
I got to thinking recently about how the Far East doesn't feel lively enough. The orc prides were what started it, with their barren, monotonous layouts. (See post here.) Asthmatic_thematic's posts got me thinking about it even more. What I'm going to propose is not more content (which we certainly need, but that's for another time), but rather a livelier presentation of the content we already have.

1) Fog of war. You have to explore to reveal the map.
2) A network of patrolled roads. These would be between the orc prides and whatever other important landmarks exist in the Far East that the orcs might be involved with. Fast, visible orc patrols move along them. If you get within X squares of them, they veer off their patrol and chase you down. And they're fast, so they'll catch you. This will give players an inversion of the usual 'stay on the roads for safe travel' video game mechanic. You need to stay the hell away from these roads.
3) Invisible, random encounters within X units of orc strongholds. Approaching a pride, even off the roads, is going to alert hidden sentries and you'll have a fight on your hands.
4) Killing a pride's boss removes the random encounters from around that pride. Furthermore, orc road patrols will no longer travel to that pride, rendering a large portion of the map much safer.
5) Sun paladins patrol in a certain radius around the Gates of Morning. Orc patrols will break off their pursuit if you get within the radius of the paladins' patrol.

Taken together, all this will make the Far East a much more hostile, interesting, and mysterious place. You can no longer just hold down a movement key to travel. The current layout, with the initial point of entry so far from the Gates of Morning, might be problematic. It might be good to have the player character run into a paladin outrider or something right when they enter the Far East so they find out that there's a safe haven to be found. Or maybe just turning the @ loose in a deadly land of patrolling orcs would be great. All right, I said I wasn't going to bring new content into this, but I can't resist. All of the above vastly increases the value of friendly towns, so I figure we should make one. I proposed a dwarf city here. Also, it would be cool to have unique encounters in the overland map. Picture a D roaming around in the wilderness suddenly charging the approaching @. Fun!

Re: A livelier Far East

Posted: Mon Oct 25, 2010 4:09 am
by yufra
I like the idea of chase encounters in addition to the random encounters that ToME currently has. It would increase the immersion of the world map rather than it simply be movement from one area to the next.

Re: A livelier Far East

Posted: Mon Oct 25, 2010 8:16 am
by darkgod
Ah my thoughts exactly! :)

I had some ideas about roaming monsters on the world map.

Your patrols idea seems real neat indeed!

Re: A livelier Far East

Posted: Mon Oct 25, 2010 12:23 pm
by Mithril
Also the starting world map feels somewhat desolate. Even if it safer under Aragorn I doubt it is completely safe. There could be some random monsters moving across the world map that you can see if close to you, some roving rangers that will intercept the monsters if coming close to one another, and some caravans moving between the towns.

Likewise the towns are desolate. Some people moving between houses from one door to another and from and to the exits would be a nice touch.

Interacting with non-monsters could produce no results, or sometimes bring up a basic shop, or give some mild spoilers. Like they could give hints about the escort quests "I have heard that a Seer needs help on the third level of the Old Forrest".

Re: A livelier Far East

Posted: Tue Oct 26, 2010 5:38 pm
by Susramanian
I made an attempt to revise the Far East map. The original was probably about half ocean, which is a big waste of space. I turned most of that ocean into forests and mountains with lots of nooks and crannies and hidden paths to explore. These would be particularly fun if we crank the wilderness view distance down to 1 or 2 so that exploring becomes a larger issue. They're also perfect spots to include future content.

I included the roads I mentioned earlier, but they don't make much of a network because of the layout of the orc prides. If they were more spread out the roads would be more interesting. (All of the points of interest are exactly where they were in the original map; just their surroundings have changed.)

An X in this map marks the location of an orc pride (or armory). They're just there for reference. They produce mysterious blank spaces if left in the map for T4 to load, which of course I did by accident. But I did have a great time exploring the new map! I love finding hidden areas in video games :)

Code: Select all

-- ToME - Tales of Middle-Earth
-- Copyright (C) 2009, 2010 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org

-- The far east on Arda

quickEntity('w', {always_remember = true, show_tooltip=true, name='Sun Wall', display='^', color=colors.GOLD, back_color=colors.CRIMSON, image="terrain/mountain.png", tint=colors.GOLD, block_move=true})
quickEntity('=', {always_remember = true, show_tooltip=true, name='the great sea', display='~', color=colors.DARK_BLUE, back_color=colors.BLUE, image="terrain/river.png", block_move=true, can_encounter="water", shader = "water", textures = { function() return _3DNoise, true end }, })
quickEntity(' ', {always_remember = true, show_tooltip=true, name='plains', display='.', color=colors.LIGHT_GREEN, back_color=colors.DARK_GREEN, image="terrain/grass.png", can_encounter="plain", equilibrium_level=-10})
quickEntity('~', {always_remember = true, show_tooltip=true, name='river', display='~', color={r=0, g=80, b=255}, back_color=colors.BLUE, image="terrain/river.png", can_encounter="plain", equilibrium_level=-10, can_encounter="water", shader = "water", textures = { function() return _3DNoise, true end }, })
quickEntity('s', {always_remember = true, show_tooltip=true, name='desert', display='.', color={r=203,g=189,b=72}, back_color={r=163,g=149,b=42}, image="terrain/sand.png", can_encounter="desert", equilibrium_level=-10})
quickEntity('t', {always_remember = true, show_tooltip=true, name='forest', display='#', color=colors.LIGHT_GREEN, back_color=colors.DARK_GREEN, image="terrain/grass.png", add_displays = {mod.class.Grid.new{image="terrain/tree_alpha1.png"}}, block_move=true})
quickEntity('p', {always_remember = true, show_tooltip=true, name='oasis', display='#', color=colors.LIGHT_GREEN, back_color={r=163,g=149,b=42}, image="terrain/sand.png", add_displays = {mod.class.Grid.new{image="terrain/palmtree_alpha1.png"}}, block_move=true})
quickEntity('m', {always_remember = true, show_tooltip=true, name='mountains', display='^', color=colors.LIGHT_UMBER, back_color=colors.UMBER, image="terrain/mountain.png", block_move=true})
quickEntity('h', {always_remember = true, show_tooltip=true, name='low hills', display='^', color=colors.GREEN, back_color=colors.DARK_GREEN, image="terrain/hills.png", can_encounter="plain", equilibrium_level=-10})
quickEntity('.', {always_remember = true, show_tooltip=true, name='road', display='.', color=colors.WHITE, back_color=colors.DARK_GREEN, image="terrain/marble_floor.png", can_encounter="plain", equilibrium_level=-10})


quickEntity('A', {always_remember = true, show_tooltip=true, name="Sun Wall Outpost (Town)", display='*', color=colors.GOLD, notice = true, change_level=1, change_zone="town-sunwall-outpost"})
quickEntity('B', {always_remember = true, show_tooltip=true, name="High Peak", display='>', color=colors.VIOLET, notice = true, change_level=1, change_zone="high-peak"})

quickEntity('1', {always_remember = true, show_tooltip=true, name="Gates of Morning", desc="A massive hole in the Sun Wall", display='*', color=colors.GOLD, back_color=colors.CRIMSON, image="terrain/gate-morning.png", tint=colors.GOLD, notice = true, change_level=1, change_zone="town-gates-of-morning"})

-- The shield protecting the istari hideout
local p = getMap():particleEmitter(43, 25, 3, "istari_shield_map")

-- Load encounters for this map
prepareEntitiesList("encounters", "mod.class.Encounter", "/data/general/encounters/arda-fareast.lua")
addData{ encounters = {
	chance=function(who)
		local harmless_chance = 1 + who:getLck(7)
		local hostile_chance = 2
		if rng.percent(hostile_chance) then return "hostile"
		elseif rng.percent(harmless_chance) then return "harmless"
		end
	end},
	istari_shield = p,
}

return [[
mmmttttttttttttttttttttttttttttttttt~tttttttttttttttttttttttttttttttttttttttttmmm
m mmmttttttttttttttt  thhhttttttt ~~~tttttt           t  ttttttttt    ttt     mmm    
m mmmmmmmhh    tttt tthhhhttttt ~~~ttttt     mmmmmm    tt tttt    tttt t ttttmmmm
mm  mmmhh     tttttt thhhhhtttt ~tttttt       mmmmmmmmtttt    ttttttttt ttttmmmmm
mmmm hh        ttttt ttttttttt ~~ttttt           mmmmmmmtttttt ttttttmmmmmmmmmmmm
hhhhh             t ttttt      ~                    mmmmmmmtttt tttmmmmmmmmmmmmmm
tttt                          ~~                      mmmmmmmmtt ttmmmmmmhhmmmmmm
ttt                      =====~                 hh         mmmmt tmmmmmmhtthmmmmm
ttt  tttt           ~~~~=tt=====            hhhhhh          mmmmmmmmmmmhttthmmmmm
ttt ttttt         ~~~  = h ======           hhhhh                mmmmhhttt  hmmmm
ttttttttt         ~    == ========.........................     mmmmhttt   thmmmm 
ttttttttt        ~~    ==========~~~                      .     mmmhttt    tthmmm
ttttttttt       ~~      ===  ==    ~~~                    .    mmmmhttt   ttthmmm
ttttttt         ~                    ~~~~~~               .   mmmmmmhtttttttthmmm 
=tttt           ~                         ~~~     m       .   XXmmhhtttttttttthmm
===             ~~~                              mm  tt   .........   tttttttthmm
=====             ~~~~                          mmmttt    .   hhh .     ttttthmmm
======               ~                        mmmmttt     .    hh .      tttthmmm
=======              ~~                     mmmmtttt      .   hhh .        hhmmmm
========              ~~                  mmmmttttt       .........       hmmmmmm
=========     hhh      ~~ tt       tttttttmmmtttttt........hhhhhhh.      hmmmmmmm
==========   hhhh       ~~ tttttttttttttmmmmmtttttXhhhh   hmmmhhh..      hmmmmmmm
==========   hhhh        ~~ttttttttttttmmmmmmmmtmmmmmmmmhhmmhhhhh.       hmmmmmmm
=========    hhh          ~~ttttttttttmmmmmmmmmmmmmhhhmmmmmmhhh...       hmmmmmmm
=========                  ~ttttttttttmmmmmmmmmmttt     mmm.....         mmmmmmmm
========                ~~~~~~~~tttttt~~mmmBmmmmttt ........            mmmmmmmmm
=======              ~~~~      ~~~~~~~~ttmmmmmmmtttt.                  mmmmmmmmmm
======            ~~~~             tttttttmmmmmmtttt.                  mmmmmmmmmm
=====           ~~~                ttttttmmmmmmmmttt.                 wwhhhhhhhhm
=====        ~~~~                    ttttmmmmtmmmh...              w  wwwhhhhhhmm
====~~~~~~~~~~                         mmmmtttttmhthmmm           wwwwwwwwhhhmmmm
=====                                  mmtttttttthmmmh           hwwwwwwwwhhmmmmm
=====                                 mmm.........mm             hwwwwwww  hmmmmm
=====                                 mm..       .               hwwwwwww  hmmmmm
======    ...........................mm..        .               hwwwwww   hmmmmm
========  .       ==               hhhhhhhhhh.....................1wwwwhh   hmmmm
=====================              mhhhhhhhh     .               hwwwwwhh   hmmmm
======================            mm.     h      .               hwwwwhh    hmmmm
======================          mmm..            . hh             wwwwh      hmmm
========== ==========         hmmmm.             . hhh            hwwh       hmmm
=======h   ==========        hmmmtt.t            .hhhh            hww        hmmm
=====hh     ==========      hmmmttt.tttt         .hh               wh         hmm
======mm    ===========    hhmmmttt.tttttt       .                            hmm
======tttmm A==========   hmmmmmttt.ttttttt      .                             hm
======ttt=mm=========     hmmmmsttt.tttttttt     .          sssssss             m
=======t============    hhmmmmsspss.tttttttt     .      sssssssssssssssssssssssmm
=================tttttthmmmmmsspssp.ssp         .. ssssssssssssssssssssssssssmmmm
===============tttttttthmm mmssssss.ssssssssssss.sssssssssssssssssssssssssmmmmmmm
==============tttttttt ttmhmmssssss.ssssssssssss.sssssssssssssssssss.....mmmmmmmm
==========  tttttttttt ttmhmmssssss...X...........p.............p....mmmhmmmmmmmm
========       tttttttt thmmmsssssssssssssssmmms.sssssssssssssssssssmmmmhmmmmmmmm
======= ttttttt tttttt t tmmmmsssssssssspssmmmmm.ssssssssssssssssssmmmmhmm   mmmm
=====  ttttttttt tttt ttthmmmmssssssssssssmm.....sssssspssssssssssmmmmhmm   mmmmm
==   ttttt  tttt tttt ttmmhh mmmssssssssssmXmmmmsssssssssssssssssmmmmmhmm   mmmmm
=   t       ttttt tt tttmmmmmmmmmmmssssssmmmmmmmmssssssmmmmmmmmmmmmmmmmhm  mmmmmm
=   tttttttttttttt  tttmmmmmmmmmmmmmmmmmmmmmmmmmsssmmmmmmmmmmmmmmmmmmmmmhh mmmmmm
ttttttttttttttttttttttmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm]]

Re: A livelier Far East

Posted: Wed Oct 27, 2010 12:26 am
by asthmatic_thematic
The ideas I mentioned for soldiers/corporals etc of the Oroedain could easily be just made into orc patrol powers. That would be one great way to make wilderness-type encounters very dangerous, above any actual HP of critters encountered: these patrols are specialized hunters, and their ability to converge and surround makes LOS and other tactics really important, especially given that the player will be plunged into the fight, and won't have a chance to set things up comfortably.

I love the idea of making the prides more like semi-organized towns rather than random buildings. I do think, however, that a bit of open space one has to cross is an important part of the threat of getting through the pride area. I lost a character to going down into a pride, finding myself in a big field surrounded by wyrms/pyros/etc, and getting creamed almost immediately. That was a bit cruel, although also very fun; it seems a bit too nice to allow slinking all the way from one edge to the other. If a bit of open space is desired, one could just take the village-map proposed above and remove a couple of the top-center and bottom-center buildings, so that only a fairly thin vertical line really requires a dash.

Second, I think this is a great spot to add the idea of moving monsters, which are doing things even before @ shows up or is seen. Various other roguelike games have monsters which are not just awake but in motion. One could split monsters in dungeons into two classes: stationary and moving. Then, the moving monsters are split up into various plans: those which move randomly, those which hug walls, and those which randomly choose a spot, move towards it, and then repeat. You could make one end of the motion always be the center fountain (center-random-center-random...), which would give the map a real sense of life.

In prides, especially, which are supposed to be active places, adding moving creature could throw an interesting wrench into players' plans. Especially if a *patrol*, like 4 soldier/2 corporals/1 sergeant could be made to move as a group in an organized fashion...

Re: A livelier Far East

Posted: Wed Oct 27, 2010 7:38 pm
by darkgod
Hum I think I like it :)
Thanks!