Early December Development Update

Things have happened. Here is a run-down of some of them:

Throwing

Throwing is basically finished. You can throw items around, and they will bounce off objects they hit and hit the floor, or just hit the floor immediately if you throw them at it. Tripwires will be triggered when you throw stuff at them, but currently pressure pads will not. I’m still debating whether there should be a weight requirement for triggering them, but I’ll update here once I’ve decided how this aspect should work. Additionally, message adjust themselves based on your knowledge. For example, if you throw a stone through a tripwire, it will produce one of three different messages. If you can see it, it might say “The stone falls to the floor and triggers the tripwire!”; if you cannot see it but have previously explored it, it might say “The stone falls to the floor, and you hear the tripwire release!”, and if you have never explored it, you might get “You hear the stone fall to the floor, followed by a loud snapping sound!”. There are equivalents of these messages for everything your projectiles can possibly hit, which has already built up into a pretty impressive database of messages.

Terrain

Almost all forms of terrain now come with their own lookup images, all unique and procedurally generated. This is something I’ve been meaning to get done for a while, so I just spent a few hours and put together some graphics I liked the look of. Some are more “realistic” and others more stylized, but I’m very happy with how they all look. Here’s a selection. Row by row, left-to-right, these are snow, sand, rock, dried lava, grass/undergrowth in the tropics, savannah, temperate and taiga, the bark of a tree, some branches, lava, and water. I probably shouldn’t need to say it at this point, but these are naturally all procedurally generated for every tile. Some of the wood/tree colours are a little stylized, but they generally try to adhere to a reasonable level of realism/accuracy.

Textures

Exporting Levels

You can now export the interior or exterior level you find yourself on, by pressing ‘X’, which will save to a .png file appropriately named (e.g. “25x29_Ex”, for the exterior of map grid 25 [x-axis] by 29 [y-axis]). Alternatively, the first floor interior of the first ziggurat on a grid would be saved as “25x29_Z1_F1”, and that kind of notation will be expanded to everything else. That function is still in its early stages – and later on you’ll be able to save and export information about your character, or the world’s histories and civilizations and so on – but this is a good start.

The Great Bug Purge

Over the last fortnight I’ve hacked the number of bugs and small fixes I wanted in this version down from a towering 50 to a mere 2 at time of writing, both of which are decidedly non-essential (they are more like slight improvements, not actual bugs). As such, I’m now moving onto developing the health system. Additionally, from this point onwards I’ll be increasing blog entries back up to one per week as we move towards the 0.4 release at the end of December. All that remains is the health system – or, at least, the components of it relevant to this release – and some very simple things like ensuring general “terrain items”, like branches and stones, spawn, and that some start in the player’s inventory. I was intending to allow you to create several items this release, for example oil-soaked torches (combining a torch and some oil, funnily enough), but there isn’t going to be time for that feature. I’m therefore going to push it back a version or two, and that’ll give me more time to think about what other item combinations I want to allow.

0.2.1 Released!

Just a quick entry today to say that version 0.2.1 has been released – it contains the resources map; fixes to all (I think) the bugs people identified; the ability to export the maps you create (‘X’), and a few other small features. This will be the last release until 0.2.2, if I do make an intermediate release between this and 0.3.x, or if not, then it is the last release before 0.3.x. Of course, on the off-chance I have introduced some game-breaking bug I haven’t spotted, I’ll fix that, but otherwise I hope you enjoy creating planets, worlds, and wandering around them. Blog entries will now roughly alternative between weekly and fortnightly depending on how busy I am with academic work, but will (as ever) return to weekly as we get closer to the next release.

Enjoy: http://www.ultimaratioregum.co.uk/game/downloads/

Version 0.2 Released!

Version 0.2.0 of Ultima Ratio Regum has been released! Find enclosed a guidebook, new world generation, sixteen skill trees, options, controls, saving and loading, multi-square trees, a thousand bug-fixes, and two massive secrets I’ve been keeping back until now. You’ll know them when you see them. Let me know what you think – and enjoy!

Click here to go to the Downloads page

Aftermath

Well, there’s a lot to get through on this entry. So, bullet points it is.

  • Firstly, the response has been a thousand times greater than ever expected. The game’s been downloaded around a thousand times, and the feedback has been overwhelmingly positive. Thanks all!
  • I’ve now released version 0.1.3, which is full of delicious bug-fixes (including the main moving-across-map-grids bug) and can be downloaded here (scroll for bugfix list). Quite a few of you will see your suggestions in it! This is the last version until 0.2.0, which is estimated for release in a couple of months.
  • Thanks to new donators – you’ve been added to the Contributors list.
  • From now on, releases will be on Mondays, because what better way is there to start the week?
  • Thanks to those who have pointed out how absurd the skills list is; yeah, I went a tad overboard there (particularly those in the SA forums who made me realize this all the more strongly). See below for 0.2.0’s resolution.
  • QUESTIONS. Firstly, should the numpad toggle stay? I know it’s not a perfect solution, but it’s the best solution I can think of for those without numpads. Secondly, the attack list – it has been suggested that instead of pressing Enter to confirm every time, you instead just press the same key you used to move into them again to confirm, and use Tab or Shift+Tab to scroll up/down through the list. Then you would, for instance, double-tap Left to attack a creature on your left quickly, rather than Left+Enter. Thoughts?
  • I think Wine should now work properly with the windows version. See the downloads page for details. I’m still working on a Linux release – it’s proving tricky, but in the pipeline. Please report if you can make it work on wine with the instructions/suggestions on the downloads page – I need to know how viable a short-term solution that is!
  • I’ve now started work on 0.2.0, which is going to a) remove the absurd number of skills and replace them with an interesting (but still quite substantial) skill tree; significantly alter the combat mechanics to make combat faster and attacks more deadly; split up world gen and player creation, so you create a world, then can make as many players as you want for it (but only one at once!); simplify and make clearer weapons/armor mechanics; and a bunch of other little fixes and upgrades. Lastly, skills will NOT just be raised by use due to the risk of farming skills; instead, I’m going for something like an experience system and you choose where to put the points. Stay tuned…
  • Next week’s blog entry will talk about programming in z levels, since I promised a blog entry on this a while ago, and I aim to deliver.

Alpha 0.1.0!

The time has come. A year and three months of work has come to fruition (at least, in its first alpha version) today.

Alpha 0.1.0 can now be downloaded HERE!

After a lot of bug hunting, there are very few remaining, and even fewer that actually cause a full crash rather than just the game functioning peculiarly. If it crashes, please email me at mark at this domain (or post in comments) with the bug info; I’d like to get a few fixes out pretty quickly, I think.

In the mean time, be sure to check out everything; world generation, saving maps; be sure to use the ‘Look’ function (‘L’) to examine everything, as there’s a fair bit of detail. You can equip, drop, pickup, wander around the world, go climbing, swimming, and encounter a bunch of foul creatures. If you die and restart, there may be a bug or two there, so you might want to just reload the program in that case. Also, trying to close the program while you’re in the early menus is a bit buggy; you need to have a world generated, or choose the ‘Quit’ option in the main menu to exit. The ‘contributors’ list on the acknowledgements page lists those who have donated (some other reward may come later, apart from acknowledgement and my eternal gratitude; who knows?!); the guidebook page will soon be expanded to a full game manual, but for now just lists keys; chunks of the map load and save, but you cannot yet save a full character; wolves appear in packs, while Cyclopes/Dragons will be on their own, or export the map and see what worlds you can generate…

Anyway, enough rambling. Enjoy; there’s far more info on the download page about the current features. I hope, for a first alpha, it’s not half bad – do let me know what you think. The focus for 0.2.0 is going to be on improving combat, and adding in more game mechanics – 0.2.0 should be out in a couple of months. For now, I’m shifting back to academic work for a while, but blog entries will continue (fortnightly or weekly, depending on their size) – I had a request for the programming and mechanics of z levels, so that’ll be coming in the near future.