FreeOrion

Forums for the FreeOrion project
It is currently Mon Dec 11, 2017 11:29 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Mon Feb 27, 2017 12:08 am 
Offline
Space Floater

Joined: Thu May 09, 2013 4:46 am
Posts: 18
Compared to many 4X games, FreeOrion is generally great about limiting the number of dumb buildings that you have to build at all your cities/planets. The main exception to this is lighthouses, which I do find myself building almost everywhere (or at least on any thoroughfare where I ever might want to move ships quickly, aside occasionally from a few points where I think I might want not to spoil my own stealth). Lighthouses are especially frustrating because they sit in your build queues forever, making the UI much more sluggish, and forcing me to drag other items, one at a time, across them in the queue. Currently their in-game cost is trivial, so the only reason not to build them is because it makes you UI a lot more annoying to use for the next 10 turns, which obviously is not good game design.

One simple proposal would just be to cut their build times significantly, coupling this with whatever increase in research and/or production costs are required to maintain balance. E.g., you might make them cost 100PP (rather than the current 25) and 1 build turn (rather than the current 10), and then it'll be a tougher decision which locations are worth that bigger price tag, and no frustration having your UI bogged down by a bunch of lighthouses for 10 turns. Or if you want something closer to the current system, make it 30PP over 3 turns, and that'll still be a lot better.

If you're worried about people establishing fast reinforcement lines too quickly in enemy space, you could add an infrastructure requirement on either building or using the lighthouse -- that'd be more strategically interesting, and much less frustrating, than forcing numerous lighthouses to clog up build queues for 10 turns.

I think better still would be to idealize the building away entirely, since its PP cost is trivial anyway. Instead, I would propose basically making this be like the speed boost from interstellar logistics, except with a local infrastructure requirement. So, I would make the lighthouse tech provide the speed boost to all friendly ships within range of *any* friendly planet *with*10*infrastructure*, and give the stealth penalty to all *enemy* ships within range of a friendly planet with 10 infrastructure. This is a slight buff (the tech becomes immediately available on planets that already have high infrastructure, and it no longer hurts the stealth of friendly ships) so it might be appropriate to increase the research time and/or cost. But overall I think this would just be a clear improvement in player experience. (Of course, if lighthouse buildings are idealized out of the game, then the planetary starlane drive would need to have its gratuitous reliance upon a nearby lighthouse removed.)

Incidentally, I have some of the same feelings about the scanner facility, but at least that builds a lot quicker, gets researched early enough that most of them get built before the UI bogs down with long queues, and you don't automatically choose to build it at nearly so many planets later in the game when the UI gets frustratingly slow. Still, I wouldn't mind at all having this building also be one that gets idealized away as part of infrastructure, e.g., having all planets automatically get the detection range bonus gradually as their infrastructure builds up, rather than automatically getting the full bonus immediately upon construction or conquest of the building.


Top
 Profile  
 
PostPosted: Mon Feb 27, 2017 10:58 am 
Offline
Programmer

Joined: Mon Feb 29, 2016 8:37 pm
Posts: 203
What version are you playing?

We have done some recent work on improving the performance of build queue GUI. This should improve the redraw times, but won't address the other issues that you mentioned.


Top
 Profile  
 
PostPosted: Mon Feb 27, 2017 4:25 pm 
Offline
Space Floater
User avatar

Joined: Sat Aug 13, 2016 4:46 pm
Posts: 42
Another reason not to build them is them decreasing stealth of your own ships/planets in system. I disagree that they should be build in every system and their turn cost is strategic.

_________________
Team S.M.A.C.: play multiplayer with us!


Top
 Profile  
 
PostPosted: Mon Feb 27, 2017 8:07 pm 
Offline
Creative Contributor
User avatar

Joined: Fri Jun 28, 2013 11:45 pm
Posts: 3286
I agree with the analysis on both points: the first patch I submitted, a long time ago, was changing the way the scanning facility worked, it was rejected but I keep meaning to come back to the idea and expand on it. The Lighthouse is also a problematic micromanagement building, there basically is an advantage to having as many as possible along main travel routes unless you're trying to hide (which, currently, isn't really worth it)—I rarely do build that many but because I don't want the hassle not because I think the advantage isn't worth it.

I like the idea of tying the advantage to infrastructure, but what I've been thinking of for it is that rather than giving the same effect, stacking, as Interstellar Logistics, instead it works with the effect: having a Lighthouse gives a speed boost within, for example, 2*Infrastructure, which is extended by 50uus when you've got Interstellar Logistics, so you only get a 20uu speed boost regardless, but the Lighthouse makes the radius bigger.

That way you don't get the advantage of building them everywhere, but you can get an advantage putting them on strategic planets/outposts that are near your main route as frequently the pathfinding will give you the shortest distance not the fastest route.

I would be very happy to review and test a PR put up that did these things and, perhaps, reduced the build time, but it's unlikely to go into the next Release unless there's a major delay.

A design objective of the game is to reduce/eliminate buildings that a player feels need to be build 'everywhere', and I personally include that to include 'on every planet at the current edge of imperial detection range', the scanning facility is a problem but it's also a cheap throwaway thing that the AI builds many of so changing it is more work and less of a priority currently: tying it to Infrastructure (indeed, tying basic planet detection to infrastructure) is something I've wanted to do for ages but never done the work on.

_________________
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.


Top
 Profile  
 
PostPosted: Mon Feb 27, 2017 8:25 pm 
Offline
Space Floater

Joined: Thu May 09, 2013 4:46 am
Posts: 18
LGM-Doyle wrote:
What version are you playing?

We have done some recent work on improving the performance of build queue GUI. This should improve the redraw times, but won't address the other issues that you mentioned.


I'm playing version 2016.09.16.49f9123 on a pretty decently spec'ed laptop. Not sure if that's the most recent version?

I suspect that the build queue refresh rate is slow due to it rechecking various build requirements, like the distance to the nearest source to populate an Ugmors colony or checking whether your empire contains a source for rock armor. At any rate, usually somewhere around turn 100 opening, the build queue or making any small change to it causes an annoying lag, which then gets worse and worse the bigger your economy gets. If I were programming this myself, I'd probably write some sort of cache that stores the results of those checks the first time they are computed in a turn, so that it can do a quick hash-table lookup of them each subsequent time they are requested that turn.

I'd also probably program in a movable "insertion point" and have the default location for newly enqueued items be just above the insertion point. Ctrl-clicking is useful for top priority items, but more often what you want is to let partially-built items finish and then move on to newly enqueued items, and only finally move onto the various low-priority projects that you leave perpetually hanging out at the bottom of the queue, e.g., because you're worried supply lines might get cut and divert hammers away from higher priority projects. As it is, I'm very often stuck dragging items from whichever end I enque them on towards the middle, and that is painfully slow especially when you have to do it one item at a time, and especially when you're dragging across multiple screens full of lighthouses.

It'd also help to change the turn order so you'd know that hammers won't get diverted by a supply blockage down to lower priority projects, so you wouldn't have to keep so many on the queue, or face the risk of wasting hammers.

It'd also be nice to add functionality to allow you to select several items on the queue and move them all at once, keeping their relative order.


Top
 Profile  
 
PostPosted: Tue Feb 28, 2017 2:03 pm 
Offline
Programmer

Joined: Mon Feb 29, 2016 8:37 pm
Posts: 203
Telos, you are using the most recently released version, 0.4.6.

Some of the performance issues that you raised have been addressed. If you want to set up a build environment and compile the latest master, then you can benefit from those improvements immediately.

Your ideas for the "insertion point" and multi-selection drag are good ideas.

After you have set up your build environment, if you wanted to submit PRs, I'm sure they would be well received. Or you can wait for 0.4.7 which will have the performance improvements to the list box. :)

I did not understand what you meant about hammers being diverted to lower priority projects. It may be a less pressing issue, now that extra items on the queue are less of a performance drag.


Top
 Profile  
 
PostPosted: Wed Mar 01, 2017 11:39 am 
Offline
Programming, Design, Admin
User avatar

Joined: Wed Oct 08, 2003 1:33 am
Posts: 12040
Location: Munich
Being able to drag-drop items from the producible items list onto the production queue to enqueue at a particular spot in the queue is probably more intuitive than setting a separate persistent insertion point. Added a note about that here: https://github.com/freeorion/freeorion/issues/784

Telos wrote:
It'd also help to change the turn order so you'd know that hammers won't get diverted by a supply blockage down to lower priority projects, so you wouldn't have to keep so many on the queue, or face the risk of wasting hammers.
Moving the production update to before fleet movement might work... though it might be tricky to pick a spot for it with respect to things like colonization, scrapping, invasion, or gifting. Most of those could in principle affect whether things can be produced at a particular location, but would also themselves potentially affect production results. It might then be necessary to resolve how PP are allocated and what will be produced, then resolve all those events, then wait until some later stage to actually generate any newly-produced ships or buildings.


Top
 Profile  
 
PostPosted: Fri Apr 14, 2017 10:48 am 
Offline
Dyson Forest
User avatar

Joined: Mon Apr 10, 2017 4:25 pm
Posts: 238
Geoff the Medio wrote:
Being able to drag-drop items from the producible items list onto the production queue to enqueue at a particular spot in the queue
I was going to suggest that.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group