Best posts made by alkexr
RE: Fallen Empire
Progress report #6 (Part 1)
March 15 is a national holiday in Hungary celebrating the 1848 revolution, the only victorious revolution in Hungarian history (although the ensuing war of independence was crushed a year and a half later... Hungarian history isn't a history of success, you know). In addition to progress with the map, this 4-day weekend resulted in (to probably evereyone's surprise at this point) a new helpful tool for map creation. This one I spent more time polishing, so it should be stable.
TripleA Utility for Naming Territories
This c# console application generates territory names with icons showing territory PUs and resource production, and optionally generates a name placement file based on centers.txt.
In order to run, you need
- the application (TAUNT.exe)
- an xml configuration file (detailed below)
- map folder already set up
- game xml
- resource icon image files
When running TAUNT.exe, you need to select an xml configuration file. If you run TAUNT.exe directly, it will try to load TAUNT.tauntcfg from the same folder it is in. You can also open any file with TAUNT.exe (right click -> open with -> choose another application). I recommend associating .tauntcfg extension with TAUNT.exe, so you can simply double click on the config file to run TAUNT.
What is this configuration xml file for? It tells the application which map you want to generate territory names for, which images you want to use as resource icons, etc.: everything the application needs to know about what you want it to do. Let's have a look at all the options through an example:
<configuration> <cfg key="map folder" value="..\downloadedMaps\Fallen Empire"/> <cfg key="resource icon folder" value="FallenEmpireData"/> <cfg key="displayed resources" value="PUs:supply"/> <cfg key="gap between icons" value="-8"/> <cfg key="gap between resources" value="6"/> <cfg key="gap below text" value="4"/> <cfg key="generate name placement file" value="yes"/> <cfg key="font type" type="Constantia" size="12" style="Regular"/> <cfg key="capital territory font type" type="Constantia" size="14" style="Underline"/> <names> <replace territoryname="Centaurs Path" displayname="Centaurs' Path"/> <replace territoryname="Conquerors Bridge" displayname="Conqueror's Bridge"/> <replace territoryname="Hordes Crossing" displayname="Hordes' Crossing"/> <replace territoryname="Monsters March" displayname="Monsters' March"/> <replace territoryname="Nightlords Knoll" displayname="Nightlord's Knoll"/> <replace territoryname="Phobetors Passage" displayname="Phobetor's Passage"/> <replace territoryname="Princes Pass" displayname="Prince's Pass"/> <replace territoryname="Progenitors Coffin" displayname="Progenitors' Coffin"/> <replace territoryname="Smugglers Hideout" displayname="Smugglers' Hideout"/> <replace territoryname="Steppes End" displayname="Steppe's End"/> <replace territoryname="Titans Fist" displayname="Titan's Fist"/> <replace territoryname="Tormentors Keep" displayname="Tormentor's Keep"/> <replace territoryname="Traders Sea" displayname="Traders' Sea"/> </names> </configuration>
You can simply just copy this xml and modify it, the best way to ensure it will be in a correct format. Let's go through what each of the options do:
- "map folder": the path of the map folder relative to the TAUNT.exe file (not the .tauntcfg file). For reference, TAUNT.exe is in the "triplea\Workshop" folder on my computer, so ".." means "triplea", and "..\downloadedMaps" means "triplea\downloadedMaps".
- "resource icon folder": where to find the resource icons. Again, path is relative, so "FallenEmpireData" means "triplea\Workshop\FallenEmpireData". Resource icon files must be named exactly the same as the resources (so "triplea\Workshop\FallenEmpireData\PUs.png" and "triplea\Workshop\FallenEmpireData\supply.png" in my case).
- "displayed resources": a colon delimited list of which resources to display. I could decide to set it to "PUs", in that case supply icons wouldn't show up. Or I could set it to "PUs:supply:XP", in which case nothing would change since no territory produces XP.
- "gap between icons": gap between icons of the same resource. They will overlap if it's negative.
- "gap between resources": gap between groups of icons of different resources. They will overlap if it's negative.
- "gap below text": gap between the text and the resource icons. They will overlap if it's negative, but why would you want to do that.
- "generate name placement file": yes/no, whether to generate name_place.txt.
- "font type": font used for non-capital territories. Style can be "Bold", "Italic", "Regular", "Underline" or "Strikeout".
- "capital territory font type": you can guess.
- replacements can be used to display a name other than the territory name. Useful for displaying weird characters, like in "Barad-dûr" or "Lothlórien" or "¯\_(ツ)_/¯".
- if there are multiple game xmls, the first one alphabetically will be used. You can't have different territory names for different xmls anyway.
- the application happily overrides stuff without asking questions, so be careful. It will not touch the name_place.txt if "generate name placement file" is set to "no".
- the application won't crash even if it encounters errors. Check the generated log.txt if the result is not what you expected.
- the application probably isn't foolproof, so if you give weird input, you might get weird results.
Part 2 coming soon with map progress and the Pirate Federation.
Today I randomly came across this map I'd made last summer as an experiment to test an idea related to unit interactions. It wasn't made for release and isn't very good (or at all), but hey, maybe someone will like it. @RogerCooper you may want to add this to your scenario list.
As for my disappearance, I've had zero time for map making, and that's unlikely to change too much. I'll want to free up some time at some point to at least incorporate the conclusions we've had about that half-finished second game of BFA. I do check the forum every week or two though, so should you really need me for something, I'll notice.
This is the official thread for the Alagaësia map. If you have any bugs to report, or questions or ideas that could make this a better map, post it here.
You can download the map from the map repository. It's under the experimental category.
The Urgals are gathering on a march against Farthen Dûr bound by the spells of the Shade Durza. In the meantime, with the young Dragon Rider Eragon on her side, Nasuada, leader of the Varden, prepares to launch an invasion of the Empire of the evil Rider, King Galbatorix, using Surda as a base. Finally seeing a hope to dethrone the immortal Rider-King, Elves and Dwarves reveal their hidden realms and join forces with the Varden to strike at Galbatorix from all sides...
Lead the armies of the Varden to victory against Galbatorix - or crush all remaining resistance against your Empire, securing your rule forever... It is your time to decide the fate of Alagaësia in this scenario based on the Inheritance Cycle by Christopher Paolini.
The game comes with two playable scenarios, a 1 vs 1 and a 1 vs 3 scenario, with the alliance of the Varden being split into three in the latter one. Consult the game notes for an explanation of the various units and their abilities.
(Original post, kept for reference)
A simpler map this time. From the idea to beta version in less than a week. Current version: 0.1 beta. Download
RE: Fallen Empire
A Big Announcement
There will be no progress reports any more.
When I announced this map back in January, the goal was to get feedback. So I decided to show off parts of the map that were almost perfectly complete. There are three main problems with this approach. First, it's pretty hard to give meaningful feedback on some pictures designed primarily to be shown off. Second, this more or less forced me into a very suboptimal development process - polishing parts of the map to near perfection while ignoring the rest. Third, and most important, this gives the impression that I actually know what I'm doing. It's just meaningless perfectionism, lack of willingness to share something incomplete, imperfect, that I'm working on.
So I think the best way to adress this problem is to release an early alpha version.
At the moment, the map is not ready even for an early alpha - I don't actually know which files belong where and where the latest version is, not talking about the map creation tools integrated into it. It's a mess. That needs no be cleared up. Also, there are some placeholders. Those need to be cleared up too.
So here is the roadmap. I will write posts about several major planned features that I didn't introduce or implement yet. Maybe brainstorm some ideas about these. In the meantime I clear up the mess. Don't forget that Alagaesia is the top priority until I release 1.0, so this might take a while. Then I release the alpha version, alongside with all the development resources here in this thread. This will hopefully give you more ammunition for feedback.
But images are so much better at sparking imagination than words.
RE: Large Middle Earth queries
Development of 1.3 version on github: https://github.com/triplea-maps/large_middle_earth/tree/version-1.3
For the first time, I will use github during development, not only for uploading the finished work. You can track the progress, download "unstable" versions for testing, give feedback or even contribute directly.
RE: Random number of units placed randomly at random turns?
What you currently cannot do is have exactly 3 brigands total appear, and those three go to totally random territories.
You can. You place units with 50% chance on a fake territory, named x_1, x_2, ... etc. Interpreting this as a binary number, now you have a totally random number between 0 and 2^n - 1. Then each territory gets a number, and a condition checks if this number is equal to our random number, and if so, places a brigand. Repeat 3x. Number of triggers required is O(Territory * Number of units to spawn).
RE: Add an Optional Turn Timer to Lobby Games
@taplayerzz To the best of my knowledge, there are no rankings, and tournaments have pretty strict rules against this sort of thing. And in a casual game refusing to continue is equivalent to a resignation in my eyes. Also, if I play any kind of game online, I do it to have fun, not to say "Ha! I won! I'm better than you!", and so I usually just ignore toxic folks.
The idea is interesting though.
Categories and/or tags
It happens so many times in mapmaking that you have to list the same things over and over. And when you later decide that something actually shouldn't be on the list, you have to check 30k lines of xml and edit your list 100 times. An example from Total World War:
<attachment name="unitAttachment" attachTo="spanishAntiTankGun" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="attack" value="1"/> <option name="defense" value="3"/> <option name="isAAforCombatOnly" value="true"/> <option name="mayOverStackAA" value="true"/> <option name="typeAA" value="AntiTankGun"/> <option name="isInfantry" value="true"/> <option name="targetsAA" value="germanMech.Infantry:germanTank:germanHeavyTank:italianMech.Infantry:italianTank:italianHeavyTank:japaneseMech.Infantry:japaneseTank:japaneseHeavyTank:swedishTank:turkishTank:brazilianTank:russianMech.Infantry:russianTank:russianHeavyTank:britishMech.Infantry:britishTank:britishHeavyTank:americanMech.Infantry:americanTank:americanHeavyTank:chineseMech.Infantry:chineseTank:spanishTank:swedishTank:turkishTank:brazilianTank"/> <option name="maxAAattacks" value="1"/> <option name="transportCost" value="2"/> <option name="movement" value="1"/> <option name="attackAA" value="2"/> <option name="damageableAA" value="true"/> <option name="canInvadeOnlyFrom" value="none"/> </attachment>
And then you have the same list of targetsAA for germanAntiTankGun and everyothernationsAntiTankGun. This is not even the worst of the cases by far, because you can simply do massed find-and-replace on it, but anyway, this is the example I'm going to use. (Just so that I don't use my own maps as examples.)
Solution #1: Categories
First define a category of things, which is basically a list. What sort of things the category contains is defined by the "type" property. Things can be units, territories, support attachments, trigger attachments, technologies, production frontiers, etc., sky is the limit. Anywhere where you could use a colon delimited list, you can use the name of a category instead. In effect it should be exactly as if you listed every element of that category. (A simple special case of a macro, if you will.) So basically the example code becomes
<categories> <category name="anyMech.Infantry" type="unit"> <element name="germanMech.Infantry"/> <element name="italianMech.Infantry"/> <element name="japaneseMech.Infantry"/> <!--etc. won't list all--> </category> <category name="anyTank" type="unit"> <element name="germanTank"/> <element name="italianTank"/> <element name="japaneseTank"/> <!--etc. won't list all--> </category> <category name="anyHeavyTank" type="unit"> <element name="germanHeavyTank"/> <element name="italianHeavyTank"/> <element name="japaneseHeavyTank"/> <!--etc. won't list all--> </category> <category name="targetedByATGun" type="unit"> <element name="anyMech.Infantry"/> <element name="anyTank"/> <element name="anyHeavyTank"/> </category> </categories>
somewhere around the beginning of the xml, and then the spanishAntiTankGun only requires
<option name="targetsAA" value="anyMech.Infantry:anyTank:anyHeavyTank"/>
<option name="targetsAA" value="targetedByATGun"/>
depending on which results in simpler xml.
Solution #2: Tags
The inverse of a category, sort of. Every attachment can have multiple "tag" elements, like
<attachment name="unitAttachment" attachTo="spanishTank" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="movement" value="2"/> <option name="attack" value="6"/> <option name="defense" value="4"/> <option name="transportCost" value="4"/> <option name="canBlitz" value="true"/> <option name="canInvadeOnlyFrom" value="none"/> <tag name="AT_target"> </attachment>
This should function exactly as if there was a category named "AT_target", containing exactly the things that have the "AT_target" tag. In some cases, categories would be more convenient, sometimes tags, but either one of them would be a great improvement over nothing.
The most important question is: Can I reliably expect either of the two implemented by, say, this summer at the very latest? If not, then I'll have no choice but to unilaterally fall back to
Solution #3: I'll write a script that generates functional game xml from a much simpler code
And the degree of my annoyment with the tediousness of the map creation process leads me to conclude that this project will actually result in a complete map creator alongside with no free time for me in the next year or two.
RE: Fallen Empire
Progress report #5
After a period of chronic low productivity and Stellaris 2.0 coming out and excitement about Habsburgs, I continued to work on the map. I expanded the features of the game xml generator script I use. I also created another script, so now I can tweak unit design by snapping my fingers. It also makes creating new unit images a bit easier. If I continue like this, soon enough I might find that I spend more time on map creator scripts than on the map itself I do plan to share these tools as soon as they are stable (i.e. don't crash every single time they encounter something unexpected with cryptic error messages).
I still haven't absorbed all there is to learn from the graphicsmancy Hepps did to my units, but I already managed to tweak unit design to look somewhat better:
I also tried my best to polish a new faction to near-completeness:
The White Khanate
The wide plains beyond the river Orut are the homeland of a semi-nomadic people. Their main strength lies in the mobility of their armies: all of their land units are mounted on horses, even the shamans. Their attack-focused units and terrain bonuses make them especially devastating on plains.
- Steppe raiders: 3 attack, 1 defense mounted archers with 4 movement. +1 bonus in plains and settlement terrain. When attacking, they have 2 flank (-2 to 1 enemy foot). They also get 1 shoot against flying units.
- Khans guard: 3 attack, 2 defense heavy mounted units with 3 movement. +1 bonus in plains. They get a strong 3 charge against foot units, both on the offense and defense. They also have leadership: they give +1 support to one unit of each category.
- Hellrider: 3 attack, 1 defense mounted units with 4 movement, who decided to ride to the afterlife through the battle. +1 bonus on plains. They have the "berserk" ability: they get 3 rolls, but die instantly after the first round of combat.
- Skullcaller: shamans of the steppes who call their ancestors to the battle from the afterlife. 2 attack, 4 defense support units. Their ancestors also protect them from sorcery: they have 3 ward when defending (-3 to 1 enemy support units). Unit image is meant to represent them carrying skulls fixed onto staves.
- Eagle: 2 attack, 1 defense flying units. They are the hunters of the steppes: with a movement of 6 and 2 hunt when attacking, they are a formidable threat to any beasts nearby. (Hunt targets enemy beast units, and kills them outright regardless of hitpoints.)
- War wagon: 1 attack, 3 defense units belonging to the special category, which is designed for units that don't really belong anywhere. They have 3 movement. +1 bonus in plains, settlement and fortified terrain. The archers in the wagon can shoot at flying units when defending with a power of 2. They also have 1 protection (-1 to an enemy unit).
They will also have a naval unit.
Herds of animals represent the plains terrain effect to look less empty.
Middle Earth: Battle For Arda - Official Thread
Middle Earth: Battle for Arda
I'm looking for games! If you want to play, just leave a comment or write a PM! Primarily, I prefer PBF games with default rules, except Low Luck ON and Low Luck for AA ON. Some map options are negotiable.
Also, if you have any savegames, just post them here! It will definitely help with balance to see the unique strategies that you found!
This post is constantly updated.
RE: Fallen Empire
... and whatever little is already established about them
A union of various humanoid and non-humanoid reptiles and similar races of varying degrees of intelligence.
Once a guild of magic in the Empire, now a group of powerful mages hungry for power. Their units are expensive - but they make up for it by strong protective capabilities. They have wizard towers in the most remote corners of the known world, to which their magic users can teleport through an astral gate (canals) from their capital in the middle of that big lake, but only if they control both ends of that gate.
A league of rich city states. They rely on a strong conventional army.
Fast-moving cavalry armies. They can sack settlements, giving them an amount of PUs if they conquer a new city for the first time.
Followers of a god barely known to outsiders. They intend to turn everyone into followers of the One. They can pray to the One to bless their soldiers fighting in
the Holy War wars that have a pointany war.
A nation of people with strong connection to the element of Fire. Recently they managed to subdue some powerful fire demons, and use them now to fuel their terrible war machines, including huge airships, which they use to devastating effect alongside with their naturally gifted pyromancers.
Bloodthirsty barbarian tribes of the north, they rely more on brute strength than strategy.
Various creatures of the forest. Naturally, they can use forest terrain to their advantage.
Filthy pirates, who feel at home on the seas and whose favourite pastime is raiding coastal cities. They don't hold private property in great respect, so they can resupply themselves in cities easily.
It has always been known that some sorcerers go mad while wandering the depths of the Abyss. But we are still totally sane, aren't we? Yes, of course, we are. So why would they want to keep us locked in? Anyway... But we will leave anyway. What? How? Yes! True! They don't understand the power of this beautiful place!
A race of avian humanoids with a strong flying army. They use humans as slaves to do the dirty ground combat for them.
The remnant of the Great Empire, the few rich trading cities who were close enough to the capital that they couldn't break free of the influence of the Emperor. Who then decided that listening to mad inventors is a great idea, and his army is now full of ever weirder contraptions.
Almost ready for release. Due to logistics considerations I've no real choice but to release early alpha by Monday afternoon. Preferred status by release: the map is functional, every player has at least one unit type done, no placeholder stuff, no hacks. "Playable", in a twisted sense of the word.
RE: Air Battle Dice
Well, you can use something like
<option name="targetsAA" value="fighter:advanced_fighter"/> <option name="typeAA" value="air_battle"/> <option name="attackAA" value="2"/> <option name="offensiveAttackAA" value="2"/> <option name="isAAforCombatOnly" value="true"/> <option name="mayOverStackAA" value="true"/> <option name="damageableAA" value="true"/> <option name="maxAAattacks" value="1"/> <option name="maxRoundsAA" value="1"/>
instead of air attack and defense. Only works if air battles last 1 round only.
RE: Middle Earth: Battle For Arda - Official Thread
Large Middle Earth - The Battle For Arda (version 2.0.3)
(Fixed a lot of stuff. Shrunk flags, air units no longer have to land, siege lasts 1 battle round only, tweaked some unit stats. Fortification now prevents charge, flank and trample by default. For full list of changes, visit GitHub.)
Most importantly, we now have awesome tooltips (kudos to @redrum!). For tooltips to be displayed properly, you need at least prerelease 10803. Now you can play knowing the abilities of your units... it certainly is going to be a refreshing experience!
Here is how it works. For targeted attacks and supports, the generated tooltips are used. The things that are appended to it: the type of the unit (melee, infantry, etc.), the abilities unseen and mountaineer (yes, I turned my back on MTG), and territory preferences. For territory preferences, only one keyword is found in the tooltip - a hastily done table in the game notes explains their meaning.
The idea behind territory preferences is that rangers and bowmen are both ranged infantry, but obviously rangers like forests, while bowmen hate it. So instead of using unit type as a base for calculating territory effects, each unit gets a fighting style of some sort. Most cavalry prefer open terrain, especially plains. Levies prefer to fight for their homes near their homes - they like settlements and plains while disliking the wilderness. Some other units prefer wilderness - forests, hills; but this comes at a cost of penalties to fighting in settlements, the opposite of the wilderness. Unyielding units are great at holding positions, while relentless units just keep attacking regardless of how unfavourable the terrain is. Etc. In general, all terrain favours the defender, except plains, which favors the attacker.
Short description of the abilities:
- armor: negative support to melee
- shield: negative support to ranged
- ranged: positive support to melee, attack only
- web: negative support to melee, defense only
- leadership: positive support (siege engines and fortifications are unaffected)
- terror: negative support (unseen units, siege engines and fortifications are unaffected)
- charge: offensive first strike vs infantry
- trample: offensive first strike vs infantry and cavalry
- flank: vs ranged infantry and siege engines
- formation: defensive first strike vs units that "charge"; can't roll more dices than there are valid targets
- siege: offensive first strike vs fortifications, kills instantly regardless of hitpoints
- antiair: defensive vs flying units
- duel: vs other units with "duel", kills instantly regardless of hitpoints
- mountaineer: can enter mountains (flying units can enter mountains too, of course)
- battlements: positive support to infantry AND negative support to non-flying non-siegeengine non-fortification
(Siege engines and fortifications are not considered "combat units", so they are unaffected by most things unless explicitly stated otherwise.)
Stuff not yet adressed:
- Halloween witches
- Game name
- Game notes
- Some unpolished unit images
- Move before or after purchase?
- Sea units
- placement picking
- balancing, balancing, balancing
PS. It's so awesome that the procedural tooltip generation knows LotR lore!
Or how else could it possibly know the name of the wizard?
RE: Middle Earth: Battle For Arda - Official Thread
Release draws near...
Planned name: Middle Earth: The Battle For Arda
Endorsed acronym: TBFA
I also plan to create a new repo for it, since
- it requires relatively recent prerelease, and as such people updating the old map could get stuck with an incompatible version
- it's been massively changed since old LME
- large_middle_earth being the folder name would make no sense anymore
- then we can keep the old version as a deterrent
Planned repo (and folder) name simply: the_battle_for_arda
Release date: whithin a week
Will likely not contain
- placements hand-picked for every single territory (it will happen eventually)
- PU placement
- awesome unit charts by @Hepps (the "unit help" menu and the auto-generated tooltips are reasonably good, so don't worry)
- finalized game notes (it will come with adequate game notes, I hope)
Waiting for feedback on all the points above and people willing to play games against me.
- PBF (never played PBF, might need some help setting it up)
- I accept at most 6 games at a time
- If I already have 4 games with the same side, I insist on choosing the other side. Otherwise, you choose side.
- Low Luck and Low Luck for AA ON (edited, as LL is apparently working)
- Free For All OFF, obviously
- Mountains restrict movement ON (It's an entirely different game without this, and not one that is relevant to balance)
- Fortification protects against targeted attacks ON (even more so)
- Units repair hits start/end turn (one or the other; not neither, not both); All units Blitz; Unlimited unique units; Buildable fortress; Sea units: you choose
- I answer any questions regarding game mechanics to the best of my knowledge.
RE: Middle Earth: Battle For Arda - Official Thread
Download version 2.0.4 here
Map has been moved to here
This is going to be the version released in-game initially (except for potential bugfixes)
You can also watch a trailer I made
Shouldn't we rename this thread to reflect name change?