All WW 1 attempts gathered

classic Classic list List threaded Threaded
49 messages Options
123
Reply | Threaded
Open this post in threaded view
|

All WW 1 attempts gathered

Rolf Larsson
There are a lot of new mods/maps about ww1 lately (Surtur2, Imbaked, Blumb and those I forgot).

My personal impressions/suggestions/comments:

- try to form a team, you can achieve so much more and discuss/test everything right away
- Great War map is great, maybe only the boxes are not liked, be the reason for new maps
- Domination has a good territory structure, but it is the most ugly map around
- Consider a complete new map, personally I would not include pacific at all, but to cover everything, why not
- Drawing a new map is very easy, make it big enough, average territories should have enough unit placement spots for your units at 100% unitsize, without getting these overflow line - of course smaller territories, especially with combined forces will have it. Zoom in is always possible and still looks good, but you can never zoom out.
- try not to include ai, if it isn´t just for placement or variety, all attacks and acting as a non played player may fail
- focus on a 1 vs. 1 setup, everything else can be done later
- do some reasearch first - if not done yet - historical accuracy is always attractive, if combineable with gameplay
- It takes some time to start a map from scratch, but it is really the backbone of any good game. Worldmap shouldn´t be the problem, copy shape of continents etc. and draw/organize territories new.
- never hesitate to include new ideas, if they are questionable, just make them optional
- tons of new features allow for a very individual game, use them

Just my experience/thoughts of course.
We now have custom dice!
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Surtur2
Would love to collaborate with others.  I've always found making the baseline and doing the unit graphics is the hardest part for me (all the art stuff).  I haven't made a map with the new Map Creator yet, but using ye olde thyme map utilities (where you had to run the triplea.jar util/image/CenterPicker, PolygonGrabber, etc. individually) was somewhat tedious and time-consuming, though not difficult.  Never had a chance to do relief tiles, either.

But if anybody is interested in collaborating, and is willing to provide their graphical wizardry, I can do the .xml stuff with techs, conditions, triggers, and the like.  The Great War scenario as originally envisioned would have had tech research for new units, and the US would have entered the war late.  We never ended up being able to do custom techs, as conditions/triggers weren't around then, and the Atlantic corridor was a hack which can now be done with conditions/triggers as well.

My Great War 2.0 scenario would probably have:
-Still some kind of Western Front inset, or some way of bogging down the rate of forward progress.  I suppose this could be accomplished without extra territories, but instead with judicious and rigorous playtesting for a map designed for dead zones and defense in depth.
-It may not be cleaner in terms of gameplay to just focus on Europe, but the history geek in me wants to see the Battle of the Falklands, the conflict in German East Africa, and the Japanese assault on Tsingtao to be in a Great War map, at least.  There was so much going on, even outside the European theaters, though this petered out quickly (except in East Africa).  But beefing up Germany in the colonies can present interesting counterfactual scenarios.
-Staggered war entry for the US, and maybe Italy as well (DONE and DONE)
-More diplomacy with countries on the sidelines (Got the mechanics down, now, so this is DONE)
-Custom tech trees (as long as the tech trees involve pre-existing techs, or just new units, which is pretty much all I want, DONE)
-National Objectives (got the mechanics down, so DONE)
-Some kind of Russian Revolution event.  I was playing around with it, but I'm not quite satisfied with it from a conceptual standpoint.  Technically I can think of how to accomplish whatever in the .xml, but I'm not sure *what* to do.  Perhaps tied to some kind of war exhaustion/stability resource.  Land units would cost +exhaustion in addition to PUs, gaining territory decreases exhaustion, losing territory increases exhaustion, and exhaustion would decay each turn as well?  And if certain thresholds are breached, certain things happen?

Maybe the Tsarist government collapses with the February Revolution, replaced by the Kerensky government, but the only effect would be Finland and the Caucasus become CP-neutral, and Germany now has a Political Action to smuggle Lenin into Russia.  If Germany clicks the button, the October Revolution happens, and then all hell breaks loose with splinter/successor states: Poland (CP-neutral), Ukraine (CP-neutral), Soviets (New great power, but I guess controlled by Central Powers player, but at war with allies, neutral vs. Central Powers, but at war with CP-neutral), and the old Russian player would shift their capital to Omsk a la Kolchack and his White Russians.  Maybe even spawn craploads of Czechoslovak Legion units somewhere.

Hell, could even do this with Austria and Ottomans.  If their exhaustion reaches a certain point, they splinter.  Turkey could shift its capital to Ankara to fight the Greeks/British, Armenians and the French in Syria.

On the Allied side, could do stuff with colonial rebellions in Africa and Asia if exhaustion gets too high.  Or something like that.  Plenty of possibilities with the new .xml toys.

But first thing's first, I guess.  Need a baseline.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Zim Xero
This post was updated on .
why dont you guys use the TWW map.... too many territories?  IF you used that, all you would need is WW1 basic units which could be taken from domination/WaW as a starter until someone updates/replaces them.  Generate a simple playable xml as a base for modding.  Thats what I would do, or draw a brand new map.

IF the TWW map is too big, there are a lot of techniques to mitigate this:
1) make some territories worth 0 PUs.
2) add one movement to every unit.
3) could add blitz to every unit, and have trenches stop blitz, in addition to other trench effects.
4) make unengaged nations as neutrals with stout defenses and low PU values, to confine map.
5) make additional territories 'unpassable'.
6) A few select territories could be combined if needed.
'thats the way it is' makes it neither desireable nor inevitable
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Pulicat
In reply to this post by Surtur2
With TripleA's politics feature, you can stagger neutral country entries into the war.

Western nations mobilized in the first week of August 1914. Ottomans didn't join until October.
Then there was Italy, Bulgaria, Rumania, all staggered entry, not to mention USA.

You can also trigger the Bolshevik revolution. If central powers occupy enough Russian land and inflict enough casualties (total destroyed TUV), the Bolsheviks rise as a new rebel faction within the Russian Empire.

Same with Arab Revolt.

As for the stalemate of the Western Front, you don't always need an inset. If you use the combat round limit feature, set it to say, 2, if you don't kill enough units, the battle is inconclusive and become stalemate. Your enemy on his turn will then pour in more men to counterattack and it will just be a huge drain of men and materiel for both sides just like Verdun.

puli
how now brown cow?
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Rolf Larsson
Looking for a world map? Just take this one maybe.



it is about 4000x2000, 5 times bigger seems right. Clean up to only have pure black, white and any blue afterwards. Draw the territories you like to have, done.

We now have custom dice!
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Surtur2
I was lazy, so I used the domination map.  I haven't run any map utils on this yet, but I magnified the domination map, and made a few changes in the Shanghai/Caucasus/Arabia area.  Most of the territories are what I wanted.  Not sure whether the issue with the domination map was purely aesthetic, or had to do with the unit placement (which should be resolved somewhat with a larger map).

domination_embiggen.GIF

Starting off, major powers at war:
Germany
Austria
Turkey
France
Russia
Britain
Japan

Russia also controls Serbia, which is a separate economy, but shares units, a la UK_Pacific in 1940 Global
Britain has regional capitals operating with the same mechanic: Canada, South Africa, India, ANZAC

Italy can declare war starting turn 2
Bulgaria can declare war starting turn 3, and operates as a separate economy/shared unit thing with Germany
Romania can declare war starting turn 5, and is yet another Russian controlled power
USA can declare war starting turn 6
Greece can declare war starting turn 7, and is under the control of Britain
Brazil (+friends) can declare war starting turn 7, and is under the control of USA

CP-friendly neutrals are reduced to:
Emirate of Jabal Shammar
Mexico

Entente-friendly neutrals remain:
Portugal
Denmark
Siam

Albania, China, and Persia can be declared war upon individually

Anyway, just tossing ideas around... was thinking of how to accomplish the war weariness mechanic.  Ideally it would be, as suggested, derived from combat casualties (purely 1-for-1, instead of based on TUV); however, not sure how exactly to accomplish that with conditions/triggers.  Adding war weariness to unit purchase costs seems straightforward to implement, but is less ideal conceptually/thematically...

Regardless, however that is implemented, was thinking of having breakpoints, maybe like 50 and 100 weariness, where bad stuff can happen.  Just throwing ideas around, again:

Germany
50: Britain gets political option of supporting rebels in German Southwest Africa (if that territory is not already overrun)
100: Britain gets political option of supporting rebels in German East Africa (again, assuming not overrun)

France
50: Germany gets political option of supporting rebels in Morocco (maybe some other African colonies)
100: Germany gets political option of supporting rebels in Southeast Asia

Britain
25: Germany supports the Maritz Rebellion in South Africa
50: Germany and/or Turkey get political option of supporting the Dervish State in Somaliland
75: Turkey offers aid to the Sultan of Darfur (more rebels)
100: Germany supports the independence movement in Bengal and Punjab

Italy
50: Germany and/or Turkey get political option of supporting the Dervish State in Somaliland

Rebels are basically free troops that spawn once, and operate under the control of their sponsor nation.  Another set of bad things are independence movements:

Japan
50: Lose control of Korea (Japan loses territory ownership of Korea to Neutral_True)

USA
50: Lose control of Philippines

And for the multiethnic autocratic empires, more involved progressions:

Austria
50: breakup of Austria-Hungary
-Trieste, Croatia, and Bosnia original owner is converted to Serbia, and Serbian troops spawn
-Bohemia is ceded to successor state Czechoslovakia, controlled by France
-Galicia is ceded to successor state West Ukraine, also controlled by France
100: further breakup of Austria-Hungary
-Dual Monarchy collapses, successor state Hungary gets eastern half, but units still controlled by Austria.  Other than cosmetic change and lip service to history, only effect is it is harder to pool resources
-Carpathia original owner becomes Czech, Czech/French troops spawn
-Transylvania original owner becomes Romanian, Romanian/Russian troops spawn
-Baranya original owner becomes Serbian, Serbian/Russian troops spawn

Turkey
50: Arab Revolt
-Hejaz and Asir are ceded to Kingdom of Hejaz, under control of Britain.  Hejaz/British troops spawn
-al-Dammam and Nejd are ceded to the Emirate of Nejd and Hasa (Saudis), under control of Britain.  Saudi/British troops spawn
100: Sevres
-Greek/British troops spawn in Dardanelles, and Greece joins the war if it hasn't already
-Armenia is ceded to successor state Armenia, aligned with Allies.  Armenian troops spawn
-Palestine, Jordan, Syria, Damascus, Lebanon ceded to France
-Basra, Mesopotamia, Baghdad ceded to Britain
-Turkey becomes neutral to Allies, but has future political option of converting to a Republic, moving capital to Anatolia, and redeclaring war on Allies
-If Turkey declares war, political option to incite Arabs against Allies.  Hejaz and Saudis become neutral, and rebels spawn in newly ceded French/British territories.

Russia
50: February Revolution
-Finland (aligned with CP)
-Poland (aligned with CP, and at war with West Ukraine if it exists)
-Azerbaijan (aligned with CP, and at war with Armenia if it exists)
-Mountain Republic gets Caucasus (aligned with CP)
-Kuban Republic (aligned with CP, neutral vs. Allies)
100: October Revolution
-Soviets spawn in Petrograd, Minsk, Novgorod, Nizhny-Novgorod, Perm, Pskov, Tver, Moscow, Vladimir, Ryazan (at war with Allies, Finland, Poland, Azerbaijan, Kuban Republic, Black Army, Ukraine, Georgia, Don Republic, Estonia)
-Russian capital moves to Omsk
-Czech/French units spawn in Siberia
-Black Army units spawn in Dnieper region (I guess aligned with CP?  at war with Soviets, Russia)
-Ukraine gets Kiev, Odessa, Moldova, Bessarabia (aligned with CP, at war with Soviets)
-Georgia (aligned with CP, at war with Soviets)
-Don Republic gets Don (aligned with Allies, at war with Soviets)
-Estonia (aligned with Allies, at war with Soviets)

And with these successor states, they will only spawn if the territory is in the original owner's hands (so Russian successor states will only spawn if at least one of the territories they encompass is still under Russian control when the trigger fires).  These are actually separate nations instead of being like UK_Pacific (because it would be more interesting for them to have their own foreign policy and not be tied to a parent state, i.e. Ukraine can be at war with Soviets, but Germany is neutral vs. Soviets).  Basically, I've been playing too much Europa Universalis and I thought it would be cool to try to implement a similar mechanic in TripleA

So the political screen might be a little crowded:
Germany
Austria
Turkey
France
Russia
Britain
Japan
Italy
USA
Soviets

Serbia
Bulgaria
Romania
Greece
Brazil

Neutral_CP
Neutral_Allies
Neutral_True
Albania
China
Persia

Czechoslovakia
West Ukraine
Hungary
Hejaz
Nejd
Armenia
Finland
Poland
Azerbaijan
Mountain Republic
Kuban Republic
Black Army
Ukraine
Georgia
Don Republic
Estonia

Total:37.  Might need to cut down successor states some.  Lump them into Neutral_[CP|Allied|True]?
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Git Go
Italy was on the verge of joining Germany and Austria. The game should reflect this as there should be a roll of the die to see which side it joins during game play. If Italy would have join Germany and Austria then World War I would have not ended as soon as it did.  Just declaring war does no justice for any map if it does not take into account the percentages of them joining the Allies or not. This should be reflected. Also, the tech should reflect the weapons used during World War II. In other words tech for tanks and fighter planes that were used during WWII.

There is also no need for many types of units. Keep it simple. Infantry, artillery, Cavalry and fighters.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Surtur2
An interesting idea.  Is there a way to dynamically assign players to alliances in the .xml?  Otherwise, I guess Italy can be its own alliance, and whatever side it "joins," if that side wins, put in an additional victory trigger for Italy as well.

Perhaps each player in the war can "bid" for Italy to join (perhaps in increments of 5PUs/player/turn).  These bids are added per side, and on Italy 2, whichever side bid higher, Italy joins their side.  From then on, for the "winning" team, each player subtracts PUs equal to the amount they bid from their income, and Italy gets that much +PU/turn.  Not sure who Italy would join on a tie.  Italy really wanted Trieste, which Austria owned, so there's the historical reason to join the Allies, but from a gameplay balance perspective, perhaps ties should go to the Central Powers, since the Allies have a bidding advantage (4v3, at the cost of crippling Japan).  Secret bidding would be even more interesting, but I don't think that can be done in the engine.  Having Italy not be part of a fixed alliance would make the game a pain to balance, though.

An alternate method may be just to stack bribes (one time PU cost), while keeping Italy in the Allies.  Each player can contribute up to X PUs per turn, and at the start of Italy's turn, if (sum(Allied_bribes) > sum(CP_bribes)+Y), then Italy can declare war?

Could do something similar for the US.  Have a meter where all PUs lost to Central Powers convoy disruptions go into the meter, and if it hits a threshold, the US can join the war.  That's in addition to the Mexico option (since Mexico is Neutral_CP, if any CP unit holds Mexican territory, then the US also can enter the war).  So if the Central Powers give the Allies a free hand in the naval game (and stays out of Mexico), the US (and Brazil) stays out of the war.

Greece and Romania could also stay out if the war weariness of their local Allied power is greater than that of their immediate rival (as that means the Allies are probably losing, at least locally).  Romania would be Russia vs. Austria war weariness, and Greece would be Britain vs. Turkey.  If and until the Allied power has a lower weariness than the associated CP (and the requisite number of turns have been reached), Romania and Greece cannot enter the war.  The only exception would be if Turkey hits 100, and the Sevres event triggers.  Then Greece will enter and start grabbing land.  Or something.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Surtur2
Dang.  The centerpicker was sluggish but still functioned.  But the Polygon Gragger is going OOM, and I keep upping the heap size until I hit the 32bit max heap size.  May have to outsource to someone with a 64bit address space, or redesign the map to be the same size as original domination ~8000x4000, only with fewer (larger) territories.  Fewer territories would probably mean shorter games, unless I went with the limited combat rounds idea.  So limited combat rounds will be in the final product unless I can get the bigger map going.

Back to the (literal) drawing board.  In terms of an outline of possible territories:
Germany
Berlin and/or Brandenburg
[East] Prussia
Silesia
Mecklenburg and/or Pomerania
Schleswig-Holstein and/or Hanover, as the primary naval center
Saxony
Westphalia
Bavaria (and maybe Munchen or something, since Bavaria is big)
and not sure how to divide up the rest of the southwest (Hesse/Nassau/Wurttemburg/Baden/Alsace/Lorraine)

Germany controls Belgium out of the gate, but not sure whether there should be a separate Flanders or Calais territory for British troops to chill out on.

France
Paris
Picardy
Champagne
and then whatever elsewhere

Russia, Austria, and Turkey all need enough space for possible successor states to spawn, but even on the domination map, there is enough room.  The only other place for worry is the Alpine front.  Distance is short, just like the Western Front, but that gets solved with limited combat rounds.  Just need to make sure territories are large enough to fit unit graphics.  Venice, Milan, Tyrol and Trieste, possibly Salzburg.

In other news, flag graphics (including possible successor states if empire collapse is something that ends up in the final product) are done at least.  Unit graphics are just recycled from domination + 1940 global.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

blumb
In reply to this post by Rolf Larsson
Lots of good stuff going on. I can only chime in with a cheers for for now. Life is too busy for me to dig into an xml or playtest for a few more weeks...
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Surtur2
Alrighty, I decided to go with the TWW map as a base.  I changed the names of some territories, combined some, and split others.  Progress should go at a decent pace from here on out, as most of it will be xml instead of artsy stuff.

I may have an out of date version of the TWW map, but I encountered some spelling issues when I adapted the map:

1. Penninsula (Kola, Florida) -> I think it should be "Peninsula".  For Kola the spelling error goes all the way down to the centers.txt/polygons.txt/place.txt, but for Florida the spelling error is just in the misc graphics layer.
2. Central Egpyt -> "Egypt"
3. Phillippines [Islands] -> I think it should be "Philippines" with one "L"
4. Carribean -> I think it should be "Caribbean"
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Surtur2
This post was updated on .
Got the initial setup all done + tech trees.  No successor states yet, currently working on diplomacy.  Timeline is a bit murky, but thinking early August 1914.
Initial Allies:
France
Russia
Serbia as a satellite power of Russia
UK (+ satellite Dominions)

Initial Central Powers:
Germany
Austria

Historically Japan had just issued its ultimatum to Germany and Austria, which is reflected by a possible J1 war declaration.

Got a few user/political action types down:
1. Plain vanilla (+conditional) war declaration (e.g. Japan declares war on Central Powers, or US can declare war on Central Powers when X,Y,Z).  Works out of the box.
2. Great power can, as a userAction, give economic aid to its satellite minor power X times/turn (e.g. Russia gives Serbia 5PUs).  Was pretty easy to do.
3. Have an event chain whereby Germany can sign a treaty with the Turks, making Turkey Friendly, at the cost of PUs, representing their "gifting" of the Goeben and Breslau.  The subsequent turn, or any turn thereafer, Germany has another userAction to conduct a raid, giving -5PU to Russia and immediately causing a state of war between Turkey and the Allies.  I've implemented and tested this, and it works fine.

Have a couple of blocking issues, however...

A. For Italy, Romania, Bulgaria, and maybe Greece, I was thinking of implementing another resource, say "Influence."  Was thinking of either having one meter, and 100 = joins the Allies, and 0 = joins the Central Powers, with some start value determined by the historical diplomatic state August 1914, or alternatively, have two separate meters for Allies/Central Powers, and 100 on the Allied scale means joining the Allies, 100 on the CP scale doing the same.  Problem is, I haven't been able to find any way to write the conditional (If ResourceCount(X) > Threshold Y) in the .xml.  I figured I'd ask around to save myself trouble sifting through the code in the repo.

B. The influence meter, which would be filled by "donations" (limited to X/turn), would allow the Allies to fill it faster for Italy/Romania, and slower for Bulgaria, so that assuming everyone paid their dues, Italy and Romania would join the Allies on a schedule, and Bulgaria would join the Central Powers on a schedule.  In addition to this, I wanted to allow a nation to seize a desirable piece of land and gift it to Italy in order to immediately have Italy join their side, circumventing the influence meter.  So, for example, Italy would like Tunisia (owned by France), Trieste or Croatia (owned by Austria), Albania (Neutral), Peloponnese and Crete (owned by Greece).  A power could gift territories that it currently owns but is not the original owner of (to prevent Austria from just gifting Croatia or France from gifting Tunisia right off the bat).  So if Austria really wanted Italy to join the Central Powers, the could declare war on Albania, take it, and give it to Italy on the next turn.  So if the influence meter wasn't close enough to the top, the Allies would be forced to either retake Albania, or gift a territory they got off of Austria (like Croatia or Trieste).  Bulgaria would have something similar with Serbia (Russia), Macedonia (Greece), and maybe Thrace (Turkey), Romania would have Transylvania (Austria), Bessarabia (Russia).  Wanted to solicit thoughts on this dynamic.

C. Would it make more sense to have Italy, et al., be its own alliance, like Spain/Sweden in vanilla Total World War, and then save/reload with the appropriate player?  Or rather start as Allies alliance but neutral relationships, and if Italy "joins" central powers, either gift territory/units to one of the CP players (either the one that gifted territory, or Austria by default via influence meter)?  Or if Italy joins CP, make all units/territories Friendly_Neutral towards the CP?

D. Wanted to implement a war weariness mechanic of some kind.  I notice in the Civil War map floating around there's a destroyedTUV option, but this is kind of the inverse of what I need.  Is there an implemented option that has the quantity of your *own* units destroyed (as opposed to the quantity of *enemy* units destroyed)?

E. For the US, I was envisioning three different Casus Belli's which would allow the US to declare war: 1) Central Powers declare war on any of Neutral_True, Brazil, or China, 2) Central Powers land units in Mexico, or 3) Influence meter goes 100% Allies.  Unlike Italy, Romania, Bulgaria, the influence meter for the US would only ever go in favor of the Allies, and it would be filled by convoy losses. (So Germany could prevent US entry to the war by forgoing convoy damage, not attacking Neutral_True, Brazil, and China, and not going to Mexico)  Was wondering whether there is any option tag that allowed this convoy damage value to be referenced?  Otherwise, I guess I could hack around and fill the meter by simply counting CP vessels in convoy zones, but that seems less elegant.

F. For Greece, was iffy on its diplomacy implementation.  At the start, Greece had a defense treaty with Serbia if Serbia was attacked by Bulgaria, but the king was pro-Germany, since the Kaiser was his brother-in-law, whereas his prime minister was pro-Entente.  There would be four events I'd somehow like to put in.
1) The Allied occupation of Salonika (which would be initiated by France or Britain), which is an event which basically cedes control of that territory to the Allied power, possibly with an influence impact.
2) At some point, or under certain circumstances, the Allies could attempt a coup.  Historically it failed, and Venizelos set up a rival government in Salonika.  The Royalists retreated to the Peloponnese, but France couldn't move against the king because he was related to the Tsar.  Not sure how to do this in-game.
3) If I can get the war weariness mechanic working, once the February Revolution event triggers in Russia, that would allow France/Britain to force the king to abdicate, and Greece would join the Allies
4) Again, if I can get the war weariness mechanic working, if the Ottoman Empire has the Sevres event fire, then Greece would immediately join the Allies to grab Turkish land, king or no.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

Pulicat
In reply to this post by Rolf Larsson
For anyone interested in the Domination map base, check out Black Elk's thread here:

http://tripleadev.1671093.n2.nabble.com/World-Map-projection-td7585026.html#a7585067
how now brown cow?
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

blumb
In reply to this post by Surtur2
I think Surtur2's territory values should be used. The values in the colonies combined with the National Objectives make the map more playable imo.

As far as the frontiers go, staying with I'mbaked's for the time being seems best to me. Once NM'sL is up an running with the new politics, what tech and units changes are needed will become more apparent.

I personally don't like having a common base frontier. I'd find it easier to accept a CP base and Allied base... not that I'm advocating that.

Over the next week or so I'll work on melding the two xml's together out of the existing code. My intent is to only change what is necessary about to make the politics and NO's work and change pu values. There will be the need to do some balancing.

How does this sound? Input?

What about stuff like airbattles? Any general thoughts on rule changes?

Also there is need of some Indian Revolt triggers that go off if the UK leaves territories unoccupied there.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

hepster
This post was updated on .
A lot of great stuff going on here.

For my 2 cents....

1) TWW is a great map ( biased opinion for sure ), however I think that while the scale would be good (meaning the overall size of the map itself) the European theatre is lacking in the same way the Domination map is.  Just not enough territories to do the game justice without it becoming a stacking game the whole way from start to finish.

2) The Russian border is also to small with far to easily maintained choke points.  The vast area there should render trenches ineffective for anything other than holding a specific territory.

3) Overall trenches need to be re-thought.  In "Bakes" version they are simply free casualty hits.  They are over utilized and under emphasized relative to their importance to the war and how it was waged.  I have my own ideas on the matter but I will keep them to myself for the time being.

4)  Regional spending patterns need to be controlled.  So many games suffer from the... "I think I'll drop a battleship off of German East Africa" syndrome.  Frankly it is nothing more than silly, while also making game balance so much harder to achieve when any nation can simply drop what-ever where-ever when-ever.  Colonial territories should have limited production capabilities.  There are many ways to "attack" this issue, but for a good game this needs to be addressed.

5)  Political landscape should be dynamic.  Lots of regional stuff going on in WWI.  Many of the ideas already presented are great with lots of different potential implementation strategies available.

6)  The technology tree could be made to be astounding!  So much going on in this period that it could be a treasure trove to a WWI game.


blumb wrote
What about stuff like airbattles? Any general thoughts on rule changes?
From my perspective... if ever there were a scenario where air units should be dealt with separately from land battles, it'd be a WWI game.

blumb wrote
Also there is need of some Indian Revolt triggers that go off if the UK leaves territories unoccupied there.
Another great idea for this scenario, for multiple places on the map.

I'd love to get involved with this, alas my time is limited and with so many other things going on I genuinely feel any commitment I made to this would go unfulfilled.

Can't wait to see what comes out of this though.
“A man can never have too much red wine, too many books, or too much ammunition”― Rudyard Kipling
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

blumb
1) I think there is need and want of 2 maps to come out of this. One that is "WaW style" which is what NM'sL is and one that is "TWW style" in look, feel, similar constructions and new tech tree. Seems that working out details on the domination map as many have been doing will make it easy to copy/paste together the xml on a new map base.

2) Agreed the Russian front needs some redraw. The Bolsheviks will be handled differently and not they will not be there until G7+ once Surtur2's politics are folded in so the Russian dynamic is changing...

3) I'd like to hear your thoughts on trenches. Many things could be done. They could be made to only be hit by certain units via offensive aa. Also if the dice sides and unit values are raised the presence of each enemy trench could lower the attack value of x number of inf...  

4) I agree. Easy enough to do on a "TWW style" map to a certain extent, just by borrowing the construction concept. For the current "Sieg style" map Imbaked's use of colonials is a flavourful start. Surtur2's has a different production thing going on that has it's advantage. It's more like v5? There is small ic that produce 3 on >2 territories and large ic that produce 10 on >3 territories. If the small ic's are made to only be able to produce "lighter" units, the colonies will produce more appropriately.

5) Surtur2 put a bunch of quality work into politics. The merge is forthcoming...

6) Agreed. I full ww1 tech tree would be sweet on a "TWW style" map. Personally, I think it best for the time being to skim a few techs from Surtur2's (dogfighting, make bombard a tech), add them to NM'sL and not have NM'sL tech treed. Politics, NO, and extra nations is going to make NM'sL much more complex but, I think it is advantageous to have it as simple as possible in some ways too. I would like a art return fire if bombarded tech... but I'm not touching the tech for now.

7) Introducing airbattles raises many questions about how to handle units during battle. Should inf be able to shoot down fighters? Should lg art be able to get an aa tech? Could a combination between what I was suggesting in #3 about trenches and battle rounds make equipment superiority a viable option?

8) Yup, things to do... I'm just folding the two xml's together as I described for the most part right now. Quite a bit of work in itself... if anybody wants to work on the xml while I'm doing this...

there's the indian revolt triggers...
tech could get worked on, even treed tech
a code for friendly fire by gas units could be written...

Quite frankly when the two existing 1914 mods are merged it's gonna get a lot more interesting.
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

hepster
blumb wrote
1) I think there is need and want of 2 maps to come out of this. One that is "WaW style" which is what NM'sL is and one that is "TWW style" in look, feel, similar constructions and new tech tree. Seems that working out details on the domination map as many have been doing will make it easy to copy/paste together the xml on a new map base.
When I was talking about map revisions...I actually have to admit that my first thought was of WAW.  The quality and detail of the work Sieg has done is beyond reproach.  The qualifying statement being... is that the scale of the map has always been to small for me.  I'd much prefer a larger map which I can zoom out on (especially since the vast improvements Veq has made on the map zoom features) than to have a base map which is done at such a scale that unit sizes are so small that at the pre-set values,  I can barely tell what they are.  It's less about being like TWW for that sake, then it is about looking at what Triple A can do now that it couldn't 3 years ago.  Re-envisioning what a map looks like for the game requirements and then designing its elements around adjusting the settings to suit you individual needs and/or preferences.

blumb wrote
2) Agreed the Russian front needs some redraw. The Bolsheviks will be handled differently and not they will not be there until G7+ once Surtur2's politics are folded in so the Russian dynamic is changing...
As I said... great ideas.

blumb wrote
3) I'd like to hear your thoughts on trenches. Many things could be done. They could be made to only be hit by certain units via offensive aa. Also if the dice sides and unit values are raised the presence of each enemy trench could lower the attack value of x number of inf...  
I'm sure we will have ample opportunity to discuss this over the up-coming months as this grand idea starts to take solid form.

blumb wrote
4) I agree. Easy enough to do on a "TWW style" map to a certain extent, just by borrowing the construction concept. For the current "Sieg style" map Imbaked's use of colonials is a flavourful start. Surtur2's has a different production thing going on that has it's advantage. It's more like v5? There is small ic that produce 3 on >2 territories and large ic that produce 10 on >3 territories. If the small ic's are made to only be able to produce "lighter" units, the colonies will produce more appropriately.

I wasn't trying to lead you down a TWW path (necessarily).   That being one with (relatively) complex levels of constructions, but rather to take a closer look at construction in a semi divisional sense.... ie. Lvl 1 factory can produce Inf. (Be them national or Colonial), a level 2 factory might be capable of Inf + Some secondary unit constructions, and lastly a lvl 3 factory that is capable of building all units.    The idea being that this could then afford you the luxury of combining some more "common practices" while adding very unique elements to the game.

blumb wrote
5) Surtur2 put a bunch of quality work into politics. The merge is forthcoming...
Again.... some very quality ideas.  Since I have yet to DL the Sutur version I have yet to see exactly what his design encompasses.

blumb wrote
6) Agreed. I full ww1 tech tree would be sweet on a "TWW style" map. Personally, I think it best for the time being to skim a few techs from Surtur2's (dogfighting, make bombard a tech), add them to NM'sL and not have NM'sL tech treed. Politics, NO, and extra nations is going to make NM'sL much more complex but, I think it is advantageous to have it as simple as possible in some ways too. I would like a art return fire if bombarded tech... but I'm not touching the tech for now.
I will tell you this from my own experiences and those of the many responses I have seen in my lengthy history.... the more you can do to involve a developing system of technologies will never go wrong with the gaming croud.

blumb wrote
7) Introducing airbattles raises many questions about how to handle units during battle. Should inf be able to shoot down fighters? Should lg art be able to get an aa tech? Could a combination between what I was suggesting in #3 about trenches and battle rounds make equipment superiority a viable option?
So many questions... yet so many tantalizing options to go with.  Such is the nature of taking things in an uncertain direction.  And... as a side note is why TWW has already had 10-15 versions already.  (None of which have been a failure since we have learnt something new each time).

blumb wrote
8) Yup, things to do... I'm just folding the two xml's together as I described for the most part right now. Quite a bit of work in itself... if anybody wants to work on the xml while I'm doing this...

there's the indian revolt triggers...
tech could get worked on, even treed tech
a code for friendly fire by gas units could be written...

Quite frankly when the two existing 1914 mods are merged it's gonna get a lot more interesting.
All true.  And I wait with great anticipation... just trying to help broaden the horiziens as you go.
“A man can never have too much red wine, too many books, or too much ammunition”― Rudyard Kipling
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

blumb
Well it went a little quicker that I was thinking...

NM'sL-wip

http://www.mediafire.com/download/8vm2lxl272ac9fu/NM'sL_wip.zip

Here we have the 1st merge of the 2 mods. There is quite a bit going on within this...

I patched together game notes out of Surtur2's posts mostly, they are lacking some details :(

Seems that there hasn't been many people that looked into Surtur2's mod. The intention of this update/edition is to "test the waters" and see how folks like the politics and national objectives which he provided.

I have also included much of the rule base and a few units from Surtur2's mod. Factories are different, they are like v5 rules. There are airbases and harbours. There is amphibious scramble and bb repairs need a harbour.

I used Surtur2's unit placement, only switching all artillery to field_guns out of necessity. Personally I think it';s too busy of a start. I'm anticipating some slight unit changes in the future. A sparser map would help with the growing pains...

The xml titled NM'sL-wip(blank slate) only has the neutrals placed. It is for balancing suggestions via save games.The Bedouins are in the Persians frontier but currently unused.

Hepps your gas unit image is in there... Japan and somewhere else... Units could use a little help. Wink wink. Perhaps in the future I'll do a bit of foraging through the pre-existing ones out there and switch some orientations. Is there somewhere that all the TWW units can be found without the nation tokens?

There is lot to iron out rule wise...

I would really like to move into the direction of the trench rules and air superiority rules I mentioned in the previous post. Add to my previous comments a territory limit on trenches and the necessity of battle rounds being limited. I'm thinking 10 trenches 4 rounds.

I would also like to propose production of air needing a factory and an airfield, this will allow colonial production after the minor factories are fixed.

Stuff that needs to get done...

1)Indian revolt triggers
2)make minor factories only produce "light" units
3)work on techs (dd as tech, reverse bombard?, dogfighting?)
4)gas friendly fire code
5)unit image swapping
6)a new map...
7)rules discussed
8)game notes fixed

I'm not gonna work on the code till a few comments come in.
Imbaked, Surtur2 what are you guys thinking about the merge and where to go from here?

Any and all input welcome.

Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

hepster
Sounds exciting!

I just DL'd the link.  Perhaps you'd be so kind as to meet me in the lobby at some point to take this bad-boy for a test drive.

See you in the ether.
“A man can never have too much red wine, too many books, or too much ammunition”― Rudyard Kipling
Reply | Threaded
Open this post in threaded view
|

Re: All WW 1 attempts gathered

miccal99
Well,

I loaded it up, and when I get to the German purchase phase, I am getting this long error string, and the game  does not advance unless I decline to build anything:

triplea.engine.version.bin:1.8.0.3
java.lang.IllegalStateException: Cant load: factory_upgrade  looking in: units/Germans/factory_upgrade.png
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:213)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:204)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImage(UnitImageFactory.java:219)
        at games.strategy.triplea.image.UnitImageFactory.getIcon(UnitImageFactory.java:257)
        at games.strategy.triplea.ui.ProductionPanel$Rule.getPanelComponent(ProductionPanel.java:341)
        at games.strategy.triplea.ui.TabbedProductionPanel.getRulesPanel(TabbedProductionPanel.java:247)
        at games.strategy.triplea.ui.TabbedProductionPanel.initLayout(TabbedProductionPanel.java:100)
        at games.strategy.triplea.ui.ProductionPanel.show(ProductionPanel.java:103)
        at games.strategy.triplea.ui.TabbedProductionPanel.getProduction(TabbedProductionPanel.java:71)
        at games.strategy.triplea.ui.PurchasePanel$4.actionPerformed(PurchasePanel.java:158)
        at games.strategy.triplea.ui.PurchasePanel$3.run(PurchasePanel.java:142)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalStateException: Cant load: factory_upgrade  looking in: units/Germans/factory_upgrade.png
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:213)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:204)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImage(UnitImageFactory.java:219)
        at games.strategy.triplea.image.UnitImageFactory.getIcon(UnitImageFactory.java:257)
        at games.strategy.triplea.ui.ProductionPanel$Rule.getPanelComponent(ProductionPanel.java:341)
        at games.strategy.triplea.ui.TabbedProductionPanel.getRulesPanel(TabbedProductionPanel.java:247)
        at games.strategy.triplea.ui.TabbedProductionPanel.initLayout(TabbedProductionPanel.java:100)
        at games.strategy.triplea.ui.ProductionPanel.show(ProductionPanel.java:103)
        at games.strategy.triplea.ui.TabbedProductionPanel.getProduction(TabbedProductionPanel.java:71)
        at games.strategy.triplea.ui.PurchasePanel$4.actionPerformed(PurchasePanel.java:158)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:124)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalStateException: Cant load: factory_upgrade  looking in: units/Germans/factory_upgrade.png
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:213)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:204)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImage(UnitImageFactory.java:219)
        at games.strategy.triplea.image.UnitImageFactory.getIcon(UnitImageFactory.java:257)
        at games.strategy.triplea.ui.ProductionPanel$Rule.getPanelComponent(ProductionPanel.java:341)
        at games.strategy.triplea.ui.TabbedProductionPanel.getRulesPanel(TabbedProductionPanel.java:247)
        at games.strategy.triplea.ui.TabbedProductionPanel.initLayout(TabbedProductionPanel.java:100)
        at games.strategy.triplea.ui.ProductionPanel.show(ProductionPanel.java:103)
        at games.strategy.triplea.ui.TabbedProductionPanel.getProduction(TabbedProductionPanel.java:71)
        at games.strategy.triplea.ui.PurchasePanel$4.actionPerformed(PurchasePanel.java:158)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:124)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalStateException: Cant load: factory_upgrade  looking in: units/Germans/factory_upgrade.png
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:213)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:204)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImage(UnitImageFactory.java:219)
        at games.strategy.triplea.image.UnitImageFactory.getIcon(UnitImageFactory.java:257)
        at games.strategy.triplea.ui.ProductionPanel$Rule.getPanelComponent(ProductionPanel.java:341)
        at games.strategy.triplea.ui.TabbedProductionPanel.getRulesPanel(TabbedProductionPanel.java:247)
        at games.strategy.triplea.ui.TabbedProductionPanel.initLayout(TabbedProductionPanel.java:100)
        at games.strategy.triplea.ui.ProductionPanel.show(ProductionPanel.java:103)
        at games.strategy.triplea.ui.TabbedProductionPanel.getProduction(TabbedProductionPanel.java:71)
        at games.strategy.triplea.ui.PurchasePanel$4.actionPerformed(PurchasePanel.java:158)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:124)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalStateException: Cant load: factory_upgrade  looking in: units/Germans/factory_upgrade.png
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:213)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:204)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImage(UnitImageFactory.java:219)
        at games.strategy.triplea.image.UnitImageFactory.getIcon(UnitImageFactory.java:257)
        at games.strategy.triplea.ui.ProductionPanel$Rule.getPanelComponent(ProductionPanel.java:341)
        at games.strategy.triplea.ui.TabbedProductionPanel.getRulesPanel(TabbedProductionPanel.java:247)
        at games.strategy.triplea.ui.TabbedProductionPanel.initLayout(TabbedProductionPanel.java:100)
        at games.strategy.triplea.ui.ProductionPanel.show(ProductionPanel.java:103)
        at games.strategy.triplea.ui.TabbedProductionPanel.getProduction(TabbedProductionPanel.java:71)
        at games.strategy.triplea.ui.PurchasePanel$4.actionPerformed(PurchasePanel.java:158)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
        at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:124)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.IllegalStateException: Cant load: factory_upgrade  looking in: units/Germans/factory_upgrade.png
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:213)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImageURL(UnitImageFactory.java:204)
        at games.strategy.triplea.image.UnitImageFactory.getBaseImage(UnitImageFactory.java:219)
        at games.strategy.triplea.image.UnitImageFactory.getIcon(UnitImageFactory.java:257)
        at games.strategy.triplea.ui.ProductionPanel$Rule.getPanelComponent(ProductionPanel.java:341)
        at games.strategy.triplea.ui.TabbedProductionPanel.getRulesPanel(TabbedProductionPanel.java:247)
        at games.strategy.triplea.ui.TabbedProductionPanel.initLayout(TabbedProductionPanel.java:100)
        at games.strategy.triplea.ui.ProductionPanel.show(ProductionPanel.java:103)
        at games.strategy.triplea.ui.TabbedProductionPanel.getProduction(TabbedProductionPanel.java:71)
        at games.strategy.triplea.ui.PurchasePanel$4.actionPerformed(PurchasePanel.java:158)
        at games.strategy.triplea.ui.PurchasePanel$3.run(PurchasePanel.java:142)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
123