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

Be Sociable, Share!

48 thoughts on “Version 0.2 Released!

  1. Sorry but I think I may have found a small bug. When I press space to look at a generated world pressing space again doesn’t take me out of that view. The direction seem to indicate that it should.

  2. I squealed a bit when I navigated through the skill trees.[props for making it remember where it was last left open].

    First thing I’ve notice: In world generation[I squealed again at the planetary system, but can you choose any other planet to play on besides Earth? And for what purpose these planets if you threw the “futuristic” era away, ancient teleporters to them or for fluff / astronomy?] I cannot at any point choose to go back, or cancel it all together.

    When looking around, the x10 works only with shift and arrow keys, not with numpad keys. I like the small detail you threw at the looking screen.

    Also suggesting, in case you have in mind for the future, instead of using the “>” and “<" keys for going wherever, use shift/ctrl + "numpad 5"

    Also, I see no reason for you to hit "OK" after a new zone you're walking into has been loaded.[maybe, if you plan on adding back the bite-sized quotes or known world information]

  3. @ Reyn – glad you liked them! Actually, there might be a bug with it not tracking that when you save/load. Not quite sure why, but intend to deal with it in the near future.

    Purpose of planets… well, partly that would be a future spoiler, but they influence myth a small amount, but more importantly, they influence a lot of puzzles and a lot of aspects to do with ancient civilizations. But for now, fluff. Good point re: going back; will deal with that.

    Thanks for the heads-up re: the x10; will fix. Glad you liked it!

    I was actually pretty certain I wouldn’t use > < - I've always found them un-intuitive. I'd been considering simply pressing Enter on a doorway staircase, but I really like your suggestion too. Might allow both. You're the second person to note the pressing ok thing; I agree, I'll remove that. No, mechanics will be guidebook, world info accessed through its own screen.

  4. Had a crash, here’s the report

    “Traceback (most recent call last):
    File “URR020.py”, line 82938, in
    File “URR020.py”, line 76903, in place_menu
    File “URR020.py”, line 65682, in options_menu
    File “URR020.py”, line 76903, in place_menu
    File “URR020.py”, line 65682, in options_menu
    File “URR020.py”, line 76903, in place_menu
    File “URR020.py”, line 65919, in options_menu
    File “URR020.py”, line 76906, in place_menu
    File “URR020.py”, line 65259, in version_details
    File “URR020.py”, line 76909, in place_menu
    File “URR020.py”, line 1655, in guidebook
    File “URR020.py”, line 76903, in place_menu
    File “URR020.py”, line 65919, in options_menu
    File “URR020.py”, line 76797, in place_menu
    File “URR020.py”, line 22862, in planet_gen
    File “URR020.py”, line 14821, in world_menu
    File “URR020.py”, line 76797, in place_menu
    File “URR020.py”, line 22862, in planet_gen
    File “URR020.py”, line 14821, in world_menu
    File “URR020.py”, line 76894, in place_menu
    File “URR020.py”, line 13717, in world_browser
    File “URR020.py”, line 1742, in civilization_choice
    File “URR020.py”, line 15556, in character_creation_1
    File “URR020.py”, line 15096, in character_creation_2
    File “URR020.py”, line 17863, in skills
    File “URR020.py”, line 15086, in character_creation_3
    File “URR020.py”, line 75150, in new_new_game
    File “URR020.py”, line 76137, in new_play_game
    File “URR020.py”, line 72325, in keypresses
    File “URR020.py”, line 69802, in player_action
    File “URR020.py”, line 26957, in move
    File “URR020.py”, line 606, in new_loading_screen
    File “URR020.py”, line 59880, in make_chars
    File “URR020.py”, line 3238, in draw_edge_tree
    IndexError: list index out of range”

    What I did: pressed tab while the screen was loading the next area(from another area, not world) for me to walk into.

  5. Actually I haven’t gotten far. Lots of distractions. But I have found the loading a bit.. Hmm. Tedious? Is pre-caching surrounding areas unpractical?

  6. I know what you mean about loading, the same has struck me – but when you think about it, that’s only because there is nothing to do except move around! When the grids are full of towns, caves, battles, whatever, you’ll be loading very rarely. I’ve felt the same, but once there’s actually Stuff To Do, I think that feeling should vanish. I think pre-caching is, sadly, not going to work; I’ve given a lot of thought into the current saving/loading system to balance between speed and how much is loaded at once.

    EDIT: Also, the speed of loading is only for outdoors areas, because they are a) large and b) have to handle day/dusk/night/dawn and seasons, and all kinds of other things. Indoor areas will be smaller, and will be very rapid to generate. But as I say, you’ll be Actually Doing Stuff on the squares in the future, so loading will be rarer. With that said, I’d still like to make loading faster at some point.

    • Hey, with good practical reasons like those I understand completely. Sometimes you have to accept small annoyances to enjoy the overall experience right?

      • I think/fear/hope so; but as I say, I am still going to try and make it a little speedier in the future. It would be a big job, though, as that would necessitate the reworking of a huge amount of grid-generation code…

        • I’ve been fooling around a bit more. It looks like you have the start of something awesome here. I don’t know what’s new or old or what those secrets would have been as I had never seen it before this release. But I do like what I’ve seen.

          The only suggestion I would make is it make it possible for folks to use two key to rotate their character and then two keys to move forward and backward. I find that more comfortable than the current scheme so if it isn’t a lot of effort… worth considering I hope?

  7. Firstly, thanks a ton – the two secrets were planet generation and the generated main menu picture!

    That’s a very interesting idea. I might have that as an extra option, if I could think of a way to do it. I’m surprised you think you’d find that easier – out of interest, are there other games you have in mind that have that kind of control scheme?

    • Fairly sure several old games that I just can’t seem to recall clearly used it. But currently there is this retro style game in slow, continual indie development called Unreal World. It’s very much like your game in some ways. But instead of ANSII it uses a simple tile based graphic system.

      http://www.jmp.fi/~smaarane/urw.html

      • Interesting; yeah, I’ve noticed Unreal World. I think it looks great, and I intend to give it a look at some point. There’s a few of us making “simulationist” games at the moment, though nobody else is forgoing fantasy elements and regular combat the way I am. A mad gamble? A brilliant strategy to a new kind of game? WHO KNOWS?!

  8. I am really impressed by this new version, the game seems to be moving along great! I was wondering though, when on a mountain or hill would it be possible to have an increased viewing range? So it has more of a feeling of being up high and seeing a greater amount of the lower landscape?

  9. Thanks! I like that idea. Climbing upwards could give you a (small) sight bonus (I only say small for CPU reasons). I shall play with the idea, and if it seems to work out well gameplay-wise, I’ll add it in.

  10. First and foremost congratulations on release, just by playing with 10 minutes in i can already see several major improvements in the gameplay.

    Of the new implementations that i like are the skill tree system and the actual world gen. i still am wondering how exactly other planets effect our earth but that’s a different topic.

    I would like to advice you to tell players which things on the skill tree actually don’t work, for example Stealth has not been implemented and i did not find out until i read it in the guidebook section, meaning i already had to re-create my character due to the throw of xp.

    One major turn off though is that i keep getting harass by the constant loading halt and random errors.

    These were the reports from the log file

    Traceback (most recent call last):
    File “URR020.py”, line 82938, in
    File “URR020.py”, line 76797, in place_menu
    File “URR020.py”, line 22862, in planet_gen
    File “URR020.py”, line 14821, in world_menu
    File “URR020.py”, line 76909, in place_menu
    File “URR020.py”, line 1655, in guidebook
    File “URR020.py”, line 76894, in place_menu
    File “URR020.py”, line 13458, in world_browser
    File “URR020.py”, line 1742, in civilization_choice
    File “URR020.py”, line 15556, in character_creation_1
    File “URR020.py”, line 15096, in character_creation_2
    File “URR020.py”, line 17863, in skills
    File “URR020.py”, line 15086, in character_creation_3
    File “URR020.py”, line 75150, in new_new_game
    File “URR020.py”, line 76137, in new_play_game
    File “URR020.py”, line 72295, in keypresses
    File “URR020.py”, line 69802, in player_action
    File “URR020.py”, line 26957, in move
    File “URR020.py”, line 606, in new_loading_screen
    File “URR020.py”, line 59880, in make_chars
    File “URR020.py”, line 3238, in draw_edge_tree
    IndexError: list index out of range
    Traceback (most recent call last):
    File “URR020.py”, line 82938, in
    File “URR020.py”, line 76897, in place_menu
    File “URR020.py”, line 13370, in world_browser
    File “URR020.py”, line 75025, in new_load_game
    File “URR020.py”, line 76137, in new_play_game
    File “URR020.py”, line 70047, in keypresses
    File “URR020.py”, line 1912, in quit_save
    File “URR020.py”, line 2034, in quit_save2
    File “URR020.py”, line 76903, in place_menu
    File “URR020.py”, line 65934, in options_menu
    File “URR020.py”, line 76797, in place_menu
    File “URR020.py”, line 22862, in planet_gen
    File “URR020.py”, line 14821, in world_menu
    File “URR020.py”, line 76894, in place_menu
    File “URR020.py”, line 13458, in world_browser
    File “URR020.py”, line 1742, in civilization_choice
    File “URR020.py”, line 15556, in character_creation_1
    File “URR020.py”, line 15096, in character_creation_2
    File “URR020.py”, line 17863, in skills
    File “URR020.py”, line 15086, in character_creation_3
    File “URR020.py”, line 75150, in new_new_game
    File “URR020.py”, line 76137, in new_play_game
    File “URR020.py”, line 72295, in keypresses
    File “URR020.py”, line 69802, in player_action
    File “URR020.py”, line 26957, in move
    File “URR020.py”, line 606, in new_loading_screen
    File “URR020.py”, line 59880, in make_chars
    File “URR020.py”, line 3238, in draw_edge_tree
    IndexError: list index out of range

  11. @ Blue-demon: re: loading, I know it seems often and annoying (I’ve felt the same way sometimes when testing), but when there’s actually Stuff To Do, it won’t seem so bad! Given that 0.2.0 has nothing but exploration, you’re going to be hitting a lot of loading screens because you’re just zooming through each area. When the areas have buildings, NPCs, creatures, things to explore/do, you’ll be loading far, far less often. Additionally, indoor loading screens are pretty much instant. As for the skill trees, none of them do anything yet! None of the mechanics are implemented, as there aren’t any NPCs or civs in the game. They are there to show what a lot of the future mechanics are, and also to help me plan ahead by knowing what kinds of mechanics I want. As for planets, they affect legend/myth, and also the more complex dungeon puzzles, but I’m not going to explain any more than that just yet : )

    Thanks for the heads-up on the error; I’ve fixed that one, I’ll be releasing a fix (0.2.1, probably) at the weekend with a few extra features in as well that I didn’t have time to put up this time.

  12. For me, the game hangs and becomes unresponsive after picking either the first or second skill in character creation, however if I don’t pick any skills, the character creation continues just fine and I can play the game, it doesn’t seem to be any specific skill tree either, it does it with all of them.

    When in the game, I tried to use the skill tree again and could actually pick several skills, though it did hang after picking several ( four) skills. Navigating the skill menus is fine, and doesn’t seem to cause any problems. There’s no error, it just hangs and becomes unresponsive the instant the skill gets selected.

  13. So, the game is written in python?
    What if some players want to create modifications or plugins to extend the functionality of the game?
    Are you gonna create a tool for this?

    Anyway, in your game can be seen a lot of potential.

  14. @ Zigu – that’s not good. Does it hang up when you unlock the skill, during the unlocking animation (i.e. where the square expands and contrasts) or after the unlocking animation? Were you doing them particularly quickly or slowly? Are you on a normal Qwerty keyboard? Were you using the numpad and numpad enter, or arrow keys + enter? Hope you don’t mind all the questions – I’ve had a few players mention skill tree issues, and I want to hunt this down.

    @ Arn. It is indeed. If players want to, the only route is to send me a message suggesting their idea; I have no plans to create modding tools, I’m afraid, nor to open any of the source. I don’t believe it’s worth the effort on my part; anything that I feel should be in the game I intend to put in; and so much of the game is so closely interconnected that adding any modding utility would be limited to truly mundane things like adding new metal types for weapons. But as I’ve said here/in the readme, I’m very keen to hear ideas from everyone. Anyway, thanks : )

    • It seems to hang up halfway through the animation, where it expands, though it has done it the split second after. I checked through the menu slowly the first time to see the skill effects/names/so on but at an average pace after, use a standard Qwerty keyboard, and was using the arrow keys + enter.

      • Interesting. So it freezes when you have the maximum expansion of the skill animation. Weird. Hmm… are you on a particularly fast or particularly slow computer? Having just looked, I think I might have found the source of the problem, anyway! Just a dubious piece of code. Will make the change and then if you could test it on 0.2.1 in a few days, that would be great.

    • Well, I saw a few random traits on some planets, and I was wondering if you would have those on the Earth planet, and what effects they would have. I’ve also seen a couple of non-Earth planets which looked like they could possibly support life. What do you think about having multiple habitable worlds?

      • Ah, like severe tilt, thin atmosphere, etc? I… hmm. Maybe. On the other hand, I’m not being really explicit about whether ‘the Earth’ is this Earth, or a potential different Earth, or a parallel one, or a different way history might have gone, or what… but I can see some things like that might have gameplay effects. But then you’d have to let the player choose them, naturally. For the time being, I think the worldgen has enough choice for the Earth, but it’s an interesting idea I hadn’t considered – shall keep in mind.

  15. Any chance for an ARM build once linux stage is achieved? Unless it uses GL should be straightforward and appreciated on many platforms.

    • I am afraid I am totally ignorant of Linux and have no idea what ARM or GL mean! Can you elaborate? I’m still waiting on my flatmate to return with his Linux laptop, but if that takes too long or just doesn’t work, I have a spare old laptop I might try and refurbish into my own Linux machine instead…

  16. I’ve discovered your roguelike today: JAW DROPPING.
    Aw man this is so awesome: a realistic medieval roguelike FUCK YEAH !!!!!!!!!!!!

    Even thought I prefer tileset, because they can display a lot more of informations in a more efficient and easy to read way, your ASCII is the sexiest I’ve seen in my whole life !
    But I find your texts are difficult to read because the space between two letters is too large, my brain has trouble processing the words. Can you reduce it a bit please ?

    I’m also a huge fan of Unreal World and I hope you’ll take some ideas from it. Like for examples the excellent combat system, wound system and the hunger system.
    Oh and please make the field of view 180° like in real life.

    One last question: can you tell me what means “Ultima Ratio Regum” ? (sorry if it’s written somewhere in your blog)

    Man, I thought I would never became gay but I love you…

  17. @ Roguelike liker – thank you! Very kind. Glad to hear it about the ASCII – I’m really trying to get people on board who usually use tilesets. Heck, I normally use Tilesets for other roguelikes, but I felt there was a lot of room to improve on normal ASCII displays in roguelikes.

    You’re not the first to mention the reading-lots-of-text issue. In later versions I’m going to experiment with having two different font sets, with a thinner one used for large amounts of text.

    I also like UW, and I intend to have wounds/hunger developed in later versions once the real gameplay aspects get under way. I wouldn’t say the FoV in real life is 180! The player has 160 or so at the moment, which I think is enough : )

    It means “The Last Argument of Kings”, and refers to warfare – the idea being that everyone can debate, or discuss, or practice diplomacy, but the final ‘argument’ a king can deploy is war. One day, we’ll get to the version where the name makes sense!

    My thanks for your final comment – do let me know what you think of the coming versions. Gameplay content is on its way, I promise..

    • “I wouldn’t say the FoV in real life is 180!”

      Well it depends on the peoples but Wikipedia mention a FOV of 160° × 175° with the reference ” Wandell, B. (1995). “Foundations of Vision.” Sinauer, Sunderland, MA as cited in Neurobiology of Attention. (2005). Eds. Laurent Itti, Geraint Rees, and John K., Tsotos. Chapter 102, Elder, J.H. et al. Elsevier, Inc.”

      I also found this image (sorry in french): http://www.futura-sciences.com/uploads/tx_oxcsfutura/comprendre/d/images/667/vision_043g.jpg

      And since I’m a physics student (phd next year), I did years ago some practical works in optics, one of which was to determine our FOV. And if I remember correctly mine was about 183°.

      So I think 180° is a good average for a human FOV especially in a roguelike because it’s a straight line.

      • I forgot to ask: why we can’t see 4 meters in front of us ?
        At first I thought it was the night but I walked some days and nothing changed.

        • @ Ayrb – but that wouldn’t work, because it would have a gameplay effect! More FOV would be easier, so everyone would just turn it up.

          @ T_r_l – touche. Nevertheless, I visually like how the current FOV looks, and having originally tried 180 at the start, it looked very mechanistic, unrealistic and arbitrary, and as if I had just chosen 180 as a lazy alternative to the normal 360 roguelikes give you. Of course, “field of vision” could mean things you can identify, or things you can at least spot (i.e. our ability to detect movement but not colour, say, towards the edges of our vision) and I would say the edges of the 180 aren’t actually that practically useful, whereas most within 160/170 would be a little more.

          As for range of vision – I’m not sure what you mean! At night your vision goes down to about 4 squares or so at the most, but in day time it’s around 15 or 20 or something like that. Your sight range definitely changes with time of day… unless this is a bug I’ve not encountered before. Are you 100% sure it was day time and your sight range was the same as night?

          (Please reply in the main comments box, this one is getting too thin!)

  18. I tried to generate a new world to see, but each time I started a new game it crashed.

    Here is the log:
    Traceback (most recent call last):
    File “URR020.py”, line 82938, in
    File “URR020.py”, line 76797, in place_menu
    File “URR020.py”, line 22862, in planet_gen
    File “URR020.py”, line 14821, in world_menu
    File “URR020.py”, line 76894, in place_menu
    File “URR020.py”, line 12544, in world_browser
    TypeError: unsupported operand type(s) for /: ‘str’ and ‘int’

    I had to redownload the archive to be able to play.
    And yes you were right the range of vision is about 20 square.
    But still, 20 is very very tiny no ?

    • Have you ever got that error before? Let me know if you get it with 0.2.1, which I’m about to upload. Weird. Do you mean once you reinstalled it from the zip/rar, it then worked perfectly?

      I don’t think so! It’s partly a gameplay thing, because I don’t want you to have a colossal sight radius; and partly a CPU thing, because the URR squares have so many potential colours and characters dependent on the character (time, season, type, height, etc) that too many of them would cause a lot more stress. Remember the ranger class if you want to see further ; )

      • Nope that was my first crash.
        And yes I deleted the old folder and unzipped a new one and it worked fine. Maybe one of the world file got corrupted.

      • I started a new game and I was walking in the wilderness and a crash happened.

        Traceback (most recent call last):
        File “URR020.py”, line 82938, in
        File “URR020.py”, line 76894, in place_menu
        File “URR020.py”, line 13264, in world_browser
        File “URR020.py”, line 76797, in place_menu
        File “URR020.py”, line 22862, in planet_gen
        File “URR020.py”, line 14821, in world_menu
        File “URR020.py”, line 76894, in place_menu
        File “URR020.py”, line 13458, in world_browser
        File “URR020.py”, line 1742, in civilization_choice
        File “URR020.py”, line 15556, in character_creation_1
        File “URR020.py”, line 15096, in character_creation_2
        File “URR020.py”, line 17863, in skills
        File “URR020.py”, line 15086, in character_creation_3
        File “URR020.py”, line 75150, in new_new_game
        File “URR020.py”, line 76117, in new_play_game
        File “URR020.py”, line 68589, in render_outside
        TypeError: ‘Color’ object does not support indexing

Leave a Reply

Your email address will not be published. Required fields are marked *