Ziggurats!

So, firstly, an announcement – URR 0.3.0 is going to include some dungeons (“dungeons” meaning tombs, temples, ziggurats, dungeons, etc etc). It will expand development time by a bit, but I think we need to get some gameplay moving. I decided that as important as the history generation aspects are in the long term, I want to get some gameplay moving at the same time. The dungeons won’t include murals, or sculptures, or traps (probably) or bosses, but I’m aiming to at least work on the first stages of some dungeon generation algorithms, as well as creating their exteriors. For whatever reason (perhaps because I thought it would be a comparatively simple structure), I decided to start with ziggurats.

These will be one of the major classes of building you’ll find in tropical areas. Some will have been built by still-existing civilizations, whilst others may be rather more ancient. It is possible I will allow for the rare ziggurat to exist in desert regions as well (think Mesopotamia, etc) but they’re primarily/exclusively going to be tropical. I’m still working on the mechanics of building interiors, but I decided to take a break from history generation for a bit and start working on some actual gameplay.

Early research found a ziggurat look that really appealed to me.

Currents

What I really liked was this sense of the ziggurat emerging from the jungle; as something that was hidden and overgrown, and could be easily missed, or that blended (relatively) seemlessly into its surroundings. However, the more I looked, the more I realized this look was generated by trees (and their canopies) – which is to say, things that go vertically upwards from the ground. The key question was how to emulate this emerging-from-the-jungle look whilst keeping a top-down view. Trees would not work in URR as they give vertical blending, but no horizontal blending. Ultimately, I needed something that could blend horizontally. The obvious solution was creepers and vines. I’d been thinking about unique things I could add to various climates and biomes anyway, so it seemed to me that vines could be added to all tropical areas (which I’ve now done).

Vines are mostly for decoration – in gameplay they may slow you down a little (which is to say, turns passing them might take a few more ‘ticks’ in-game), and when I start working on combat, there may be context-sensitive possibilities to trip over them, etc. They spread across the ground in tropical areas, and serve as the main way to blend ziggurats into the surroundings. Ziggurats are not quite a finished product yet – I need to add doors which lead to the interiors (which are actually being worked on now), and create a system to ensure the interiors have enough floors, each of the correct size, to make the interior match the exterior. I’m also going to add ramps to some ziggurats, probably based on civilization preferences. Lastly, various things will be atop ziggurats – shrines, sacrificial altars, etc etc. Nevertheless, here’s your first ever glimpse of a building, and as ever, click to view full:

Z_Teaser1

You may also have noticed a new character amongst the general grass characters. This is the character for a plant or fungus, which I’ve now added in, and will probably be the subject of a blog entry in their own right another time. They will not have gameplay effects in 0.3.0, but I’ve included them here to further aid the detail in each biome. Meanwhile, interiors are being worked on, along with further history generation, though the latter has been slowed a little by a strange theocracy bug I’m struggling to eradicate. A huge variety of gods can now be generated too, and family timelines are coming along nicely. Chance are next fortnight’s entry will be back to history gen, though it might be interiors, or plants, or really anything else. There’s a lot in development!

Last but not least, I did an interview for a new games blog, The Game Bastion, about URR, goals, the future, etc. You can read it here:

https://thegamebastion.wordpress.com/2013/02/03/interview-with-mark-johnson-of-ultima-ratio-regum/

History Generation II – Religions & Cults

First, a general status update. Religious symbols have been expanded to almost double the possibilities shown in previous entries, and not just have duplicates been wiped out but even similar generations are disabled. Theocracies are now generating, and (mostly) perpetuating, via various combinations of selecting new leaders, electing them, waiting a sign from their god(s), popes/anti-popes (and similar), priesthoods, ruling councils, sects, and all that other goodness. I’m aiming to finish off theocracies in the next few days. Myth, god, hero and legend generation is coming along – by the next devblog entry I’ll be able to post some generated myths, and hopefully showcase the variety I’ve got in them.

Broadly speaking, religions (and their sects) will play a role at the level of grand strategy and a comparatively small ‘micro’ role, whilst cults will play a significant role at the ‘human’ scale but have minimal impact at the grand strategy level. I should start this by saying I’ve had several debates with people, online and offline, about making a distinction between religions and cults. Needless to say, in the real world, where one draws the line between a religion and a cult is entirely subjective – the power of the word “religion” as a legitimate form of worship means that the overwhelming majority of real-world groups who are generally labelled “cults” nevertheless strive for the “religion” label. Originally the word “cult” had no real negative connotations – as a sociological term, cults were a more “personal” kind of belief than religions and might have significant variation within their ranks, lack organization and the money/funding/support/interest of a major religion. Over time, the more negative/deviant/brainwashing qualities we now associate with “cults” came to pass. This little piece of historical sociology is not without purpose, I assure you (as much as I do enjoy relating the crossovers between my academic work and URR) – I thought long and hard about whether I wanted to split them up. I felt there could be gameplay value from having groups fight for recognition as full religions and the like, but also gameplay value in having the two quite clearly separated, and serving different roles.

Religions:

In the end, I decided I could have my cake and eat it, and have both. Religions and cults have been split up, but cults may still fight for power, recognition, etc. Religions (and their sects) will play a primarily grand-strategic role, which I’m in the process of coding into history generation at the moment. They play roles in the happiness of the populace, in what they believe to be just/unjust policies, as justifications for war, peace, expansion, and will play a role in battlefield morale, concluding battles, diplomacy, etc. They will spread slowly in various ways (which I’m working on now) and civilizations will have their chosen religious affiliation (if any) shown in the encyclopedia when you look that civilization up. Religions will have architectures, buildings of worship, and other goodness. Religions will also be able to split into different sects, which have similar (though generally lesser) effects to the above.

Cults:

Cults will spring up around specific gods. They will be hidden in cities, or towns, or in the countryside, or in ruins, or across entire empires, and each will have various ways of locating them, getting in with them, etc. The plan is that they will be able to offer the player a) specific missions/tasks relevant to the cult’s beliefs or political goals, and b) rewards tailored to the god they particularly worship. So, if you have a cult that has sprung up around a god of battle who is especially keen on beheading, each foe you behead and return to the cult will earn you some kudos. Naturally, not all gods can have cults, because who wants to help out a cult of agriculture? Equally, I hope to have cults battling amongst each other, and also attempting to gain influence in governments and similar. They will also be much more likely than “mainstream” religions to point you in the direction of tombs, temples, artefacts etc relevant to their faith…

Other:

The next blog entry will have generated myths (at last!), probably some new policy icons, and maybe a first look of some of the other 0.3 features. Blog entries will likely stay fortnightly for the moment, as we’re between releases so I have to focus primarily on my academic work, but as ever, towards release blog entries will move back to weekly. As ever, any and all feedback on this is greatly appreciated  Last but not least, many thanks for Hugo & David for the donations – you’ll both be added to the ‘Supporters’ list in the 0.3 release.

History Generation I

To start the new year, let’s talk about history generation. As a major focus of the next update, I anticipate this being a series of entries, though they may be interspersed with other facets, like mythology generation, languages, or the few other things planned for the next release. In this little series, we’ll be covering:

- Territorial expansion
- War
- Colonization
- Artefacts
- Rulers
- Discoveries/”advancement”
- Food and subsistence
- Resources and Mines
- Monarchy, Theocracy, Stratocracy, Chiefdom and Parliamentary leadership
- Rise/fall of religions and cults
- Policies/laws
- Art, music, etc
- Ruins and ancient civilizations

So let’s get started.

Territorial Expansion – civilizations expand as time passes by. They will gain new territory on the edges of their current borders, but this process is not linear and has a large number of modifying factors. For one, the policies that civilization possesses when they are “due” to expand (from a coding perspective) will impact how much they expand that time. The preferences of their leader at that point will play a role, along with their religious preferences and whether rivers, mountains or coastline is nearby (civilizations like coastline and rivers, and whilst they will use mountains as defence, they generally don’t expand towards them). Lastly, the type of civilization they are will affect how much they like expanding into certain areas. Agricultural civilizations like temperate areas and those close to them, but they will make do with savannah/taiga at a pinch; nomadic civilizations only exist in deserts, or large taiga/tundra regions; while hunter-gatherer civilizations can only be generated within jungles. Additionally, city-states will later exist, though they are not yet implemented. Civs expand in different ways – nomadic civilizations can only expand to a certain point, hunter-gatherers will not expand far beyond jungles (especially if there are agricultural civilizations on their borders) whilst agricultural civilizations are much less picky, but dislike areas too dry, too cold, or too wet to cultivate crops in.

Religions & Cults - 

I’ll be saying more about this point in a later entry, but I’m going to briefly cover how icons for religions are generated. I’ve shown a number of civ flags (though not the entire variety; I am adding in different kinds of flags for different kinds of civilization), though I’ve only posted the odd religious icon screen on the Twitter/FB pages. So, here’s a shot of a few dozen religious icons:

Final Rel Big

Religious icons are generated in three parts – a “base”, a “symbol”, and a “surround”. The base is the largest shape present – it might be two crescents at the top and bottom, various kinds of squares, triangles, octagons, linked squares, arrows, and the like. Once that’s been chosen, the game then selects a set of symbols appropriate to that base – symbols are the sections that go in the middle. Lastly, if *no* symbol has been chosen – some bases have no valid symbols, whilst even bases with valid symbols will sometimes choose against a symbol – then a surround is chosen, which is things that are outside the main design. Some of these are specific to specific designs, whilst others are more general. As with flags, names and everything else, the same religious icon cannot be generated twice in one game. And, like flags, some combinations are denied, either because they don’t look very interesting, or they actively create a clash between the components. Some symbols and surrounds are also changed to match with certain bases in certain ways – the upshot is, there are about 30 bases, 30 symbols and 30 surrounds, with variation within each, and that gives a heck of a lot of religious symbols. Note, though, these are not cult symbols – those are coming in the future – and religious icon generation is not complete, as there are more possibilities I want to add, and quite a few more I want to exclude. Nevertheless, the above gives a pretty good idea.

Policies

These will be discussed in more detail in later entries, but I’m going to start posting some of the artwork for each policy, probably at a rate of one or two per entry. So, to start us off, here are the policy icons for “Pacifism” and “Constitutionalism”:

PacCon

Holiday Musings and 1700 Years of History

So, the first full year of Ultima Ratio Regum development has come to an end, and finds us between 0.2.1b, and 0.3.0. As things stand on the road to 0.3, history generation is coming along nicely. I’ve got territory generating, different kinds of civilization – nomadic, agricultural, and hunter-gatherer – generating in appropriate places (hooray, environmental determinism) and being carried forward until a random point around the year 1700, when the game starts. I’ve been posting a lot of pictures recently of the generation on the Facebook and Twitter pages for URR. By the time of the next blog entry, I should have cities, settlements, mines, farmland and that kind of thing generating, so I’ll be uploading a more detailed discussion of history generation then.

In the mean time, I’ve been toying with several ideas for putting out more information about URR’s development. As I’ve stated previously, all releases will have some secrets in them (as you may recall, I did not mention planet generation pre-release) and that’s going to stay that way, but for the most part I want to put out as much information as possible. I think that’s particularly relevant when working on “big”, visual things like history or dungeon generation, rather than than maybe particular mechanics.

Anyway, I had an idea. Would anyone be interested in occasional video blogs? These might be for displaying things like territory generation, navigating some aspect of the world, trying out some new mechanic like fire or water (proper water, not the stuff in the game atm), and would have a bit of narration over them. Or, alternatively, is there anything else you’d like to see? Whilst I always appreciate donations, I never intend to Kickstart or similar, but I’m keen to try and find more ways to engage with people interested in the game. I always reply to any message/email/comment I get, but if people have any other ideas, shout. Remember, though, that URR is staying closed source!

In the mean time, our next blog entry on territory etc will be next year, but for now, I’m now going to spend the rest of today making sure that people through-out history actually die on time. Or can be poisoned. Or assassinated. Or die on the field of battle, or drown, or commit suicide, or die of a plague sweeping through their town, or…

Onwards to 0.3.x

Well, within a week of release 0.2.x is already half way to the number of downloads it took 0.1.x four months to accrue. I’d like to therefore thank everyone who downloaded, who commented, who liked the Facebook page or now follows me on Twitter, or anything else. I reply to every single email or comment I get here, or anywhere else (if I ever forgot to do so to someone’s comment, let me know and I’ll dredge it back up!), and it means a lot to me that people are interested in this insane world-generating madness I find myself committed to. Now that the 0.2.1b is out, which is (I think) a stable release, I’m now starting work on 0.2.2, which is an interim release before 0.3.x, but most of my URR work at the moment is going into 0.3.x. On that note, here’s some detail on some of the features we’re going to get in 0.3.x. Additionally, it is worth noting that blog entries will now return to either weekly or fortnightly, according to my academic workload, but as releases near I will return to weekly again as usual.

Anyway, 0.3.x has six major factors:

Myth generation

All civilizations are going to come with their own selection of creation myths, heroes, legends, villains, gods, monsters, and the rest of it. I’m aiming to get the game creating stories and tales that are both relevant in terms of content to the civilization’s mythological figures, but also thematically – the myths of some civs might focus around war, others around exploration, others around afterlives, others around reincarnation, or a number of other possibilities. These myths are not just background reading (though I will consider it a triumph if they are interesting enough to be background reading!) but will form key parts of dungeons, puzzles, religions, and a few other things too.

Language generation

I now realize I will have to include language generation in 0.3.0, though only in a basic manner (more detail will not be required until later versions when you explore dungeons and talk to those who do not share your language). However, languages and their structures - consonants, vowels, symbols, etc – will at least be set for this release, though I am not yet sure to what level until development is a little further along.

History generation

This is the meat of 0.3.x. I aim to get URR generating 1600-1700 years of history from an arbitrary “Year 0″ up to a year somewhere between those dates. Hopefully, this history will include everything from people to artworks and from battles to famous ships, will be detailed, and most importantly will be browse-able via a kind of quasi-hyperlink system that should show you a “See also:” list at the end of each history article, allowing you easily follow history information around from topic to topic.

Civilization generation

This is the end goal of history generation (and also, obviously, a component) – to leave us with a number of civilizations in the present day, some discovered (from the perspective of the player), some ‘undiscovered’. It will likely display settlements and mines and forts and everything else on the world map, though naturally these will not yet be accessible from the player-scale map. It might or might not also include implementation of policy choices; if it does, they will not have the planned icons yet (for there are 28+ of them to draw!) but will be described in-text instead.

Coat of arms generation

Pretty self-explanatory. I want the game to generate large, varied coats of arms, of the same size and quality as the main menu pictures. They should be dependent on what the family is known for, what kind of civ they live in, the climate zone of that civ, the myths of that civ (for the animals on either side, etc) and so on. This will be awesome, but I anticipate this might take as long as the civ generation. Depending on how things are looking as we reach a few months into next year, I’ll have to take a look at 0.3.x objectives, possibly scale some back, or release it in two parts, or do a consultation about what people would prefer. Regardless – for now, that’s the plan.

Flag/religious icon generation

Much as above – all civilizations and religions should generate their own symbols. This will be much simpler, and I don’t anticipate this taking more than a couple of days of coding to create. At time of writing, I am at least 50% through flag generation: an example of current progress is:

So, there we have it. As I say, blog entries will likely now be mostly fortnightly, but I will be keeping it updated with development progress as we go along. Smaller but much more often updates will continue on FB and Twitter, and any comments or ideas for these six areas will be greatly appreciated. Until next time…