Sirlion
Private
Posts: 25
Joined: Fri Dec 25, 2015 10:35 pm

My adventures with WON

Sun Dec 27, 2015 4:49 pm

Hello there. New customer here. Well not new to the napoelonic scene since I buy practically every game worth of my time and effort set in this particular era and WON was a godsend in my eyes. However....

1 - The game will install and RUN ONLY IN THE DEFAULT DIRECTORY. So you are telling me that in 2015 I cannot change the destination of the game or else it will report a critical error?

2 - Updating system doesnt work. I had to retrieve the patches from here because after tryin 3 times already I have figured Matrix's updating service is bollocks. I already had problems with other games under the brand, such as Scourge of War.

3 - Until patch 1.02 Beta, even after all thse self discoveries, I could only advance to the main menu, when I did select a campaign, the game would only present to me the introductory text (in incorrect format by the way) and then it will crash immediately or kick me back to main menu.

4 - Even with patch 1.02 Beta, I still cannot change my options inside the main menu too rapidly, because as soon as I click 2-3 times more in the same spot, the game reports that it had too many critical errors and asks me if I want to close it.


Now... I am a VERY patient person. I withstood other companies' bullcrap when Empire TW was released in a barely playable state. The same for Scourge of War W and Rome2. So I'm not new to these practices of "Release the game in beta barely playable state and then ask customers to fix the game", however, I was hoping a smaller dev team could bring a decently playable game up. I was wrong. Again.

At the very least, I have faith in you. You wont believe how many told me that if their game ran a 3 FPS I had to "turn off my antivirus" to play it better, instead of admitting their game wasnt finished yet.

I will wait, patiently, without playing until you solve all the issues. But please SOLVE THEM.

lycortas2
Captain
Posts: 199
Joined: Tue Sep 18, 2012 1:57 am

Sun Dec 27, 2015 4:59 pm

I have nothing to do with AGEOD, and I don't want to belittle anyone's problems with the game, but I have played this on a standard windows 7 computer since the day the game came out and have never had a lock, hang, crash, incomprehensible text or anything else. I think maybe some people need to watch what programs they have running in the background, update drivers and make sure they have directx and net frame work components installed.

and, you most definitely can install this game anywhere you wish. Instead of posting here, pay attention when you run the game... I had no problem installing to D:/games/matrix/WON

Sirlion
Private
Posts: 25
Joined: Fri Dec 25, 2015 10:35 pm

Sun Dec 27, 2015 5:11 pm

So I shoudnt post here you say, then I shouldnt report errors when they present themselves. Oh well.
I have Windows 7 too and the Download version of the game. It DEFINITELY wont install in another drive. I could do a video to prove it. In any case, if you didnt have any crashes, good for you sir. By the way, I did format my PC during last week, so it is a fresh install of the OS with all drivers updated.

squidelica
Sergeant
Posts: 83
Joined: Thu Jan 20, 2011 2:14 pm
Location: London

Sun Dec 27, 2015 5:45 pm

I've bought and played most ageod games, most have had issue's on release but give them time and they always sort them out (expect perhaps PON?)- they arent a big company like CA/SEGA so its unfair to compare them to those leeches

Taillebois
General of the Army
Posts: 601
Joined: Sat Nov 01, 2008 8:09 pm
Location: Nr GCHQ Cheltenham

Sun Dec 27, 2015 6:09 pm

I'd have thought that after the OP's experience with:

Empire TW
Scourge of War
Rome 2

seems that buying WON on release was a deliberate act of hope over experience.

As for patience, well the language, use of capitals, and not having the patience to post in the technical forum - well what can I say?

Could be bad karma.

With so many new forum members having near life threatening experiences I have tried my best to empathise and replicate CTDs but despite installing, uninstalling, re-installing WON on several PCs I just cannot get it to crash. Nope, not once. I did have the crazy casualties in the first release but since then it has worked fine, albeit very slowly on my laptop with only HD graphics but that is my fault for using a PC below the minimum spec.

There are the smaller scenarios to entertain yourself with whilst some of the event issues for the grand campaign are fixed by generous help from forum members. There is also the earlier Napoleonic game from AGEOD which I think is a little gem - and it is on sale at Matrix now for only the price of a pizza. Mmm tasty.

seathom
Colonel
Posts: 312
Joined: Fri Jan 23, 2015 7:51 pm

Sun Dec 27, 2015 6:10 pm

My good computer melted and I borrowed my sister's much older computer that won't even play most of my games like EU4, City Skylines, etc., however, even in Windows XP with barely any RAM (or whatever, I'm not a computer geek) I have been able to play WON from the onset with practically no real problems. I don't know what to say to you, but it was very playable for me. Are you a you tuber? I have noticed that when running the recording softwares that they need it does cause more crashes than usual. I am able to play WON and chat on Steam at the same time. I am sorry for your troubles and hope that you can find the cause(s) of them because this is a great game! I think a previous poster was meaning to say that you should post on the thread regarding problems with WON rather than this part of the forum. Good luck from a fellow Napoleonic-lover!

Sirlion
Private
Posts: 25
Joined: Fri Dec 25, 2015 10:35 pm

Mon Dec 28, 2015 4:15 pm

I'm speechless by the amount of sarcasm in this forum. Are all of you defending the devs so hard? Do they need your help? I dont think so. We are grown men, I assume, and doing all this doesnt affect me or my opinion of the game, if you are trying to upset me, you chose the wrong person and you're just looking pitiful in my eyes. Thanks seathom, I probably should have posted in the technical problems section. If somebody wants to move the thread is more than welcome. And by the way I dont find having to help the dev fixing events and scripts on the forum pages something that can be considered as "normal". If it is normal to you, then I wonder what kind of games have you played up until now. But I'd digress.

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Mon Dec 28, 2015 5:06 pm

Sirlion wrote:I'm speechless by the amount of sarcasm in this forum. Are all of you defending the devs so hard? Do they need your help? I dont think so. We are grown men, I assume, and doing all this doesnt affect me or my opinion of the game, if you are trying to upset me, you chose the wrong person and you're just looking pitiful in my eyes. Thanks seathom, I probably should have posted in the technical problems section. If somebody wants to move the thread is more than welcome. And by the way I dont find having to help the dev fixing events and scripts on the forum pages something that can be considered as "normal". If it is normal to you, then I wonder what kind of games have you played up until now. But I'd digress.


I agree with you to some extent. to me there are 2 issues :
1/ CTDs. There are close to an infinity of individual configurations and ways one can use his computer. unbeknownst to a user any type of program running in the background, installed long ago or else could screw things up. Sadly CTDs are a complicated issue in that case and I trust the Devs when they say that they really think they have reached a stable game during beta. Personnally I have an ASUS laptop with Windows 8 and I haven't had CTDs, except for those induced by some post release modifications (first beta patch, Vicberg's tricks, etc...). So Without resorting to sarcasm like others, maybe it's very difficult to spot and understand why it would crash on your machine and to some extent the devs are limited in what they can do, in the end it isn't their job to monitor and understand everyone's individual config and computer use right ?
2/ the bugs and non working events and forgotting fundamental issues (like forts bombing the crap of all passing fleet, or troops starving to death because once you signed peace with the country you had invaded they found themselves devoid of supplies, etc.) are much more problematic to me and to be honest this is where I am a bit miffed at the devs and the betas because these are basic issues that should have been sorted out in the beta process. having the Presburg peace not working whereas it happens in the first semester of a 10 years game just isn't right, and having betas gloating like colonel Marbot about their word conquest and just telling you "mah I didn't care for the Pressburg event, I just didn't use it" just suprises me because the beta's job is to emulate game use and try to weed out problems. In that sense some humility from those involved would have been welcomed.

Nonetheless the game has potential, a great feel, and I am happy I bought it. This however does not mean that some criticism isn't warranted.

Sirlion
Private
Posts: 25
Joined: Fri Dec 25, 2015 10:35 pm

Mon Dec 28, 2015 8:01 pm

veji1 wrote:I agree with you to some extent. to me there are 2 issues :
1/ CTDs. There are close to an infinity of individual configurations and ways one can use his computer. unbeknownst to a user any type of program running in the background, installed long ago or else could screw things up. Sadly CTDs are a complicated issue in that case and I trust the Devs when they say that they really think they have reached a stable game during beta. Personnally I have an ASUS laptop with Windows 8 and I haven't had CTDs, except for those induced by some post release modifications (first beta patch, Vicberg's tricks, etc...). So Without resorting to sarcasm like others, maybe it's very difficult to spot and understand why it would crash on your machine and to some extent the devs are limited in what they can do, in the end it isn't their job to monitor and understand everyone's individual config and computer use right ?
2/ the bugs and non working events and forgotting fundamental issues (like forts bombing the crap of all passing fleet, or troops starving to death because once you signed peace with the country you had invaded they found themselves devoid of supplies, etc.) are much more problematic to me and to be honest this is where I am a bit miffed at the devs and the betas because these are basic issues that should have been sorted out in the beta process. having the Presburg peace not working whereas it happens in the first semester of a 10 years game just isn't right, and having betas gloating like colonel Marbot about their word conquest and just telling you "mah I didn't care for the Pressburg event, I just didn't use it" just suprises me because the beta's job is to emulate game use and try to weed out problems. In that sense some humility from those involved would have been welcomed.

Nonetheless the game has potential, a great feel, and I am happy I bought it. This however does not mean that some criticism isn't warranted.


See, this is a good post. I agree on the CTDs part, although having a fresh install one has to wonder why it happens. But whatever, I'll test further than two turns and see how things are going. Of course the game has potential, why would I even bother posting in the first place? I mean, we all love some Napoleonic warfare gaming, so when gems of this caliber come into play it is obvious that I'd love to play them and I did buy the game with conviction. This is exactly why I'm complaining. This could have been a fine title capable of standing on its own against giants. But to me it seems like somebody didnt test enough and if it did, he hid facts. Because there are lots of bugs in here, as you mentioned.

User avatar
fred zeppelin
Colonel
Posts: 366
Joined: Fri Apr 27, 2012 2:29 pm

Tue Dec 29, 2015 12:33 am

Sirlion wrote:I'm speechless by the amount of sarcasm in this forum. Are all of you defending the devs so hard? Do they need your help? I dont think so. We are grown men, I assume, and doing all this doesnt affect me or my opinion of the game, if you are trying to upset me, you chose the wrong person and you're just looking pitiful in my eyes. Thanks seathom, I probably should have posted in the technical problems section. If somebody wants to move the thread is more than welcome. And by the way I dont find having to help the dev fixing events and scripts on the forum pages something that can be considered as "normal". If it is normal to you, then I wonder what kind of games have you played up until now. But I'd digress.


There has always been a vocal group of die-hard fans here who will defend AGEOD almost no matter what they release. They appreciate the fact that AGEOD games cover eras mostly ignored by other developers, and that their games always look great, and that they're a small company, etc.

As a result, AGEOD tends to release games with the same bugs over and over again. Apart from the CTDs (which seem to be a bit more numerous with WoN) the bugs reported with WoN are essentially the same bugs that have appeared in other AGEOD games for years. They have become so common that I think the beta testers don't even notice them any longer. (Which probably also explains why most AGEOD releases are followed closely by posts from the betas telling everyone to quit whining and play PBEM.)

No one expects perfection, especially from a small developer of niche war games. But it is fair to ask that a developer will learn from its own mistakes. That doesn't happen here.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 1:54 am

Somewhat true. Their architecture is the culprit. There are 2100 events in WON. That's a HUGE number of events to test for even a big game company. I know this because I wrote a program that separated all the events and brought them back together into a single file.

The second problem is that the engine isn't communicating enough information to the scripts. So the answer has been to hard wire each and every script for a specific faction. For example, each factional modifier has 4 events (on, off, fired, use). But because the engine isn't communicating with the scripts, the answer has been to take the EXACT SAME factional modifier events and write them 7 times, one for each major power. So where there should be 4 events launched for 7 powers, there's 28 events. 28 events are lot more challenging to test than 4. Hard wired scripts mean a scripted game and lack of dynamic aspect that people would expect for a multi-player game of this type.

For example, if you allow for true annexation of Hannover. You'll need another set of events to liberate it. The liberation will require 4-5 events and in current architecture, multiplied by each and every major power who could liberate it. This why the annexations aren't true annexations. They are simply changes of control and the annexed factions continues to stick around because it doesn't require a bunch of new events to liberate (multiplied by each and every power...thousands of new events firing every turn). Then they realized there was a bug allowing the annexed faction to DOW (because it's still around) and so there was a new patch to prevent a DOW if you don't own any regions. You can see the progression involved. Better communication between Engine and Script would remove all this stuff, reduce the massive code base, provide for easier testing and debugging and provide for both scripted and dynamic events.

This is why performance is so bad. Every turn 2100 scripts are looked at to see which ones should fire or have been fired. The only real communication between engine and script is what the user clicked on or which region a RGD card was played on. Even with the RGD cards, the engine doesn't pass the region into the script that may be fired from the card. That's a real challenge to work with if you want dynamic RGD cards.

The third problem is that there isn't a true database. There's a bunch of excel files that the engine links together and forms into a host file. Working with a gaggle of independent excel files means errors. Databases enforce data integrity. Excel spreadsheets do not. Excel spreadsheets as a form of database is archaic technology.

What I'm having to do to add flexibility without introducing thousands of scripts is write a program that polls through the host file, figures out information that engine should already be making available to the scripts, and then dynamically generating events that are appended to my single event file. I'm toying with removed "used" events to improve performance.

EDIT: There's 3700 events in total. I've experimented with bringing in by year only those events that are relevant. So events trigger in 1809 aren't needed in 1805. 2100 is the total in 1805.

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Tue Dec 29, 2015 4:46 am

EDIT: There's 3700 events in total. I've experimented with bringing in by year only those events that are relevant. So events trigger in 1809 aren't needed in 1805. 2100 is the total in 1805.


Yes, I would think batching events by timeframe would improve processing speed. Also if I remember correctly, there are some script logic commands unavailable which would be helpful in reducing the number of required events. I believe Ageod would have to code them in but would be very useful.

Do you have a copy of the developer's database? If not, you can probably get it with a request. Much easier to work with than fooling around with the game files. They normally release it at some point.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 5:25 am

I haven't found many commands that would reduce volume of code. If there is, it's not documented on Wiki.

For example, if the engine would pass Faction and Factional Modifier into a script and the script could pass faction and factional modifier into another script (through generic input/outputs), you could reduce the # factional modifier events by 99%, down to 4 TOTAL. The 4 scripts receive the faction/modifier, build the images/tooltips/messages (either via a new command or via simple concatenation within the script assuming a standard naming convention for all factional modifier messages/images), turns on the option, processes the option by adding it to the faction and increments the counter. Simple loop in engine to check and call factional modifier events for each major power (or minor), simple event coding, reduces the code base MASSIVELY and makes it much much easier to test. AGEOD is doing it the exceedingly hard and labor intensive way, which is not very smart for a small company.

Not sure about a database. I've seen multiple excel files at work with CSV Splitter. That's not a database. It's being called a database but the only thing I've seen resembling a database is the host file which comes from the game data files via the engine, which themselves come from excel via CSV Splitter.

Here's the problem with the data as is. I want to create a GENERIC annexation event. I place a RGD Card on a region. Now I need to figure out the region that the card was played and the owner of that region, but the engine doesn't pass the region into the RGD Script. So I go to host file and pull that out. But I can't change ownership based on currently ownership/loyalty as that may not reflect "true" owner. So I need to go back to the original campaign setup script that sets initial loyalty to determine who the true owner is and create that relationship between "true" owner and region. Then I need to find the areas associated with region to determine the "country" so I can adjust loyalty and control across the area. This approach is needed for liberation as well as annexations. With no true database involved here, I have to use the independent data files (which themselves have some issues I've run across) that are very loosely linked together.

Long and short of it. If you are going to create a game with 5,000-10,000 independent files, you are going to have massive errors. Same holds true in business as much as in gaming or any other technical industry. A true database would manage ALL. Regions/units/factions sharing similar data would be consolidated to reduce data (called data normalization...database design 101). Simple parameter passing would greatly reduce events.

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Tue Dec 29, 2015 10:19 am

vicberg wrote:I haven't found many commands that would reduce volume of code. If there is, it's not documented on Wiki.

For example, if the engine would pass Faction and Factional Modifier into a script and the script could pass faction and factional modifier into another script (through generic input/outputs), you could reduce the # factional modifier events by 99%, down to 4 TOTAL. The 4 scripts receive the faction/modifier, build the images/tooltips/messages (either via a new command or via simple concatenation within the script assuming a standard naming convention for all factional modifier messages/images), turns on the option, processes the option by adding it to the faction and increments the counter. Simple loop in engine to check and call factional modifier events for each major power (or minor), simple event coding, reduces the code base MASSIVELY and makes it much much easier to test. AGEOD is doing it the exceedingly hard and labor intensive way, which is not very smart for a small company.

Not sure about a database. I've seen multiple excel files at work with CSV Splitter. That's not a database. It's being called a database but the only thing I've seen resembling a database is the host file which comes from the game data files via the engine, which themselves come from excel via CSV Splitter.

Here's the problem with the data as is. I want to create a GENERIC annexation event. I place a RGD Card on a region. Now I need to figure out the region that the card was played and the owner of that region, but the engine doesn't pass the region into the RGD Script. So I go to host file and pull that out. But I can't change ownership based on currently ownership/loyalty as that may not reflect "true" owner. So I need to go back to the original campaign setup script that sets initial loyalty to determine who the true owner is and create that relationship between "true" owner and region. Then I need to find the areas associated with region to determine the "country" so I can adjust loyalty and control across the area. This approach is needed for liberation as well as annexations. With no true database involved here, I have to use the independent data files (which themselves have some issues I've run across) that are very loosely linked together.

Long and short of it. If you are going to create a game with 5,000-10,000 independent files, you are going to have massive errors. Same holds true in business as much as in gaming or any other technical industry. A true database would manage ALL. Regions/units/factions sharing similar data would be consolidated to reduce data (called data normalization...database design 101). Simple parameter passing would greatly reduce events.


wow, thanks Vicberg for this explanation.

I think this is where the "growth" in complexity of Ageod games has become a problem for a small studio who is a boutique of boardgame designers, who think like boardgame designers and designed complex "computer boardgames" with love and a really great appreciation for boardgame play balance : the scale of movements, battles, all is fantastically done in terms of conception. But they are not software designers, they probably don't have anyone qualified enough coming from a programming background and so they are more like small craftsman who use to do his accounting in a notebook but now has opened several subsidiaries in different countries and has a hard time keeping track of everything in his notebooks !

I remember when I first heard of Ageod BoA on the french section of the Paradox forums (I was a regular there during the EUII heydays of 2000-2005 or so). A guy did an AAR of this game and told us how fantastic it was, historical, super simple with individual units you grouped in stacks, with command points, with supplies, with weather, with terrain AND A VERY SOLID OPERATIONAL AI and that game was truly fantastic. Than they made theire chef d'oeuvre with AACW : more complex but still manageable because only 2 factions and no diplomacy. It was still purely a wargame and it was great, the AI was really operationally decent, I played it on an off for 7 years, something I hadn't nor haven't ever done since with a single game ! Some issues were showing already a little bit : because force organisation was very important (division / corps / Army structuration) and the AI didn' know how to properly set its own forces up, the game worked well in single player with the 1862 scenario and an AI army already well constructed, but a lot less well in the 1861 scenarios as the AI never quite managed to properly organise its forces in the west and Transmississippi for example. This issue was still there in CW2 as well, and this is where proper programming would make a big difference because the AI would have been tremendously helped by some routine to help it marshall its forces (leaders, built units, etc...) and optimize its organisation (check for leader stats, promotions of better leaders, replacement of corps and army commanders, etc). The AI in AACW and CW2 remained very coherent and decent went it came to the operational aspect of the wargame. It just had a harder time coping with the rest.

And this is where the issue of just piling up more stuff becomes very problematic. I am no programmer but I have the feeling that the clever, simple, witty AI constructed for the fantastically immersive wargame that was BOA has remained the same except that more jobs have been pile on its back. We could see that in PoN already : The engine and Athena just don't really know how to deal with diplomatic / economic / construction complexities and the more complicated the game is the more cumbersome the engine becomes (because it remains that little Mono cylinder wonder that powered BoA, even if you have added many turbochargers) and the more lost the AI is (because it remains at hearts that clever little AI for a purely operational game that was BoA).

But because the original design worked fantastically, and because they just love making games and do have a fantastic feel for what a game should feel and look like, the guys at Ageod (probably really only the 2 Phils as permanent longtime staff with responsabilities) have tried like very serious and consciencious craftmen to just build those massive ships of the line using the same tools and technique they used to built a beautiful little 18 footer.

I love their games but they could use some massive overhaul of how they build their games. I mean just look at the diplomacy in WON : it could be great but it's cumbersome and not very clear, whereas the guys at Paradox, true programmers with a far more limited feel and interest for what a truly immersive and fascinating wargame, took the ideas Phil Thibs had in the Europa Universalis boardgame and made a very similar but a lot more polished and efficient diplomatic engine for the Europa Universalis series.. And that was more than 15 years ago !!!

To some extent you have the feeling that the guys are Ageod are lovely little dinosaurs, like a John Tiller, who keeps churning games out of his basements on a software basis that dates from the late 80s.

I love the guys and their games, just imagining what they could do with real programming expertise.... Man that could be so great.

User avatar
Ace
Posts: 3503
Joined: Mon Aug 30, 2010 4:33 pm
Location: Croatia

Tue Dec 29, 2015 11:58 am

Some great post overhere, and I agree with lot of them. As for the comments for beta testing, I can take some flack. I really didn't had the time to do lot of testing. Apart of some battleplaner addons and game look suggestions I did very little on this release, that's why I pointed elsewhere the game has potential but needs polishing.
What would you suggest to the developers?

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Tue Dec 29, 2015 12:18 pm

Ace wrote:Some great post overhere, and I agree with lot of them. As for the comments for beta testing, I can take some flack. I really didn't had the time to do lot of testing. Apart of some battleplaner addons and game look suggestions I did very little on this release, that's why I pointed elsewhere the game has potential but needs polishing.
What would you suggest to the developers?


I am not an expert at all, I was merely reacting to Vicberg's post but I found it enlightening because it underlined what I think has been a difficulty for Ageod : These are enthusiastic die hard strategic gamers, coming from the age of boardgames, who happen to use computers to make their passion a reality. But in the end they are not software guys through and through. To me there has come a point where despite all their good will the Frankensteinic (sic) nature of their last games (PON, EAW, WON ; CW2 less so because it's based on AACW and has only 2 sides) means that it becomes harder and harder to make their games work as well as they would want them to : the ideas are still great, but the machine room just can't keep up. There would need to be someone passionnate with true software competence AND an equal say in how the game is made to just overhaul the whole thing.

It's hard but to some extent what is great in what AGEOD has done is all the ideas, the sets of "rules" for the boardgame and the feel it gives you (immersion, graphics, chrome, etc...). More than 10 years ago using relatively simple mechanics (excel sheets and script driven AI) in a very clever way (in no way do I want to diminish what they did) they managed to produce some fantastic games that many players like us loved : not to arcady, not dry data optimizing stuff either, perfect blend of historical feel, realism and fun. But trying to build big games using the same set of skills and tools now is just setting yourself up for very hard times.

WON isn't a failue by any measure : 95% of what is needed for it to be a great game is there, first and foremost the ideas and creativity of the guys at Ageod, but god how hard to reach are those extra 5% to make it a proper workable game ! And all this because as Vicberg showed, the game is a cyber-punk mess of wires and pipes added over times to allow the engine to deal with bigger and bigger things. Only in novels and movies do immense cyber-punk battleships work.

EDIT : take for examples RGDs. these are potential great inventions, but they mean just another layer for the engine. Take having 7 playable factions + many more AI played ones (minor countries, etc) , well it's great for replayability in theory, but maybe an architecture that was good enough for 2 factions like in BOA and then AACW (if each faction had to test all possible events, it only meant doing it twice after all) just cannot reasonably be efficient with that many more (7 + maybe a lot more factions testing events for trigger each turn... this means so many loops of testing !). The issue becomes either you completely change the way your engine work, creating a real data base, not parallel scripts for each faction but an engine that tests events for all factions, etc and you can do those complicated games, or maybe if you don't have the human nor financial and material ressources do to it, which I would perfectly understand, well maybe it is best to build smaller or simpler games again, with 2 factions for example, with no events and only RGDS some of them becoming available at set dates, etc.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 3:36 pm

All architectures go through an evolution and this one will need to do the same. This architecture was developed for the Civil War, with only 2 factions and works quite well with 2 factions. When you expand that beyond 2, the limitations become apparent.

There's simple changes and longer terms changes

Simpler
- Enable the scripts to accept and receive input parms from the engine or other scripts. This can be done by key/value pair (engine passes the following string into event....faction="FRA', option='FMGrandBattery') or more structured (param1 will be faction, param2 will be option, param3 will be open for anything). This requires commands available to scripts to enable setting, receiving and parsing these parameters.
- Provide Concatenation with scripts, so the script receives param2 (FMGrandBattery) and is able to do ImageID;Event-Img_Opt_+param2+.png, which becomes ImageID;Evvent-Img_Opt_FMGrandbattery.png and that image is displayed to the appropriate faction based on param1 (Param1 = FRA, for example).
- Engine should bring in only relevant options for the year. Future options with MinDate > current year should be ignored
- The ability to fire a new event if current event doesn't pass conditions. So if event 1 fails, fire event 2.
- Looping ability within script. Loop through regions in an area. Areas in a country. Minor Factions, Major factions. etc.
- IF conditions added to scripts. This would greatly reduce number of scripts. Without an IF statement, it requires up to 7 events to check something (one for each power). With an IF condition, requires 1 script.

In other words, basic programming ability. Loops, conditionals (if/and/or), parameter passing.

More Complex
- Putting a true database in place, either relational or newer NoSQL database (using hash tables) based on key value pairs. Both would work and the NoSQL would mean lesser changes since the game files are mostly key value pairs.
- Creating tighter data relationships. Right now a region corresponds to an area. A "country" may have multiple areas, but isn't truly defined as a country. Within the area alias script someone put in theater_austria will all of the regions that includes. Not a true "country" concept.

I'd create a new data relationship for country-> areas-> regions INDEPENDENT of the Faction Controlling it, since they change:

Country -> Areas (defines original or "true" faction owner, For example, Country Hannover has a true owner of Hannover Faction)
Areas -> Regions
Country->Other Country Distance (neighbor, 2 away, 3 away, etc...would be used for a dynamic process to change neighboring relationships in the event of annex or satellite)

Faction -> Units
Faction -> Country (current owner)
Faction -> Satellite Country (France has made Bavaria a Satellite and Bavaria Factions owners the country Bavaria, which has 3 areas in it)
Faction -> Annexed Country (France has annexed Bavaria, Bavaria factions is removed, and France owns the Country Bavaria, with it's 2 or 3 areas)
Faction -> Region (current owner and since AUS may be at war with Bavaria at the time France annexes Bavaria and should retain control of any Bavarian regions it owns)

Currently, the above data relationships aren't tightly defined. It's mostly loyalty and military control which the diplomatic engine is trying to address and overcome limitations. This is a holdover from the Civil War game architecture in which with 2 factions, all you care about is military control and loyalty. Much more complex with 7 powers, multiple countries, etc...With the above relationships, virtually anything is possible.

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Tue Dec 29, 2015 3:52 pm

vicberg wrote:All architectures go through an evolution and this one will need to do the same. This architecture was developed for the Civil War, with only 2 factions and works quite well with 2 factions. When you expand that beyond 2, the limitations become apparent.

There's simple changes and longer terms changes

Simpler
- Enable the scripts to accept and receive input parms from the engine or other scripts. This can be done by key/value pair (engine passes the following string into event....faction="FRA', option='FMGrandBattery') or more structured (param1 will be faction, param2 will be option, param3 will be open for anything). This requires commands available to scripts to enable setting, receiving and parsing these parameters.
- Provide Concatenation with scripts, so the script receives param2 (FMGrandBattery) and is able to do ImageID;Event-Img_Opt_+param2+.png, which becomes ImageID;Evvent-Img_Opt_FMGrandbattery.png and that image is displayed to the appropriate faction based on param1 (Param1 = FRA, for example).
- Engine should bring in only relevant options for the year. Future options with MinDate > current year should be ignored
- The ability to fire a new event if current event doesn't pass conditions. So if event 1 fails, fire event 2.
- Looping ability within script. Loop through regions in an area. Areas in a country. Minor Factions, Major factions. etc.
- IF conditions added to scripts. This would greatly reduce number of scripts. Without an IF statement, it requires up to 7 events to check something (one for each power). With an IF condition, requires 1 script.

In other words, basic programming ability. Loops, conditionals (if/and/or), parameter passing.

More Complex
- Putting a true database in place, either relational or newer NoSQL database (using hash tables) based on key value pairs. Both would work and the NoSQL would mean lesser changes since the game files are mostly key value pairs.
- Creating tighter data relationships. Right now a region corresponds to an area. A "country" may have multiple areas, but isn't truly defined as a country. Within the area alias script someone put in theater_austria will all of the regions that includes. Not a true "country" concept.

I'd create a new data relationship for country-> areas-> regions INDEPENDENT of the Faction Controlling it, since they change:

Country -> Areas (defines original or "true" faction owner, For example, Country Hannover has a true owner of Hannover Faction)
Areas -> Regions
Country->Other Country Distance (neighbor, 2 away, 3 away, etc...would be used for a dynamic process to change neighboring relationships in the event of annex or satellite)

Faction -> Units
Faction -> Country (current owner)
Faction -> Satellite Country (France has made Bavaria a Satellite and Bavaria Factions owners the country Bavaria, which has 3 areas in it)
Faction -> Annexed Country (France has annexed Bavaria, Bavaria factions is removed, and France owns the Country Bavaria, with it's 2 or 3 areas)
Faction -> Region (current owner and since AUS may be at war with Bavaria at the time France annexes Bavaria and should retain control of any Bavarian regions it owns)

Currently, the above data relationships aren't tightly defined. It's mostly loyalty and military control which the diplomatic engine is trying to address and overcome limitations. This is a holdover from the Civil War game architecture in which with 2 factions, all you care about is military control and loyalty. Much more complex with 7 powers, multiple countries, etc...With the above relationships, virtually anything is possible.


very interesting read, thanks Vicberg. Just out of curiosity, assuming one has the technical expediency to do it, in terms of man/hour how much work do you think the simpler changes would be ? 40 ? 60 ? 100 ? 150 ?

Thanks again man, I hope you stick around and help us make the game better so that it can be as good as it can !

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 3:58 pm

I'm willing to help with the above. If the eventually want to go a database route (either relational or NoSQL), I could help with DB design and write a program that takes the excel scripts and loads into database. This would highlight and enforce quality data prior to deployment.

I would also be willing to help with scripting changes or engine changes.

My python programs are already reformatting their scripts and generating new ones. I could easily condense their scripts and create generic scripts (assuming parameter passing) without having to redo all the work. A conversion program, so to speak.

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Tue Dec 29, 2015 4:01 pm

vicberg wrote:I'm willing to help with the above. If the eventually want to go a database route (either relational or NoSQL), I could help with DB design and write a program that takes the excel scripts and loads into database. This would highlight and enforce quality data prior to deployment.

I would also be willing to help with scripting changes or engine changes.

My python programs are already reformatting their scripts and generating new ones. I could easily condense their scripts and create generic scripts (assuming parameter passing) without having to redo all the work. A conversion program, so to speak.


Well I hope you and them can talk about this and hash out some formula to make it work (assuming you are legit serious and won't disappear in the middle of a mammoth task because life makes that happen ! ;) ).

There so many fantastic aspects to their games that sometimes I feel a bit depressed at how the limitation they have because of the steampunk architecture/engine they use impact the games.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 4:02 pm

veji1 wrote:very interesting read, thanks Vicberg. Just out of curiosity, assuming one has the technical expediency to do it, in terms of man/hour how much work do you think the simpler changes would be ? 40 ? 60 ? 100 ? 150 ?

Thanks again man, I hope you stick around and help us make the game better so that it can be as good as it can !


It's a model that would apply to their other multi-faction games. PON, TYW. I'm seeing similar issues in all of them. Points to the architecture. Not sure how long it would take because I haven't seen any of the engine code. The current script commands are simply exposing functions built into engine that the engine uses for it's processing. That's obvious. Without looking at the engine code, I couldn't tell you the amount of time involved. Another thing that could be done, is writing a program to convert the engine program, rather than manual changes to the engine code. I've seen mainframe systems converted to unix by putting a layer in that translated mainframe commands into unix commands. No code changes needed to mainframe code and pretty damn ingenious. Something similar could be done here.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 4:07 pm

veji1 wrote:Well I hope you and them can talk about this and hash out some formula to make it work (assuming you are legit serious and won't disappear in the middle of a mammoth task because life makes that happen ! ;) ).


The key thing is that I'm willing to help. I have a day job that requires travel on a weekly basis (at times, sometimes I work remote from home). I wouldn't expect and don't need payment for this, but I could offer direction, create programs to help with this.

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Tue Dec 29, 2015 4:14 pm

vicberg wrote:The key thing is that I'm willing to help. I have a day job that requires travel on a weekly basis (at times, sometimes I work remote from home). I wouldn't expect and don't need payment for this, but I could offer direction,, create programs to help with this.


Oh I didn't mean that as a criticism at all, what I meant is that for such evolutions everybody has to be on board + able to follow through on the changes so that they are complete otherwise you could end up with a great project left in quicksands because as you said you have a day job and very legitimately could end up saying "look I tried to help but I now have important things to do so good luck". This is why I say that there would still need to be on Ageod' side the 1/ Willingness to do those changes and 2/ Ability to carry them through with some help but not necessarely permanent guidance !

Thanks man anyway for the help you are providing. As a simple player I am very grateful.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 4:34 pm

Once the base in place using a true country concept, then you could expand upon that to create a whole new level.

This is pie in the sky stuff and much later down the line. You could define the economic "size" of the country and distance to other countries (simplified....1 away, 2 away, 3 away...FAR...requires land route, requires naval route which can be blockaded), so if entering into a commercial agreement via diplomacy could translate into basic trade agreements. This would be a simple economic model that compares economic sizes of the two factions, distance, and the abundance of materials. Trade between two factions would compare the commodities (money, horses, supplies) create trade automatically and would increase over time as the trade agreement persists. Giving too much to a small country (though getting relationship improvements along the way) and cancel the trade agreement. Assuming the scripting language could easily find these agreements, know the year (as trade would improve over time due to market penetrations, etc.) and you could have a robust economic trade system without any front end changes and via a single script.

Challenge with this would be determining if there's a "neutral route" between the two countries. So not sure this is possible, though I'm fairly certain it could be. There's already something comparing units to supply sources to determine supply. Using this, you could compare country to country and if you can't have the same "supply" route, you couldn't trade.

TJD
Sergeant
Posts: 69
Joined: Wed Oct 03, 2012 6:52 pm

Tue Dec 29, 2015 7:24 pm

veji1 wrote:Thanks man anyway for the help you are providing. As a simple player I am very grateful.


Me too! Ditto likewise, triple underscore. Thanks, vicberg. Your posts under this topic have been incredibly enlightening of Ageod's current limitations and possibilities.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 7:28 pm

It's hard to tell if they are going to continue to try to fit a square peg into a round hole. If they do, they will continue to alienate and eventually, they'll build a new game and no one will come.

If I were them, I'd stabilize WON, fixing script issues as they arise, and then work on a new engine. Convert their enormously detailed data into a new data format (assuming a true database) and then re-release all these games (WON, PON, TYW, EAW) under this new engine and as version 2 (or Gold) of these games. I believe their market base will be more than happy for it and shell out more money. AGEOD can get some income and provide a better framework for these types of games.

Just my opinion.

veji1
AGEod Guard of Honor
Posts: 1271
Joined: Fri Dec 08, 2006 6:27 pm

Tue Dec 29, 2015 8:04 pm

vicberg wrote:It's hard to tell if they are going to continue to try to fit a square peg into a round hole. If they do, they will continue to alienate and eventually, they'll build a new game and no one will come.

If I were them, I'd stabilize WON, fixing script issues as they arise, and then work on a new engine. Convert their enormously detailed data into a new data format (assuming a true database) and then re-release all these games (WON, PON, TYW, EAW) under this new engine and as version 2 (or Gold) of these games. I believe their market base will be more than happy for it and shell out more money. AGEOD can get some income and provide a better framework for these types of games.

Just my opinion.


I would think too and to some extent this is what I expected from WON aka NCP2. When there was debate as too what the game should be I was one of the few advocating for focusing on operational warfare and not overdevelopping the diplomacy, production and other aspect of an all encompassing game that the engine would struggle to deal with.

Ageod's engine was made for a wargame with 2 sides, dealing with recruiting, campaigning etc. Make games like this and despite its age and limitations this very clever engine and AI do a good job with just a tiny bit of help. But if you want to make it bigger then as you demonstrated, you have to change tack.

vicberg
AGEod Grognard
Posts: 968
Joined: Mon Dec 29, 2008 3:18 am

Tue Dec 29, 2015 8:16 pm

veji1 wrote:I would think too and to some extent this is what I expected from WON aka NCP2. When there was debate as too what the game should be I was one of the few advocating for focusing on operational warfare and not overdevelopping the diplomacy, production and other aspect of an all encompassing game that the engine would struggle to deal with.

Ageod's engine was made for a wargame with 2 sides, dealing with recruiting, campaigning etc. Make games like this and despite its age and limitations this very clever engine and AI do a good job with just a tiny bit of help. But if you want to make it bigger then as you demonstrated, you have to change tack.


I agree. It's a choice. Open to 7 independent players and you need to do something about opening up the diplomacy. There's no choice. Bring it back down to 2 sides (while allowing 7 players) and that fits within engine. Prussia and Turkey stay inactive until they join once faction or the other.

Either choice, they MUST do something about 2100 scripts which equals massive errors and terrible performance.

kimd
Conscript
Posts: 5
Joined: Mon Sep 01, 2008 12:58 pm

Wed Dec 30, 2015 1:20 am

Hi Guys,

I have read the thread with interest. I have loved the games over the years and, yes it is certainly apparent that the increasing complexity of the games are adding to the problems i.e. the events are becoming a mess. It will be a great shame to lose the only true strategic game designer because they have not developed the game design. Thanks Vicberg for explaining clearly where the problems lie. I see it every time I start the game, I have a native 2560x1440 monitor, which of course makes the game's fonts incredibly small. This would not matter if you could specify the resolution of the game independent from Window's resolution (I hope I have explained this) but you can't and therefore I have to change the resolution of my desktop prior to starting the game. Although I would accept this annoyance if they sorted out the game's internal problems i.e. the events.

Kim

User avatar
lukasberger
AGEod Veteran
Posts: 782
Joined: Thu Dec 07, 2006 5:59 pm

Wed Dec 30, 2015 3:44 am

vicberg wrote:If I were them, I'd stabilize WON, fixing script issues as they arise, and then work on a new engine. Convert their enormously detailed data into a new data format (assuming a true database) and then re-release all these games (WON, PON, TYW, EAW) under this new engine and as version 2 (or Gold) of these games. I believe their market base will be more than happy for it and shell out more money. AGEOD can get some income and provide a better framework for these types of games.

Just my opinion.


That would be wonderful. I've bought every AGEOD game except for Espana and Alea Jacta Est and I love the company and their games.

That being said, many of the complaints/suggestions in this thread are valid imo.

Especially as a modder, the "db" structure with the excel files and splitter drives me up a wall. It takes massively more time to do even simple modding in AGEOD games than in Paradox or really any other games because the files are so difficult to work with and finicky that it's basically impossible to do any work without introducing dozens of errors that require hours and hours and endless frustration to fix.

Event modding is maybe even worse as well, since the scripting is a bit of a black box and you can't even just copy events and assume they'll work correctly, as they often didn't work correctly to begin with.

Return to “Wars of Napoleon”

Who is online

Users browsing this forum: No registered users and 13 guests