Score Rush World Record

A week ago I managed to get the world record in the superb XBLA danmaku game “Score Rush” by Xona Games. The previous record was set several years ago by a Japanese player (for those who don’t know, Japanese players in shmups are equivalent to Korean players in Starcraft, European players in FPS games, or US players in fighting games) and whilst the record was immensely high, I was convinced it was beatable. The game has six difficulties, each of which unlocks after you beat the previous difficulty. At the time he was the only person to ever beat the fifth difficulty, “Insane”, with a score of 1,070,612,083. I became the second person to beat this difficulty after several months of serious pursuit of the record, but with a lower score. After several more completions of Insane but unable to beat this score (for his completion was extremely optimal), I decided it might be easier to become the only person to ever beat the highest difficulty, rather than beating this second-highest difficulty with an even more optimal score. So after a few more months I have now become the only person on the planet to ever beat “Godlike” difficulty, doing so with a score of 1,272,316,741. Technically Score Rush can be a multiplayer game, but nobody has ever beaten Godlike with four players playing simultaneously, let alone with one. I recorded the video, which can be watched below; the rest of this entry is going to an analysis of the record, the design of some of the bosses/minibosses in the game, and some ideas for what record I’m intending to pursue next.

PLAY IT AT 1080P!

The rules are extremely simple. Being closer to enemies does more damage; more damage means a quicker kill, and a quicker kill means more points. Only the tiny number of pixels in the centre of the player’s ship can be hit, the rest is just to make it clearer on screen where it actually is. You have three lives, and three “bombs”, which clear the entire screen. If you collect a lot of powerups you can acquire “smart bombs”, which clear a small number of bullets around the player; when the screen shakes, upon killing a boss or a large enemy, you have a brief moment (approx 1 second) of invincibility. So, without further ado:

The Second Boss (2:20 in video)

Init

The second boss of the game is the first real challenge. Its initial pattern is not too challenging, but as you do more damage to it the boss gains what I call a bullet spam attack – it unleashes a burst of untargeted bullets. In early playing of the game I thought this attack had a double fixed timing – I thought it would always do the attack at a certain point in the fight, and it would always conclude at a certain point in the fight. The trigger for starting and finishing this difficult phase were both, I thought, fixed. The bullets also come from two parts of the boss, making it especially challenging to keep in one’s head the trajectories for two different bursts of bullets with an identical colour.

Init

However, the more I played it became apparent that the AI of this boss, although simple, could be exploited so that it would do this attack at a point where it was as easy as possible to dodge, maximizing my chance of survival. I discovered that after a certain amount of damage has been done to the boss, the boss “flashes” white for a split second. Once you do a little more damage it will then do the bullet spam, and finish this attack once a certain amount of extra damage has been done. Once the attack has concluded there is then a very small damage lull (perhaps 2-5%?) until it then does the attack again. The boss moves back and forth across the top of the arena, so I realized that after the flash and after doing a little more damage, I could wait until the boss was on the far right of the screen and position myself on the far left of the screen before triggering the attack. This meant the two bursts of bullets would be travelling in roughly the same direction when they reached me…

B2

… which makes them far easier to avoid by keeping to the edge. Those fired from the left of the boss will be moving slightly “down” whilst those from the right will be moving slightly more “left”, but they will basically be rushing towards you from the same general direction. My survival rate on this boss climbed from around fifty or sixty percent to the high nineties, and a death to this phase became a rare occurrence. In turn, due to how weapon power works in the game, avoiding an early death meant that my ship would be stronger for the remainder of the game, and that (obviously) I had an extra life to throw away in the challenging later parts of the game. It also become clear that bosses moved onto new phases from the damage done like in other shmups, even if a health bar wasn’t obvious, and this information could be used to my advantage.

The Nightmare Attack (10:00 in video)

I reached a point where I was rarely dying in the first half of the game (although, ironically, my only death in the world record was actually very early in the run and as you’ll see in the video, I almost restarted because of it!), but one particular phase on one particular boss was killing me over half the time, crippling my world records attempts. This is because when you die your weapon strength is severely reduced, and you are no longer able to use “smart bombs” until you regain full weapon strength, and the section after this boss (which is discussed below) is borderline impossible on the higher difficulties without the ability to use smart bombs, not to mention the aid of the full-strength main weapon for your ship. This boss, Boss D, has three attack phases. The first is shown below – it is challenging, but with some attention to the pattern isn’t too difficult to dodge:

Init

Its second phase is oddly trivial and doesn’t need to be discussed here, but the third phase is a nightmare. It is easily as difficult as any attack of the final boss or the penultimate boss, and although the boss does not do this attack until it is very low on health, it is immensely challenging to survive for long enough until the boss explodes and clears the screen of bullets. Here is a screenshot of the attack:

Init

This attack is highly difficult for several reasons. Firstly due to the sheer volume of bullets, but primarily due to the problems the red bullets cause. Unless they are being fired from the other side of the screen they are sufficiently close together than they almost form a wall, and this blocks off major parts of the screen at once. At the same time, they form “lines”, cutting off the space you have to evade them. I also actually found that very rarely my eyes would for a split-second confuse the red of the bullets and the red of my ship – it would only be for a few frames of the game, but when I was near to those red bullets anyway, it would be enough, and I’ll die from a momentarily lapse in focus from the volume of similar-looking-red-things on screen.

I therefore decided it would normally be acceptable to use a single “bomb” on this phase – show in the bottom-right-hand side of the screen – which clears the screen of bullets. However, as time went by, I found that a similar tactic to the second boss, i.e. waiting until the boss is on one side of the screen, triggering its final phase, and then moving up and down across the other side of the screen, made this attack doable, and in the record video I do not die to this phase nor actually need to use a bomb, though it remains immensely challenging.

The Other Nightmare (11:45 in video)

Even if you survive that nightmare phase, a second nightmare waits immediately after. This is a huge selection of powerful non-boss enemies, some of whom have screen-filling bullet patterns. There are two types of enemy, and it’s worth explaining how these both function before going any further. The first I call the “green B2″, for its resemblance to the stealth bomber of the same name. These fire a cloud of green bullets, and when on low health, fire out blue lines of bullets south-west and south-east of their position (though these later blue bullets are generally pretty irrelevant).

B1

The second enemy I haven’t come up with a name for, but these are much rarer blue enemies. I’d say about half of their total number appear at this point in the game. They have two attacks – they fire blue bullets straight down, and also a small chunk of orange bullets towards the player. They have significantly more health than the B2s (twice as much?) and, when they die, I think the screen shakes for less time, thereby giving you less invincibility, but I haven’t been able to confirm this suspicion. They are therefore basically a version of the green B2 which is “worse for the player” – they have a similarly powerful attack, but they have twice the health, and yield less invincibility.

B1

Between the previous boss and Boss C (the boss before the penultimate boss, as the alphabet “counts down” in Score Rush) a horde of these enemies appear. I have never counted how many, but it is a very large number. The screen becomes filled with bullets no matter how quickly you can murder them, and this is where the screenshake became so important.

Init

In bullet hells there is something known as “U Streaming” – this means moving around the bottom of the screen in the shake of the letter “U”, as this is a highly effective way to dodge particularly thick patterns of bullet. You move along the bottom of the screen as slowly as you can for the aimed bullets to pass by you, then you dash up the side of the screen. This causes the enemies on the other side of the screen, firing aimed bullets, to shift their aim upwards – this will then yield a small but crucial gap in the bottom corner of the screen “underneath” the curve of the U that you can dash through and do the same pattern again in the other direction. It’s hard to describe, but I do it very often in the video. In this part of the game, I had to combine U streaming and using the invincibility each time an enemy was destroyed to have any real chance of survival (and the CPU slowdown from the insane mass of bullets helped a lot). You’ll see me moving back and forth on the screen and cutting across masses of bullets each time I kill an enemy which I know will give me temporary invincibility. The U streaming isn’t perfect, but it’s the only way through. Although I know from talking to the developers the invincibility was only added during screen-shake in order to avoid annoying deaths – “the screen was shaking so I couldn’t see what I was doing!” it is actually essential to the higher difficulties. Although a tool-assisted playthrough of the game could, I do not believe a human could complete the highest difficulty/difficulties without using this screenshake, and this area is the first one where the density of bullets is simply too high to survive without every tool at your disposal. There is also another rationale called “the infinity loop” or “infinity streaming” where you move in the pattern of an infinity symbol laid horizontally across the screen, but this is less useful in Score Rush than other bullet hell games.

The Circles (14:00 in video)

After surviving boss C, we move onto a really interesting enemy, which I shall call the red circles (fascinating name, I know). These fire a circle of bullets aimed at your position. The circle originates on points around their diameter but they are all aimed at a single point, which is where the player is. This results in an interesting bullet pattern which varies depending on how close to the red circle the player is, as shown in the diagram below:

Firing

If the player is positioned below the arrow when this enemy fires, its bullets will follow this pattern. The closer they get to their target they will clump up, then become akin to a line, and then open out again the further they get from the player’s original location before despawning once they move off screen. I think this is an interesting pattern, and one I haven’t seen in many other games – the bullets from an enemy don’t generally “change” their orientation to one another mid-flight, though a few shmups do use bullets which spawn bullets of their own (Blue Wish Resurrection, another game I intend to pursue the record in, does this). Once you get past Boss C, a number of these spawn on both sides of the top of the screen, along with a special enemy in the centre that fires out lines of bullets which are aimed towards you, but only track slowly. In my view this is one of the most interesting combined patterns in the game, though it is hard to fully understand it in screenshot form:

B2

This area encourages you to think about the bullets coming at you differently to much of the rest of the game. Much like some of the bosses who fire “clumps” of bullets which effectively take up a portion of the screen rather than a single, point this area feels like the bullets are abstracted into two parts – the lines from the central enemy, and the closing/line/expanding groups of bullets from the circles. You can see some of the clumps from the red circles around this screenshot – some are clumped, some have formed into lines, whilst others have expanded after missing their initial target. You’ll also note that I try to stay around the middle of the screen in this part in order to encourage the red circle bullets to clump up early – a line is much easier to dodge than a circular cloud, and one can mentally consider it to be “one object” with rather more ease in this hectic part of the game. This phase requires moving back and forth within the lines transcribed by the central enemy (the large red circle in the middle/left of this screenshot) and avoiding the thick groups of bullets created by the smaller red circles, and then cutting back across the streams when the circles are reduced to lines.

The Penultimate Boss (15:25 in video)

If you survive the red circles, you make it to Boss B, the penultimate boss of the game. This boss is highly challenging – its first phase is difficult, its second phase is difficult, its third phase (happily) is a cakewalk, but the fourth phase is akin to the bullet spam attack on the first boss, except… vastly more difficult. The phase here I want to talk about is primarily the first phase, for it is by far the most interesting pattern. In this phase the boss fires two main types of bullet – the blue “rhombus” chunks of bullets in the picture below, and also turrets which fire two lines of yellow bullets with a slight gap between them.

B2

After a few moments this creates an interesting pattern, visible at the bottom-right of that screenshot – the blue chunks are vertical lines of bullet whilst the yellow, even though they are fired as lines directly at the player, are each fired at a slight angle relate to the player, causing them to “rotate” on their axis the lower those lines of bullets get down the screen, resulting in them eventually turning into horizontal lines. This is reinforced because the sheer volume of bullets means that an optimal strategy for this boss is continually moving back and forth in order to get the bullets to spread out a little more; however, this constant movement results in far more horizontal lines of yellow bullets than moving slowly from side to side would otherwise create. The interaction of these blue and yellow bullets is somewhat tricky to describe, but I think watching the video presents it well – you can see them combining to block off certain areas or produce challenging lines (and sometimes right-angles and chevrons) that move across the screen, even though the bullets that make those up are fired separately. This first phase of this boss really uses the screen in an interesting way by producing two types of bullet pattern, one of which is changed based on the player’s movement, and requiring a slightly different form of movement to other bosses as temporarily “line” structures appear and disappear on the screen as you fight the boss.

Lastbomb

This, meanwhile, is a screenshot of the final phase of this boss, which is the other contender for the hardest attack in the game. I normally survive this phase without losing a life or bomb, though in this instance I used a bomb – I did have an escape route from the situation where I chose to bomb, but with two lives and three bombs left at this point, this was by far the best run I’d ever had, and I didn’t see any point in taking an unnecessary risk at this point.

Killing The Final Boss (19:20 in video)

Fial

The final boss is pretty tough and two things of note. Firstly, it is the only boss that actually moves in any real way. Other bosses technically drift slightly from left to right, but this boss moves a lot around the map. At first I thought it was random movement, but upon close investigation, I discovered its pattern is not random, though I think it is designed to appear random in the hope that keeping track of the bullets and avoiding its patterns won’t leave the player with enough time to notice it always moves the same way. It follows the same pattern each time – after spawning on the middle left of the screen, it then moves in the following sequence: middle left, top right, middle, top left, middle, top right, middle left, middle right, top left, middle, top right, middle right, top, middle, top left, top, top right, top, and then back to the middle. If you have not defeated it by the end of this sequence (on the higher difficulties there is no way you can kill it fast enough), the boss will then just remain in the middle of the screen and slowly drift up and down between the central thirty percent of the visible area.

Init

Discovering that this sequence was fixed proved to be a huge advantage. Many of the bosses attacks are made significantly more challenging by the fact it moves so rapidly around the screen; very difficult patterns of bullets can be created if the boss decides to move during particular attacks. Many of the bosses bullet patterns, when combined with its movement, can produce lines of attacks that are tricky to dodge and can easily push the player into a corner if you don’t know which way the boss is going to move. Memorizing the early parts of this pattern allowed me to always position myself in such a way that the next move the boss made would have a low chance of causing too much difficulty – if I knew the boss would dart to the right next, I would position myself on the middle of the left side of the screen so that I couldn’t end up stuck in a corner.

Lastbomb

As you fight the boss it changes its attack patterns several times, but one I’ve always rather liked is the pattern shown in the screenshot above. It fires chevrons of light blue bullets with a few small streams of yellow bullets. What makes this interesting, however, is that your dodging of one burst of yellow bullets affects what the next stream of yellow bullets look likes. This phase actively encourages you towards making smaller, more precise dodges, because the yellow bullets are aimed. If you’re making huge dodges, the next wave of yellow bullets will be fired over a wide distance because they are aimed towards the player’s location when they fire. Some bosses therefore encourage wild dodges and lots of movements around the screen, whilst other bosses like this one encourage smaller and more precise dodging. I appreciate the difference, and it’s quite interesting when one first figures out that you need to deliberately dodge one wave of yellow bullets carefully, so that the next wave of yellow bullets is as easy to dodge as possible. In this case I reached the final boss with two lives and a bomb left, by far the strongest I’ve ever got there on this difficulty, and completed it without losing a life or needing to use a bomb (though had I used the bomb “aggressively”, i.e. to deal extra damage, I could have stacked up a couple million extra points).

Conclusion and Future Records

So there you go – I’m now a danmaku world champion. I don’t anticipate this beating beaten in a long time, if ever. The previous WR has stood for over a year, and despite the very significant sales of the game, I feel confident nobody else is going to trump it any time soon. I’ve been the only person putting up scores recently, and whilst I’m hoping this post will achieve some popularity, I’m confident in that record sticking, especially considering how bloody difficult that highest difficulty is to complete. The reason I put so much time into it is, partly, what I discussed in my past entry about playing poker. Twice now I’ve been within a heartbeat of reaching “the big time” in a game – first competitive Counterstrike when I was younger, and then poker in my early 20s. Although in neither case I “gave up” because the game itself was too hard, I have felt as if my days of high-level gaming competition were over. I needed to get this to prove to myself that’s not the case. I was tempted to quit a few times, but it had become some kind of psychological requirement for me to actually get this record.

Now I’ve got one, I’ve decided I’m going to pursue some other bullet hell world records. I think “Danmaku Unlimited 2″ and “Blue Wish Resurrection” are both very viable possibilities, and potentially “Cho Ren Sha 68k”, though I think that one will be the most challenging of the bunch. Competitive multiplayer gaming doesn’t really interest any more but competitive singleplayer gaming really does, and since speedrunning isn’t really my thing, it’s going to have to be high scores. So: I’m going to be taking a break from bullet hells for a little while to relax, code URR and get some more academic papers published, but once I’m done with the break and back to playing, watch this space, my friends – for the only thing better than being a danmaku world champion, is being a multiple danmaku world champion.

Barracks, Crypts, Stables, Parliaments

IRDC Stuff

First off: I am organizing the International Roguelike Development Conference (Europe) at either the University of Lincoln, or the National Videogame Arcade in Nottingham (both in the UK), probably at the end of June (27-28). If you are interested in attending, please let me know. I’m also giving the “keynote” talk at the North American IRDC (more information here) but the fellow organizing it really needs to know about numbers and those interested as soon as possible. John Harris, writer of the long-running @Play column, is also likely to attend, and I’m in the process of trying to get in touch with some interested North American games academics. Again, if you’re in NA and interested in attending, please get in touch with either me, or the organizer via the Google form on the tumblr link I posted above. It is hugely important that we get some idea of numbers, especially for the NA IRDC, since one has never been successfully hosted in North America before.

Now, onto URR (though I’m afraid the above message will likely pop up every few weeks on this blog, since I want to get as many people attending both as possible!).

Crypts

My main focus this week has been on generating crypts. These appear below cathedrals and graveyards, and are quite rare – probably around half a dozen or so will be generated in the entire world. Those below a cathedral are home to religious leaders, saints, holy warriors and the like (assuming their bodies were recovered), and may also contain things like altars, religious archives, and various other things you’ll have to seek out for yourself. On the other hand, crypts beneath graveyards are “secular” and focused on the ruling family/house of that nation, so contain past rulers, important figures from that house, and the like, and since that crypt is more public than one directly beneath a cathedral, you may (in 0.8) find some other individuals lurking around there as well. The “segments” that make up a crypt are, like so much else, dependent on the shapes preferred by the civilization, so you’ll find crypts with lots of squares, circles, octagons, and various other shapes; they also vary massively in their layouts (I used a modular node-based generation system for these), and their “themes” – for instance, the top crypt of these two has a “desert theme” and sand has begun to flood in; the second crypt has an “overgrown” theme being found in a jungle; and there are several other, rarer, and pretty interesting themes which can affect the entire crypt. I’ll probably have these themes spread into other underground areas as well in the future.

Desert Crypt Temperate Crypt

One interesting feature of crypts (and from this point onwards this will apply to all underground areas) is the lighting system. You see those yellow/orange/red symbols in the pictures above? These are candle stands or braziers, and in-game they flicker between the three colours, and provide light, even if you haven’t explored what is between them. This means that you can sometimes spot areas distant in the dungeon which are lit as long as you have a clear line of sight to them, even if you cannot see what lies in-between. Experientially this makes for a very intriguing experience exploring an underground area which is quite distinct from other regions – as you explore you sometimes “catch a glimpse” of a part of the crypt you haven’t yet explored, and it makes it feel more like “discovery” than some above-ground areas. Also, in 0.8 onwards unless you have your own source of light your FOV will be significantly reduced, so other lights in the crypt act as “waypoints” to guide you from location to location. The grey ohm symbols, meanwhile, are sarcophagi/cadaver tombs themselves, and I’ll be working on the generation of the graphics for those (and their connection to family histories) soon.

Barracks

One of the “small” buildings I worked on this week was the barracks, which spawn in huge numbers in the military districts of feudal nations, and can also spawn in much smaller numbers (but larger buildings) in the rare desert fortresses of nomads. The fortress barracks are on the left, the feudal fortresses on the right. Currently they only spawn beds, but in 0.8 or 0.9 you will also have piles of items for that particularly soldier – armour, weapons, clothing, etc – next to their bed. Doors sometimes spawn and sometimes down; some rare barracks will spawn with chairs or tables in as well as beds; but they’re generally pretty compact, though they do have a decent number of different possible layouts (which are always consistent throughout a civilization). I’ve also (as per an excellent suggestion) made the glyphs for basic floorings (wooden and soil, in this case wooden) much simpler, and darker, to accentuate the contrast with the walls.

Barracks

Stables

Not much to show here. They’re stables, aren’t they? And stables without horses. What is a stable without a horse? Who knows?

Le stablee

Parliaments

I’ve also got to work on parliament buildings for feudal nations that have “Representation” as their leadership policy. In this case they are ruled by a President/Prime Minister/First Minister/etc, and this person exists within structures like the Red Senate, the Wise Congress, etc. In 0.8 this person should therefore have a “schedule” of movement between the castle (which will obviously be different for a Representation nation than, say, a Stratocracy ruled by the military) along with an appropriately protective retinue. There are meanwhile four basic layouts for parliaments, and each one then has a wide range of interiors, which also vary according to a number of other civilizational policies (and just general preferences in other ways). They have several floors, and sometimes a bell tower, and as with everything/everywhere else in the game, I’ve implemented appropriate code to allow them to contain some intriguing hidden secrets. Parliaments will also contain significant histories on the nation in question, lots of important people, and probably also some information on criminals, new laws to be enacted, etc, but we’ll figure that out later! As ever, I’m working hard to make sure every type of building looks distinct – admittedly Parliament buildings are pretty damned table/chair-heavy compared to others, but I still think it works (here are horizontal and vertical parliamentary buildings):

Parl1

Parl2

Parl3

And you see those white diamonds? Those are PAINTINGS. Obviously those will be focused in galleries, but you might also find a couple in upper-class houses, parliaments, castles etc, and once I get around to those they will all be procedurally-generated and yield hints about the world. They will serve the same function as statues, but those are both big procedural jobs, so probably… 0.9? Maybe 0.8, but I doubt it, given that NPCs is a pretty colossal/massive thing to work on for 0.8.

(Also, I am aware the middle image looks like the Parliament of Mordor – was just a fluke from a civilization with a dark brick colour, and it was in the tropics, so dark woods are going to be used for the furniture!)

Next Couple of Weeks

Despite the well-documented folly of attempting to predict future blog posts, I’m going to try it again here. The next two weeks (though I’m not sure which order) will consist of two posts. Firstly, I’ve written a very detailed analysis of how the graphics for religious altars are generated (I have thus far own shown a very small fraction of these on the blog), and that’s one partly written for an audience not yet au fait with URR, so I’ll be advertising that post quite heavily; the other entry is an analysis of the danmaku world record I just got this week (!), which comes with a pretty amazing video (if I do say so myself). So one of these should be next week, and one the week after, but I’m not sure about the order just yet. See you then!

Finished Cathedrals, Finished Altars, Planning Crypts

First off – I’m planning to host this year’s IRDC (International Roguelike Developers Conference), either at the University of Lincoln, or possibly at the National Video Game Arcade in Nottingham (both in the UK), at some time around the end of June. There’s some more information in this thread (though only about the UoL option, since the NVGA option hadn’t appeared when I wrote it) – if you’re interested, and if you would attend, please let me know so I can gauge interest/numbers. The conference is an “unconference” and open to everyone from developers to fans, academics to journalists, and whoever else fancies coming along. It’s entirely free. There will probably be one day of talks, one day of demos, and general socializing/eating/other human activities.

In the mean time:

.

Cathedrals:

Cathedrals, at last, are finished. They took the best part of the week to make as varied and interesting as I wanted – and to put in place features that will be needed in 0.8, such as quarters for the priests, potential for a cathedral to lead to a crypt, etc – but now they’re done, and I think there’s around 20,000,000 possible variations, give or take. Whereas the smaller religious buildings for each religion have names chosen from a large set, so you might get churches, pagodas, stupas, parsonages, etc, the largest building for each religion is known as a “cathedral” always – this is not out of an attempt to be christian-focused, but simply because there aren’t enough specific words for “a larger than normal religious building” to allow every religion to have its own! Whilst there may be dozens of lesser religious buildings around towns, cities, monasteries, etc, there will only be one cathedral, always positioned (as those who have explored 0.6 may have seen) in the city center of that religion’s home nation.

Here’s the cathedral I unveiled last week (just repeated here for the sake of comparison) and two of the others that have been generated this week, to give some idea of the variety. I spent around two hours just generating cathedrals over and over – it worked through pretty much every archetype and highlighted a small number of bugs, but with those fixed, I’m pretty confident they’re all generating correctly and cathedrals, finally, are DONE.

Cathedral

Cath 2 Cath 1

 

Altars:

I’ve finished off the remaining religious altar graphic generation this week, and next week’s blog entry probably is going to be a detailed update about how I went about generating them, the variety across altars, the relationships between altars and the particular kinds of deities they represent (different deities have different archetypes), and so on and so forth. The last set of altars that needed coding were what I (perhaps harshly) call the “standard altars” – these are for the more “ordinary” gods who do not fit into one of the rare archetypes, and are therefore given this set of altars. However, there is still significant variation in this altar archetype – here’s a couple of examples. There are twenty bases, twenty materials the base of the altar can be made from, seven altar shapes, thirty “edge” patterns, thirty “inner” patterns, around fifty possible items that can be placed on top, and twenty colour schemes:

Swan candles

(Just to remind everyone, what you see above is only one of the five current “archetypes” for altar generation; there are four others, and one more planned, though that might have to wait until 0.8)

.

Crypts (Planning):

I have begun design work on crypts, and these will be one of the next things I’ll show on the blog. At this point I’ve figured out how I want them to generate, and the differences between the two locations they can appear – crypts can be found in graveyards, in which case it will be a broadly “secular” crypt for important figures from that nation’s leading family, particularly important/noble knights/etc; and they can also be found under cathedrals, in which case it will be a “religious” crypt containing past religious rulers, saints, etc. Of course, some of these bodies might be missing if they died far from the home nation, and if you happen to read in a book somewhere that they died carrying a particular relic…

Anyway. I’ve been planning this out, and also the far less likely things that will generate in each crypt to add variation, and also how the graphics for the specific cadaver tombs and sarcophagi in crypts should be generated, and also just the technical stuff of making sure this ties correctly to figures in world history. This week has only been planning, but in the coming week crypts are one of the things I’ll be working on. Since that might be quite a big task, I’m also aiming to generate a whole bunch of the smaller/lesser buildings out there as well – I’m thinking military barracks, slave quarters, prisons and asylums, and maybe some hunter-gatherer buildings should all be done this week, but we’ll see what takes my fancy.

.

In Conclusion:

See you all next week for either the detailed examination of religious altars, or a more general update on crypts and other buildings, depending on whether I get Google Analytics sorted out on the blog before then, since the latest update I downloaded completely broke it. Sigh.

Altars, Vases, Churches, Houses, Taverns, Cathedrals

A huge update this week! With my PhD submitted to my university and the paper I’ve been working on the last month submitted to an appropriate journal, I’ve been able to devote the full week to coding. We therefore have some level design, some graphics, some ideas, and some other stuff, so let’s get going.

LEVEL DESIGN

I’ve been working a lot on many of the building interiors this week that still need doing. First off I’ve finished off religious building interiors, and handled a pretty wide range of strange goings-on and errors with their generation, such as the ability to walk outside them through cracks in the walls, or staircases which don’t correctly match up with their partners on other floors. They can have 1/2/3 floors, and have a massive range of variation in pretty much every way. Here are some examples, drawn from a religious district in one of the world I was recently testing things in (these imagines display the outside, the ground floor, then other higher floors, going left to right):

Ch1 Ch2 Ch3

I’ve also thrown together the generation code for the most basic of houses, those in slums and their slightly-better equivalents in lower-class housing districts. These, naturally, are tremendously simple, and it will be extremely rare for a player to have any need to enter one, but they’re there now, and on the off-chance that one will be housing something secret in a basement, the code is in place to allow that to be the case in the future. It generates an appropriately-sized space, places a bed against a wall, and then places a table against a wall, and some chairs around the table; slum housing, by contrast, will only have a bed (and a very simple bed at that) and sometimes a chair.

Outside Lower

Lowe inside

I then went to work on taverns, which always spawn in every single lower-class district. There are there basic sizes of tavern (all are a simple rectangular shape, and in keeping with my intention to make buildings broadly understandable from only the outside, no other buildings share this basic shape in the sizes that taverns occupy). There’s several dozen possible interiors, each with various sub-sets of generation and different angles they can be oriented in, tables/chairs which do/don’t spawn, etc, and all contain a staircase up to the bedroom where the innkeeper lives, and a small number contain a down staircase towards a wine/ale cellar, and perhaps something secret down there too? Pretty much all building interiors are being generated with the possibility of secret content – or rather, with areas that the game will use to hide a secret if necessary – so that if you’re told in the future that the innkeep of The Mask and Flagon is hiding something behind a locked door in the basement, it’ll be there.

Outside Lower

After that I worked on shops, creating the algorithm by which they decide where to put the ‘stall’ inside the shop (i.e. where the items will be laid out, somewhat akin to how shops work on NetHack), but since these currently lack items or shopkeepers, they aren’t especially fascinating yet, and don’t really merit a screenshot. I then moved onto military hospitals, which contain naturally lots of beds which will, in 0.8, have people in various states of decay/injury in them; chapels and areas where those religiously-involved with the military or with healthcare are stationed; and also naturally stores of healing items, herbs, etc. There aren’t going to be any non-military hospitals in the game: this is one of those gameplay > realism things, and I wanted to really focus the source of health items in one single place, and other districts were sufficiently busy whilst military districts were not, and thus, they ended up there. Hospitals vary in the layouts of their wings, how the beds are positioned along the walls and the quantity of the beds; and also the large stack of tables one can see in the top room of the first image, for example, will all contain various herbs, medical items, etc, in the future, whilst the lower room opposite it will contain quarters for the doctors, and potentially holy books as well if the civilization is particularly religious. There are equivalent rooms in the lower picture, and in other hospitals too.

Hosp 1

Hosp 2

Lastly, I’ve started on cathedrals. Each religion has one in the city centre of their home nation. These are actually going to be a massive task; I would expect at least two more days of solid work to finish them off, if not three, as they are huge, and require a lot of variation, but also need to appear broadly consistent with the ordinary churches of that same religion. As you can see from the screenshot below they’re pretty big (and that screenshot doesn’t show the entire thing), and very varied, and contain the majority of the relics for a religion, as well as obviously being a central holy place. Additionally, you may notice that the stone on the ground is slightly shaded; that’s because it is tiles rather than stone flooring, and the slight shading is in line with the colours on that nation’s flag, and this will be the case for all important/wealthy buildings (castles, cathedrals, manors, etc). Naturally the pattern for the ‘wings’ of the cathedral is a larger version of the same pattern for churches, and the inside is designed to show a level of consistency with the smaller churches in that variant:

Cathedral

PROCEDURAL GRAPHICS

I’ve pushed ahead on a lot of the new graphics for this week, and also done some more “background” work on creating infrastructures to allow these graphics to be used as clues and information that NPCs will give you in the next few months – which is to say, if a particular religion worships at a fiery altar, then written information on that religion might say “those who worship at the altar of flame” rather than “those who worship [God name]”, and so forth. Firstly I did some more work on finishing off the massive variation in religious altars we’re going to see in 0.7 – there are many archetypes, many variations, and something in the range of several tens of thousands of possible different religious altars. I’m working up to producing a detailed blog entry on these altars, maybe next week if they’re all done by then, but in the mean time, here’s another for your perusal:

Kingofspire

I’ve also, having finished off gongs last week, been working on some of the other general objects you’re going to find around the place. I spent a little over a day working on generating vases, some of which spawn for certain religions, and some of which will spawn in the castles and upper-class housing for particular civilizations. There’s several dozen designs, several dozen colours and about a dozen different shapes, so (especially once the entire world is no longer pre-explored!) it’ll be a long time until anyone comes close to seeing all the variations. Again, these will in the future be tied to information the player gets, and to my desire to focus gameplay on discovering the world, understanding the world, and figuring out data the player possesses. Say you hear about a chamber in a distant castle which contains “four fragile dragons” – find the room with four vases, and if those all depict a dragon, then you’re in the right place. Here are some examples:

3Vas

OTHER STUFF

A few other things. Firstly, doors have been simplified down to two types – locked and unlocked (I was previously thinking about adding “closed” and “open” as sub-variables of both, but that was quickly getting too confusing, and distinctly difficult to represent). Locked doors have a “full” door symbol, whilst unlocked doors have an open archway. Some buildings in various civs will of course be unlocked by default, like religious buildings, other public buildings, etc. If you’re trying to go through a locked door, you’ll need the appropriate key, though for this release, all doors will be open. I’ve also been doing some general figuring-stuff-out work on NPCs, NPC schedules, how they should be handled by the game, how they should be abstracted out when you’re far away from them, which NPCs the game should track and how it should track them, etc. Nothing visible to report on that front, but it’ll be important in the future.

Thanks to everyone for reading this monster entry. Next time: something else!

A Very Short Update in which Very Little is Said

Alas, I have little to report this week. I’ve worked on finishing off the graphics for procedural altar generation (there’s an incredible variety and I’m working up a really detailed entry on this, maybe for next week, maybe the week after), making sure that the player can correctly ‘l’ook at everything indoors, and sadly that’s about it…

… but this comparative lack of speedy development is because I submitted my PhD! After three-and-a-third years of work, one serious illness that left me pretty much out of commission for about six months, and another far more serious illness that actually threatened my life, I’ve got the damned thing in (if anyone is interested, I have updated my academic profile on the York site). I was expecting to feel profoundly nervous, but I feel oddly calm about the whole thing. I have a copy of the softbound thesis lying on my desk in front of me so that I can “revise” from it when the time comes to defend, but I’m having to make sure I’m not tempted into opening it and checking for typos or anything like that (though a pretty thorough typo search was conducted by both myself and two others). The next month or two have just opened up in front of me as wonderful blocks of time where no more thesis work is required (and it’s looking increasingly likely I’m going to have a game studies academic job on the horizon, but more on that as and when). I’m also going to start trying to write some more general games criticism stuff for some of the many games commentary sites out on the web, and when that actually starts happening I’ll naturally link to them here.

Anyway, this coming week, I’m therefore expecting major progress with a full seven days of coding – my intention is to finish off all the altar graphics, work on some more interior graphics, conclude everything to do with religious building interiors, and then move onto generating the interiors for some other, simpler buildings (maybe slums, lower-class housing, etc). I’m also going to submit the full 8500-word version of my roguelike semiotics paper (which I presented at a conference last year) to an academic journal at last, and I’m extremely happy with how it’s looking.

Lastly, I was also on Roguelike Radio again! I got interviewed for an episode specifically about URR, and it was pretty excellent (I think). I recommend giving it a listen. See you next week, folks.