HUD redesign – work in progress

So I’ve been working on the Knights Province HUD redesign lately. It is a two-fold endeavor – design and programming. Here’s how it goes:

Some terminology first – typically, HUD is a short for the Heads-Up Display – GUI elements that pop up over the “world” view, showing some general information and/or the selected objects info. Here and below I will be specifically referring to the in-game object’s HUD that appears when an object gets selected (a house, a unit, a tree, etc).

So basically I’m quite content with the current blocky HUD. It was always planned to be a temp solution. Something that can be slapped together and work. Grey at first, recently it got nicer with colored background textures and subtle shadows, but still – it is a temporary solution. It serves its purpose of being a “sketch/prototype” very well. I’m glad to have it functional and would like to keep it that way. However changes are due.

What was the push for the change? Fences and sheep!

Looking at other games (specifically Age of Empires) I always liked the idea of being able to select every major object and trees to see its info. Now with fences it is doubly important to be able to select them and view their details (e.g. player ownership).

HUD design and coding is one part of the endeavor. Object picking in-game is another one. Suffice to say – it took some noticeable amount of time and effort, but now it seems object picking is working rather well and is future-proof (with improvements already queued).

Back to the HUD topic though. Being able to select more kinds of objects meant that the HUD needed to be updated to show the new objects in a pleasant way, or, even better – redesigned! Being so used to the existing design I would not be able to radically change it without taking a long break from the game development and coding, so I have had to hire a freelance artist to help. Just_bu stepped in. Below are just some of the sketches (ideas) she has made:

You may notice they have an odd style and gamma – this is intentional. On this stage we were generating UX/UI layout sketches. Seeing what needs to go together and what can be moved. Checking out the balance between form and size.

Unfortunately, Just_bu had to move on to a higher priority project some days ago. Now I’m posting the vacancy description once again, hoping to get a new pair of hands on the case. Important to say – Patreon donations helped to cover the costs. Big thank you, patrons!

After running some research and seeing different UI ideas, I saw that Knights Province UI tended to gravitate towards certain structural layouts. Being reasonably sure about that, now I’m starting to update the game engine too. Refactoring old “rigid” forms into more flexible “modular” design. Here are some modules I have isolated as example in the old UI:

And after some extensive research I was able to create the following table, that covers most of the in-game entities and the HUDs they need (a fragment):

It contains the entities (rows) and modules they need (columns). Pretty straight-forward. With just minor complications arising from allied/enemy states and cross-module dependencies. No road-blocks though – just a lot to code and refactor! xD

One of the bigger and nicer HUD elements I wanted to cover in more detail is an object’s avatar. It is going to be a central piece of the new HUD. I’ve chosen to reuse the in-game 3D model for it (instead of hand-drawn graphics), to speed up and ease up the development. The model gets rendered into its own texture and post-processed with a nice glow effect.

Avatar being rendered into its own texture with glow and antialiasing is somewhat performance costly, but I’m hoping to optimize that later on, when it becomes accepted (cos who knows, maybe new UX artists will bring in superior HUD ideas that do not involve avatars).

Here’s another wip example – Store HUD getting “modular” overhaul – wares module is now common between it and the Camp, Fort and Barracks (all houses with “a lot of wares” stored inside):

Objects HUD redesign is a “soft-ball” of sorts. If it goes well I plan to redesign other in-game GUI elements (minimap, build menu, etc.) later on (maybe in Alpha 13). Main menu redesign is lower priority (think Alpha 14 or later).

Once the big HUD overhaul/refactoring is stabilized I will be able to release new Alpha 12 wip build (with beta sheep and better fences and waterfalls and other nice features). So, armed with that, work goes on!

P.S. And as always, I’m happy to read your comments and discuss on Discord 🙂

This entry was posted in Live progress. Bookmark the permalink.

15 Responses to HUD redesign – work in progress

  1. Lautaro Zualet says:

    i know, it seems like the HUD Redesign might only take from 6 to 12 weeks.

  2. whaaaza says:

    Watching this project from beggining and one word !nice!

  3. CearaChavy says:

    Now all is clear, many thanks for the help in this question. How to me you to thank?

  4. An No Nymous says:

    Its good to see the work going on!
    I played around a bit:

    Main hindrance of more complex skirmish missions is in my opinion the AI.
    In a selfmade map I ordered enemy troops to engage:
    – for some reason only 50% of each group attacked?
    – When attacking the remains, they did not react to archery attacks and nerby groups didnt notice an attack
    – attacks where unorganized: why not order archery troops to stay behind melee/riders and maybe even retract, if those are lost?
    – enemy troops attacked the closest building, not “seeing” my troops in front, therefore bowmen directly ran into my lines
    – no possibility to time attacks on the human player
    – no possibility to tell lines of defence to AI players
    – allow to preset building locations for an AI so you can define the positioning of e.g. towers so they strengthen the above mentioned defence lines

    with these changes, you already allow much more complex settings for AI without scripting.

    Keep the good work going on!

    • An No Nymous says:

      Oh and one more thing:

      Why not making ambient structures color-independent from the players?
      Like streets having a neutral gray?
      This would allow to nicely extinguish other players remains or to use them without having their ugly color in the own town.

      And since AI and other players from time to time build really ugly and disfunctional crap:
      Why not allow builders to deconstruct roads/apple yards/fields? maybe with quite a lot of time necessary…? This would aditionally to deconstructing enemy’s stuff allow to redesign the own city if necessary.

      And three more possible uses for builders that could take even more time:
      -flatten terrain (dig hills down/ fill depressions)
      -steepen terrain (build earth-based walls, e.g. for shooting stands)
      -cultivate ground so you can use it as soil for fields/apple yards (this could of course be only possible with certain terrain like only partially snow-covered ground)

      So far, so better. It of course only makes sense if you like the ideas and want to push the game in the direction of more influence of the player on the world.

      • Krom says:

        Another awesome feedback, thank you!
        – roads and fields are colored so that they are shown on the minimap – they are player assets after all )
        – idea of discoloring defeated enemies .. need to think about it
        – orchards can be deconstructed already. Fields and roads – likely not
        – terrain reshaping and terraforming is a very powerful feature. Not sure if that is a right fit for the game though

        • An No Nymous says:

          Yes, I understand. It’s maybe not what you target at.

          One idea came up to me today: To help the human player optimize the number of serfs, you could show (if switched on?) a number for the time it takes a serf in average to get a new task. If it is zero, you have too less guys, else you see how much you have too much.
          This would really help, because depending on the geometry of the city, the efficiency of the serfs is really different. If you build the butcher far away from the storage it really makes a difference. In a test, i just moved my coal maker from the gold industry to the iron industry and had several free serfs! So it could really help people to optimize building their towns.
          Keep the great work going on 🙂

          • Krom says:

            Typical “too many serfs” indicator is – look at the Camp/Store entrance and check if there are idle serf. If there are more than 5 – you have too many.

    • Krom says:

      Awesome feedback, thank you!
      – typically only 50% of each group will go to attack, so that AI has some defenders back at home
      – by default, groups will come to assist each other if they are within a certain radius. If that didnt happen, I might need to look at the savegame made right before the event. Maybe there’s a bug.
      – attacks are unorganized yet, true. It’s a complex feature I haven’t had tackled yet
      – true
      – you can do that with setting an AI to be “Story”-mode and then you can schedule all the attacks manually
      – will look into that
      – not possible yet. You can place the towers manually in the MapEd though. Will look good too

      Thanks again, looking forward to hearing more from you!

  5. An No Nymous says:

    Now playing around with my map i get even more confused:
    I tried the story mode which worked well in that i could set the enemies to attack with all forces and set the attacking timers. But they didn’t buildtheir city?

    So I dont understand your priorities in skirmish vs story maps. Because even in story maps the enemies could develop their city?

    All I want is to have enemies starting without a city but with a defensive line and troops, building their city as usual and with attack timers. A fourth enemy has to launch a massive attack (with all troops) against the own defense immediately upon starting the map. How to do that without scripting? Or why should scripting be necessary for that?

    Wouldn’t it be easier to have a checkbox somewhere: “Enable city development for AI”?

    And for me marking an area and applying rock does not work and the colors seem not to befixed as aI set them in the map editor. I’d like to have several enemies having the same color and this doesnt work?

    Its nonetheless already wuite fun to play the game 🙂

    • Krom says:

      AI setup is a bit confusing:
      – Story AI is an AI that is starting in a pre-built city and is acting according to a plan (attacks schedule, defense positions, train rates)
      – Skirmish AI is on that is self-caring – it can build a town, launch attacks, choose defense positions, pick train rate.
      – Story missions allow to have Skirmish AI in them – it can have partial autonomy

      AI that will be starting without a city but with a defensive line and troops, building their city as usual and with attack timers – is not possible at the moment. It is just not predictable yet, if AI will b able to build a town sufficient for the “goals” it has set (defense lines, attacks). E.g., set a goal to launch an attack of 5000 men in 15min – clearly impossible; and AI wont know how to do it.

      Several enemies can have the same color only in Story missions.

    • Krom says:

      I will add a hint about player colors into Alpha 12 MapEd 🙂

  6. An no Nymous says:

    And in case that you like this idea:

    To enable the foundation of (independent) colonys, you could simply allow the creation of wagons in the storage buildings. Then for each wagen you could allow serfs to use them as source for building materials or even to feed troops!

    This way it would be possible to create some wagons with gold/food/stone/boards, send them somewhere and let builders construct a new camp there as base for a new settlement. Outposts could send wares to the main city.

    This could allow several new map/story types:

    – Too strong enemy overruns your city, but you can flee and rebuilt the city somewhere else to come back (e.g. hide behind a strong ally’s city or behind a natural hindrance that is easy to defend)
    – you need to conquer a certain terrain to build your city there when you only start with troops, wagons and some civilians
    – you need to build an outpost to gather certain resources like iron or gold in a special place with e.g. too less place for a complete city
    – you can make separate settlements to fortify a place, e.g. defend an ally

    Depending what you want, it could make sense to attribute serfs and builders to a particular city/settlement/troops. (going with troops, they would have to get food from wagons as well. But you maybe plan a “helping” unit for siege weapons anyway?)
    To send them somewhere or with troops, it could make sense to put them in own wagons so while transporting them somewhere, they are not so vulnerable and not separate units.

    Just ideas, maybe you like them. I’m already eagerto see the next version 🙂

  7. mario says:

    keep it up !

    I found your game thru the home page of knights and merchants ! one of my fav game

    Spread this game through other base building communities 🙂

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.