Half point for movement cost

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
ced_ne
Posts: 46
Joined: September 18th, 2006, 2:38 am
Location: France

Half point for movement cost

Post by ced_ne »

A very simple idea : make possible movement cost being float, instead of integer

Or just adding only one decimal, or just half point.

In my campaign, I want create a unit that use 1.5 point of movement in forest, but I can't.

However, I think that passing directly from 1 movement cost to 2 don't allow suffisant adjustement for campaign maker.

This complain was previously post here :
http://www.wesnoth.org/forum/viewtopic.php?t=13072
and I've tryed to multiply by 2 both unit movement point and movement cost, but finaly, in game, the animation of my new unit was boringly slow...
And it is not very intuitive that a unit with 12 movement point can only do 6 movement at best.


I have read the FREQUENTLY PROPOSED IDEAS, and I hope my little idea don't violate the KISS principle :)

Is this a good idea ?

(And sorry, I don't speak english very well)
User avatar
JW
Posts: 5046
Joined: November 10th, 2005, 7:06 am
Location: Chicago-ish, Illinois

Post by JW »

It would be nice if the possibility of decimal MP was opened up for UMC use. There's no way it'll affect Default (DEF), so there's no reason to disallow it other than the effort it would take to change it.
jg
Posts: 244
Joined: September 12th, 2005, 7:17 am

Post by jg »

Yes, this would IMO add a little more flexibility to it, the only thing that might be weird is displaying it in the unit description: 1,3. Also how would you decide which hex the unit would be standing on if it was actually over the other one it is standing in, but not yet in the other?

1.5 is something else (no comments on that really).

jg
Dave
Founding Developer
Posts: 7071
Joined: August 17th, 2003, 5:07 am
Location: Seattle
Contact:

Post by Dave »

JW wrote:other than the effort it would take to change it.
And more importantly, maintain it.

Making a change is the easy part. Maintaining it from then on is the hard, and often overlooked part.
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
User avatar
JW
Posts: 5046
Joined: November 10th, 2005, 7:06 am
Location: Chicago-ish, Illinois

Post by JW »

jg wrote:Also how would you decide which hex the unit would be standing on if it was actually over the other one it is standing in, but not yet in the other?
I don't think you understand how it would work.

Unit Z has 6mp and moves 0.8 over grass. After...

1 hex - he has 5.2mp
2 - 4.4
3 - 3.6
4 - 2.8
5 - 2.0
6 - 1.2
7 - 0.4

The unit cannot expend another 0.8mp to cross grassland, so he stops after 7 hexes. He is not in some hex purgatory between hexes 7 and 8, waiting to expend his last 0.4mp.

Think about what happens to a Ghost surrounded by water: he's left with 1mp at the end of every turn.
User avatar
irrevenant
Moderator Emeritus
Posts: 3692
Joined: August 15th, 2005, 7:57 am
Location: I'm all around you.

Post by irrevenant »

jg wrote:Yes, this would IMO add a little more flexibility to it, the only thing that might be weird is displaying it in the unit description: 1,3. Also how would you decide which hex the unit would be standing on if it was actually over the other one it is standing in, but not yet in the other?
1.5 is something else (no comments on that really).
jg
Actually it's "." in some countries and "," in others (it's "." in my country). AFAIK that can be automatically taken care of via translation/localisation though.

The beauty of this idea is that we could finally make road a bit distinctive from plains without having to rejigger everything: Plains could still be 1.0mp while road could be 0.8 or 0.7...
User avatar
JW
Posts: 5046
Joined: November 10th, 2005, 7:06 am
Location: Chicago-ish, Illinois

Post by JW »

irrevenant wrote:The beauty of this idea is that we could finally make road a bit distinctive from plains without having to rejigger everything: Plains could still be 1.0mp while road could be 0.8 or 0.7...
Jetryl brought this up a couple weeks ago and the idea was rejected.

I'm only suggesting it be possible for custom use. I don't see how allowing decimal mp would need maintaining...but I don't know much about C++.
joshudson
Posts: 501
Joined: January 17th, 2006, 8:04 pm
Contact:

Post by joshudson »

Because then somebody might break it if it isn't maintained.

If you want something to expend 1.5 in forest, try this:

Multiply all terrain move costs by 2.
Multiply movepoints by 2.
Set terrain move cost for forest to 3.

Cheers.
CHKDSK has repaired bad sectors in CHKDSK.EXE
Lord_Aether
Posts: 127
Joined: November 11th, 2005, 9:06 am
Location: California

Post by Lord_Aether »

joshudson wrote:Because then somebody might break it if it isn't maintained.

If you want something to expend 1.5 in forest, try this:

Multiply all terrain move costs by 2.
Multiply movepoints by 2.
Set terrain move cost for forest to 3.

Cheers.
Dude, read the first post.
Mac OS X 10.5.7
Wesnoth 1.6.2
Glowing Fish
Posts: 855
Joined: October 3rd, 2004, 4:52 am
Location: Portland, OR
Contact:

Post by Glowing Fish »

irrevenant wrote:[
Actually it's "." in some countries and "," in others (it's "." in my country). AFAIK that can be automatically taken care of via translation/localisation though.
There was a famous case, I think around Wesnoth 0.9.2, where someone overlooked the localization of the , vs . in the decimal place, and so Wesnoth in non-English countries would have units that would float on water instead of submerging (because the .5 would mean it was half in water, but ,5 meant nothing), and ultra-aggressive AI (because AI aggression is set with decimals).
Don't go to Glowing Fish for advice, he will say both yes and no.
jg
Posts: 244
Joined: September 12th, 2005, 7:17 am

Post by jg »

Yes, I was stupid and tired (yesterday evening), sorry for that stupid comment. And yes, irrevenant, I usually write it like 1.3... Just got mixed up yesterday evening, since the country I live in currently writes it in another way (I think :P).

Since everything is a little more clear now; I think it would be a good idea... :)

jg
ced_ne
Posts: 46
Joined: September 18th, 2006, 2:38 am
Location: France

Post by ced_ne »

There is few solution for developpers :

- Multiply by 10 all movement cost and all movement point, but displaying in game a "." before the last digit of all. But campaign maker who don't maintain their work, may have some problem (cause it mean that in WML, they should multiply by 10 the movement point for each unit).

- The simpliest solution is to use a float instead of integer for both movement cost and movement point, and in game, only displaying the first decimal. No compatibility trouble. But someone can use stupid value like 1.379 :) (but it will be truncate in game)

- Currently, animation speed depends only of the movement cost of the current Hex. Using as speed factor for movement animation something like "total movement point of the current unit" / "movement cost of the current hex" should be nice. So I can by myself multiply both movement cost and movement point, and keeping an animation speed decent :) Unit like Gryphon Riders or Elvish Scout will be speed up (but they are really speed, isn't it ?).

- Adding in the [movement_anim] tag, a new key, like custom_speed_factor, or anything you want...
User avatar
Viliam
Translator
Posts: 1341
Joined: January 30th, 2004, 11:07 am
Location: Bratislava, Slovakia
Contact:

Post by Viliam »

Somehow I feel like adding decimal movement is a wrong idea.

First, it opens door to other similar ideas... if 1.5 movement is necessary (to make something faster than 2 but slower than 1), why not 1.2 (to make something faster than 1.5 but slower than 1)? Next thing someone will complain that when unit has only 2.9 MP left, it should be able to move to hex which requires 3 MP, because... you know. And what about fractional gold cost, fractional attack strength, villages giving fractional gold per turn,...?


Some imperfect replacements:

If you simply want a unit which is in forest faster than human, but slower than elf, you can... give it 1 MP cost in forest but 30% less total MP than average unit; or give it 2 MP cost in forest but 50% more total MP than average unit. The difference is that in first case the unit will be slower on roads than average units, in second case it will be faster.

If the character background allows it, build your forests from 2 types of trees, and say that the character has some natural-magical advantage in one type of trees, so moving among his/her favourite trees costs 1 MP, moving among others costs 2 MP. In mixed forests it will be 1.5 MP on average, but you can also create more or less friendly forests, or use the trees strategically. (This makes sense if your army uses many units with such movements... changing the whole map because of a single unit seems too much change for small effect.)
ced_ne
Posts: 46
Joined: September 18th, 2006, 2:38 am
Location: France

Post by ced_ne »

Next thing someone will complain that when unit has only 2.9 MP left, it should be able to move to hex which requires 3 MP, because... you know. And what about fractional gold cost, fractional attack strength, villages giving fractional gold per turn,...?
I agree with you on that point, I don't want fractional everywhere !

I only want half point of movement ! (in fact, I only want the 1.5 movement cost).
The reason : 2 is 2 time more than 1 ! :)

And as JW say, I don't want this little change occuring for the mainline of Wesnoth, just for mods of Wesnoth.

Think about it : Wesnoth is a great game, but is a great strategic-game engine too.
Everybody can make everything with it.
A little more flexibility in movement cost can make it the perfect engine !
User avatar
irrevenant
Moderator Emeritus
Posts: 3692
Joined: August 15th, 2005, 7:57 am
Location: I'm all around you.

Post by irrevenant »

JW wrote:
irrevenant wrote:The beauty of this idea is that we could finally make road a bit distinctive from plains without having to rejigger everything: Plains could still be 1.0mp while road could be 0.8 or 0.7...
Jetryl brought this up a couple weeks ago and the idea was rejected.
I'm only suggesting it be possible for custom use.
I believe when Jetryl brought the idea up it was for inclusion in mainline. Since, as you say, the idea is intended for custom use here it seems an appropriate fit.
Post Reply