The Exile Princes

Started by Jubal, March 31, 2018, 05:53:52 PM

Previous topic - Next topic

Tusky

Quote from: Jubal on June 03, 2018, 11:36:50 PM
I'm not sure what to work on next - more quests, more city detail, further combat improvements, more unit/enemy types, more diverse terrains etc on the map, more search functions... the possibilities are dauntingly endless!

I'm not surprised - the project's scope sounds insane! Are you doing anything to compartmentalise key features so that you could start releasing if you wanted to or will it just be one beast that you release into the wild some day?

Love the resilience stat idea. Much more specific than just "Tired", "Exhausted" etc.
<< Signature redacted >>

Jubal

I'm not really compartmentalising - my basic strategy is that after every burst of dev work I should try and get everything back to being basically playable again, so after last weekend's burst I have now neatened it back up such that you can validly win a campaign. I'm tempted to do a "release early, release often" strategy, but I find those depressing a lot of the time because I usually get little to no feedback when I do release stuff.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

I've added an improved party morale system this evening - rather than just, you have a morale stat that ticks up slowly over time (faster for characters with higher leadership stat) but drops sharply when you have units wiped out in a battle or when you run out of money to pay your troops. If you're a very successful war leader with a good reputation for paying your troops may put up with not being paid for a bit out of loyalty, but after that they'll get on and desert.

Next step I think is to add more enemy types, quests, and search results, so building up your character and exploring the world becomes a more varied and fun experience :) I've got a lot more to do on the cities and particularly on adding depth to city leader NPCs as well, but I think making the wilderness a bit more varied would be a bigger improvement at present.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

OK, so a fairly decent list of new additions recently:

  • There's now an extra tile category - farmland. Farmland tiles only appear within a certain radius of cities, giving a different feel to those areas - a map section with numerous cities is likely to be heavily farmed, one with none will feel much more like wilderness. Farms have their own search table and a fairly low chance of enemy spawns.
  • A number of new unit types for cities have been added. Cities now generate their own named "citizen" type rather than having a generic one, and these have a randomised level 2 unit that they turn into. The L2 units are all mostly the same except the name, but they have different options for the third tier, meaning each city has 2-3 of the third tier units assigned to it, and its army will be strictly comprised of its own units. Cities will now only ask you for one of their usual unit types when asking you to train troops for a quest, and when you complete such a quest your unit gets added to the city's army.
  • There are two additional base-level city quests now available. One is an escort quest, where you're given a useless NPC (who gets a randomly generated name, just for fun) and told to get them from point A to point B; the other is a bounty hunting quest, where you're told that a murderer is hiding on the farms near the city - you then have to go out and use the search command on nearby farm tiles until you find them, at which point a combat is triggered - sometimes it turns out that the murderer isn't that dangerous, sometimes they're a pretty tough warrior - and sometimes they have friends...! This means there's a total of five basic city quests; more would still be good, but hopefully this gives some reasonable variation. I might move on to looking at diversifying the search area tables next.
  • A lot of underlying infrastructure has been tweaked - the coordinate systems for each map tile are now better sorted, and units of both allied and enemy types now use the same statline, allowing easier interchangeability.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

I haven't been posting on the site much lately in part because I've been steaming ahead with this...


  • Lakes! Each supertile (that is, the map area you can see on your screen at any time) now has a chance of being designated a lake. If you search on a lake shore you have a chance of finding a captain who will offer you the hire of their ship for a fee.
  • Lots of extra search results. New weapons, new battles, mysterious altars, new units that can be found, the works. Some of these can trigger new quests even from outside cities - there are two new escort quests that can be triggered in this way.
  • Battles now display little picture icons for the units.
  • Special abilities now exist in battles - phoenixes can start fireballs, cockatrices can breath noxious gas clouds, cavalry units have a charge ability. Activating an ability often costs a certain amount of resilience points.
  • Other unit-related bonuses have been added. Wood sprites now give you faster movement (less MP needed) through forests, the new grape-hog unit gives you a decrease to the weekly cost of each party member (so the bonus is better the bigger your party), and a few mythic tweaks have been added: cockatrices, to which the cry of a rooster is said to be death in medieval bestiaries are therefore exceptionally vulnerable to the battle chicken unit, for example.
  • Games can now be saved & loaded :)
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

Devlog time again! I'm back to working on cities at the moment.


  • One non city feature, a new menu - the army menu screen! This allows you to set your initial attack unit, order of battle, and initial defence unit, speeding up battles as you can rely on e.g. pushing the unit you need trained out into battle first rather than clicking through them all. The army menu also lets you dismiss units, which if your army is getting too big and too costly can really help. The army menu is also a way of reviewing the stats and abilities a unit has (though I've left the "ARMY" typed command available for a quick overview - the downside to the menu is that it's good for examining particular units, but less strong on getting an overview I think.)
  • Elections have been beefed up and diversified. You can now give speeches to try and change public opinion, visit target areas of the city yourself, and get previews of how areas might be thinking of voting. Areas will also petition you for particular changes depending on items in their vicinity: areas with a library may want to hold public debates, areas with a barracks may ask you to increase the number of armed units the city has, and so on. Several of these random opportunities are only available if you're in the city and staying in a tavern there, AND you get more opportunities per week if you're inside the city. Staying in the city can be an expensive option though, especially if you've got a big army with you.
  • Once you win control of a city, you're in charge of it! That means you'll get tax revenues, which is nice, but there's a catch: if you win via an election, those campaign promises will get implemented. Did you promise to increase the military budget, or pay for better temple upkeep? You're now going to have to deliver on that, eating into the revenue you can get from the city. There'll be a lot more "city management" end things to come.
  • City armies got a lot smarter. They'll now move high-attack units into the attack slot by preference, and high-defence units into, well, defence, giving them a much stronger battle line for you to face up to. Most of the time they'll only get to do this a certain amount of the time, so if you can kill off one unit then you'll sometimes get one or two softer ones opened up, unless the city's ruler has the "general" trait (see next item), which allows them to use the AI script every battle turn.
  • Finally for this week's dev updates, the cities' rulers have been hugely three-dimensionalised. Rather than just being a name that gets thrown out when you go up to get a quest, they now have personality traits and will give a range of greetings dependent on them, and you can find out more about them by gossiping with the people of their city. Those traits will affect how they react to you both as quest-givers and potential opponents - one ruler might be a snide demagogue who sneers at you in private but is a ferocious debater and friend of the common folk in public; another might be an honour bound old-money noble who practices sorcery; another might be a madly brilliant general who spends their spare time entertaining the wealthy merchant classes and indulging a passion for terrible puns (yes, there is a "jester" character trait that some characters have). Hopefully this will bring the characters to life rather more (there are plans to do more with characters and traits in future, too).

What's next? Two major areas, also related to cities, before I get out and do more with the exploration side again. One of them is sidequests, which will be found via the "search city" feature. These will allow you to get yourself better known in a city and especially boost your popularity in particular parts of the city, which will give you an important head start if you later want to get elected.

The other area is city management and diplomacy, which is a huge area that I've barely started on. The plan is that you won't be able to micromanage cities: rather, you'll be expected to hold court every so often, and if you leave it too long your relations with your city will decrease. Holding court will give you opportunities (randomised much like those from elections) to shore up support, improve the city, or try and milk more money out of the populace, depending on your strategy. You'll also have the risk of losing what you've gained: if your popularity gets too low, you might well get challenged for another election. If you're at war with another city, you might find your own gets under siege. Meanwhile other cities will be doing exactly the same vis-a-vis one another, with sieges and elections happening elsewhere too. Once I've scripted all that. Eep!

Beyond that, there are a few other obvious areas before a beta is ready: one is defensive skills such as the horse archers' feint ability and the pikemen's schiltron, since I've only implemented the offensive ones so far. I'd also like to add some more general quests and search options, and I think some additional enemy types are definitely needed, including more sizeable enemy parties. A more developed religion-generating system is possible, but might be left until I'm already in beta.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Tusky

Sounds great!

Can't believe how much progress you've made. That's a lot of logic you've listed there
<< Signature redacted >>

Jubal

I really like coding the logic and mechanics of games, and doing the writing. When I'm doing this stuff I tend to do a lot of very laborious work with nested if statements which make real programmers wince but makes the logical paths very clear on the screen (especially with python + IDLE so it's colour coded too).

Of course I can't do graphics for toast except very simple stuff, which in some ways is a pain as it means I never make anything that looks play-worthy, but it does mean I get the time to produce things with a lot of mechanical depth to them. :)
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

In the evenings this week I've been writing the diplomacy stuff. I'm not initially writing any proper logic to the decision-making, just lots of random "let's go attack this place" so I can ensure that the mechanisms for creating wars, ending wars, and conquering cities all work.

It's taking a while, though most of the basic parts of that are now laid out: a more developed factions system, the ability for factions to make war and peace, emergent factions, new rulers being created and assigned when cities are captured, the deployment of armies, cities replenishing their own armies, etc. Progress, but not very exciting progress!
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

comrade_general

I feel like we should attack the house of generals.

Jubal

Navies now exist so cities can fight each other at sea, and factions now avoid declaring war if they don't have enough troops to hand. Going to add AI elections and alliances as my next steps.

My biggest current problem is dealing with diplomacy for the player's faction, since sometimes the player's own house has starting cities and sometimes it doesn't - do I always treat the player as the decision-maker for their whole house even if that doesn't make much sense when they're just an adventurer? I really don't know the answer to this one.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Tusky

Sounds interesting. I'm looking forward to how all this is displayed to the player since it sounds like there is a crazy amount going on!

How does diplomacy manifest for the player? Is it not possible to suppress that if the player has not got any cities yet?
<< Signature redacted >>

Jubal

If the player's faction has no cities, then yes, all diplomacy is suppressed. But the player faction can be given AI cities at the start like any of the others, which complicates matters.

In terms of display, there's a log which has readouts. There'll also be a "campsite" menu or similar where the player can review what their character has found out about the world - that's still on the "To Do" list though! Ideally the campsite menu will replace a lot of things for which I currently have console commands - to the extent that I'm half wondering about getting rid of the input field of console entirely at some point, it shouldn't take all that much tweaking for the game to be more or less wholly playable with the mouse. We'll see. I hate doing UI stuff, and I'm feeling quite bogged down in this diplomacy stuff still - I'll be very happy to get back to producing more random encounters and things that feel a bit more like real content.

Updates from today's work: The AI will now ask the player for peace treaties most of the time when they lose a city (and will be more likely to ask other factions for peace in similar circumstances). AI and player factions can also ally and break alliances - this gives a more concrete bonus for the city-state factions (which can't hold multiple cities) when they win a war, as the new city-state faction created after the war will automatically start out as their ally. Allies have a decent percentage chance to declare war on anyone who their allies are already at war with. You can now also assign allied characters to run cities when you capture them by force.

Next up is, I think, some balancing, and new features focusing on why it's important not to try and run every city on the map yourself - specifically that with great power comes great responsibility, and if you want to hold on to a city you own then you need to hold court there, keep it garrisoned, etc. So we'll get the "holding court" stuff, and the ability to look over a city's force and take units from the garrison there when you need them (or leaving your own units garrisoned in a city, equally). Also, the AI will start challenging the player to elections occasionally in cities you hold.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

Starting to work on city management now. More tweaks done to the tax system, I've set up the city "castle menu" where you get a bunch of extra options as the ruler of a city, and I've got one of those menus - inspecting the garrison - working. In your own cities you can now garrison units, and withdraw or disband garrisoned units. This is especially useful if you gain control of a city by election, because that doesn't damage the garrison at all and they can immediately come under your control. The other big part of this I haven't done is holding court, as mentioned in previous posts, and the trigger for AI-led elections.

The list of tidying up that needs doing is getting disconcertingly long at this point... I think once this is done I need to row back on the feature-additions crusade and spend a good while cleaning up and balancing what I have.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...

Jubal

OK, the AI will challenge you to elections now and that all seems to work OK. You can also choose to not fight the election in which case the AI will pick two random candidates and have a vote between them. The metric for the AI deciding to challenge you is currently just a probability trigger: the next thing to do is to add holding court and the mechanics that affect your popularity in held cities, which will in turn influence how likely you are to get challenged to an election.
The duke, the wanderer, the philosopher, the mariner, the warrior, the strategist, the storyteller, the wizard, the wayfarer...