yiotro / Antiyoy

A source code of android game called 'antiyoy'.
422 stars 54 forks source link

Why do trees give a cash bonus only when they were inside your borders? #5

Closed ThrawnCA closed 6 years ago

ThrawnCA commented 7 years ago

Under 'Normal' rules, cutting down a tree inside your borders gives 5 coins. Why don't you get the same bonus when capturing a new hex that contained a tree? After all, it's now inside your borders...

The way it currently works, it's tempting to leave un-owned trees in place and conquer around them, in hopes that they'll grow into one's own territory and provide a quick cash infusion. Since it costs a turn, it's not a long-term strategy, but getting a peasant or tower sooner can be very helpful at the beginning.

If trees give resources of some kind, why would they not yield anything when conquering new ground?

yiotro commented 7 years ago

At first it was like that but I think it was just too unbalanced. Player was getting a ton of money just for expansion. There is no real logic in this, it's just for balance.

ThrawnCA commented 7 years ago

What about decreasing the bonus? Even making it just 1. It would still make clearing trees more attractive than non-trees, without giving wads of cash.

yiotro commented 7 years ago

Well, I didn't want to say that but I have some portions of code that can be described as 'spaghetti'. So for some reason I wasn't been able to give player money for cutting trees on enemy or neutral territory (I don't remember why), so I decided that it's no big deal.

I started this project 2 year ago and at that time I wasn't competent enough to create good architecture. That's why it's quite hard for make some changes to it now.

ThrawnCA commented 7 years ago

Do you want me to do some refactoring?

I don't have a proper environment for testing (any advice?), and haven't worked on an app before, but I'm a professional Java developer and would definitely be interested in the experience.

yiotro commented 7 years ago

Well, I think that refactoring will be very painful at this point. You can just look at class called 'GameController' (2k lines) and feel how bad it is. My new unreleased game has much better architecture but I can't do the same with antiyoy. About testing environment: I am just launching desktop version on my laptop. To build I use usual 'make' in Intellij IDEA.

bzzzzzz commented 7 years ago

BTW, I tried to start refactoring of Antiyoy twice, with two different approaches, but I failed. I couldn't even separate AI from video effects =) Now it seems that the best way is to fully rewrite it, but there is a lot of code hidden inside, so this problem cannot be solved in a simple way.

subchannel13 commented 7 years ago

Is this issue still relevant? The question seams answered and following discussion went off topic and then stopped. @yiotro you can close this and eventual refactoring can be discussed over reddit and even better, over pull request.

yiotro commented 7 years ago

I'm too lazy to close issues here :D

subchannel13 commented 7 years ago

:D It's easier then leaving a comment :).