Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Ultima Ratio Regum

Pages: 1 ... 15 16 [17] 18 19 ... 72
241
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: December 07, 2015, 06:52:10 pm »
First, before anything else, I received some incredibly exciting news in my email inbox this week about the Secret Project I’ve mentioned a few times. Once the contract is actually signed – a phrase that itself perhaps gives a few hints – I’ll post what’s actually happening, but I’m very confident in saying it’ll be to the interest of every single URR follower. I’m hugely excited – it’s my first step into a very exciting and important area of my professional life as both a games academic and a game designer and I can’t wait to start talking about it! More soon.

Now, onto this weeks’ update. This week I’ve continued the great bug purge and I’ve dealt with a massive volume of bugs, even with most of Saturday and Sunday being lost to other commitments. At this point I’ve got through a good 70% of the bugs that have accumulated in the last few months (although new ones begin to bubble up from my quagmire of code), so by the end of the next fortnight I would expect to have them all done along with castle generation, and I can hen finish off clothing generation and conclude pathfinding and AI scheduling behaviour. I’m still aiming to have all of this done by the end of December, which remains in the category of “difficult but not impossible”, so we’ll see how it goes. Here’s a complete list of issues resolved this week:

Bugs, Glitches, Improvements

- Fixed a few minor errors with delegate generation in democratic nations and ensured they are always distributed correctly.
- The basement vaults and the upper-floor delegate quarters in Mints that have delegates present are no longer mysteriously switched around.
- Ensured that small officers’ quarters (spawning in military bases in towns) always generate correctly on the inside, and don’t sometimes appear devoid of all furniture.
- All delegate houses can now be entered, and look distinct on the inside from standard middle-class housing (they have ornate flooring instead of wooden flooring)
- A major issue where you could sometimes see through church walls has been fixed!
- A minor issue with rivers in middle-class districts sometimes being smaller than they should be depending on the placement of district gates has been resolved.
- Castle generation is now appropriately affected if a river goes through the district.
- Sometimes closed doors were not opaque and sometimes open doors were; this has now been permanently fixed.
- In lower-class districts buildings can only be placed either in areas without road tiles, or on standard rather than special road tiles, in order to prevent some weird AI behaviour when roads surrounding buildings meshed with special road tiles.
- A minor issue in middle-class districts where special roads were given priority over standard roads (it would take a while to explain what this meant) at certain points, and was producing weird AI behaviour; again, as above, this is now resolved.
- When you load the game, it no longer mysteriously advances one turn.
- Religious symbols actually blend correctly on prayer mats instead of blending in a slightly peculiar way.
- People who spawn in groups now actually have clothes…
- Doors to delegate homes no longer glitch out weirdly.
- Fixed a weird issue where mountains that spawn rivers could no longer spawn them correctly; I think this was a result of some under-the-hood changes to storing world data a little while back.
- Fixed a weird issue with religious buildings that have additional corner branches instead of “side” branches, wherein they were not generating perfectly on the inside (this was a small error I suspect nobody else even spotted, but it was bothering me).
- Fixed a bug where a few orientations of delegate housing in city centres spawned houses that were actually too small to correctly generate an interior!
- Sorted out an issue where town walls in isolationist nations would sometimes stretch to the map edge and make it impossible to enter without leaving the map grid and then going back inside at the right “angle”.
- Ensured that smaller middle-class houses have more room partitions on the inside and look rather less empty and bleak.
- Dealt with a final remaining issue with middle-class houses where the interiors were, STILL, sometimes slightly too large.
- Resolved the final few issues with Mints re: the number of guards that spawn inside them, thereby making sure there are never now too many guards or too few and spawned guards can always match up correctly with their abstract counterparts.

Next Time

This coming fortnight I’ll be handling all remaining accumulated bugs from the last ~6 months of development (that weren’t dealt with in the past fortnight) and finishing off castle generation. My expectation is that the update on the 12th/13th will be castle generation, then 19th/20th will be the final bugfixing/improvement entry, then 26th/27th will be clothing, and then 2nd/3rd of January should be the conclusion of all remaining pathfinding/scheduling developments. After that we’ll be moving towards the conversation system, which is beginning to take quite a solid form in my mind. See you all next week for, I hope, castle generation! It’s looking extremely impressive and I think you’ll all be very happy with how it looks. You’ll even be able to walk along the battlements (if you can find your way up there)!

Also next week will have pictures. Dozens of awesome procedurally-generated castle pictures.

242
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: December 07, 2015, 06:48:05 pm »
Once again blown away by how sleek and beautiful URR is compared to most ascii games out there

Ty, ty :)

243
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: December 07, 2015, 01:38:25 pm »
Extremely impressive work as always.
Just one question - have you thought about how you're going to tie the economy of nations into this? Perhaps you'd do it at a more macro level (more cities compared to villages for a wealthy nation and vice versa), or maybe on the type of districts available to spawn, but castles might be a good place to also show this off - Wealthy nations would have lavish castles whereas poorer ones would have more of a fort.

Just a thought!

Thankee! Yes, definitely, I'd like economic differences to be wide-spread, low-key, subtle and "pervasive" much like the aesthetic shape differences, colour choices, and that kind of thing. I'm not EXACTLY sure how yet, but I'm working on it. That'll be 0.9 though since the list of stuff still to do for 0.8 is massive enough, even if I'm cutting through it at a pretty damned good pace at the moment...

I hate ASCII games - yet I absolutely cannot wait to play this when it's near a playable form. Seriously stoked - awesome stuff.

Haha, thanks! I'm pleased to have "converted" you :). It'll be initially playable with this release in ~April next year or something. Very glad you like it!

244
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: December 02, 2015, 04:52:06 am »
Thanks! As I say, I'm really crunching to get everything-but-conversations for this release done before the end of the year, as with this being such a big release I think it's really important to keep showing major progress over the long timespan we're talking (one month for everything else, then maybe three months for the conversation system?). Things are definitely moving along nicely though...

245
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: December 01, 2015, 03:51:40 pm »
This week I’ve been continuing my plan of trying to finish Everything Else in the lead-up to finishing NPC scheduling and the like, so there have been four major developments. Firstly, a significant change to how delegates are represented in democratic nations, which is far more interesting and far more distinctive; secondly more progress on generating castles, which I will probably unveil in a fortnight, though conceivably in just a week, depending on how things play out; thirdly I’ve redone the sigils for lesser houses, and they look vastly better; and lastly a range of other general bug fixes, optimizations and general improvements which continue to clear out my list of unresolved problems, hopefully resulting in a stable game in which I can then return to working on NPCs. My goal remains to have Everything Except Conversations done by the end of December – it’s a big target, but I think it can just about be reached. Read on!

Democracy

I decided to return to what I mentioned last week about giving delegates special homes and make this a little bit more detailed and a bit more interesting. I’m always looking for things that make each civilization distinctive, and doing this for democratic nations in a little more detail was something that quite appealed. Therefore, in each possible delegate location, there is a different kind of housing. The diagram below shows this – the top row are for “district” delegates, and the bottom row for “other” kinds of delegates (who might of course be resident within a district, but the game counts them differently). Middle-class districts use standard middle-class district houses (but gives them flags outside) just as upper-class districts use standard upper-class houses (again, with flags outside to denote that they are special), whilst aside from those every other area does something slightly special to denote the housing assigned to democratic delegates (all have flags outside). Here’s the full set:

Huge image, so linked it instead: http://www.ultimaratioregum.co.uk/game/files/2015/11/All-delegates1.png

These are, I think, pretty identifiable, and are another way to mark out differences between nations. It will also make it clear where delegates live, which might have use a little further down the line. The most challenging of these was for the “Bank” delegates who might live within the mint, and the “Religion” delegates who live within religious buildings, since those required me to return to buildings whose generation algorithms I thought I had entirely finished with, and add something new. With that said, though, I’m really happy with how all of these turned out, and they continue to add a little more depth to the more democratic of nations, and variation within democratic nations (since each nation distributes its delegates differently – one nation might have religious delegates and bank ones, another might have monastery and farm delegates, and so forth).

Castles

This week I’ve done a fair bit of preparatory work on castles. As I mentioned, I’ve been away this weekend, and will be away next weekend, but I’ve still had (and will have next week) a couple hours at the end of each day spare to get some coding done. As such I’ve tried to give myself something that doesn’t require sitting down and doing a huge amount of technical effort (since I like to focus on that kind of thing for long periods) but rather something creative which is primarily down to creating variations and having them generate correctly. As such, prior to this weekend I set up the system for the exterior generation of castles – they now generate according to national aesthetics, and of a size appropriate to the number of rooms they need to contain, and with various other things outside based on policies (severed heads on pikes, extra defences, homes for delegates, etc). This weekend and next weekend I started to work on their interior generation, which is complex and time-consuming but will look extremely exciting once concluded. I don’t think by next week’s blog entry I’ll have enough to properly show off a castle, but the week after that I suspect will be the big “castle generation” entry I’ve been working on for a while (I’m extremely pleased with how castles are coming together). In the mean time, here’s another little castle teaser:



Sigils

Given that I wasn’t happy with them before – and everyone who commented seemed, generally, to agree – I’ve changed the “lesser house” sigils for nations that have them to something that looks way better than the previous set. There are now 15 unique ones for each shape aesthetic that are far superior to the previous set. Here are some examples:

Again, huge image: http://www.ultimaratioregum.co.uk/game/files/2015/11/Newminors.png

Fixes, Improvements, Minor Changes

- Vases now only spawn for religions, not upper-class families; I didn’t want to allow the colour clashing between a nation’s colours and those of the vases (which have their own large set of nice-looking presets). Since I want more and more to be tethered to national flag colour-schemes in the future (armour, books, etc), I thought this potential slight ambiguity should be taken out. (Admittedly incense stands and vases both don’t match with religious colour sets, but that’s because they look terrible if I try to force that upon them, so we just have to accept that and move on, and besides, they are more “decorative” than an integral part of the religion – like altars, vestments, etc)
- Fixed a few minor problems with certain river generation possibilities in middle-class city districts.
- Fixed a problem where the orientation of Officers’ Quarters did not transfer correctly from their exterior to their interior
- Stopped servants/slaves getting stuck in gates…
- Ensured that all the new aesthetic-based road layouts still keep all relevant NPCs pathfinding correctly
- Other stuff I failed to note down whilst writing this entry!

Next?

This week I want to continue castle generation, continue working through the list of small things and required fixes, and move closer to having everything except conversations and spawned-NPC scheduling done; then do spawned-NPC scheduling; then move onto conversations. I’ve decided I am definitely going to go for a big release, so I’ll be moving onto the conversation system as soon as January swings around. The majority of people voted in this direction, but I hope this is ok with everyone. I don’t want to release a world full of NPCs you can’t engage with, and although I don’t want people to drift away with the length of the release (hopefully constant blogging prevents this!) I do now quite strongly think it’s the right idea and will be a very impressive, and very comprehensive, release. As above, my target is to finish everything except conversations by the end of the calendar year, for which I have a month left. Yikes. See you next week!

(Next week’s update will also be a late Sunday/early morning, but after that, we’ll be back to the normal Saturday/Sunday updates)

246
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 23, 2015, 08:52:39 am »
Before I started work on anything important-NPC-related this week, I came to release that I had stacked up a rather worryingly massive list of small bugs, issues, errors to fix, and so forth, which I should really try to round off before developing new, and which I should test extensively to make sure everything is currently stable before I start adding the next section (getting important NPCs to respond to their schedules when spawned near the player, as well as when physically abstracted out). So this week has been a blitz of smaller jobs, and here’s a brief list of some of the changes, bug-fixes, and refinements, some of which are slightly more significant than others and might get slightly more mention in a later entry. Firstly, the actually new stuff, and then the fixes and improvements.

New Stuff

Firstly, in nations with the vassalage ideology, we will now find that towns no longer contain town halls, but instead contain manors, each of which belongs to a specific noble family which rules that town and its surrounding area. These are naturally different in shapes according to the nation, and have some pleasant gardens surrounding them akin to (but smaller than) the gardens in upper class districts. These have three floors just like their larger kin, and now all generate correctly across all three floors. Also, you’ll note that they have clear gardens but they can be a little tricky to see when the colour match – once I redo plant generation and ensure visual variation across the world, this should be much clearer (and the same goes for all other buildings with clear “garden” areas. Here are some examples with the exterior on the left, then the floors from highest (with bedroom) to lowest (for servants/slaves):

Spoiler (click to show/hide)

Next up, delegates now have identified houses in all possible map grids. What I mean this is that whether a delegate in a democratic nation represents a city district, or a town, or a monastery, or whatever, they will now always have somewhere appropriate to spawn and to live. These are generally houses that stand out from the rest, but are not ordinarily of a higher status than “middle-class” (of the sort shown below). In an upper-class district they get upper-class homes, but everywhere else special middle-class houses will spawn. The one shown below is in a city centre with the “cross” aesthetic preference, and three delegates from the district. I recognize this looks a little artificial, but I’m content with how they look here (given that delegates in various democratic nations in the real world are naturally given special statuses of various sorts). Similarly, everywhere else, houses of this size that stand out will belong to a delegate.

Spoiler (click to show/hide)

There are now a suitable number of priests in each cathedral, and they know that they sleep there, and so when we move onto getting NPCs to physically follow their abstract schedules (the next major task), they will be able to retreat to their quarters at night when appropriate. The number of priests in the cathedral varies per cathedral, but they will always be found moving around the space and talking to others, or worshiping at the altars, or working at a table, and so forth.

Spoiler (click to show/hide)

Town halls also now have an interior, and some quarters where the mayor lives (I decided to combine those two roles into one), but as above, in vassalage-y nations there is no town hall and towns are instead ruled by a noble from their manor. Here are a couple of town hall interiors (they are all this kind of “star” shape, since I try to make every building a noteworthy and distinctive shape, and those happen to be a shape I haven’t really used anywhere else yet, and certainly not in towns). The rooms on the ground floors with tables will be where town records spawn once I’ve implemented books/scrolls/tablets/etc.

Spoiler (click to show/hide)

Training areas now spawn in city centre districts in nations which enjoy gladiatorial combat. This will be the standard “work location” for gladiators on days when there are no fights, and you’ll be able to watch them sparring once weapons get introduced. For the time being I’ll give them the same “meandering” code as NPCs get when they look around memorials or art galleries and the like. Doesn’t look super-exciting right now, I realize, but once it has gladiators training (and maybe things like training dummies?) it’ll be rather more noticeable. The shape of the layout is, of course, determined by the nation’s aesthetic preferences.

Spoiler (click to show/hide)

Improved/Fixed/Resolved Stuff

- Prevented market districts from spawning too many shops in nations with “forced shops” in their ideological preferences.
- Dealt with a bunch of issues involving sand, snow and ice terrain behaving oddly when certain structures are placed on them (since these are handled differently to “ordinary” land).
- Dealt with an interesting scheduling bug where monks really, really hated tending their vegetable gardens.
- Fixed an issue where guards for inside and outside mints became confused about their roles.
- Increased the colour contrast on prayer mats for certain religions to make them less painful to look at.
- Fixed a weird bug with segments being taken out of corner towers in certain districts.
- Fixed an issue with important guards (which is to say, all guards) not being corrected abstracted and returned when the player leaves their map grid.
- Random crowd NPCs will no longer go into a house that has been assigned as somebody’s home.
- Jailers, Mercenaries, Prisoners, Merchants, Innkeeps and other classes of NPC who generally wander around a given room/floor for most of their ordinary day no longer make a mad sprint for the exit the moment they spawn.
- The roads surrounding barracks, military bases and mansions do not override existing walls when spawned.
- Crowd NPCs in towns with foreign communities now only go into the appropriate houses from their culture when returning “home”, and NPCs from the other civilization present actually spawn and go about their day.
- Jail offices now contain, y’know… office stuff. Chairs and so forth.
- Roads in snow/ice/desert towns no longer sometimes appear at a strangely low z level.
- Towns in snow/ice with at least one edge of water no longer have edges that look strange and flat.
- The inside of monasteries always resembles the exterior, and are therefore no longer sometimes somewhat akin to the TARDIS.
- Houses in middle-class districts can no longer spawn, somewhat incongruously, in the middle of parks.
- Fortresses can no longer spawn on adjacent tiles to towns (I’ve only ever seen this ONCE, and should have been impossible already, but it is now doubly impossible).
- Fountains no longer look like delegates when they’re downhill. No, I don’t understand either.
- The quantum scheduling system no longer causes a crash at map edges.
- Fixed an issue that encouraged NPCs to run in circles in a particular form of middle-class district.
- The sex of NPCs is now chosen before they ever spawn – this allows them to spawn according to cultural preferences (only female priests, only male rulers, either in army, etc) and for people to talk about them with correct pronouns.
- Ensured that smaller upper class houses work again – since implementing something that assigns houses directly to families they had been riddled with bugs.
- Leaves are no longer made out water when they hang over tiles of water…

Next Week’s Stuff

At this point I’d say we’re at around… 80% completion on *everything* to do with NPCs and their AI behaviours (for now). We have crowds spawning, crowds pathfinding in every possible area, crowd demographics for nations and cultures, crowds entering/leaving buildings appropriately, important NPCs being spawned, important NPCs being tracked in the abstract, important NPCs being spawned when the player steps onto the appropriate map grid. All that remains is 1) to get important NPCs, when spawned, acting the same way they do when abstracted out, and therefore moving correctly around the physical maps, and 2) to add in the remaining important NPCs who don’t currently spawn (executioners, chiefs, and the like). Then I need to finish off the remaining clothing types (some of the lower-class clothing, and then all the clothing for nomadic/tribal nations), and finish adding in all the new ideological variation between nations, and then it will be onto castle generation and the conversation system! It’s hard to say what order this will be done in. Finishing off scheduled NPC movement is a very technical task and I like to leave myself clear periods of a day or two to work on that kind of thing – but I’m full-time employed now and I’m busy next weekend and the weekend after. As such, I’m probably going to focus on Everything Else for the next fortnight or so, and then come back to NPC scheduling to finish off the calendar year with. Therefore, I would guess that next week we’ll have my continued purging of the bugs and glitches I’ve stacked up (since only around 50% of the issues on the list have been resolved this week) and work on clothes, castles, or both. See you all then!

247
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 14, 2015, 06:18:51 am »
As I’ve mentioned a few times in recent entries, I’ve been working on how nations vary and how the game keeps track of the various beliefs of each nation. In the past we had a “policy” system, but that wasn’t really working how I wanted it to, and it was proving rather simplistic, so I’ve made a bunch of major changes, both to how the system works and defines itself, and also to the impact(s) which ideological choices have. Firstly, I decided to change them to “ideologies” instead of “policies” to move them a little bit away from the Civilization-esque model of a policy being something which affects a nation in an abstract way – greater taxation here, reduced freedoms there, etc – and rather use the term ideology to emphasize something which more structural, reproduced throughout the nation, and which has imprinted itself on many aspects of national life. So this week I’ve been working on updating these and in the process adding a huge amount of new variation to the nations in the world, and adjusting NPCs and their behaviour appropriately in the new nations. So, the impacts of ideologies on both the outside world, and the castle in the capital of that nation, are now as follows. I realize lists of this sort have appeared on the blog before, but I’m pretty confident now that this is the final system:

Religious
Collective Faith: churches spawn in towns, but not cities.
Organized Religion: churches spawn in lower- and middle-class city districts. Chapel spawns in castle.
Religious Freedom: capital city contains district housing all religious buildings; towns contain no religious buildings. Many small chapels for each religion spawn in castle.
Zealotry: churches spawn in every lower- and middle-class city district and every town. Chapel spawns in castle, and holy books spawn in many rooms.
Monastic: monasteries spawn outside cities. Monk quarters in castle.
 

Military
Conscription: barracks spawn in towns. Conscript training area in castle.
Standing Army: military bases (larger, and containing barracks and armouries spawn in all towns). Large garrison in castle.
Militia: many citizens carry weapons of some sort.
Pacifism: there is no military district in the capital city.
Vassalage: in towns there are manors instead of village halls, and there are a large number of lesser noble families (beyond those living in the city), each of which controls a town and its surrounding area. Hall filled with banners of lords/nobles spawns in castle.
 

Foreign
Exploration:
cartographer shop spawns in market district. Map room spawns in castle.
Isolationist: towns have walls around them. Extra defensive walls spawn around castle.
Internationalist: towns contain diasporic communities from other nations. Foreign tribute room spawns in castle.
Interventionist: Spies and informers spawn in other nations. Secret vault/room with espionage information spawns in castle.
Imperialist: colonies owned by the home nation appear on the world map. Trophy room of captured items from other nations spawns in castle.
 

Intellectual
Traditional:
biographer shop spawns in market district. Super-rare biographies spawn in castle.
Mathematical: architect shop spawns in market district.
Mechanical: mining shop spawns in market district.
Literary: bookseller shop spawns in market district. Super-rare books (of any sort) spawn in castle.
Antiquarian: historian shop spawns in market district. Super-rare histories spawn in castle.
 

Leadership
Representation: parliament spawns in city centre; delegates are assigned to an appropriate mathematical distribution across towns, monasteries, colonies, districts, families, religion, and the military (depending on other ideologies/factors). No throne room spawns, but rich quarters for current elected ruler spawn instead.
Stratocracy: barracks in every housing district. Military-focused throne room with heavy guard spawns in castle.
Monarchy: large graveyards with crypts spawn. Regal throne room spawns in castle.
Theocracy: crypt with archives spawns under cathedral. Throne room with altars and holy texts spawns in castle.
 

Trade
Free Trade: all city districts are free to enter. Well-guarded cache of foreign money spawns in castle.
Mercantilism: cities cost money to enter/exit (and towns if also with isolationist policy), but there is no cost for movement inside.
Planned Economy: each district in a city costs money to move through.
Protectionism: inferior prices for selling foreign goods; increased prices for selling domestic goods. Well-guarded cache of domestic money spawns in castle.
Barter: black markets spawn in lower-class districts and towns.
 

Cultural
Hegemony: racial background affects relations with NPCs and other nations.
Aesthetics: jeweller shop spawns in market district. Art gallery spawns in castle.
Venatic: fletcher, bowyer and crossbowyer shops spawn in market district. Hunting trophies are displayed in castle.
Wisdom: linguist shop spawns in market district. Super-rare philosophy books spawn in castle.
 

Justice:
Vigiliantism:
bounties for wanted individuals are listed on posters, and may be acquired from a central bounty office in the city centre. Heads on pikes spawn outside castle and/or in castle grounds.
Gladiatorial: arenas spawn, both for entertainment and punishment of criminals. Information about champions spawns in hallway in castle.
Frontier: pistolmaker, riflemaker and powdermaker shops spawn in market district. Rifle armoury spawns in castle.
Ordeal: punishment is by ordeal, the nature of which varies from nation to nation. Torture chamber spawns beneath castle.
Penitentiary: prisons spawn in lower-class districts. Dungeon spawns beneath castle.


The idea here being that these aren’t “abstract” changes, but physical and structural changes that the player should see in each nation they visit, and which in turn will be reflected in the kind of people you meet in each nation, how they behave and talk, and so on. Perhaps one can learn about the ideologies of distant nations in other ways – a book about a nation would only mention a famous fight in an arena if that nation has the gladiatorial ideology, for example, or a painting would only depict a nation invading another if they were (probably) imperialists – and perhaps plan out one’s path around the world, at least in part, based on this; at the same time the player should be able to have a decent idea of what they’ll find in a nation before they set foot there. Here are some examples – some of these already exist in 0.7’s world generation, but some of these variations are very new. We have here a town with walls and various military facilities and a mansion (and no town hall, since a town with a manor is ruled from there instead), a city centre with a parliament, a town with a diasporic community, and a new marketplace of a sort redesigned for the next release:

Spoiler (click to show/hide)

Many of the ideologies are however smaller in scale – certain shops spawn, or people behave in a certain way, and so forth – and are therefore not quite as easily represented in a nice blog entry screenshot. Equally, I’m also going to add a new set of variations which aren’t really “ideologies”, per se, but rather things like: regular statuary at junctions and alongside roads in cities, gardens in every district, writing everything on tablets instead of books, having developed gas lighting for their streets, and another two-dozen or so ideas I’ve got along these lines (using prayer mats instead of chairs in religious buildings falls into this category of non-ideological variation). Just more and more stuff to be developed slowly but surely in the background to further add to the variation and difference in each nation.

Next week we’ll have a big coding update. It has become apparent that I’ve stacked up quite an impressive list of bugs and issues and small things requiring fixing over the last few months, and I think it is wisest to deal with all of these in the coming week before starting anything new (i.e. getting NPCs moving around correctly according to their abstract schedules in the physical world). It is reaching the point where I just have too many things 95% finished in the next version to really keep track of, so the focus before next weekend is in clearing up and optimizing a huge number of things coded in the past couple of months, in order to free up a bit of cognitive space to then proceed with finishing off NPCs. Equally, apologies for two not-progress-heavy blog posts in a row; coding is going on in the background, but there’s so much on my plate at the moment (full-time research, book proposals, papers, etc) that I’ve been inevitably focusing on smaller coding tasks than larger ones which require serious focus for several days on end. Anyway – see you next week, at which point a bunch of papers and other tasks will have been concluded, and so coding should accelerate once again!

248
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 08, 2015, 09:27:27 am »
For this week's blog update I did a write-up of the ProcJam opening talks, and normal URRpdates will resume next week...

http://www.ultimaratioregum.co.uk/game/2015/11/08/procjam-2015-report/

249
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 05, 2015, 06:31:48 pm »
I love URR, because it's a small indie project tightly focused on its goals.

(And looks beautiful)

Thanks! I appreciate the tightly-focused comment too, especially since it took a while to really zero in on what I thought was interesting, but now I've figured out what I'm doing, nothing is getting in the way. The world is expansive, but focused for a couple of years now on the procedural-cultural-riddle idea, and with NPCs and conversations this will finally begin to emerge.

(And thanks! There is more beauty on its way)

250
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 05, 2015, 11:22:05 am »
Amazing progress so far! I'm still watching this intently. :)

Thanks! This release is getting bigger and bigger, but it's going to be damned exciting to be in the game world once it's done.

251
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 02, 2015, 08:36:55 am »
Oh god more procedural generated content porn pls.

(Or even procedural porn  8) )

Well, I'm sure I can deliver at least one of those...

252
Other Games / Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« on: November 01, 2015, 07:22:56 am »
This is now the fifth post in a row about handling the game’s important NPCs who need to be tracked in the abstract even when the player is nowhere nearby, and need to spawn when the player is nearby, and need to move appropriately when the player leaves map grids, enters them, and does anything else. In the last week I’ve coded it so that the game will correctly match up physically-spawned NPCs with their abstract “copies”, making sure that the right NPCs spawn in the right places; towns in nations with the “isolationist” policy now spawn with town walls, whichI think are *really* excellent and I’m very pleased with how they turned out; towns in internationalist nations also now reflect this preference; I’ve enabled the game’s ability to distribute important NPC information to a small number of a larger group of NPCs (if you read on it’ll be apparent what this means); NPC homes are now identified specifically when the player generates the map grid they live on and I’ve ensured that all abstract schedules now work correctly. In all honesty this is more of an “important NPCs and other stuff” update, but nevertheless there has been enough NPC progress to merit continuing the title. So: read on!

Matching Up NPCs

Now when any important NPC spawns, the game correctly matches them up with their abstract version. In some cases this can be slightly more complex than usual – for instance when spawning a priest in a map grid with a whole bunch of priests, it needs to spawn the right priest, or when spawning a merchant in a market district it needs to correctly choose the merchant who sells the particular type of goods in question (who will be stored in the game’s abstract information, so that they can be referenced at any point even if they haven’t yet been spawned). I know I’ve mentioned this several times in past entries, but I think this time it is *actually* full implemented, at last. There are some classes of NPC who do not yet spawn physically and therefore cannot yet be matched up to their abstract counterparts – for instance lords of towns in vassalage nations, or delegates for parliamentary nations (since I haven’t yet worked out where the heck they live!), but the system can be easily expanded to those when the time comes.

Town Walls and Diasporic Communities

In keeping with my plans to ensure that all ideologies have actual physical effects (akin, this is a blog post in its own right, which will probably appear in the next few weeks) I’ve added in the code for placing walls around the towns which exist in isolationist nations. Depending on the aesthetic preference of each nation – the standard square, circle, octagon, diamond, cross I’m going with at the moment – town walls generate according to a slightly different algorithm, and look quite different once constructed. Here are illustrative examples for each shape (square, diamond, octagon, cross, circle). At some point these will likely gain guards at the gates at the outside, either to check who turns up, or perhaps to charge those wishing to enter depending on economic policies…



Additionally, “Internationalist” civs have the reverse of this, and all of their towns contain what I’m calling diasporic communities. When such a town spawns the game will look for the nearest nation to that town’s nation which the nation actually has diplomatic ties with (so no nations they’re hostile with, and no tribal nations) and will then spawn a few of the houses (and some of the crowd) from that nation instead. Here’s an example of a town which had a community from another feudal nation, but sometimes they might even have a nomadic community living there, which would merit a different brick tile as well as brick colour:





(You’ll see some new shapes and things in the latter picture, which are the new “Barracks” and “Military Base” structures for various ideologies, with (of course) an appropriate shape for the nation in question). I am of course fully aware that this two-colour system is not how these things would look in the real world, but again, recognition/visuals/gameplay > realism in this case, since I want it to be very visually apparent that you’re living in a more varied town than normal. As above, all of this is part of the background objective of this release, which is making the world’s nations even more varied by completely reworking the ideology system. More on this later!

Prisoners, Farmers, Monks, and so forth

There is a particular category of NPCs where you have a number of the same kind of NPC in a grid, but only some of them are “important” and therefore need to be tracked. As I’ve mentioned in a previous entry, a jail might have 80 prisoners, but only 3 of them might be particularly important. The game can now distribute the importance to a random three prisoners, whilst also storing the remaining 77 so that the player cannot leave, return, see which prisoners have “respawned” and thereby deduce which matter and which do not.



All Abstract Schedules Work

This is a small but crucial point – I’ve now confirmed that all abstract schedules work correctly for all important NPCs, and that when the game starts (now fixed to exactly midday on Jan 1st, 1700) they all start off doing the correct job they should be doing. Whether an NPC moves from tile to tile, or always stays within the same map tile, and whether they are exchanging guard duties, tending to vegetable gardens in monasteries, ruling a nation or shopkeeping, all schedules now (as far as I can tell, and with 2000+ important NPCs per world gen, this is tricky) seem to work perfectly. I haven’t had a crash in a long time, and I can look at the important NPCs sitting on any map grid and they all always appear to be doing the correct thing. It is of course possible there’s a bug hidden in here somewhere, but I’m actually feeling very confident about it now. This is a major step towards next week’s objectives (see below) and it feels really good to have it all functioning correctly. I’ve also worked hard on optimizing the time it takes for abstract NPCs to take their moves, particularly when the player is fast-travelling, though this inevitably takes a bit of time; but since the laptop I program on is ancient and garbage, and players won’t be fast-travelling during gameplay anywhere near as often as I’m doing it in testing, I think a tiny pause per step is acceptable (though I will still continue to improve it).

Home Doors

Now, when the player generates any map grid, the game looks over all the important NPCs stored by the game, notes those which have their homex/homey variables on this map tile, then looks over what kind of door they should be living behind – a standard house, a castle, a church, and so forth – and then finds an appropriate door on that map grid and makes that their home door. For buildings with multiple doors (cathedrals etc) it stores all doors in a list of “home doors” rather than just the one. For some NPC types this hasn’t yet been completely handled – inquisitors, sailors and explorers will probably lack any home tile, I’m not yet sure where exactly certain NPCs will spawn and act (e.g. blacksmiths), and so on – but the overwhelming majority now get a set of door tiles attached to them. This also means that once such doors have been assigned, random crowd NPCs will never go through that door. Again, we continue to build towards next week’s objective (see below) of getting all the important NPCs to always act correctly “in person”, as well as in the “abstract”.

Next Week

My plans for the coming week are to begin work on the most challenging part of all: getting spawned NPCs (i.e. those the player can physically see on their map tile) to act according to their abstract behaviours and schedules. This is a huge one, and it will likely take more than a week for the entire thing, but I hope to have significant progress to show in seven days. I’m also probably going to slowly continue work on things like castles and ideologies in the background, and continuing to add to town variation (I need to get manors spawning for “vassalage” nations, and military bases for “standing army” nations, for example), but ensuring identical behaviour for spawned/unspawned NPCs is the core goal for the next couple of weeks. See you then!

253
Great idea about ocean routes Aseaheru!!

What are your ideas about piracy? I know it's a long time in the future, but are you thinking of an actual 'event' or a sort of end of action report?

Oh, definitely an event! You'll probably be utilizing ships in 0.9, though as you say, piracy is a way off...

254
http://www.ultimaratioregum.co.uk/game/files/2015/10/Oceanroutes.png
One way to make your ocean routes look a little more realistic would be to weight the deeper parts of it as more expensive to travel through for the purposes of ocean crossing. This will have ships hug the coast a little more realistically until they're ready to cross at nearer points.

This is a nice thought - I'll do that!

That tiny channel with all those sea trade routes going through would make a pirate salivate...

Ha, you said it!

255
Lots of further work on important NPCs (this “Important NPCs” series of blog posts is probably going to hit at least eight or so in total). The major developments this week: the game now assigns nearby home districts to each important NPC, and in turn an actual house when their district is actually spawned; the game now adds in naval trade routes and creates a range of maps for optimizing NPC pathfinding around the world; and NPCs now move around the world map and take an appropriate length of time to make moves! Read on:

Homes are Assigned

Homes are now assigned to all important NPCs, and each NPC has a “work” location and a “home” location (although special events, like a gladiator being pulled away from their training to fight in any one of many possible arenas, will add another “work” location). In some cases these are the same districts – so the guards who guard castles are also guards who live within castles, and their work and home districts are the same, and the same goes for every guard in a one-tile fortress, town, etc – whereas other guards will live elsewhere. There are no homes in a city centre, but the guards who guard the mints or parliaments have to live somewhere, and so they now live in other districts, where the district depends on the NPC (so the guards of mansions are better-off and live in middle-class districts, whilst the guards of arenas will live in lower-class districts, and so forth). When the player then enters a district with homes in for the first time, the game will look over which important NPCs are housed in that district, and will assign actual doors and houses to those NPCs, and ensure that random NPCs in crowds will never enter these houses. Here’s a little output noting which guard in a pairing each guard is (“first guard” or “second guard”, their form of guarding, where they begin the game (whether on duty, or not on duty), and then where they work and where they live; and you’ll notice a range of living districts for the mint guards.

http://www.ultimaratioregum.co.uk/game/files/2015/10/Homes.png

Ocean Trade Routes

The game now generates ocean trade routes. All settlements except hunter-gatherer encampments which “touch” the coast now count as being a “dock” (even if these do not physically spawn yet, but will soon), and the game now has an algorithm for attempting to piece them together in a reasonably interesting, efficient, and wide-reaching way. The player will be able to jump onto these shipping routes, as will important NPCs who need to travel very long-distance (which will be rare, and mostly for mercenaries, soldiers, ambassadors, diplomats, plotters in various schemes, explorers, inquisitors, preachers, etc). I’m very happy with the kinds of shipping patterns this produces, and is something I’ve been meaning to add for a while, since it connects up parts of the map not ordinarily connected and thereby allows important NPCs to potentially travel to places they couldn’t travel to before (more on this below). These routes will show up on the world map once you find them, and when you consider boarding a ship in 0.9 (probably) onwards, you’ll be told where that lane stops, how long it will take you to each location, how safe from pirates etc each part of the route is, and so forth.

http://www.ultimaratioregum.co.uk/game/files/2015/10/Oceanroutes.png

Road and Off-Road Pathfinding

When an NPC is looking for a path between settlements, the NPCs consider two possible routes – one using any tile they’re able to use, whether something fast like a road or something slow like an ordinary piece of terrain, and another using only “special” forms of travel, meaning roads, naval trade routes, and (in the future) desert caravans and mountain passes. Whichever one is faster (and safer) will be the one the NPC selects. So in this first picture, we see the terrain of a given world. In the second picture we see “all valid tiles”, and we can see that oceans are excluded aside from shipping routes, deserts are entirely excluded (since caravans do not yet exist), mountains are excluded (since mountain passes do not yet exist) and rivers are excluded, except on tiles where a road crosses them. In the third picture we see the final map which only uses roads and shipping routes, which might take longer paths to a given location but each particular tile will be faster – and so the game will check them both whenever an NPC wants to move. I debated going even further and weighting every single tile and using some kind of A* with Bounded Costs system, but a) that would be a surprising nightmare, b) it’s very CPU-intensive and this multi-settlement pathfinding has to be done effectively instantly, and c) I actually think this can have gameplay value: if you are told Person X is travelling to Y, you can be told if they’re travelling by road, or not, and can try to catch up with them that way, rather than knowing they’re going by the absolute optimal route, which might be very challenging for a human player to deduce.

http://www.ultimaratioregum.co.uk/game/files/2015/10/Terrain.png

http://www.ultimaratioregum.co.uk/game/files/2015/10/Worldpathfinding.png

http://www.ultimaratioregum.co.uk/game/files/2015/10/Worldroads.png

A final interesting note: we can see in both of these pictures that the area in the northwest is cut off from the rest of the world. That area happens to have no towns which are on the coast and therefore have docks, and same goes for cities, and it is separated from the rest of the world by mountains and desert, and cannot therefore be accessed by land (unless the player is willing to move through desert or mountains without caravans/passes, which will cause each turn to take many many times longer than normal; NPCs will not have this option). Therefore a future (but probably quite simple) system will be required to floodfill the world and to ensure that every settlement, no matter how obscure and hard to reach, can always be reached via land, road, shipping route, caravan route, or mountain pass, or some combination – something this particular generation doesn’t achieve.

NPCs Moving Around the World Map

Although this is all snazzy and important, the most important thing by far is that all important NPCs now move around the map on their standard schedules. They will not yet appear and spawn if the player enters the same tile, and they are not yet able to be given one-off tasks (“Come together in Parliament for a vote”, “Go to this arena for a fight”, “Present your latest artistic work in front of the King”, etc), but they all correctly make their way around cities and towns, they perform their actions at the right times, they get up and go to sleep, change watches if they’re guards, tend to vegetable gardens if they’re monks, and so on and so on. Now, naturally making sure that the player can physically see this happening is the next step – and a big one – but at any moment in time I can now check what every single important NPC across the world is doing, or in the process of doing, and when they’re going to stop doing that and start doing something else. There isn’t really a nice picture I can put up for this, but it’s happening, and that’s crucial and very exciting.

Next Week?!

The next two weekends are both free for me to focus entirely on coding (as well as ongoing evenings etc), so I’m hoping for a lot of progress. For next week I’ll be continuing to inch forwards on castle generation, hoping to get guards once more changing over their patrol timings with each other, and start to get all the important NPCs spawning when the player steps onto those tiles and being tracked whether abstract or spawned. That’s quite a lot, so we’ll see how it plays out, but I’m very pleased with my speed of development at the moment, particularly considering how many other professional (and personal) commitments I have at the moment. See you next week!

Pages: 1 ... 15 16 [17] 18 19 ... 72