Map maker of Battle for Arda -- map maker of Feudal Lords -- map maker of Alagaësia -- maintainer / creator of the monochromatic units set for mapmakers
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.
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.
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: 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: Middle Earth: Battle For Arda - Official Thread
Is there a newer thread on this map, and is it still actively maintained?
Actively maintained? Well, sort of. I would want to, but it's not always possible.
Rohan Saruman is connected to that and balance is good as well, although odd from lore perspective that it's Sauraman defending against Rohan all game rather than the opposite. From game balance point of view this works well though, as Evil is on a timer to win somewhere else before Suaraman falls.
It's a very difficult part of the map to balance. If Saruman would be stronger (I mean 4 or so additional units), Rohan would be swiftly crushed.
Angmar can hold for a very long time behind walls but is it is always the first to fall on the evil side, and the collapse in territory is always within Turn 2.
Yes, pretty much. But I want to avoid stacking even more production into their cities.
Goblin archers are totally useless, at 1/2 compared with 2/3 for goblin spearmen, they are useless even with the range support. Unless the enemy has huge stacks of eagles, it's not useful at all.
They get large bonuses in hills and forests. Goblin archers are one of the strongest units against Lórien IMO.
The free people Pony riders is way too good for a 4 cost unit. Either make it cost 5, or make it a 1/1. Just the 4 move 1HP unit is worth 4, even if it has minimal combat value. While the regular hobbits aren't bad, they are completely overtaken by the choice of pony riders.
I was just about to nerf pony riders last time when life started happening.
I feel the new map is too busy with too many abilities. I understand the joy of creation, but each change has a high chance of limiting legitimate options while introducing trap options.
Well, I boldly went where no man had gone before, to see what was there, what worked and what didn't... I've learned a lot from it, and although I would do many things differently, I don't regret the slightest bit of work I've put into it. My very goal with this map was to show the world that units can be more than just 3 numbers, even in premodern settings.
About the balance. Good will win 10/10 times in this map, given equal skill level on both sides. Good start with more TUV, PU and Production. Good also is in a much stronger position to begin with.
Much of that TUV advantage is just walls. Also, there are other factors in play, not just raw stats. Maybe Good is somewhat stronger though.
Angmar is alone vs 5 other teams, that is like a chess game where white side has 5 moves for every move on the black side.
Having the same number of units distributed among 5 players means more canopeners, but it also means you can only use a fifth of your total force in a single attack, which makes taking fortified positions difficult. It's a tradeoff. The problem with Angmar is not that there are 5 players against them, but that those 5 players are like 3 times as strong as them.
Rohan is not under any pressure from Saruman in the start of the game, their units are much stronger, and they start with more. In 2 turns Freefolk can attack Saruman in the rear.
Yes, but I don't think this can really be resolved without changing the map itself (or creating even more problems).
Anyway. Here is a save game. It is a 5 player, game 3 good vs 2 evil.
Hi, Flanagan here, creator of the original Middle Earth map and units. I just wanted to say this looks great and give my approval and support.
Hi! I forgot to mention anywhere how shamelessly I ripped off or stole some unit images, player colors, game notes format and whatnot from that old map of yours. But probably everyone knows it anyway. Thanks a lot for that map. It was one of my favourites back then, when I found TripleA. You probably deserve a line in the credits for all that.
Some have commented that Angmar is near impossible to play successfully. It would be easier for Angmar if they had a really cheap defensive unit to stack up or to go out with the Dragons. Bats could be added to Angmar too. Such cheaper units could help soak hits to prevent dragons from dying as easily in border territory skirmishes and help maintain a land buffer between Angmar's capital and her enemies. In addition, Arnor could be weakened (fewer unit options and no starting ramparts) and depend on allies to stand up to a full-on Angmar assault
That sounds like too much. If Angmar is on the offense, then where exactly does Good have a chance at gaining ground? I'm not saying they should collapse immediately like they do now, but if they can go on a rampage, that has to mean Evil is clearly favored. But I do see your point.
I believe that the North Kingdom was an abandoned, wild and sparsely populated region in the LotR.
At the time of the War of the Ring, Arnor didn't exist, nor did Angmar. Annuminas, Fornost, Amon Sul, Carn Dum were all in ruins and mostly or completely abandoned. But this is not the War of the Ring, this is the Battle for Arda, where these factions exist in their full glory... well, alright, in some of their former glory.
It appears that Lorien is vulnerable to a combined Saruman and Orc assault strategy. However, this could be dissatisfying since the Saruman/Rohan conflict is so central to the books/movies. Anything to make the Saruman/Rohan conflict more central to the game would be of interest to fans, I believe.
Third (?) comment mentioning how bad the Rohan-Saruman front is. Which it is. Unfortunately, I don't have good ideas to solve this, aside from significantly overhauling the layout of territories around Rohan. Which is a lot of work, and importantly, a lot of work not only for me.
If more evil players are needed, a Variags of Khand player could be added. Make them with fast moving units (perhaps similar to Rhun). They could choose to move North or West, which would add more variation in play from game to game.
There is a reason they were removed at some point since the old Middle Earth map. They aren't fun. Too small, too far away from anything, and only roughly 1 canonical locations available to work with. Even the much larger Harad is struggling with similar problems.
Thanks, everyone, for all your feedback and supportive words! I've read and considered all of your points, even if I didn't respond to each one of them. It's possible that some update is going to come in the near future. I'll also try to respond faster next time, I'm probably not setting a very high bar with that.
RE: Map Maker Resources
Added a set of monochromatic units (similar to those used in Lord of the Rings, Game of Thrones, Battle for Arda, Battle of Aventurica and others). Contains a total of 118 unit images, including many that have never been released.
All images are 40x40 pixels, and share the same style. The highlights and shadows were generated by a script. If you want to add your own images to this collection, please contact me first to ensure uniformity of style.
Latest posts made by alkexr
RE: RFC - In-Game Map Uploads
What is difficult about repository upload exactly?
I can share my first experience I had with GitHub a couple of years ago. I tried desperately to find a GitHub turorial, googling "GitHub tutorial for dummies", but turns out I was more of a dummy than anyone dared guess. Some questions I couldn't find an answer to were:
- What is even a "repository"?
- What is this "commit" thing? Why can't I just change the files and call it a day?
- What is "pull" and "push"? What is the difference?
- If I have already committed changes, why is there still a need to push? Or pull?
See, the problem was that I had a mental model about repositories and stuff, but it was the wrong model. I tried to think of a repository as something like a folder. Multiple branches - multiple folders! Add a file to a folder - why isn't that file in the "same" folder online? If I merge a branch - how does it know which folder to keep and which to discard?
RE: Fallen Empire
supplyis just another resource, like PUs. The only difference is that supplies are destroyed before the end of turn (with triggers), so players can't stockpile supplies. Every unit consumes some supplies each turn. But I made it so units also cost the same amount of supplies to purchase. This way players can't purchase any more units if they are over their supply cap. So it isn't the supply requirement that's visible, but the cost of the unit (which happens to be the same as the upkeep).
RE: Why does all aa attack values must divide into attackAAmaxDieSides? posted in Development
RE: Middle Earth: Battle For Arda - Official Thread
Making these videos is certainly a challenge. Uncomfortable and embarassing at times... but I think I'm going to stick to them. It's a very useful skill to learn nowadays.
Everything you see here is WIP.
RE: Middle Earth: Battle For Arda - Official Thread
I've started working on the next major update. Watch this video dev diary for some of the upcoming changes.
RE: Middle Earth: Battle For Arda - Official Thread posted in Maps & Mods
RE: Custom Firing Groups for units
<variableList> <variable name="AIR_UNITS"> <element name="fighter"/> <element name="bomber"/> <element name="etc."/> </variable> </variableList>
<firingGroup name="sub" display="Sub" canNotTarget="true"> <target value="$AIR_UNITS$" /> </firingGroup>
The engine will just replace all instances of
fighter:bomber:etc., as plain text, before parsing the xml. This has the advantage that you can easily define any list, not just ones based on a single property. The disadvantage is that it won't react if you change
isAirproperty of a unit with a trigger (but that probably isn't something you should be doing anyway).
RE: Custom Firing Groups for units
A couple of thoughts.
targetPropertyfeels like magic, and not really in line with my interpretation of @LaFayette's vision of an xml with less hacks. Also, it's kind of arbitrary, and variables can do more or less the same thing. I suggest that we expand variable functionality instead if the current one isn't enough.
unlessisn't completely clear. Does it check for allied or enemy presence? In either case, why not have separate attributes for both? Quick plausible example:
<firingGroup name="charge" display="Cavalry Charge"> <target value="swordsman" unlessAllied="fortress" unlessEnemy="fortress:pikeman"/> </firingGroup>
- I'm not sure if there's an easy way to use both enabling and limiting (
canNotTargettrue and false) conditions for the same unit, but then I'm not sure if anyone would want to do that. Can anyone come up with a reasonable application where this would be necessary?
- This can even be used to specify custom order of losses... well, sort of. Only if you don't mind having to wait a battle round to proceed to the next target, I guess.
<firingGroup name="atgun" display="Anti-Tank Gun"> <target value="tank"/> <target value="infantry:artillery:otherStuff" unlessEnemy="tank"/> </firingGroup>
Overall, I really, really like the direction where this is going. It takes multiple different mechanics, and unifies them into a greater, more flexible and at the same time much cleaner system. I never expected my 2014 wishlist on the old forum to become reality, but whenever I see new additions like this I feel that slowly, feature by feature, we're getting there - and beyond.
RE: Where should TripleA focus efforts and improvements?
As a mapmaker the number one issue I see is how cumbersome every aspect of mapmaking is. The issue isn't "customer experience" per se, but rather the effect it has on the quality of every single map ever made. Let me explain.
Let's say I want to change a territory effect so that every unit gets an extra 1 defense in addition to whatever other bonus they already get. For this to happen I may need to change close to a hundred lines of xml and remember to change unit tooltips and game notes as well.
Or let's say I want to move purchase phase before combat move. Not only do I have to edit one line per player, but also suddenly most of my complex trigger systems using
Or let's say, for the sake of example, that I want to (heaven forbid) change the shape of a territory so it touches another one nearby. Now I have to run the tile image breaker, potentially center picker, polygon grabber, placement finder, then make sure to change the connections in the xml, and also fix name placement, PU placement and relief tiles if necessary.
The common thread in the three examples above is that to make even a simple and intuitive change I need to engage in lengthy procedures which require no thinking but are full of pitfalls nevertheless (especially in the case of trigger systems).
So why is this a problem? There aren't all that many cases of mapmakers changing stuff around, so even if it takes an unreasonable amount of time per modification, it still won't add up to too much time lost across all mapmakers. And reducing this kind of friction would be a lot of time for the developers. So wouldn't it be more time-efficient to just let mapmakers deal with it?
Yes, it would.
See, there is a reason why mapmakers don't change stuff around too much. I personally start creating a map with the base tiles. Once I'm done, I'm done. Maybe I change it once every couple of years, but I'm mostly just stuck with the original. If the layout doesn't support interesting strategies, then I'll just try to work around it. Especially in the case of BFA, where every modification to the map involves the coordination of two mapmakers living in opposite timezones. It's just simply impractical to do it, most of the time.
Now imagine a world where changing the shape of a territory (or adding a new one) takes as long as it takes for you to go through the brush strokes in Paint. I'd imagine there would be a lot more experimentation and a lot less being stuck with a map that seemed vaguely right before I even played on it once. Actually I don't think I can stress this enough, but having to make a final decision on the layout of territories before playtesting is absurd. We probably don't notice this too much because we've gotten used to it by now, but it goes against the principles of game design.
In a world where you can make minor modifications with minor effort, I would expect iterative design to happen. I would expect a lot more maps popping up, a lot more variations on each one of them. The community could gather more experience about things that work and things that don't, and we'd eventually have more of the former than the latter.
It really isn't about the time mapmakers already spend on improving maps, which they wouldn't have to spend in an ideal world. It's about the time mapmakers decide not to spend on creating or improving maps, because it's just too much effort.
So this is a vision of what could be. I believe that if we focus (admittedly immense) energies on improving the fluency of mapmaking, we could reach a point where there are dozens to hundreds of active mapmakers, and just as many maps to which every one we've made so far pales in comparison. I know it's hard to believe... we've got so used to seeing only a couple of active mapmakers with the occasional quality map that we somehow think this is normal.