November 18, 2017, 12:37:30 AM

Author Topic: Khazad - An opensource Dwarf Fortress like game  (Read 19845 times)

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Khazad - An opensource Dwarf Fortress like game
« on: February 25, 2015, 12:41:45 PM »
This thread is to both advertise and receive feedback on my open-source (GPLv3) game under development called Khazad. It is 3D, written in Java and uses the JMonkey engine and it's associated Nifty GUI system.

Code is available at https://github.com/ImpalerWrG/Khazad

Currently the engine is still under development and the game is not playable, new developers are desired as well as initial testers, game-play ideas and goals are also welcome.




ABOUT:

If this game were a song it would be https://www.youtube.com/watch?v=ytWz0qVvBZ0 This will be a game that revels in the glory of the Dwarves, their rise and fall and re-conquest of their homelands. The flavor will be somewhere between Tolkienesque and Warhammer, visually it will resemble a slightly higher polygon Minecraft or Mythruna.

Khazad aims to become the preeminent open-source Dwarf Fortress like game by leveraging the talents and skills of the genres small but highly skilled fan base. In addition to DF it draw inspiration from 'A game of Dwarves', 'Craft the World', 'Gnomoria', 'Banished', 'The Sims', 'The Settlers', 'Zeues', 'Prison Architect', 'Civilization', ''Evil Genius' and naturally 'Dungeon Keeper'.

A firm technical foundation is being built first, so far this includes

A flexible map structure structure that can be expanded in any direction at run-time and which tracks volumes as well as surfaces.
Highly optimized and multithreaded path-finding which renders everything else in the genre obsolete, unit counts of ~1000 should be possible with game speeds that will have the dwarves moving too fast to even be seen.
3D rendering of terrain, rotating camera and visual slicing of the map to overcome confusion inherent in isometric or 2D perspectives.
Efficient object update queue, rather then iterating every game object every loop all objects are awoken at a dynamic determined future time.

Still under construction...

A new Job management system which groups individual tasks into logical group and assigns workers the same task type repeatedly to reduced wasted travel time.
Demand-pull basied crafting and stockpile management also know as 'Kanban', consumption triggers production without micromanagement

GAMEPLAY GOALS

Khazad aims to be Deep, Challenging and Accessible.

Depth comes from a complex and emergent interaction between the choices the player is presented with. Choices need to be impact-full to the game and non-trivial for the player to find the best solution. The classic example is Chess, the player has a modest set of choices, but they are very impact-full and very difficult to choose between. In creating a settlement the player should be faced with numerous choices of what and in what order to develop and how to manage conflicting internal interest groups. Their should be no EASY choices or choices without a downside. All elements within the game world which are presented and uniquely named will be differentiated in some game play manor, mere 'cosmetic' complexity will be avoided.

Khazad aims to be Challenging, it has become the norm to think of the DF-like genre as a 'sandbox' in which the player (once familiar with the game) builds a settlement that is very resilient and will generally resist all external abuse given even a modicum of effort by the player. In contrast Khazad will be intended as a challenge for the player at all times, a game in which survival of the settlement is always in doubt and being knocked-back several stages is common occurrence. Should the player build their settlement to a mighty city they will face the challenges of keeping and maintaining a kingdom built on fragil alliances, diplomacy and the sword.

Lastly Accessible, the deficiencies of Dwarf Fortress UI have already been mostly corrected in games such as Gnomoria, Khazad aims to have a comparable UI built using Nifty. 3D rendering adds additional accessibility as was seen in "A game of Dwarves" and Khazad will feature nearly identical earth X-ray like rendering of underground tunnels.

KEY CONCEPTS

Dwarf attributes, in keeping with an RPG theme all creatures have a basic set of attributes, but keeping with the detail orientation of the genre the attribute set is larger then the 6 in D&D, a set of 14 attributes will be used, 7 Physically oriented (Strength, Flexibility, Dexterity, Vitality, Reflexes, Endurance, Speed) and 7 Mental oriented (Logic, Perception, Charisma, Memory, Judgement, Willpower, Intuition). A roll of 2D4 is the normal range for each attribute. Each attribute will directly and transparently effect a different aspect of a creatures behavior and performance in certain jobs and skills.

Skills, rather then the genre standard of each Dwarf having a skill level in each possible skill Khazad will combine the class-tree system of 'Evil Genius' and 'A game of Dwarves' with the classes of Dwarf Fortress into a large tree of 3 tiers with an initial first tier division into 7 core classes (Worshiper, Thinker, Fighter, Crafter, Builder, Laborer, Gatherer), 3rd tier divisions may yield upwards of 100-200 highly specialized classes, but the bulk of game play will be done with the core classes and their 2nd tier divisions. Low level classes act as generalists so a settlement can be effectively run with just 7 Dwarves. Classic D&D character classes will be present to fill a variety of roles and multi-classing might also be possible.

Off Map activity, rather then having the players settlement sits passively and receives attacks, trade and migrants from an outside world the player in Khazad will send OUT just as many interactions as they receive. These Expeditions consist of hand-picked dwarves and stockpiled materials that are directed to a particular world map location with a specific goal, all of which have an effect on the outcome. The Expeditions are run and resolved entirely in the background without players being able to control or see the results until the expedition returns (if it returns). Significant political activity, wars, alliances and the like will play out with the player bringing the whole of the Dwarven race under their kingship as a possible outcome.
« Last Edit: March 14, 2015, 12:51:55 PM by Impaler »

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #1 on: February 25, 2015, 06:35:23 PM »
Here is a direct download link to the windows release v0.2.1

Direct Download of Windows release (26 MB), just extract and run the jar   
https://github.com/ImpalerWrG/Khazad/releases/download/v0.2.1/Khazad-Windows.zip

Basic controls

Zoom:  mouse-wheel up/down

Tilt Camera:  hold mouse-wheel down, mouse up/down
Rotate Camera: hold mouse-wheel down, mouse right/left

Pan Camera:  hold right mouse button down, mouse up/down/right/left

Slice Terrain:  scroll bar on right edge of screen, also hold mouse-wheel down + mouse-wheel up/down

Toggle Terrain rendering: t
Toggle Path grid rendering: p

Pause: Space bar
Set time rate:  button bar top right of screen, ranges from 1x (real time) to 4096 (~6 months game time per real hour) most system will likely max out below this top most speed.

Dig:  Allows drag-selection of a box shape that will be dug out by Dwarves, WARNING:  very buggy, glitched dwarves stop moving, fail to dig etc etc.  Will try to have it working smoothly next release.
« Last Edit: February 25, 2015, 06:53:41 PM by Impaler »

Lobstarooo

  • Jr. Member
  • **
  • Posts: 73
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #2 on: March 04, 2015, 09:35:27 AM »
I've played around with it for a bit, tried to get as many of the dwarves stuck in a box they'd dig. Also tested out most functions. It ran surprisingly well, and for a tech demo I feel it's already getting somewhere good.

Looking forward to see updates coming along!

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #3 on: March 05, 2015, 11:55:03 AM »
Thx, Lobstarooo.  Do you have any thoughts on how the controls feel/function was good or bad or a control option that you felt was missing?

My goals for the next release are to have most of these digging and pathing issues resolved.  I've already fixed the holes in the map and the 'new' feature will be to have the map terrain be composed of multiple textures from a dynamically created palette which actually cares what the map is made of.

People who are interested in contributing don't necessarily need to know Java (though that obviously lets them do the most potent stuff), they can work on UI in Nifty which uses an XML layout file system and has a modestly functional WYSIWYG editor, the UI at present is very spartan and if someone could made it look nicer that would be a great help.  Also I'm using XML files for all game data so everything will be entirely modable so working on building the 'official' XML files can also be done along side the code development.

Philk

  • Newbie
  • *
  • Posts: 36
  • Beware the Alpacalypse
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #4 on: March 05, 2015, 01:44:25 PM »
This sounds very promising.
I tried it and really liked the 3D idea, controls felt very intuitive and smooth but I think that being able to move around the map with wasd should be implemented together with the right mouse button move because some people like the latter but not the other.
As soon as I started I was able to drag and select dig to a big square, but after digging some squares I lost the ability entirely and could only click single blocks at a time.
Took some time for them to dig and felt like the cause was that the dwarf chosen for the task was randon and not the closest one, so he had to walk all the way there first, not sure if it is really the case.
Performance ran smooth and nice, I can set to the 4 thousand speed and even run things on the background without any lag or problem at all, but I have quite a beefy computer so it's hard to tell and also there is nothing besides the dwarfs on the world right now.

Wish you good luck with your project and I'll definetly keep my eyes open for any changes and patches to try and give you feedback.

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #5 on: March 05, 2015, 05:06:16 PM »
Thx for the feedback, I've gotten a similar request for key based panning.  While I was definitely going to add it for the directional keys I was a bit hesitant to devote WASD to that job as well because I'm assuming folks will want to use thouse as hot keys for menu drill-down as done in DF, though I personally prefer mouse their is nothing evil about hot-keys (whats evil is not having any mouse based menus).  Dose this sound like an acceptable compromise, do people reach for WASD first even if the game is not FPS or are directional keys equally viable, did you yourself try the directional keys first or second or not at all?

Also note that all that movement of dwarves you are seeing is full pathfinding between randomly selected points on the map with a new from scratch path computed every time a destination is reached, at maximum speed your going though maybe several hundred pathfinding operations a second as the Dwarves are moving so fast I don't even bother rendering them they are just flickers across the screen and it looks kind of bad, I think I will eventually render them only if they are standing still for a long enough period. 

The pathfinding is multi-threaded so if you open your system monitor you will probably see that your system is being pushed to the max on all cores (mine is).  When the map becomes more complex with tunnels, wall and the like that will hit the performance a good deal and I will need to implement some clever stuff to regain some of that performance, but I have a number of strategies in reserve for that which should keep performance at least where it is now and possibly raise it even higher.
« Last Edit: March 05, 2015, 05:09:07 PM by Impaler »

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #6 on: March 14, 2015, 01:03:42 PM »
Preview of new feature for the next release, multi material image atlas system for terrain.  Textures are created at run time from a combination of a gray-scale texture and several colors defined in XML, this will allow for nearly unlimited numbers of combinations in both the number of stones and the surface type (smooth, rough, engravings) as well as make it easy to mod in new materials.

The use of an atlas, which is basically just stitching together multiple images onto one large image and using texture coordinates that show just a small segment of the whole image means that the rendering has not lot any performance.  If your familiar with how modern video-cards work their is a delay each time they switch materials so having one material for everything (or at least as much of everything as possible) is key.

This concludes the amount of Graphics side improvements I'll be making for the upcoming release, the remaining work will be on the buggy digging process and the pathfinding associated with it.  Another week at least for that I think and then I'll be looking for another round of testing.

seronis

  • Hero Member
  • *****
  • Posts: 600
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #7 on: March 17, 2015, 08:27:32 PM »
Looks like something I could be interested in trying. You showed a Windows specific download, does that mean that the libraries you used dont have linux versions ?  Im not familiar with JMonkeys limitations or know what sound lib you are using.

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #8 on: March 17, 2015, 10:22:51 PM »
There should be no trouble with libraries, I believe all of the JMonkey stuff works on linux as their are a number of JMonkey games with linux downloads, people have compiled and run OSX as well, finally all my music files will be ogg as well to avoid mp3 issues if that's what your worried about.  Please do give compiling on linux a try under your preferred IDE, though I would recommend JMonkey it naturally has a linux version and you would get all their libs which are needed to compile.  The only extra libs I use are java-tuples and xom XML reader, both are in the git repository so you'll have them with any synched clone.

Windows download on the last version was due to bandwidth restriction, I didn't want to upload the assets (mostly music) 3 times (my upload speed is terrible on satellite), next release I believe I will just make a universal asset package and 3 small OS specific execution packages and folks can just combine them by dropping one folder into another.

Deuteros

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #9 on: March 19, 2015, 02:32:55 AM »
I tried it out, all you can do is lower terrain which is nothing like a Dwarf Fortress game.  I used the scrollbar to slice off the top of a hill and tried to dig a tunnel and nothing happened.  Once you get tunnel digging done it will be a much more impressive technical demo. 

You say the appearance is going to be identical to game of dwarves, that's not a good thing since that is generally considered to be a pretty bad game (I haven't played it).  Make sure you have something similar to the 'Hidden Cells' (E key) in Gnomoria because hiding the cells does look pretty awesome but it's really confusing to play with.

You're going for a class based rather than a skill based system, something like in Evil Genius (which was a pretty good game, one of my favourites). Evil Genius also had a lot of 'off the map' action too, and if you did something similar I'd play it for sure.

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #10 on: March 19, 2015, 07:51:25 PM »
Thanks for the play-test Deuteros, I just got the tunnel digging working tonight by piping map pathfinding grid alterations back into the checks to see if a dig location is accessible.  I've also gotten most of the earlier freezing bugs worked out of digging so it should be much more workable next time around.

I'm done with all my big goals for the next release but I want to wait till the start of the month and establish that as the 'on schedule' release date.  So I will do some other small improvements until then.   Everyone should check back here on the 1st to get it.

I agree that 'A game of Dwarves' was not very good (I got it just to check it out knowing it wasn't very good), it had very shallow game-play, a small map and a linear unimaginative campaign.  The ONLY things I liked were the camera perspectives (which I had already developed on my own before AGoD even got announced) and the branching tree promotion system which is like Evil Genius with the one difference that you need some materials (food, wood, iron etc) to do the promotion in AGoD, where as in EG it was all done with training facilities. 

I'm exploring the use of items being necessary to promote to a new class (rather then the crude raw materials of AGoD), with the though that each class has 2 items of modest cost needed.  For example the basic 'Worshiper' class (the root class for the religion branch) might need 'Cloth Robe' and 'Quil & Ink' to promote too, then a 'Cleric of X' (where X is one of the gods in the Dwarven Pantheon,) could need 'Holy symbol of X' and 'Liturgy of X', and the last level 'Priest of X' needs 'Priestly Vestments' and um 'Giant Hat' (ran out of steam there).

The items in question get permanently attached to the individual promoted (until death, and even then I think Dwarves might bury their dead with these items) and high quality items could act to give them a bonus in the performance of their work.  So for example a holy symbol made of wood is +0 but a silver holy symbol gives +1 and a gold one +2.  One item might effect the speed of work and the other item the quality level of that work, which is what I'm planning to have attributes do with each class linked to 2 attributes.  You could perhaps upgrade items later but you won't get the old item back, the Dwarf keeps it for sentimental reasons :P
« Last Edit: March 20, 2015, 02:26:57 PM by Impaler »

Deuteros

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #11 on: March 21, 2015, 05:31:01 AM »
Your welcome, glad to help and I really hope your game gets some more interest because I think it could be really good.  I'll try to build your game soon so I can try out the tunnel digging, but I don't have any Java stuff installed at the moment and I want to play another game of Gnomoria :).

I think needing items for an upgrade is a great idea, it'll give a reason to set up complicated production chains which is always a lot of fun (for me anyway).  I hope you're putting accessible down at #3, with deep and challenging up at #1. 

A cloth robe and a quill and ink would need a pretty developed industry to produce, for the robe you need a cotton farm, then bolts of cloth, then maybe a tailor could produce the robe (as long as he had a bone needle haha).  The quill would need maybe feathers from an emu farm. Ink would be pretty hard to make.  I think tier 1 religion would just need something like a wooden holy symbol which only needs a woodcarver to produce.  Jesus only had some tattered rags and a donkey when he arrived in Jerusalem, you don't need expensive stuff to become an initiate.

I hope you're going for a production system similar to Gnomoria and Dwarf Fortress.  Maybe higher tier stuff needs more advanced classes to produce, it's great that it's class based because in skill based systems you get silly situations where you need to build 100 chairs before you have enough skill to build a table. A class based system would make this a lot more natural, you have to train a basic weaver up to a tailor by giving him a bone needle and maybe 2 days of training, then he can start making robes.

The monthly releases sound good, keep up the good work.

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #12 on: March 21, 2015, 04:20:57 PM »
I'll do a big promotion push on various indie game forums at the next release, in fact I could really use a 'promoter' who could do this kind of thing and it would be a bit more likely to be received well particularly on forums about other games.

Always good to have another person trying their hand at compiling, please STAR the project on Github if you have an account.

Of accessibility, depth and challenge I'd say I rate them equally and I don't feel they are in conflict with each other, I define accessibility as mostly good UI, good in-game documentation/tutorials etc etc, not 'shallow game play', as has been the common interpretation of  that term.

I'm certainly still in flux on the items-4-promotion concept (and just to be clear this is on top of gaining EXP up to the next level just like in AGoD), I haven't even thought of but a fraction of what kinds of items would be appropriate and what sophistication level is right (and now that i think about it Ink and Quills are consumable so it's not really appropriate, all promotion items should be durable).  Certainly the higher level classes should have the more sophisticated item costs, note thought that of the 7 different tier1 classes are not going to be needed in equal number, from lowest to highest they are (Worshiper, Thinker, Fighter, Crafter, Builder, Laborer, Gatherer) the Worshipers are the LEAST numerous and Gatherer is the most numerous (but of course Dwarven desirability of being in the professions is the inverse so right off your faced with a conflict, not child that wants to grows up to be an Astronaut).  So Worshiper and all of it's follow-on classes can be a but pricier in promotion materials then other professions.

Oh and it's a well known fact Jesus was an 15th level Cleric http://www.ruleofthedice.com/2014/04/the-only-cleric-that-doesnt-suck-is.html, though I suspect a level or two of Monk might have been picked up in the desert.  I'm not sure if you should be able to take 15 levels in a Tier1 profession, at some point don't you have to go to a higher one?  I'm open to ideas here on how many levels need to be obtained at each Teir to open the next, or perhaps different classes in the same Tier open at different numbers of levels. On a side note, I'd like to allow multi-classing if it is not too confusing to manage for the player.  The only reason I don't like holy-symbols being used on the Worshiper is that holy-symbols are logically Deity specific and you don't get Deity specific until you go Teir2. 

Production I expect to be as complex as in DF and Gnomoria in the sense of similar number of production steps, similar types of materials selection and diversity (but much more automated once setup with 'demand pull' systems).  How restrictive things are based on professions is likely to be fairly low, my thought was that the Tier1 professions listed earlier are quite generalist and can make MOST of the game items needed for basic sustenance like clothing and tools (and the bulk of items needed for promotion to a new profession class), but slowly and or low quality.  The Tier2 professions make stuff much better in quality and faster and make export industries viable, they open up the last of the non-magical items many of which would be luxuries.  And Teir3 are your Masters which achieve highest levels of crafts-dwarfship as well as open things like rune-carving, gem-encrusting, 'artifacts', golems, your 'end-game' content basically and nearly all of it being optional in the sense that the player never NEEDS to go Tier3 to survive and grow, it's all just for glory at that point. 

See the this doc https://github.com/ImpalerWrG/Khazad/blob/master/planning/Proffessions.txt for my current Profession plan, the 1st and 2nd Tier are mostly done but a lot of the 3rd Tier is still in flux waiting for ideas or left blank waiting to see how game play develops.
« Last Edit: March 21, 2015, 08:25:08 PM by Impaler »

Deuteros

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #13 on: March 21, 2015, 09:14:56 PM »
Well let's think about this. In Gnomoria I normally start off with 2 people mining, 2 people chopping wood and the other 5 making that early wheat farm to feed yaks (or cows if you prefer).  Once I have enough logs and raw stone I make some crude workshops. Then I craft workbenches and chisels so I can build more efficient workshops.  Once the farm is done the other 5 go off gathering.

In order to pull that off, you need to set up some professions. 2 people need to be told to only chop wood. Later on, you need to change their priorities so they build workbenches instead (or else cancel all the chop tree commands).

In your game everyone starts off as a generalist (presumably with all skills ticked). Are you going to allow skills to be unticked? (so that you can for example tell the wood cutters to stop chopping trees and instead saw planks).  Or do you have something else in mind?

It is possible in Gnomoria to play with all professions ticked. (The trick is to put hauling priority above workshop so that workshops remain clear).  The downside is that nobody skills up. Even in your class based system you'd still want the craftsmen doing the crafting (not some cleric).  Is it your plan that specialising causes professions to be unticked?  In the late game I expect I'd be sending all my new recruits to school so they can become a tier 3, which means that they wouldn't be getting in the way producing inferior stuff.

As for multiclassing, I think it would be useful if you can only have say 30 dwarves, but if you manage to make a game that supports 1000 dwarves then I don't think it would be necessary since everyone would be able to work full time in very specialised occupations.  So maybe leave that one for later if it turns out performance isn't quite as good as you hoped. 

The system in Evil Genius was good, you could specify that you want 10 social minions, 10 science minions and 20 military minions and it would just get it done for you.  I'm not sure if that would work so well with multiclassing, but you could have some multiclass section where you define a custom multiclass and specify that you would like 2 of them.

Impaler

  • Full Member
  • ***
  • Posts: 145
    • View Profile
Re: Khazad - An opensource Dwarf Fortress like game
« Reply #14 on: March 21, 2015, 11:01:09 PM »
I'm fairly sure I will NOT have any system of turning on/off work types for the individual, this is one of the worst sources of tediousness in DF and Gnomoria and is something I see as a central flaw in the whole skill systems both games use, the class-tree system main goal is to eliminate this.

To do the kind of of 'stop chopping trees' kind of labor redirect I would instead have the player 'Pause' the tree-cutting Job which is associated with a zone (zones need not be contiguous in my code), rather then every individually marked tree calling out to be chopped down it's all aggregated into a kind of macro Job that dose two things, first it 'owns' the workers in a much more durable way then anything seen in DF or Gnomoria.  Second it lets the player manage in the ways that are most important like setting the worker count to X and the priority level to Y.  All the Jobs haggle amounts each other for the best worker allocation that fits your goals.  I consider this to be the proper way to use an AI, for tasks that have a clear 'correct' answer and are just number crunching once the player has made the high level 'executive' decisions which require goal setting and long distance planning.

When I spoke earlier of 'generalists' I merely meant that Tier1 professions are generalist within their associated sphere, so a 'Crafter' can craft most stuff, a 'Builder' can build most stuff, you don't need a 'Blade Smith' just to make a knife or a 'Joinery' to make a crate.  As in AGoD your dwarves start as Tier0 'Peasant' or what ever I'll call the root profession, this would be equivalent to the construction worker in EG.  Now that class would be pure generalist but I'd make them very low capability, very slow production, very limited set of buildables, not something you want to really stay at, but in principle the Tier0 can bootstrap the items necessary to advance to Tier1 eventually (I don't see this as something the player normally has to do).  Because I'd let the player bring nearly all Tier1 (and maybe higher Tiers) Dwarves at embark time, so your immediately able to use modestly specialized labor.  Tier0 is more the realm of immigrants and adolescents and is never going to be more then a small portion of the whole population. 

The degree to which a Tier0 is a generalist though has important bearing all the way up the tree, because one of the rules is that all specialists retain the ability to do anything in their earlier broader professions.  So everyone has at all times the ability to do anything a Tier0 is capable of.  Naturally this will be the lowest priority for anyone with specialization above Tier0, but it's a good safety valve in principle, the critical work can ALWAYS be done even if your only Builder dies, the wall to keep out the Goblin army can still be built by your collection of Thinkers, Fighters and Gathers, they will just be slow at it.

I would very much like to copy the auto-training UI tool from EG, in fact I'd consider it a necessity when population exceeds ~100 and I'm quite sure I can exceed that performance level, integrating multi-classing into the tool would be very tricky though as it already has to handle sooo many more classes then EG.  It's possible that the custom class solution would work, or the simplest option of allowing multi-classing only when manually promoting might be sufficient as it's in the early low population (and especially on embark) that your most likely to be doing manual promotions and in need of multi-classing, by the time I'm relying on the auto-promoting UI everyone being mono-class is fine as you said due to plenty of specialization.