1. Diplomacy is Not an Option
  2. News

Diplomacy is Not an Option News

On the variety of mission objectives (in continuation of the previous post)


Good Lords, Fair Ladies!

Recently, we promised that we would be highlighting the details of the Diplomacy is Not an Option's story campaign. The story begins by telling you about the variability of mission objectives. In particular, last time you learned that in the campaign players not only have to defend their domain but also attack enemy settlements. We see today as the perfect time to proceed with our story.

In several missions of both plot branches your main task will be to complete a certain building (or several buildings). These are unique ones, meaning that you won't find them in other modes. Moreover, in one particular case, you will get new troops (also unique, you can try them out only in the campaign, as the construction of this building and the bonuses associated with it are closely linked to the game's story).

How hard can it be? Is there even a difficulty in this task, you may ask? Firstly, the construction of such buildings requires a lot more resources than you are used to spend. In one of the missions, the necessary materials will be also hard to find.

Secondly, a unique object can be tied to specific points on the map. (No spoilers, but for example, if you want to build a dam, you need a river, right?)

Third, usually, the construction of unique objects is multi-stage. Or more than one building is needed to complete a mission. In addition, if the enemy destroys the building, in some cases it will lead to defeat. Whereas the enemies, as ever, don't sleep.

To summarize: in missions with the construction of unique buildings, you get additional pressure on the economy and the need to defend another object, which may be at a distance from your Townhall due to the map conditions.

That's all for today. Thank you for your support and patience. To be continued.

Yours, the Door 407 dev team

Don't shoot the messenger, pretty please


Good Lords, fair Ladies!

Today we've got some rather unpleasant news. Unfortunately, the release of Diplomacy is Not an Option has been postponed. Our game won't leave Early Access in November, as we stated before. The reason is that the results of internal tests of the single-player campaign turned out to be unsatisfying. The two remaining months clearly are not enough to make the game that is supposed to meet all expectations. There are deadlines that we want (and we think we're capable of) to meet. However, we are not ready to announce the new release date yet. After all, letting you down again by giving false hope is the worst thing we can do. The team continues to develop the game and does its best to make sure that the story campaign and other things we promised to deliver are exactly the way you want them to be.

We have a small spoonful of honey in this barrel of tar. To convince you that our words are not empty, we are unveiling the secretiveness of the story campaign. And we're going to do so step by step, talking only about those elements that will definitely make it to the release.

Remember us mentioning objective variability? Here are the details. In both main storylines of Diplomacy is Not an Option there will be attacking missions. If you're curious about what they are, we'll tell you right now.

In these missions, the enemy has a settlement at the start. Quite comparable to yours in size. (In one particular case - even bigger and more picturesque). This settlement has its own fortifications, on which shooters and siege weapons take positions. Your task is to break through the defense line and destroy a certain enemy building. Simply put, we offer you taking on the role of those poor guys who are trying to break your Townhall with enviable persistence. With one small correction: in the attacking missions you're still on enemy territory. Which means you are surrounded by camps and buildings where enemy soldiers appear. As a result, reaching the ultimate goal won't come easy. In order to storm someone else's fortress you must first get through to its walls.

Also, when someone wants to besiege someone else's castle, the first someone may suddenly find out that a third force has come from the rear, in an attempt to help the city under siege. In our game, such a situation also happens. And of course, you should never forget about the defense of your own borders. After all, as in the typical Diplomacy is Not an Option's missions, losing the Townhall will result in an instant defeat.

In the future, we will continue to introduce you to new game mechanics, key characters, and enemies that you will encounter in the story campaign. In conclusion, we'd like to say that Diplomacy is Not an Option will be getting regular updates until the very moment of leaving Early Access. Once again, apologies for not meeting the deadline. We truly wanted to release the game in November, but it appears that the development requires some extra time. Thank you in advance for your patience and understanding.

Yours, the Door 407 dev team

On how our game works


Good Lords, Fair Ladies!

Today we are here to talk to you about what's under the hood of our game.

At times, community members ask things like:
"I've lowered the graphics settings and the performance is almost the same! How come?" or "I have an RTX 3080 and DiNaO is only giving me 40 fps! Care to explain, why?". These questions are usually followed (quite rightly) by the requests addressed to the developers. You ask us to figure out the architectural issues of the game and fix the obvious defects.

Let us make it clear and tell you how Diplomacy is Not an Option works, and finally give you some answers.

[h2]Let's start with the graphics[/h2]
As you may easily notice, visually our game is far from... being high-detailed. It can be explained by the stylistics (low-poly design and the scale of combat actions in the game limit graphical solutions).

But to be honest, we chose the style taking into account the capabilities of the team (a reminder: our team is pretty much small). On the one hand, this is an unconditional win. At the concept art stage, artists don't need to draw anything complicated. The processing of the large number of objects on the screen doesn't crucially influent the game's performance. (What is called "bottleneck" effect) On the other hand - this solution becomes an Achilles' heel. That is correct, reducing graphics settings can help some potato pcs, but this is more likely a special case, for the majority of hardware configs changing the settings has no effect on FPS rate.

It is worth mentioning the fog of war, or rather, its refresh rate. If Diplomacy is Not an Option runs slowly, you should try to reduce this setting. It is quite possible that it will give a noticeable performance boost for you. (As a consequence, visually the game will not change for the better - the borders of the fog of war will be dissipated step by step, without proper smoothness. Those of you who remember the strategies of the 90s-early 2000s, understand the difference).

"Why does DiNaO runs slowly then?" - you may ask and this is another question to answer. The main resources that our game consumes (as well as many strategies, citybuilders, simulators, and games with a large number of calculations) - come to the work of the CPU. You have understood everything correctly, CPU work is the very "bottleneck" of DiNaO.

To summarize, we can say the following. If you have a powerful video card, but an old processor with just a few cores, FPS will be low. But even if your video card is not top-notch , having a modern processor will give you high FPS rate.
[previewyoutube][/previewyoutube]
[h2]How the power and number of threads of your processor affects the game[/h2]
For many people, it's no secret that DiNaO is made on Unity. In particular, we use DOTS (Data Oriented Technology Stack), and the main features of the Stack are Entities (Essentially a kernel built on the ECS architectural pattern), Job System (Secure Multithreading), and Burst Compiler (Pure Magic. A compiler that requires code to be written in a certain style, which imposes its own limitations, but still allows ILPP to turn IL/.NET code into high-performance native code (in other words, for each processor architecture, it builds exactly that version of code that will maximize performance on that particular hardware architecture). Thanks to all the above, we can optimize all the capacities of modern multithreaded processors. As a result, we can make DNO exactly as we intended it to be!

"And what exactly did you have in mind?" - you might ask. Here comes the answer. We wanted to create a game with crowds of warriors on the map. With the flight of each projectile processed by the game engine. With a complex system of economy and a realistic model of disease spread. Well, and with wild animals change their behavior depending on circumstances. All this (Another reminder about the number of entities on the screen) requires a lot of calculations from the processor. Even despite all the wonderful tools we have, a direct approach to implementing all these features would still not give us a satisfying performance. And would not allow us to fulfill all our ambitions.

In particular, each warrior in the game is a full-fledged, independent entity. Thanks to this, the player can control his behavior at any time, just like in old-school strategy games! (And even civilians that players don't control are also separately calculated by the game). We wanted the battles between tens of thousands of people in Diplomacy is Not an Option to not be a trick that strategy game creators sometimes use. The essence of the trick is that it is actually squads that fight, and it is the squad, not the individual warrior, that is the minimal unit in the game. To make our design work, and work convincingly, we wrote many of our own software solutions based on the basic tools that Unity provides. For example, our navigation system combines many approaches such as A* and Flow Field. We made navigation layered and as cacheable as possible so that all the many in-game entities can "travel" across the map. (At the same time, the processing of their movement must still not burn players' computers). Combining these approaches allowed us to have those very crowds of enemies moving autonomously on the map, maximizing the re-use of "paths" already traveled by other entities. For example, if one enemy from an attacking wave has already traveled a route from a certain area A to area B, rest assured that the other warriors (including those from subsequent attacking waves) won't try to re-find the path. They will reuse the one they already had unless the state of the map changes. (A new obstacle appears or what was an obstacle is destroyed). But even if the route is changed, only a small part of the way is "discarded", which again allows us to save precious hardware resources. We've written our own physics in the game, maximally optimized for strategy, with the main simulation in 2D space (XZ plane of the ground) with the "connection" of the third dimension if necessary ( projectiles, explosions, thrown enemies). And we have listed only the most significant of the solutions applied. In fact, there are many more.

"But since you've got everything so cool optimized, why is the CPU still sucking up a ton of resources?" - you may ask again. That's a very good question. The answer lies on the surface: even with all our tricks and techniques, we are not wizards. If we were wizards, we would have a lot more stuff in our game ;) Anyways, hardware resources are not infinite, and we are literally pushed to the limit of performance. Even considering the maximum usage of each core of your processor, certain algorithms have certain boundaries. Not everything can be done "simultaneously", on all CPU threads. In the image below - each green block is some kind of work that our game is doing on different threads. It could be finding the nearest targets for the warriors or finding the nearest tree for the forester, it could be the movement of an animal on the map or the production of stone at the mine. As you can see, almost every CPU thread on our test machine is actively used.


See the blocks highlighted in red? There is a lot of empty space above and below them, unoccupied by any work. This is a clear example of a situation when not everything can be processed simultaneously. Some calculations in the game rely on previous work and the processor must wait for this work to finish before making a specific calculation. Similarly, if another part of the game relies on that particular calculation - it has to "wait for the right moment" as well. The image above clearly shows how "densely" we are using each thread of your CPU, while also illustrating why CPU usage is never at 100% mark. Each CPU core cannot be fully loaded every second you spend in our game. After all, certain tasks require calculations performed by other cores. In addition, it becomes obvious: if a game has such a large number of calculations scattered across all CPU threads - their number directly affects how many tasks can be solved per one frame. The more of them, the faster it will happen (and vice versa), respectively, the higher the game's frame rate will be (and vice versa).

"Ok, now I see why many people reduce game performance, but what does this have to do with the map size? Why not make super large maps, say 9999x9999 cells?". A fair question. Once again, it all comes down to CPU resources. Let's skip the obvious point that a larger map takes longer to load - to calculate the location of resource sources, to analyze all enclosed areas, to define environment objects, etc. Until recently (before the 0.9.94 update) the maximum map size was 200x200 cells, but we've figured out (once again) how to optimize the processing so that players could have a larger map at their disposal (we increased the maximum size more than twice! (by 125%), up to 300x300 cells) and did it without any noticeable changes in gameplay. As mentioned earlier, the game features our own navigation system responsible for the movement of game entities through the map. In particular, besides the obvious task of finding a way from point A to point B, this system deals with a whole bunch of other tasks, one of which is checking if the path search is necessary at all. For example, in the case when the endpoint is in direct line of sight and you can just move straight to it. It would seem to be an obvious solution. If you don't need to search for a path and can just go straight to the goal, you don't need complex calculations. This should make the game run faster for sure! However, in reality, it's not that simple. This feature (the direct path) is made for aesthetic and gameplay purposes in the first place. From a technical point of view, (again, do not forget that we are talking about TENS of thousands) this functionality - on the contrary, requires a lot of computing. The processor is not a human brain, it cannot determine at the snap of its fingers whether the path is free or not, it relies on pure data (it doesn't have eyes, it can't just see the target). And the data must be processed one way or another. The algorithm itself is very simple, the map is divided into cells, and each cell is either free or blocked. We need to construct a line between the entity and its goal and check every cell on the path of the drawn line until the calculation "gets" to the end point of the route (or finds an obstacle, which means that there is no direct path). This is a very simplified description of the algorithm (We don't just check cells along the line, we check them on several levels, using various tricks to reduce the resources required for the calculation. There are many other calculations involved in this process). But in general, the point is clear to you. For each entity in the game, you need to check a lot of data at a certain time interval (sometimes several times per second). You have probably already guessed how all this relates to the size of the map. As the size of the map increases, so does the number of cells between points A and B. The further the points are apart, the harder the calculations become. And when it comes to our favorite point about tens of thousands of troops (and not only troops), the amount of resources required from the processor starts to grow by leaps and bounds to make it all work!

That's roughly how Diplomacy is Not an Option is set up.

Thank you, and see you soon!

Yours, the Door 407 dev team

On the August Update

[previewyoutube][/previewyoutube]
Good Lords, fair Ladies!

Let the feast begin.

Steam Strategy Fest kicks off today! As a promising representative of the genre, DiNaO is also taking part in the event. We believe this is an opportunity for our game to find its way to the hearts of new fans. And to celebrate it properly we've prepared a gift for you. Would you, please, welcome the August Update which as always comes alongside a short story about its key features?

[h2]Take positions on the rooftops![/h2]
~ Community Suggestion ~


We have all been waiting for this and, finally, the day has come! From now on, in DiNaO you can place troops on the rooftops of the Townhall and Barracks. Apart from the fact that it looks great and apart from the fact that in an urban battle, the shooters actually should take the height, this feature allows you to organize the very last line of defense if the enemy has broken into the settlement.

Rooftops in our game have different shapes. So for you to know exactly who and where to place, we made a separate window, with which you determine the position for each trooper.

[h2]New enemy buildings (And new mechanics)[/h2]


The Door 407 dev team is busy with the story campaign right now. This work brings with it some gameplay changes you can already check out. Previously, in the Campaign, the enemy attacked you with small forces from time to time. These attacks were not displayed on the wave counter, making some players confused, and most importantly, annoying a lot of people.

We've completely redesigned these mechanics. With the August Update, the Rebellious Peasants and the Royal Army get new buildings that spawn units. Once appear, these soldiers will immediately rush into battle and march towards your Townhall.

The new buildings can already be seen in the missions in the preview of the story campaign. But we plan to add them to both Challenge Mode and Endless Mode in the future.

[h2]Pause in cutscenes[/h2]

Another innovation directly related to the work on the single-player campaign. From now on you can pause the playback of clips you watch between missions by pressing Spacebar. (Just in case an important matter prevents you from fully enjoying the story of our game).

[h2]The new message box[/h2]


One of the few tools for explaining what's going on in missions from a narrative perspective is the messages from the Advisor. (Those who played the campaign preview know that some of the enemies talk to you via this box as well.) This is one of the key interface elements when it comes to the story. In the August Update, it gets an improvement. The box became more compact, it looks nicer and no longer blocks the map view so much. (Comes in handy for players that value gameplay more than storytelling).

[h2]The crystal clear mission objectives[/h2]


Even now, when DiNaO is still in Early Access, we try to diversify mission objectives. Even now they are not always about to withstand attacking waves or about to kill all the enemies on the map. For this reason, we consider it significant to give you an additional indication of mission objectives. You can now see them in the top left of the screen. That's where the story messages appear. (Previously, you had to go to a separate window to check the mission objectives). Of course, this option can be turned off. However, this is a useful feature at least in the early stages of the game. Especially for those who are just getting to know DiNaO.

[h2]Winds of Change[/h2]

An exceptional visual improvement that adds realism and scenic beauty to our game. With the August Update, the wind system debuted in DiNaO. Accordingly, from this day on, our grass sways and smoke spreads wherever the wind blows. Shortly, we will also apply this system to flags and banners. For them to spectacularly flutter instead of statically hanging.

[h2]A clarified amount of 'requisitioned' stuff[/h2]


As you may know, one of the options for resource replenishment is to collect carts scattered around the map. You always could see how many resources you find in such carts. But there might have been misunderstandings if your storage couldn't hold everything you grabbed. You still don't receive, say, more wood than you can stock. But, starting from today, when you collect a cart, an image briefly appears indicating how many resource units you actually add (not the amount that a cart contains).

Since we're talking about carts, there's another thing worth mentioning. A little visual improvement. Previously, there was only one cart model in the game, and it looked like a shabby pile of junk (which was a great way to show the everyday life of rebellious peasants). However, such carts are not quite appropriate if they belong to the King's army (before you requisition them, of course). From now on, the Royal Army has its own cart models, sturdily built and pleasing to the eye.

[h2]The front of the attack is displayed on the mini-map[/h2]


The essence of this innovation is perfectly summarized in the title. Just in case, we clarify. Minimap shows the width of the front of the large-scale enemy offensive even before the attack starts. This gives you time to prepare your defense and redeploy your forces if necessary.

[h2]A few words in conclusion[/h2]

As you can see, many of the things we added to the game illustrate a vector of development. And this vector is the story campaign. But it doesn't mean that we have forgotten other promises we made. We remember about the map editor. About the fact that it wouldn't hurt to add new content to other game modes. And we will definitely implement all this and much more in the upcoming updates.

[expand]
Update 0.9.97

Features
  • Player troops can be placed on the rooftops of the Townhall and Barracks.
General
  • On the minimap, you can see the front of an upcoming attacking wave (if the front is large);
  • When selecting a Barrel Mine or a “Burrdam Chimera” their explosion area is displayed;
  • Cutscenes can be paused;
  • Updated message box (a window where you can read texts from your Advisor and from some enemies);
  • When collecting carts, an image is shown indicating the type and the amount of resources that go to your storage;
  • SFX improvements (including longer intervals between notifications about attacks);
  • UI and UX improvements;
  • Some visual improvements (including new cart models for the Royal army).
Balance
  • “Wooden age” Challenge: difficulty increased;
  • The number of Soul crystals has been reduced in many Challenges;
  • Barrel mine:
    1. Damage area: 1x1 -> 3x3 cells
    2. Damage: 200 -> 90
    3. Price (iron): 1 -> 2
  • Trebuchet:
    1. Damage: 40 -> 45
    2. Price (iron): 4 -> 5
  • "Summon" spell (after completing the "Power of Darkness" research):
    1. "Power of Darkness I", number of summoned Dark knights: 10 -> 15
    2. "Power of Darkness II", number of summoned Dark knights: 15 -> 30
  • "Boiling oil":
    1. Cooldown: 40 -> 50 sec
Bug fixes
  • A bug with not attaching unemployed workers to buildings under construction (when the game is paused, the number of unemployed may not have decreased properly);
  • A rare bug that caused a closed area to appear near the Townhall during the map generation;
  • Some crash fixes:
  • Multiple localization fixes.
[/expand]

Thank you for your attention, See you soon!

Yours, the Door 407 dev team

Bring the screenshots!


Hello, guys!
One of the latest updates brought the Sandbox mode to the game. And you gained an opportunity to build cities that won't necessary be attacked. No doubts you've built many tremendous castles! Please, share screenshots of your creations in the comments section. Let everyone see the images of DiNaO urban planning!

The Door 407 dev team