Developer Suggestion

Distant Worlds is a vast, pausable real-time, 4X space strategy game which models a "living galaxy" with incredible options for replayability and customizability. Experience the full depth and detail of large turn-based strategy games, but with the simplicity and ease of real-time, and on the scale of a massively-multiplayer online game. Now greatly enhanced with the new Universe release, which includes all four previous releases as well as the new Universe expansion!

Moderators: Icemania, elliotg

Post Reply
Fleshbits
Posts: 140
Joined: Wed May 28, 2014 9:30 pm

Developer Suggestion

Post by Fleshbits »

I really wish for the next patch that

1)
There would be text on mining stations that tell us amount mined per week/max available to mine per week.

After reading the mining thread it I still have no idea how many extractors to put on stations and how benefit the racial bonus of mining and the researched techs of mining are effecting me. Even if it was explained, it is FAR too abstract.

2)
There would be clarity on research stations and the research window as to how the bonuses are applied and the difference between a local bonus and a global bonus.

I think these two things confuse the heck out of everyone that starts playing the game.
Windows 7 64 bit, i7 930, GTX670, 12 gig DDR 1300
deathnoise
Posts: 39
Joined: Fri Jun 06, 2014 5:18 pm

RE: Developer Suggestion

Post by deathnoise »

I wish that the developers will:

a) fix the performance, by moving the popup/scrolling messages/event code and UI handling to separate threads. It looks like the game is single-threaded with one main loop, handling everything - from screen drawing, event and messages output to UI (start/stop button, menus, etc). Bad idea, unprofessional design from the programmer's/software architect's point of view. And a HUGE bottleneck, since it's NOT utilizing the multi-core processors
b) fix the bug with detached mining stations
c) fix the freighters/transport and the whole implementation of resource handling. Right now the mining stations are not getting the resources they need to retrofit for years (well, in my game the stations haven't got the resources for 70 years and counting and they are stuck on 2nd station design..),even if there are dozens of freighters sitting around doing nothing at space ports.
d) add smuggling missions for mining (and other) stations
A variation on Ant colony algorithm can come in handy to rewrite the whole routine.

These 4 should be on a priority list, imho.
User avatar
Kayoz
Posts: 1516
Joined: Sun Dec 19, 2010 10:55 pm
Location: Timbuktu
Contact:

RE: Developer Suggestion

Post by Kayoz »

ORIGINAL: deathnoise
a) fix the performance, by moving the popup/scrolling messages/event code and UI handling to separate threads. It looks like the game is single-threaded with one main loop, handling everything - from screen drawing, event and messages output to UI (start/stop button, menus, etc). Bad idea, unprofessional design from the programmer's/software architect's point of view. And a HUGE bottleneck, since it's NOT utilizing the multi-core processors

I don't see how that will have any appreciable effect on game performance. Pop-ups are incredibly cheap, and the overhead and maintenance (bugs) cost of another thread would not justify the work.

I suggest you do some reading into multi-threaded programming, game engine loop, C# limitations and the benefits of OpenGL - before you comment further on a topic you clearly know little or nothing about.
ORIGINAL: deathnoise
b) fix the bug with detached mining stations

If you're experiencing this, upload a saved game and a description of recent events which might have contributed to it.

Complaining about a bug without offering ANYTHING to help him identify and fix the offending code is... useless.
ORIGINAL: deathnoise
c) fix the freighters/transport and the whole implementation of resource handling. Right now the mining stations are not getting the resources they need to retrofit for years (well, in my game the stations haven't got the resources for 70 years and counting and they are stuck on 2nd station design..),even if there are dozens of freighters sitting around doing nothing at space ports.

Likely outside the FMS for freighters. Applying weighting for locations demanding shipments would probably require significant code changes. I wouldn't expect any real improvement till DW2.
ORIGINAL: deathnoise
d) add smuggling missions for mining (and other) stations

I fail to see any benefit to this.
ORIGINAL: deathnoise
A variation on Ant colony algorithm can come in handy to rewrite the whole routine.

What algorithm are you referring to? Cite the specific algorithm. Your statement as it's written is nonsensical and worthless. If this is some sort of swarm algorithm or fuzzy state machine, I've never heard of any called "ant colony". I'm not well read, so please let me sip from the technical font of wisdom you offer.
ORIGINAL: deathnoise
These 4 should be on a priority list, imho.

One is completely without merit, two make no sense all, and you're remaining with one point which is too closely tied to the core design of DW that fiddling with it is something Elliot is likely to do with great hesitation at this point.

Sorry, but what's your "priority list", again? It has how many elements which make sense or can realistically be done?
“That which can be asserted without evidence, can be dismissed without evidence.” ― Christopher Hitchens
Tophat1815
Posts: 1824
Joined: Mon Jan 16, 2006 4:11 pm

RE: Developer Suggestion

Post by Tophat1815 »

ORIGINAL: deathnoise

I wish that the developers will:

a) fix the performance, by moving the popup/scrolling messages/event code and UI handling to separate threads. It looks like the game is single-threaded with one main loop, handling everything - from screen drawing, event and messages output to UI (start/stop button, menus, etc). Bad idea, unprofessional design from the programmer's/software architect's point of view. And a HUGE bottleneck, since it's NOT utilizing the multi-core processors
b) fix the bug with detached mining stations
c) fix the freighters/transport and the whole implementation of resource handling. Right now the mining stations are not getting the resources they need to retrofit for years (well, in my game the stations haven't got the resources for 70 years and counting and they are stuck on 2nd station design..),even if there are dozens of freighters sitting around doing nothing at space ports.
d) add smuggling missions for mining (and other) stations
A variation on Ant colony algorithm can come in handy to rewrite the whole routine.

These 4 should be on a priority list, imho.


From latest beta patch bug fixes:

BUG FIXES
- altered Windows API used for checking mouse location to fix screen scrolling to top-left (thus avoiding bug in Windows Vista 64-bit)
- fixed bases detaching from their parent planet/moon/asteroid when initiate retrofit before they are finished their previous retrofit
- sound volume now properly remembered when load games
- Unload Troops missions are now cancelled when target colony changes ownership (thus avoid unloading troops at enemy colony)
- fixed misleading message when your special forces troops destroy hidden pirate base facility at one of your own colonies
- main view now properly regains focus for mouse scroll-wheel when close Build Order screen
- fixed rare bug with pirate colonies over-ordering construction resources
- fixed display problems with main menu screen in Windows XP

Bases detaching bug was second one down. So hopefully your point B is taken care of.
User avatar
henri51
Posts: 1151
Joined: Fri Jan 16, 2009 7:07 pm

RE: Developer Suggestion

Post by henri51 »

Kayoz, why the arrogant and insulting reply to the OP? Does it make you feel good? Matrix forums are usually polite, and when something does not make sense, people just post a helpful reply.

Henri
Fleshbits
Posts: 140
Joined: Wed May 28, 2014 9:30 pm

RE: Developer Suggestion

Post by Fleshbits »

ORIGINAL: henri51

Kayoz, why the arrogant and insulting reply to the OP? Does it make you feel good? Matrix forums are usually polite, and when something does not make sense, people just post a helpful reply.

Henri

It isn't to the OP, it is to the second guy that posted in the thread. Noone has said a word about the original post :P

Windows 7 64 bit, i7 930, GTX670, 12 gig DDR 1300
deathnoise
Posts: 39
Joined: Fri Jun 06, 2014 5:18 pm

RE: Developer Suggestion

Post by deathnoise »

ORIGINAL: Kayoz
I don't see how that will have any appreciable effect on game performance. Pop-ups are incredibly cheap, and the overhead and maintenance (bugs) cost of another thread would not justify the work.
The event checking routine which results are being displayed by these popups, however - isn't. Same goes for calculations of the routes for civilian ships, etc. Whatever calculations can be separated - should be separated to gain significant performance from utilizing all processor cores

All costs for another threads are negligible. And what do you mean by the cost, anyway? Cost to create the thread? Cost of the context-switching?

UI is being blocked right now, because it shares the same loop in the same thread as all other routines. Running it in the separate thread is just a basic convenience and pretty much a standard for many years now (even before multicore/multiple processors have started being used in desktop PCs), especially in applications in which many things need to be done, concurrently (such as - this game) and every operation is blocking/taking some noticeable time to process.
I suggest you do some reading into multi-threaded programming, game engine loop, C# limitations and the benefits of OpenGL - before you comment further on a topic you clearly know little or nothing about.
I'm programming professionally (as in - making money from doing it) for over 15 years now, so I have a pretty decent idea, what I'm talking about. Besides - it's not rocket science.
These are very basic, trivial things.

And btw - OpenGL has nothing to do with this game. Throwing random subjects at me won't make you look any smarter ;)

ORIGINAL: deathnoise
If you're experiencing this, upload a saved game and a description of recent events which might have contributed to it.

Complaining about a bug without offering ANYTHING to help him identify and fix the offending code is... useless.
Well, your assumption that I haven't done that already, is priceless.
Since it's been (allegedly) fixed with 1.9.5.3, it seems to me that it was worth it.
I fail to see any benefit to this.
The benefit is quite clear if retrofitting of mining stations can't be otherwise fixed.

What algorithm are you referring to? Cite the specific algorithm. Your statement as it's written is nonsensical and worthless. If this is some sort of swarm algorithm or fuzzy state machine, I've never heard of any called "ant colony". I'm not well read, so please let me sip from the technical font of wisdom you offer.
You are free to start, for example - here:
http://en.wikipedia.org/wiki/Ant_colony ... algorithms
http://mathworld.wolfram.com/AntColonyAlgorithm.html

Since I haven't been paid - forgive me, that I'm not gonna be more specific and that I'm not gonna provide the developers with a working, specific implementation of the algorithm for their game. That's not my job. It's the other way around. I gave a hint, it may help if they look into it.

Sorry, but what's your "priority list", again? It has how many elements which make sense or can realistically be done?
While I admire your fanboyism and silly attempt to ridicule me, I'd like to point out that your post is 100% useless to me and the developers.
And I'm pretty sure that it's also useless to all the forumers, too :)
mxmissile
Posts: 31
Joined: Wed Oct 30, 2013 12:30 am

RE: Developer Suggestion

Post by mxmissile »

+1 on the OP's requests. That would help immensely.
Fleshbits
Posts: 140
Joined: Wed May 28, 2014 9:30 pm

RE: Developer Suggestion

Post by Fleshbits »

ORIGINAL: deathnoise
UI is being blocked right now, because it shares the same loop in the same thread as all other routines. Running it in the separate thread is just a basic convenience and pretty much a standard for many years now (even before multicore/multiple processors became a standard), especially in applications in which many things need to be done, concurrently (such as - this game) and every operation is blocking/taking some noticeable time to process.

How are you deducing this exactly?
Almost any UI in Windows is talking through a message pump on its own thread whether your in .NET or using the Windows API in C++. Do you have some secret tool you are using to see this "one thread?" Because process explorer claims my distant worlds process actually has 69 threads.....

Image

ORIGINAL: deathnoise
I'm programming professionally (as in - making money) for over 15 years now, so I have a pretty decent idea, what I'm talking about. Besides - it's not rocket science.
These are very basic, trivial things.

I've met people whom have been programming for more than 30 years and still don't know what the difference between a pointer and a reference is, much less what a semaphore is.

ORIGINAL: deathnoise
A variation on Ant colony algorithm can come in handy to rewrite the whole routine.

Naming algorithms is an academic exercise. No one is going to rewrite core parts of a 4 year old game.
I could name off a thousand programming patterns and algorithms, but the fact is I haven't even seen the source and I never will. Gamers with no access to source don't make good peer programmers as much as they think they do on forums everywhere. And the first thing they usually blindly throw out there is, "multi-core....threading..blah blah" without having a clue what the current implementation is doing.

-----------

At any rate, can you guys go start your own thread for your argument?

guard.lock(m_mutex);




Windows 7 64 bit, i7 930, GTX670, 12 gig DDR 1300
Cauldyth
Posts: 933
Joined: Sun Jun 27, 2010 1:24 am

RE: Developer Suggestion

Post by Cauldyth »

ORIGINAL: henri51

Kayoz, why the arrogant and insulting reply to the OP? Does it make you feel good? Matrix forums are usually polite, and when something does not make sense, people just post a helpful reply.

Henri

Welcome to Kayozland. Feeding the animals is strictly forbidden.
User avatar
Kayoz
Posts: 1516
Joined: Sun Dec 19, 2010 10:55 pm
Location: Timbuktu
Contact:

RE: Developer Suggestion

Post by Kayoz »

ORIGINAL: deathnoise
And btw - OpenGL has nothing to do with this game. Throwing random subjects at me won't make you look any smarter ;)

That's the problem. The benefits of using OpenGL instead of XNA should be immediately obvious to anyone.
ORIGINAL: deathnoise
I fail to see any benefit to this.
The benefit is quite clear if retrofitting of mining stations can't be otherwise fixed.

If you check the tech support forum, this bug has been "fixed" many times in the past. If you've posted relevant information in tech support, Elliot will generally see it. Whingeing about it here won't help matters.

Nothing further to add. Fleshbits has addressed everything else.
“That which can be asserted without evidence, can be dismissed without evidence.” ― Christopher Hitchens
deathnoise
Posts: 39
Joined: Fri Jun 06, 2014 5:18 pm

RE: Developer Suggestion

Post by deathnoise »

ORIGINAL: Fleshbits
How are you deducing this exactly?
Almost any UI in Windows is talking through a message pump on its own thread whether your in .NET or using the Windows API in C++. Do you have some secret tool you are using to see this "one thread?" Because process explorer claims my distant worlds process actually has 69 threads.....
Well, since by clicking on one of the menu options you can freeze the whole game window (assuming, that you are running the game in windowed mode) for a couple of seconds (especially, if you've got, for example - a couple of thousands ships/a couple of hundreds bases, etc) and the pause/start button is, sometimes - unresponsive, and you need to click multiple times to stop the game, then other operations are, certainly - blocking the UI events..
You can say it's an educated guess ;)

I've met people whom have been programming for more than 30 years and still don't know what the difference between a pointer and a reference is, much less what a semaphore is.
Bad for you, I guess..

Naming algorithms is an academic exercise. No one is going to rewrite core parts of a 4 year old game.
I could name off a thousand programming patterns and algorithms, but the fact is I haven't even seen the source and I never will. Gamers with no access to source don't make good peer programmers as much as they think they do on forums everywhere. And the first thing they usually blindly throw out there is, "multi-core....threading..blah blah" without having a clue what the current implementation is doing.
The in-game space systems are, basically - graphs, with a distance between them and different demand for each resource in each system, which changes in time. And there are, sometimes other systems which can be visited and handled (since they also require some amount of resources) on the route between the starting point and the final destination.

Since I know very little about the current implementation of the resources distribution, I'm not gonna try to provide any definitive answers on how "it should look like"

That said, picking up 763 pcs of Iridium (from the space ports filled with resources that are not being consumed) with a ship that has 10000/15000/20000 of cargo space available, just to drop it down on the other side of galaxy.. well. That's far from a decent implementation, I guess.

I gave a hint because it "fits the profile", that's it. No need for me to explain myself any futher.

At any rate, can you guys go start your own thread for your argument?
That's the last one from me, in this thread.
User avatar
Kayoz
Posts: 1516
Joined: Sun Dec 19, 2010 10:55 pm
Location: Timbuktu
Contact:

RE: Developer Suggestion

Post by Kayoz »

ORIGINAL: deathnoise
ORIGINAL: Fleshbits
How are you deducing this exactly?
Almost any UI in Windows is talking through a message pump on its own thread whether your in .NET or using the Windows API in C++. Do you have some secret tool you are using to see this "one thread?" Because process explorer claims my distant worlds process actually has 69 threads.....
Well, since by clicking on one of the menu options you can freeze the whole game window (assuming, that you are running the game in windowed mode) for a couple of seconds (especially, if you've got, for example - a couple of thousands ships/a couple of hundreds bases, etc) and the pause/start button is, sometimes - unresponsive, and you need to click multiple times to stop the game, then other operations are, certainly - blocking the UI events..
You can say it's an educated guess ;)

That's "educated"? I fail to see how you conclude it's on one thread, and this will magically be fixed with a wave of the multi-threading wand.Do you honestly think that a multi-threaded application cannot just as easily show this behaviour?

I think the answer here is obvious to anyone who's written multi-threaded code, so I'll leave you to puzzle out the fundamental problems with your statement.
ORIGINAL: deathnoise
I've met people whom have been programming for more than 30 years and still don't know what the difference between a pointer and a reference is, much less what a semaphore is.
Bad for you, I guess..

That's a truly ignorant and childish response. Fleshbits' comments were shockingly insightful and informed for the usual drivel on the forums. If you were less of a twat, you'd have taken advantage of his comments to educate yourself.
ORIGINAL: deathnoise
The in-game space systems are, basically - graphs, with a distance between them and different demand for each resource in each system, which changes in time. And there are, sometimes other systems which can be visited and handled (since they also require some amount of resources) on the route between the starting point and the final destination.

Ummmm.. you've said nothing other than cargo numbers are in a struct or object list. Brilliant. How does this help anyone?
ORIGINAL: deathnoise
Since I know very little about the current implementation of the resources distribution, I'm not gonna try to provide any definitive answers on how "it should look like"

That said, picking up 763 pcs of Iridium (from the space ports filled with resources that are not being consumed) with a ship that has 10000/15000/20000 of cargo space available, just to drop it down on the other side of galaxy.. well. That's far from a decent implementation, I guess.

I gave a hint because it "fits the profile", that's it. No need for me to explain myself any futher.

Summary:
The current implementation sucks.

Well done. A 5-year old could say that.

ORIGINAL: deathnoise
That's the last one from me, in this thread.

Don't let me detain you.
“That which can be asserted without evidence, can be dismissed without evidence.” ― Christopher Hitchens
hewwo
Posts: 276
Joined: Thu Apr 22, 2010 7:34 pm

RE: Developer Suggestion

Post by hewwo »

ah man, where is that popcorn eating smiley when you need it?
pkoko
Posts: 39
Joined: Sun Jun 08, 2014 1:27 am

RE: Developer Suggestion

Post by pkoko »

Can we all please calm down and focus on the OP suggestion?
necaradan666
Posts: 256
Joined: Mon May 28, 2012 3:32 am

RE: Developer Suggestion

Post by necaradan666 »

Don't say that, I always enjoy a kayoz post
User avatar
pycco
Posts: 345
Joined: Tue May 28, 2013 8:36 pm
Location: United States of America
Contact:

RE: Developer Suggestion

Post by pycco »

.... wow guys

@flesh
1. the mining rate is fairly simple to understand the mining engines mine at a rate of 3 for mining 20 for gas and 3 for luxury(for starting tech) the rate also includes the % of resource at the location. so for a 80% of gas that would mean that you are mining 16 units per cycle for 1 gas miner and 2.4 for mining and lux per tick.

2. tm.asp?m=3628192

from unclean

Also, this is old and displays things differently than the wiki page, but the math is the same and it might be easier to understand:



It's calculating weapon research output.

If A+B+C<T on the image, things get easier and all you do is multiply the individual research capacity by the bonuses.

tldr - if you want the most efficient research, keep A+B+C=T and put a scientist and a lab on the largest research bonus location you can find. If you own a +25% and a +10% bonus for example the +10% doesn't get used.

Having A+B+C>T is just diminishing returns, and how much depends on your multipliers. There's tons of wasted research in HT and Weapons in that image, but the multiplier on Energy looks decent enough that exceeding capacity on it might be worth it if you want your total research up at all costs. Honestly this is something I never even mess with, but if you're a min maxer go for it.

Also good economy advice ITT, only thing I'd add is that resort bases are really easy to forget about but give a decent boost early on. Get a good scenery bonus close to a homeworld and it's a minimum +5K, easy.


Image
Attachments
83E072E3EC..481AD98A.jpg
83E072E3EC..481AD98A.jpg (244.15 KiB) Viewed 72 times
It is better to keep your mouth closed and let people think you are a fool than to open it and remove all doubt.
-Mark Twain
Post Reply

Return to “Distant Worlds 1 Series”