![]() |
1 Attachment(s)
Randomocalypse is not really a mod but a program that generates mods. The idea is to generate 1-14 (that's the amount of flags I've bothered to make) random nations using vanilla game units that are at least roughly balanced. This happens via lists of units with their powers defined - currently about 900 units are listed. Basically you can end up with many things you couldn't end up with before. Many sacreds and mages that appear as capital only can appear as recruit everywhere in this mod.
The program is made with Java (JRE 1.6 or newer), so it works on Mac/Windows/Linux/any platform that can run a commandline java application. That said it while running it on Windows is simple since that's the platform I develop it on, Mac requires opening it in terminal and about Linux I have no clue. There is absolutely no reason it won't work though: in the end it's a rather basic Java application. You will also want to use CBM 1.92 or newer since the program generates at least 4 CBM added units and the (rather bad) balance of nation is based on CBM stats. Generated mods with units of ids of 2107 or below should technically all work without CBM though. Installation Either extract all the files to dom3 folder and just start playing after generation or extract all files to wherever and move the contents of /mods/ to dom3's /mods/ folder after generating a nation. The program generates the modfiles with filenames "randomocalypse_<seed>.dm" where <seed> is the seed used to generate the nations. That said you might want to clear out the files once in a while since if you don't specify the same seeds again and again you'll eventually have quite a few different randomocalypse-mods generated. Can it be modded/tweaked! Oh yes. Many things are read from .txt files. Unitlists folder contains unit lists and powers, weight.txt contains some numbers used by balance algorithms, story.txt contains nation description generator material and players.txt contains bases for nation names (optional file really) How is it balanced?! It generates a pile of different power values that range from 1 to 100, ie for example troop power, sacred power and mage power and weighs them so that it returns a total of 1-100. Units have powers of 1 to 5 (fractions are fine). For balance info on invidual check the .dm file: It has somewhat easily readable debug data listed at start. Get it! 0.3.6.2 - Added an ability to make all cap only things recruitable from conquered capitals. 0.3.6.1 - Sometimes gives priests ability to reanimate. Death magic and blood magic to some extent make this a bit more likely. - Sometimes gives priests ability to blood sac. This is more likely with blood mages and strong priests. - Sometimes gives nations ideal temperature different from normal. This depends on nations units, especially sacred and mages. You'll rarely see anything except +1 or -1, even though every value is possible. - Nation summaries! - Debug is slightly easier to read. - Source code included. Do edit it and tell me what could be done better! 0.3.6.0 - Fixed the major bug generating cap only sacreds as coms. 0.3.5.9 - Fixed magic site generation in Customocalypse - Added randomly chosen picture for temples for the nations! - Fixed a few bugs - Added some content to names.txt and story.txt - Made nation epithets sometimes be more abstract and not related to the first start site. For example: Bluetha, The Enigma of Reanimation 0.3.5.8 - Fixed couple of Customocalypse bugs. 0.3.5.7 - Starspawn unit definition was wrong and generated a king of the deep instead. Fixed. - Customocalypse mode added. -Customocalypse command line arguments opens a mode where you can akwardly customize a nation with randomocalypse rules. Read readme.txt for help. This is not something I'll actively maintain. 0.3.5.6 - The .csv understands units with id over 2106. As an example the CBM MA Agartha netter pale one is added to the .csv. I might make a program that automatically generates .csv lines from mods at some point if I can be arsed to get all those cbm things causing unit not founds into the .csv with minimum effort, but I'm not too bothered by them so we'll see. 0.3.5.5 - Tweaks to: -- Troop generation and power calculation -- Sacred power weighting - Minor tweaks to: -- Mage power calculation - Tons of other minor tweaking - Ability to generate nations with a set target power straight from the program. This was already possible with weight.txt. Also command line argument -power <number> 0.3.5.4 - New and better command line arguments if anyone even uses them. Everything is optional. - Troop power calculation changed - Sacred power calculation changed --> Just a draft that needs more work, quick checks make it feel better even with the rough numbers used to shift troop and sacred weights depending on their powers and sacred cap onliness. 0.3.5.3 - Nations now get #descr and #brief that contains an awesome randomly generated backstory! - Debug data in .dm gives units a * to their name if they are cap only 0.3.5.2 - More \'s to /'s for Linux/Mac people. 0.3.5.1 - Retardedly rapid versioning for retardedly small changes! 0.3.5 - Fixed game crashing bug, fixed sacreds being rec everywhere almost always, made troops vary slightly more 0.3.4 - One of the fairly hidden features added in 0.3.3 made all nations have sacreds and mages both have at least 50 power when it should've been enough to have one over 50. This is something changeable in weight.txt btw. - By default no two nations will get the same national priest or primary mage now. This too can be disabled in weight.txt - You could have duplicates of the same unit on one nation. 0.3.3 - Seeds are now printed to filename - Bugfixes - Added a couple of (fairly hidden) features that were missing from since Java port. - Changed \ to / so Linux (and Mac?) people can play without too much fiddling. 0.3.2 Horrifying infantry generation bug and forgot to update .jar last time. 0.3.1 Fixed a special power bug and made debug a bit more readable. 0.3.0 I rewrote the whole application in Java. In theory it should work on Linux and MacOS now. I personally won't link to Dominions 3 content made by me any more and I hope no-one else will either (old links are fine, whatever). You should be able to find them or most of them by asking on IRC or googling the other forums Credits: Programming, most of the balance lists - Elmokki Sacred and special unit lists - kianduatha Mage power algorithm - Squirrelloid General input on balance algorithms - people on IRC Attached below is a shot of an example how you could use players.txt for a multiplayer game. It also shows site name/epithet generator and what it does to randomize nation names. |
Re: Randomocalypse 0.2.0 - Random nation generator
Thanks, this seems fun. I generated a nation and copied it to the mods folder but when I try starting a game I get an error: myloadmalloc: can't open ./mods/./randomacalypse/red.tga (using Win XP with default install location).
Edit: maybe I downloaded it too quickly and the 021 release fixes that? |
Re: Randomocalypse 0.2.0 - Random nation generator
It looks like it may be a problem as to where it is looking for the image for one of the flags. I bet you copied the images directly to the mods folder instead of the mods/randomacalypse/ folder. You may also check the spelling of the folder, it may need to be randomacalypse and you may have named it randomapocalypse etc.
|
Re: Randomocalypse 0.2.0 - Random nation generator
1 Attachment(s)
Quote:
Attached is my first nation. Starting army was 60 Jotun spearman and 10 archers. |
Re: Randomocalypse 0.2.0 - Random nation generator
0.2.1 fixes the flag not found thing. I didn't bother to update the first post other than change the link since I figured no-one had downloaded it yet anyway. The mod used to be named Randomacalypse but due to pressure on terrible spelling was renamed to Randomocalypse, and I had the old /Randomacalypse/ folder on my computer when I originally tested this.
60 jotun spearmen sounds very strange. It should be 6. I checked the code and unit definition (278 2 0 0,6) and it should generate 0.6*10 = 6 units with that (yes, I know it's a , in definition, but it's supposed to be that). I'll have to ignore this bug for now since I've seen modifiers of under 1 work before on other giants. |
Re: Randomocalypse 0.2.0 - Random nation generator
Ok, I'll run some more tests later and let you know the results (it's quite fun - like rolling D&D characters) but I forgot to mention that I also had CBM 1.92 active on the off chance that is an issue.
|
Re: Randomocalypse 0.2.0 - Random nation generator
Quote:
|
Re: Randomocalypse 0.2.0 - Random nation generator
Elmokki,
Should this bit... (278 2 0 0,6) be... (278 2 0 0,.6) Maybe? Just guessing from the info you provided, so I may be way off. |
Re: Randomocalypse 0.2.0 - Random nation generator
Quote:
This is also the reason I couldn't just print out the nation colors (Dom3 reads them with . as decimal marker) without actually swapping the , to . The syntax is: 278: Unit id (Jotun Spearman) 2: Power (1-5, decimals are okay but marked with ,) 0: Cap only or not, 0 being not and 1 being yes. Defaults to 0 if left out but if you leave it out you can't write anything else to that line. 0,6: PD/Start army multiplier of 0.6. Basically this means you'll get 0.6*10 = 6 units per 10 PD or 6 units of this to starting army. Multiplier of 0 means the unit can't be in starting army or pd. Defaults to 1 if left out. Starting army algorithm tries to get the heavy infantry with the multiplier closer to 1. There's always one with multiplier that isn't 0, but sometimes that's the only unit or both units are giants or something with an abnormal multiplier. That said, same goes for ranged. There are fairly many slingers and they've got an multiplier of 2 :D |
Re: Randomocalypse 0.2.4 - Random nation generator
I heard a bug of generator generating same nations repeatedly. I added an ability to give a custom seed to help with that to some extent.
Also remember that you can change most of the aspects of the generator if you feel like the nations aren't suitable. Just open weight.txt or unit lists in /unitlists/ folder and get working. weight.txt explains things fairly well, unit lists' syntax is for example: 278 2 0 0,6 ----------------------------- 278: Unit id (Jotun Spearman) 2: Power (1-5, decimals are okay but marked with ,) 0: Cap only or not, 0 being not and 1 being yes. Defaults to 0 if left out but if you leave it out you can't write anything else to that line. 0,6: PD/Start army multiplier of 0.6. Basically this means you'll get 0.6*10 = 6 units per 10 PD or 6 units of this to starting army. Multiplier of 0 means the unit can't be in starting army or pd. Defaults to 1 if left out. the generated randomocalypse.dm also has debug data for nations. All this combined you can probably create parameters that give more balanced nations than it currently does. If you think you do find such parameters, do post them please! |
Re: Randomocalypse 0.2.5 - Random nation generator
0.2.5 released.
|
Re: Randomocalypse 0.2.6 - Random nation generator
Dumb technical question: would there be anyway to run this on a Mac? Sorry I know you are busy working on this thing but just curious since that's how I play. I suppose if I have access to a PC I can just run the .exe on there as well and import it to my home computer too.
|
Re: Randomocalypse 0.2.6 - Random nation generator
Quote:
I believe it would in theory be rather easy (though I have no clue exactly how) to make a Mono-compiled version which would run on Linux and Mac, but I won't promise I'll look into it or succeed. |
Re: Randomocalypse 0.2.7 - Random nation generator
I'm having problems running the more recent releases of the program. I was able to run 0.2.0 and 0.2.1 but 0.2.3 and higher just seem to hang (didn't get a chance to download 0.2.2) . The program ends up using 99% of the cpu and it never finishes (have tried letting it run for over half an hour). It certainly may be something specific to my machine but I'm not sure what. I have .NET releases 1.1, 2.0, 3.0, 3.5 and 4 installed. The machine itself is certainly not the most powerful (2.2 GHz Athlon 64, 3 GB RAM) but it was able to run earlier releases (though I did get that strange result with the Jotun spearmen).
|
Re: Randomocalypse 0.2.7 - Random nation generator
Quote:
Random percentage probably means that the program has seriously hard time finding a suitable nation for the specified weight.txt. If the percentage is always 0% then it probably means that the parameters are such that the program is completely unable to generate a nation. If it's always the same percentage and the percentage isn't 0% I don't have a clue but would like to know the seed if it's always the same. Somewhere completele else probably means that one of the .txt files is somehow flawed. I'm a lazy programmer and there aren't almost any error messages. That should be a fairly obvious crash though. I personally have Q9450 (Intel 2.66ghz quad core) and 4GB ram and it generates 14 nations in roughly 15 seconds for 0.2.7. At some point it was up to 30 seconds. The program does not support using multiple cores though so any core above two probably doesn't matter a bit for performance. At some version it was closer to 30s. This is the case with a freshly unpacked 0.2.7, not any of my dev builds or anything. I would claim that the easiest way I can think of to get the program eternally generate a nation would be to mess with weight.txt too carelessly. It's also possible to hang up the program by making unit lists such that there are no units with militia modifier or cap only that's not 0 in ranged/light infantry/heavy infantry list. Below are the ssential lines for 0.27 in weight.txt: Quote:
|
Re: Randomocalypse 0.2.7 - Random nation generator
Follow up to my last question: if someone generated the nations using Windows (say the host of a game), could the files then just be e-mailed and moved into my mods folder? Or does it have to run some program other than Dominions to work in game?
I'm guessing the output is a problem? Sorry I don't know much about this stuff but I am interested in the mod, sounds like a good time. |
Re: Randomocalypse 0.2.7 - Random nation generator
Quote:
EDIT: Also regarding hangups: 0.2.7 tested on my girlfriend's laptop and it works just fine. |
Re: Randomocalypse 0.3.0 - NOW FOR LINUX/MAC! (in theory)
I rewrote the whole application in Java (should've made it in Java straight away anyway) and along with making the code slightly more readable it SHOULD work on Linux/MacOS. I haven't tested tho.
.EXE is for Windows only obviously, use .jar with java -jar randomocalypse.jar if it doesn't work any other way. The .bat does this automatically. |
Re: Randomocalypse 0.3.2 - NOW FOR LINUX/MAC! (in theory)
Thanks for doing this, elmokki. Unfortunately, still not working for me using .jar opener or opening program with console program. The readout is just nonsense to me but maybe I can pass it along to you somehow? Anyhow I know you're concerned with the balance moreso than getting it to work in Linux...I can wait for a functional mod, no rush.
|
Re: Randomocalypse 0.3.2 - NOW FOR LINUX/MAC! (in theory)
Quote:
|
Re: Randomocalypse 0.3.2 - NOW FOR LINUX/MAC! (in theory)
Quote:
I had confirmation of 0.3.2 working on a linux box apart from the \-directory markers messing things up and requiring some linux magic I have no clue about. 0.3.3 changes all directory markers to / so it should work on Linux/MacOs right away provided all files are there and JRE is new enough. Also it obviously should work on Windows. |
Re: Randomocalypse 0.3.5.2 - Nation randomizer for all platforms
Elmokki, thanks for running tests and even more for rewriting the application. Just want to say that the Java version not only runs, but runs faster than the original C version.
Do you think this is ready for a test game? I think I've got a fun idea. I'll act as admin and generate three nation choices for each player. This will avoid players running the application again and again until they get the "perfect" nation but also provide some choice so they aren't stuck with a combination that they really don't like. |
Re: Randomocalypse 0.3.5.2 - Nation randomizer for all platforms
Oh, it's more than ready for games. Several of us played/are still playing a blitz with it--it's super fun!
|
Re: Randomocalypse 0.3.5.2 - Nation randomizer for all platforms
Quote:
|
Re: Randomocalypse 0.3.5.2 - Nation randomizer for all platforms
There was some rewriting from since the C# version which might account for increased performance, but all in all most of it probably has something to do with general changes. Tweaking settings shifts the time taken before a suitable nation is found pretty considerably.
And yes, while it might be ready for multiplayer per se, providing a pile of choices for players is recommended since the balance algorithm isn't really very precise. EDIT: Next few days or today will get some major tweaks btw. I'm gonna remove the rule that nations with B2 or higher primary or secondary mage automatically get a blood hunter. That's really not needed. I'm also gonna make a better sacred-troop balance system that takes into account the fact that when you have a superb recruit everywhere sacred your troops matter a whole lot less. Also mage algorithm needs tweaking. |
Re: Randomocalypse 0.3.5.2 - Nation randomizer for all platforms
Quote:
I generated 15 test nations with 3.5.4 and everything looked fine except for one odd result where Crones of Avalon (monster #153) were set as a troop. |
Re: Randomocalypse 0.3.5.2 - Nation randomizer for all platforms
Quote:
Regarding Crones of Avalon as recruitable, there's a typo in lightinf.txt 153 2.4 0 1.3 should be 1532 2.4 0 1.3 It's supposed Satyr Warrior for EA Pangaea. There was a similiar bug with Hierodule (a C'tis priest) generating as a heavy infantry before. I'm not gonna release a separate patch for just this though. |
Re: Randomocalypse 0.3.5.4
Ok, that's easy enough. I'll edit my lightinf.txt before generating the nations (and in future I'll remember to check the configuration files).
In any case, it sounds to me like this version is a good candidate for use in my test game. Thanks! |
Re: Randomocalypse 0.3.5.4
That's the program I've been waiting for so long. Thanks a lot for this wonder. Now I need only one thing: how can I add my own units from mods? Should I just enter stats in .csv file, or should I put them in unitlists? What do numbers in unitlists files mean, and do I need to put custom pretenders in goddefinition.txt?
|
Quote:
# Alae Legionaire 663 3.2 0 1.3 Unit ID: 663 Power: 3.2 (should be 1-5) Cap only: no (0 for no, 1 for yes) Militia modifier: 1.3 (30% more units for PD/Start army if this unit is chosen) You can however just write 663 3.2 0 which resets militia modifier to 1 (same as 663 3.2 0 1) or you can just write 663 3.2 which resets militia modifier to 1 and cap only to 0 (same as 663 3.2 0 1). Adding it to the .csv is a good idea but not absolutely required for non-mages. However if you don't add the info some things will be minorly screwed up since the mod won't know if your unit is suitable for stealth leading or if your unit should only be given to nations with stealthy leaders etc. EDIT: Actually as of right now you should replace some existing unit from .csv when adding since it reads only the lines currently there. There are tons of units the mod doesn't use though, like anything with gcost 0. The stats the program reads from .csv are (might forget something): ID, name, weapon names, leadership, undead leadership, magical leadership, magic paths (including holy), amphibian, flying, stealthy, magic being, undead and demon. goddefinition.txt is read to the mod as it is, so any line you add there will be in the mod as an exact copy. Currently you cannot add more pretenders without removing any due to the hard coded limit of 69 different pretenders. If you however want to add a new one just remove one of the gods in the .txt and replace it with your definition. It can be copied from the mod (without #restrictedgod command probably) or you can just #newmonster and #copyspr and #copystats like goddefinition.txt does for the vanilla pretenders. |
Re: Randomocalypse 0.3.5.4
Thanks a lot for clarifying, I appreciate it.
|
Re: Randomocalypse 0.3.5.4
Released 0.3.5.5 with a pile of tweaks.
|
Re: Randomocalypse 0.3.5.5
Can I request a possibility to add modded units without editing existing out for the next release? This feature could make some fun combinations.
|
Re: Randomocalypse 0.3.5.5
Actually it seems you can't add any units to the .csv if they have id over 2107 anyway at the moment :D
I won't promise I'll do it for the next version, but I'm fairly sure I'll make the code better at some point. |
Re: Randomocalypse 0.3.5.5
Okay, I'll be following this project and wait :)
Even without this addition this program is excellent. |
Re: Randomocalypse 0.3.5.5
I just added the functionality to read units with id over 2106. Not sure how well it works in total but at least with one single CBM-only unit that was already on the lists but not in .csv (there are a couple of those in total) it works perfectly.
Also 0.3.5.6 source code (beware, it's messy) included. |
Re: Randomocalypse 0.3.5.6 - 0.3.5.6 source included.
Wow, that was fast, thanks :)
|
Re: Randomocalypse 0.3.5.7 - Now with Customocalypse
Added an another requested feature, this time coding it took a while. -Customocalypse command line argument opens Customocalypse mode with which you can design a custom nation using Randomocalypse rules.
It's open to horrible exploits and minmaxing, it's probably buggy and it's definitely awkward. If you still are interested, see readme.txt for help. |
Re: Randomocalypse 0.3.5.8 - Now with Customocalypse
Was wondering about national specials, like
Miasma Dominion of MA C'ties Able to buy underwater PD, Forts, special units (like LA Atlantis and Jomon?) EA and MA Pangea Pan freespawn Etc. Would it be possible to include this (or is it there and I missed it)...? |
Re: Randomocalypse 0.3.5.8 - Now with Customocalypse
Quote:
Possible to add but not used currently: - Lab cost reduction / increase - Temple cost reduction / increase - Different temple pics (I guess I'll add this change randomly on next version since it has no effect on gameplay) - Different forts for different nations (currently there is one equal set for all nations) - Heroes/multiheroes (need to get a list of existing ones and this'll be easy, though I'm not sure how they should be valued since they really situationally range from crap to superb) - Underwater nation (I'm fairly sure I'll never add this) - Underwater units from UW forts (I suppose this could be factored in somehow for nations with more than 1 UW unit, but it isn't very important) - Underwater forts - Blood sacrifices - Inability to preach (Mitclan thing) - Dyingdom (temples have no effect on dominion spread, Mitclan again) - Death doesn't affect supply (Abysia thing) - Ideal temperature - Castle production bonus (MA Ulm has 25, meaning +25% resources from forts) - Deadly dominion (I'm very sure this isn't worth adding in any form) - Unrest dominion (I'm fairly sure this isn't worth adding in any form) - Automatic undead (LA Ermor, yeah, well...) - Priests can reanimate infantry - Priests with H3+ can reanimate longdead horsemen (MA Ermor) - Priests with H4+ can reanimate undead lictors (LA Ermor) - Priests can reanimate LA Pangaea style - Priests can reanimate LA C'tis style I don't know if UW PD can be added atleast for non-UW nations. I guess it can. Now, the thing here is that as cool as these things are, Randomocalypse can't really generate consistently balanced enough nations even right now and the only way I'll add something like this to the mix is someone inventing plausible enough sounding balancing formulas for that stuff. Some of these things would be relatively easy to balance in though. |
Re: Randomocalypse 0.3.5.8 - Now with Customocalypse
Trying the customocalypse.bat out.
Got it to add special units, priests, troops, sacreds. But not mages? Used this syntax: "set, primage, 1937, 0" It did not work. I did not get an error, like with the termage (there I got, could not add secondary mage, without primary mage...) |
Re: Randomocalypse 0.3.5.8 - Now with Customocalypse
Quote:
Customocalypse magic site generation is broken in 0.3.5.8. It's fixed in whatever I got on my computer though. More than that I doubt I'll do since the current implementation is just far too cumbersome to use and I can't be arsed to make a graphical user interface. |
Re: Randomocalypse 0.3.5.9 - Now with Customocalypse
0.3.5.9 released without any major additions.
|
Re: Randomocalypse 0.3.5.9 - Now with Customocalypse
Download link not working for me.
|
Re: Randomocalypse 0.3.5.9 - Now with Customocalypse
Yeah he just forgot that he added an underscore. This should work http://nikita.tnnet.fi/~elmokki/rand...lypse_0359.zip
|
Re: Randomocalypse 0.3.5.9 - Now with Customocalypse
Quote:
|
Re: Randomocalypse 0.3.6.0 - Now with Customocalypse
Quote:
|
Re: Randomocalypse 0.3.6.0 - Now with Customocalypse
The following I think I'll add "soon". The generation of this stuff will be possible to turn off.
- Heroes/multiheroes. Just generating 3 or so per nation with some rules. This is when I or someone else bothers to make a hero unit list though. How this affects nation balance is a bit unclear, maybe it shouldn't if the heroes' magic diversity will be limited a bit. - Ideal temperature. Gotta do some testing with temperatures, but in general some heat or some cold might be given to nations with enough stuff that gets benefits from one / penalties from the other. This might mean rebalancing of some things. - Castle production bonus. Some super resource costly cap only sacreds might warrant this, but I don't know. - Priests can reanimate infantry - Priests with H3+ can reanimate longdead horsemen (MA Ermor) - Priests can reanimate LA Pangaea style - Priests can reanimate LA C'tis style All of the above will drastically increase the power of priests in power calculation. |
Re: Randomocalypse 0.3.6.1 - Pile of new features
0.3.6.1 released with blood sac, reanimation and idealcold.
|
Re: Randomocalypse 0.3.6.1 - Pile of new features
0.3.6.2 released with the very minor addition of ability to toggle using #com and #mon instead of #homecom and #homemon, ie allowing cap onlies to be recruited from conquered capitals.
This is adjustable from weight.txt |
All times are GMT -4. The time now is 07:53 PM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.