Map Database  •  FAQ  •  RSS  •  Login

What makes Knights and Merchants so good?

<<

Lewin

User avatar

KaM Remake Developer

Posts: 3822

Joined: 16 Sep 2007, 22:00

KaM Skill Level: Skilled

ICQ: 269127056

Website: http://lewin.hodgman.id.au

Yahoo Messenger: lewinlewinhodgman

Location: Australia

Post 15 Apr 2008, 01:18

What makes Knights and Merchants so good?

Knights and Merchants is great game. But why? What makes it so much better than other RTS games?
Here are some things I can think of:
- The Music. Good music adds a lot to a game.
- The way villages work. When you Design your village, you must make it efficient. In games like Age of Empires and Warcraft you don't have this factor.
- The detail in the economy. You can see and hear everything happening, from the carpenter sawing logs to labours constructing a building. Also, all your wares must be carried everywhere. In many other games this doesn't need to happen.
- The way military works. Because you cannot escape when you are in combat, the military system works very differently from other games. Also, troops must be fed. This makes launching a large attack difficult.
- The beautiful terrain
It is a mix of all these things, but what one do you think is the most important?
For me it is the village and economy system. What do you think?
Lewin.
<<

The Dark Lord

User avatar

King Karolus Servant

Posts: 2154

Joined: 29 Aug 2007, 22:00

KaM Skill Level: Veteran

Location: In his dark thunderstormy castle

Post 15 Apr 2008, 05:22

I think that one thing doesn't make a good game. You need more than one. I would like to vote on ''all of the above''! But when you ask what is the most important, I agree with you.
<<

JBSnorro

Barbarian

Posts: 106

Joined: 20 Nov 2007, 23:00

Post 15 Apr 2008, 07:50

Ofcourse it's the village-system that is most important, because the main part of the game is about that.
<<

Thunderwolf

User avatar

Crossbowman

Posts: 233

Joined: 22 Jan 2008, 23:00

Website: http://thunderwolf.freehost10.com/KaMMissionBuilder/index.php

Location: Netherlands

Post 15 Apr 2008, 09:15

the way villages work. (That doesn't mean serfs standing on the road, doing nothing is a good thing, but it's generally ok)

I myself aren't really all that interested in the music of a game, there should be some, but for me, I don't really care if it's 2.0 or 5.1 or whatever. It's the gameplay i find important (and a lot of newer games are missing that).
~old sig
MissionBuilder v0.9f2 UPDATED!!
Defend The Outer Colony. fight for your king and uncover the secrets of this land.
Temporary version at
http://thunderwolf.x10hosting.com/index.php
"You can't defeat me, I've played Knights and Merchants"
<<

JBSnorro

Barbarian

Posts: 106

Joined: 20 Nov 2007, 23:00

Post 17 Apr 2008, 23:19

Suppose the village system would be a little different(which it will be in TKE), would that mean that won't be a good game? I'm saying, do you think some small changes might make the game suck ? :P
<<

rephikul

Woodcutter

Posts: 15

Joined: 19 Mar 2008, 23:00

Location: The other side of the moon

Post 18 Apr 2008, 02:35

It's fine if it's different, as long as it's not too much. The whole eco concept of KAM is, all buildings are connected by road, and serf must move on road, and the positioning of buildings and road efficiency is critical. As long as they all appear, and nicely balanced it's fine.

Actually the only things i think it could be improved with is that serfs should be smarter or buildings could be rotated around and that's it.
<<

Thunderwolf

User avatar

Crossbowman

Posts: 233

Joined: 22 Jan 2008, 23:00

Website: http://thunderwolf.freehost10.com/KaMMissionBuilder/index.php

Location: Netherlands

Post 18 Apr 2008, 08:55

that serfs should be smarter
That would be a great idea! Now those weird serfs like to walk the longest roads possible...
~old sig
MissionBuilder v0.9f2 UPDATED!!
Defend The Outer Colony. fight for your king and uncover the secrets of this land.
Temporary version at
http://thunderwolf.x10hosting.com/index.php
"You can't defeat me, I've played Knights and Merchants"
<<

JBSnorro

Barbarian

Posts: 106

Joined: 20 Nov 2007, 23:00

Post 18 Apr 2008, 10:54

Smarter serfs would me nice indeed, but you should know it's a real pain in the ass to code!
And as for rotating buildings, that won't be an option, since we don't know what the sides (beside the frontside) look like.
<<

harold

Knight

Posts: 563

Joined: 19 Nov 2007, 23:00

Post 18 Apr 2008, 12:07

They can't walk perfectly, that would be the NP-Hard schedule-optimization problem. For about 100 units it might take about, well, a couple of years? to calculate, and for 200 it might take longer than the current age of the universe (approx. 13.73 billion years) (these are rough guesses, though in any case it's completely impossible to do it fast enough for a real-time game)
But they can walk "better" than in TPR I'm sure, I made a nice model that would do that but JBSnorro decided to make an other model that was easier to implement :roll: still, probably better than in TPR


as to the poll: personally I like the terrain a lot
<<

rephikul

Woodcutter

Posts: 15

Joined: 19 Mar 2008, 23:00

Location: The other side of the moon

Post 18 Apr 2008, 17:12

harold, you are probably trying to take it from the unit point of view. If you optimize on the building level, and pick unit to suit it then it'd likely be much less work on the CPU since it only have to recalc everytime you add an new building. like adding a new iron mine would be a recalc for any building that use iron ore, etc.

EDIT: dont take this seriously, i just post my general approach. you might have had better ideas and it still slow down.

Serfs, as i can see, always pick the shortest road, However the way they pick up things arent all efficient like a serf bringing flour to the bakery wont take a bread out to the inn but instead go out empty handed and do something else.
They also wont ultilize the large road size or alternative, less crowded routes, and stick on one line which slow things down to a crawl.
<<

Merchator

Sword Fighter

Posts: 336

Joined: 27 Dec 2006, 23:00

Location: Germany

Post 18 Apr 2008, 17:26

For me typically KaM is the music...
For sure, everything is great and important for the game, but if someone says "Knights and Merchants" I immentiadely think of "Spirit" :wink:
<<

harold

Knight

Posts: 563

Joined: 19 Nov 2007, 23:00

Post 18 Apr 2008, 17:39

harold, you are probably trying to take it from the unit point of view. If you optimize on the building level, and pick unit to suit it then it'd likely be much less work on the CPU since it only have to recalc everytime you add an new building. like adding a new iron mine would be a recalc for any building that use iron ore, etc.
Well my original model went out from the buildings..
In detail: I would have the buildings ask for a serf to de a specific task, and select the one the would be closest to the starting point of that task at the moment that the new task would be scheduled (which is of course sorted on priority) priority rises slowly over time to ensure all tasks get done, and perceived-priority decreases over distance in order to prefer fast tasks (this creates a little paradox: it's hard to sort something when it's value depends on where you sort it, but not NP-Hard or NP-Complete as far as I know (I think it's O(n) since the rest of the list will already be sorted), and even if it would be, it'd only be the task queue which is typically short)

Still, that is not optimal, it's just "better"

Traffic jams can be avoided a bit with influence mapping (with as influence the number of waits and/or unit-swaps - decaying over time) - which affect path-cost (I use A*, my own implementation)
<<

rephikul

Woodcutter

Posts: 15

Joined: 19 Mar 2008, 23:00

Location: The other side of the moon

Post 18 Apr 2008, 23:01

wow this is starting to stray from original topic but who care... we need more talking going on XD

this's my serf management idea:

1) can you try and instead of asking for closest serf, the building would ask for the least idle serf instead (basically, pick the bottom of the serf list if it's sorted by idility, or simple the bottom of the idle serf list) The reason: I think the serf in KAM behave this way, then when you have extra serfs it's REALLY stand out. At that time, you know your city if functioning rather well. Also, it cut down on seach activity. And also, there's usually enough cache to lax on optimizing serf choice.

2) when a building request for a serf, also notify the destination building. When the destination have item in its cache, it compare the amount of stuff in cache with the arriving serfs. If there's equal or more serfs coming, dont call out for serf.

3) favour all builders/troops/buildings over store house



----- My approach toward traffic jam -----

4) when serf begin moving, plan out beforehand and mark its path and remove them as he goes through it like
  Code:
S****b -> a...S*b[/quote] Stack these marks up, and use it to weight path for other serfs. I'm not sure how you'd determine influence, as in you based on records as you play the game, or you already know when the serfs would hit each other.
<<

harold

Knight

Posts: 563

Joined: 19 Nov 2007, 23:00

Post 19 Apr 2008, 09:53

Well maybe we should move it to the TKE thread but ok..

1) wouldn't choosing the least-idle serf result in only 1 serf being in use?
2) that should obviously happen yes, don't worry, it was included in the model.. (the one that is NOT used!)
3) well priorities weren't decided upon, should be something like that though yes..

4) while that would "solve" traffic jams, it would make the serves take long routes in order to avoid a serf that was planning to walk somewhere but isn't even near yet. And anyway, you don't really want to avoid a crowded place where there isn't a traffic jam (for example, a 2way road where everyone walks on the right side and thus avoids a jam, but all squares can be occupied). As it is now, nothing is done to avoid traffic jams (so yea I'll probably end up overriding Snorro's system)
<<

JBSnorro

Barbarian

Posts: 106

Joined: 20 Nov 2007, 23:00

Post 19 Apr 2008, 10:54

A brief description of my system:
There is a delegator, which keeps track of all tasks and requirements. The lists are sorted on priority, e.g. sausages have a higher priority than stones. Every update, the delegator will try to assign the most important tasks to its nearest idle citizen.
Whenever a citizen picks up a resource from a building, the citizen will ask the delegator for a destination. The delegator returns a destiniation based on walkingdistance and priority(a sawmill with 0 trees has a higher priority than a sawmill with 4 trees).
My method also includes that a serf will not leave a building emptyhanded if resources from that building should be transported(except when the serf is hungry).
I think this is a quite effective method, but as for traffic jams, I don't do anything about that. In order to implement such a structure, only the A* heuristic function has to be overriden(something I'll leave for Harold), but if Harold thinks my system won't suffice at all, I reckon he'll end up overriding my entire system anyway. In my opinion, that would be a shame though.

Return to “General Talk”

Who is online

Users browsing this forum: No registered users and 1 guest