• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
I have a following question: did you get rid of DirectPlay for MP and changed the communication to a code that will be easier to make it work on systems with firewalls, NAT, VPNs, Hamachi etc?
 
I have a following question: did you get rid of DirectPlay for MP and changed the communication to a code that will be easier to make it work on systems with firewalls, NAT, VPNs, Hamachi etc?

No, the event methods and fixed on fixed design go pretty deep, and it made no real sense to switch the lowest communication layer without fixing the upper layers. (DirectPlay is just a TCP connection, so there is nothing wrong with it - just open the port in the router/firewall and it works).

I might be able to implement a uPNP solution to make it easier for users to get through their own routers. It will propably not make it in release,as i heavent startet on it yet, but i will try to get it done in some of the first bonus downloads (saying a patch indicate there might be bugs :D), if there is a need.

Also i am working on a completely new network code, that will allow ingame joining and recovery from host failure (another player will automatically become host)... however it will propably take ~2 years before we are production ready with a solution based on such an engine.
So its really more of a AOD2 thing, if there will be such a thing...


.......
Also i like your signature... reminds me of mine....
 
Last edited:
Thanks for detailed response. My only gripe with DirectPlay is that it requires huge amount of ports being open (thus it's better to use hamachi with firewall disabled on hamachi network interface than to configure router firewall), but once you have hamachi running, there are problems as there is no known logic with which DirectPlay selects the network adapter to run upon, moving hamachi to the top of the list of network adapters doesn't help. Thus it best to DMZ your machine on the router and disable firewall on the computer to play without problems, unfortunately that's not safe. The only solution left then is LAN but for that a lot more free time is required than I posess.

edit: also, DirectPlay is deprecated now and could be removed in short future, requiring users to install old libraries on new windows, wich may or may not work. If AOD will continue to be supported and finally evolve to AOD2 it would be really great to use other, modern library for network communication.

I'm glad you like my signature. I was a little bit frustrated that every new feature equals 3 new bugs and only 2 out of 3 will get eventually repaired. HOI3 has tons of new features and still has severe problems in my opinion to enjoy playing it, even if not with CTD's then with incompetent AI, faults in game logic (like supply transport and distribution) and user friendliness. I hope AOD will not follow the same path of doom :)
 
well with uPNP support AOD could/would make the port openings for you, so that problem should be more or less solved.

Now that you mention hamachi, i remember hamachi making a whole lot of fuzz with good ol' EU2... (removing internet connection, so hamachi was the only active network, to force EU2 to select the hamachi network, etc.) i will see what i can do to make networking as painless as possible.
 
Sound like you guys are getting down to the final tuning stage of you project, and so I thought I would just say good luck on the launch and thank for all the responses to questions and hard work.
 
Seriously? \ is my province search...
 
Is the AI still going to get the inifinte naval range, omniscence, and other cheats?

Why do you want omniscience and other cheats turned off? I mean the reasons it has many of these cheats is to account for the fact that it is and it doesn't use human exploits, doesn't use reciprocal trading for a profit, won't mass air effectively, doesn't use prediction to build efficiently and so on and so forth. The production cheats in particular compensate for the fact that the AI is stupid.

In the light of these facts does it still bother you? If so why? It's too hard to beat?

At some point you have to reasonable about the computing power that your desktop computer can provide in an affordable fashion, and recognize there are limits to what can be programmed for $1000 PC. These program systems are partly a way of compensating for your inability to fork over $50,000 for computing power. Seriously there is a limit to what you can ask for and still only shell out $20.
 
Last edited:
It has nothing to do with "computing power" actually. ;)

Sure it does. If you want to play a game with 1000's of provinces and 10,000 individual units your are simply not going to get it play intelligently in a manner where it uses all of the same 'tricks' to play well. If you want it to play well and compensate for its failure of analytic ability, and indeed, and probably more importantly, to learn what its opponent will do, through experience, then yes, you have to start fudging things if you want it to be competitive.

The kind of logical subroutines necessary to make it even come close to having that kind of ability, in a game this complex is way beyond the scope of a PC. PC's are only relatively good at chess, and that is just pure number crunching for 64 squares, and 32 pieces played in a linear way.

But you simply are not going to be able to get it to decide such things as "if I grab just one unit from Oslo here, and then use my 3 transports over here at Danzig, and do a land invasion of this Soviet province, I will likely be able to surround and destroy 6 Russian divisions" like I did the last tuesday against a human opponent. It's just not going to have those kinds of facilities without a massive amount of computing power.

In the present configuration, having omniscience is a fundamental way that the AI decides if an attack is feasible in the land AI, because it counts the possible reinforcements that can reach a province within X number of days, as defined by, "enemy_reinf_days". Without that the AI would constantly be making useless attacks. This is also one way that one can tune the AI to be aggressive, or passive, or to take advantage of its superior doctrine, even against overwhelming odds.

As programmers we predict that Germany will have superior doctrine against the SU in 1941, and so can lower the "reinforcement days" and the minimum odds of attack to take into account this fact. Not allowing it to count units that are possible reinforcements would severely hamper the AI.

Of course there are numerous ways to do these things, but this is just one example of how "prediction" can be programmed in, in advance, and how a "cheat" can be used to make it preform better to compensate for its inability to make a real analysis, make intuitive leaps, or learn from experience.

If you don't care if it is competitive that is another thing.
 
Well you bring in the chess issue so I think that's precisely the point. What is the difference between a computer playing chess and a human playing chess? The computer basically just uses brute force, computing EVERY possibilty(and there are millions) and just picking up the best one. That's why computers need enormous amounts of computing power to win at chess. Humans, on the other hand, do not have such an amount of "computing" power, but still manage to be quite good at playing chess. Why? They immediately discard the less interesting strategies, not wasting their "computing power" on it.

So it's mostly a question of optimisation. If you do a crappy AI that does indeed check each and every possibility, even those that would bring nothing, then yes it would need a lot of computing power. But "making a better AI" does not necessarely mean "making a more power-consuming AI". You can very well improve the AI while optimising it enough to avoid any performance loss. For instance, the AoD guys did a great job of optimising the HoI2 AI.

I am not arguing than omniscience for the AI is something bad - actually I don't care as long as the unlimited naval range is gone - but I really don't think that there really is a "hard" limit on AI performance. At the level of a game like HoI2 it's much more a question of code optimisation by the developpers than anything else.
 
I am not saying that it is not possible to make a better AI, I am saying that one of the ways of compensating for its lack of analytic potential is creating cheats to make an even better ai. I am saying that it is impossible to make a really good ai on a PC platform that does not cheat.

Cheats are really just a way of compensating for the fact that computers can't actually think, and can't exploit.

There are other things you can do to, which don't require cheating on "mechanics" such as doing some analysis before hand and making sure the computer does not choose bad opening moves, such as Germany attacking Poland in 1936. But we really see how hapless the game is when it encounters unplanned for strategic maneuvers by players. For example, watch how quickly Germany is screwed by an Soviet invasion of Romania in 1936, which is, imo, an exploit.

Here is a good example, the ai has notoriously terrible production methods, for a number of reasons. This is particularly bad because the player knows that the AI Germany will not start the war until September 1st, 1939. This gives the Soviet player an excellent leg up because he can basically exploit the prediction, and make a really nice streamlined build order. Assuming he doesn't game the system right from the get go and attack Romania. But, giving the AI freebies such as instant "in queue" upgrade to the latest tech, and no gearing loss are way that help compensate for the fact that the human player basically cheats 99% of the time by using prediction as a basis for making his build order.

I am all for cheatless AI, if players promise not to exploit! Fair is fair, if the computer can't think, neither should the player.
 
Last edited:
Yes but maybe would it be possible for the AI too, to "predict" what will happen? Unexpected moves of the human player like invading Romania is one thing, the war beginning on September 1st, 1939 is another. Actually, I believe that the AI really DOES predict the outbreak of the war in some way, since it was balanced to build an army sufficient to take down Poland while keeping France at bay at that moment. One could argue that the AI does not choose the most exploitive, "full IC whoring" strategy like SOME(not all) human players. But I'm positive that it can be modded to work that way(I do not know if the actual shape of HoI2 engine allows this, I guess you're far more experienced with that kind of things, but it's clear that it can be included in a similar game engine without any significant increase to CPU charge).

All in all, I think we can agree on the point that, there are multiple ways to improve the AI, one of them is by increasing the CPU charge, another one by giving cheats to the AI, and another one by optimising the code/making so the AI takes actually smart decisions.
I personally don't care about AI cheats and some people even play while giving the AI insane bonuses like +90% manpower, +50% IC and so on; but still there are some people who find it annoying and it would be cool for them to be able to shut down the cheats without ruining the performance of the AI. ;)
 
Where I think you can do some things with the AI is in how it reacts to specific combat situation. I think the larger issues to do with strategy pretty much have to be programmed through events in this system, though I can imagine a a few ways that it could be made more reactive in the political and diplomatic sphere at the game engine level, to cut down on prediction.

But that would take a fairly significant remodeling of the diplomatic system.

I did indeed implement some of this already, within the existing system, but it definitely needs some adaptation.
 
Last edited:
Sorry if i'm not up with the modding community comings and goings but let me get this straight - you guys work / partner paradox and have dev'd a game based on hoi 2 irregardless of hoi 3? That is: why not dev an offshoot of the latest installment? That is v2.0: - if I am playing this game, what features from hoi 3 am I not getting (given it is based on hoi 2). Sorry for the roundabout question, but thats the logic used :p

The other obvious question everyone likes to dodge: When is this planned to come out? and will it be digital download from steam/gamersgate?