Fallen Empire



  • @hepps said in Fallen Empire:

    a 12 player FFA would never get played

    I would rephrase that as "you won't ever have 12 human players for a single map". Some of the players are meant to be played by AI. And look at Large Middle Earth: it has a FFA game option. Just how stupid that is both lore-wise and balance-wise. Yet at least one person reported to have won (not just played, won) it with almost all players versus AI. That map has 17 players, and I can't fathom how it is possible to win with half of them. It probably took quite a few tries.

    So no, I'm not really worried that this map won't be played ever. And as @Frostion said:

    we mapmakers all also have a bunch of unfinished maps/map concepts in our drawers

    There's plenty of time for more maps later. The rest of humanity can sigh in relief.


  • Moderators Admin

    @alkexr Yup. Was just saying. Would be sad to see a nice dynamic map that falls into obscurity because it can never get enough players.


  • Moderators Admin

    @alkexr

    Build it and they will come, especially if it's fun.

    I think a map like this might make a dedicated FFA thread useful at some point. A location where FFA players can setup and schedule games. Since one of the biggest FFA hurdles is timing. Having the right players logged into the lobby at the same time and all still being available to play.



  • With Alagaësia released and Large Middle Earth progressing well towards next version, I shifted my focus somewhat back to Fallen Empire. Mess is getting cleared up. Development is now completely integrated with git (aside from the unit managing script, which I'll have to rewrite anyway). Early alpha seems to be whithin reach. But until that happens, I give you some game features to meditate upon. Note that none of these have been implemented in any way yet.


    Special actions

    Special actions are faction specific user actions with a somewhat randomized outcome. Activating them costs XP, so it isn't useless after you level up all your heroes. (Err... is it even possible to make user actions cost XP? I'd better make a feature request if not.) They are expensive, but at the same time, they can be really powerful. What the result is depends heavily on faction. One faction can ask a genius engineer to come up with a contraption to aid you in your war, another one can perform a dark ritual... who knows what the result is going to be?

    Mercenaries

    As I mentioned earlier, some territories have more value than the resources they produce. For example, they can be home to mercenary units. Mercenaries are similar to the standard units of the factions, in that they are affected by all the positive/negative support and special attacks, and don't have unique abilities like heroes do. If you control a territory home to a type of mercenary unit at the start of your turn, you can purchase them similarly to your standard units. There is no limit to their number, and you can keep them even if you lose control of their home territory. As a consequence, multiple factions can have mercenaries of the same type at the same time. Mercenaries tend to be fairly good units, and taking control of them can be used to complement the weaknesses of your faction.

    Bonus resources

    Not necessarily resources in the strict sense, but couldn't come up with a better name. They are located in territories. They can be categorized based on their effect:

    • the controller of the territory gets some passive bonus - like 1 PUs cheaper ships, or some extra supply at the start of your turn (so that you can purchase a limited number of units even if you consume more supply than you produce)
    • the controller of the territory gets access to an activated ability (user action, costs XP) - like an altar giving the ability to pray to a god, who will in turn bless your armies for a turn
    • the resource can have a local effect, like giving bonus movement to units or having some very specific effect in a battle

    Coming soon with a brief description of each faction.


  • Admin

    @alkexr Thoughts:

    1. Special Actions - Currently, user actions can only cost PUs and here is the feature request (3rd bullet point) for expanding that to non-PU resources: https://forums.triplea-game.org/topic/128/resource-system-assessment-and-improvements

    2. Mercenaries - Probably want to have a cap on how many you can purchase or only allow them to be placed in specific territories.

    3. Bonus Resources - Maybe call them Territory Bonuses instead?



  • The factions

    0_1529096095174_fallen_empire_factions.png

    ... and whatever little is already established about them

    Saurian Alliance
    A union of various humanoid and non-humanoid reptiles and similar races of varying degrees of intelligence.

    Warlock Council
    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.

    Polis League
    A league of rich city states. They rely on a strong conventional army.

    White Khanate
    Fast-moving cavalry armies. They can sack settlements, giving them an amount of PUs if they conquer a new city for the first time.

    Sacred Order
    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 point any war.

    Flame Nation
    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.

    Winter Kingdom
    Bloodthirsty barbarian tribes of the north, they rely more on brute strength than strategy.

    Forest Folk
    Various creatures of the forest. Naturally, they can use forest terrain to their advantage.

    Pirate Federation
    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.

    Abyssal Horde
    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!

    Winged Dominion
    A race of avian humanoids with a strong flying army. They use humans as slaves to do the dirty ground combat for them.

    Fallen Empire
    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.



  • Fallen Empire is on GitHub. You can also download it.

    Developer resources: Fallen Empire workshop contains map-specific files, while the map-creator tools used can be found in the TripleA maps workshop.

    Steps to set up development on your pc:

    1. Clone fallen_empire, fallen_empire_workshop and triplea_maps_workshop to the same folder. (For me all three are located at D:\Documents\GitHub\REPONAME, but the exact location shouldn't matter. I use GitHub Desktop.) If you set up a different folder structure, you will have to edit the FallenEmpire.ferracfg, FallenEmpire.tauntcfg and FallenEmpire.tagxcfg to point to the correct path.
    2. Associate the *.tauntcfg extension with TAUNT.exe (TripleA Utility for Naming Territories), *.ferracfg with FERRA.exe (Fallen Empire Relief Renderer Application) and *.tagxcfg with TAGX.exe (TripleA Generator of Xml, used mostly for substituting tags).
    3. If you want to edit something other than territory names, name placement, pu images, pu placement, game xml or the relief map: just edit it, only the listed things are hooked up to the tools.
    4. If you want to change something about the listed things (most importantly, the game xml), don't edit them directly. Go to fallen_empire_workshop, look for the files referenced in the respective *.whatevercfg file, and edit those. When you are done editing, just double click the respective *.whatevercfg file.
      For example if you want to change the game xml, you look up the FallenEmpire.tagxcfg. You will notice that it references the file fallen_empire_workshop\data\Fallen_Empire_TAGX.xml. Edit that file. When you are done, "run" FallenEmpire.tagxcfg (i.e. open it with TAGX.exe). That's it! TAGX will generate the game xml in the correct location, incorporating the changes you made.
      If you edit the game xml (or any of the listed files) directly, your changes will be lost the next time the respective script is used.


  • You can use TAGX for your own maps. It would be really useful for maps like Large Middle Earth, but setting it up this late in the process would be a pain.

    But how does TagX work?

    TagX substitutes @tagname@ with a colon delimited list of things having the tag.

    Source:

    <attachment name="unitAttachment" attachTo="axe_raider" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    	<option name="transportCost" value="1"/>
    	<option name="movement" value="2"/>
    	...
    	<tag name="foot"/>
    </attachment>
    			
    <attachment name="unitAttachment" attachTo="berserker" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    	<option name="transportCost" value="1"/>
    	<option name="movement" value="2"/>
    	...
    	<tag name="foot"/>
    </attachment>
    			
    <attachment name="unitAttachment" attachTo="boar_rider" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    	...
    	<option name="targetsAA" value="@foot@"/>
    	<option name="typeAA" value="charge"/>
    	...
    	<tag name="mounted"/>
    </attachment>
    

    Result:

    <attachment name="unitAttachment" attachTo="axe_raider" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    	<option name="transportCost" value="1"/>
    	<option name="movement" value="2"/>
    	...
    	<tag name="foot"/>
    </attachment>
    			
    <attachment name="unitAttachment" attachTo="berserker" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    	<option name="transportCost" value="1"/>
    	<option name="movement" value="2"/>
    	...		
    	<tag name="foot"/>
    </attachment>
    			
    <attachment name="unitAttachment" attachTo="boar_rider" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
    	...
    	<option name="targetsAA" value="axe_raider:berserker"/>
    	<option name="typeAA" value="charge"/>
    	...
    	<tag name="mounted"/>
    </attachment>
    

    If later you were to add another unit, and tag it <tag name="foot"/>, they will automatically appear as a valid target for charge, without you having to do anything.

    TagX can also do foreach loops:

    <attachment foreach="LEADER=@leadership@" name="supportAttachment_$LEADER$_leadership_foot" attachTo="$LEADER$" javaClass="games.strategy.triplea.attachments.UnitSupportAttachment" type="unitType">
    	<option name="unitType" value="@foot@"/>
    	<option name="faction" value="allied"/>
    	<option name="side" value="offence:defence"/>
    	<option name="dice" value="strength"/>
    	<option name="bonus" value="1"/>
    	<option name="number" value="1"/>
    	<option name="bonusType" value="leadership"/>
    	<option name="impArtTech" value="false"/>
    	<option name="players" value="@player@"/>
    </attachment>
    

    Tags are substituted first, so @player@ turns into a colon delimited list of players, @leadership@ turns into a colon delimited list of units with the leadership tag. Then the foreach is implemented: the result is a (way too long) list of support attachments, one for each unit with the leadership tag. All instances of $LEADER$ are replaced with the name of the unit to which that particular support attachments belong.

    Foreach expansions can be nested. The syntax is foreach="VARIABLE1=value1:value2:value3;VARIABLE2=value4:value5;VARIABLE42=value42:value43" etc., if I recall correctly.

    Another example:

    <attachment foreach="territory=list:of:territories:you:care:about;player=list:of:players:you:care:about" name="conditionAttachment_$player$_has_battleship_at_$territory$" attachTo="$player$" javaClass="games.strategy.triplea.attachments.RulesAttachment" type="player">
          <option name="directPresenceTerritories" value="$territory$" count="1"/>
          <option name="unitPresence" value="battleship" count="1"/>
    </attachment>
    

    So conditionAttachment_bestplayer_has_battleship_at_bestterritory will be true exactly when bestplayer has a battleship at bestterritory.


Log in to reply