Translations for our friends around the world.

Author Topic: Military Operations  (Read 24977 times)

0 Members and 1 Guest are viewing this topic.

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #45 on: August 05, 2018, 12:57:03 AM »
[DEV] Fast mesh instancing in a streaming scenario
2018-08-02 BY Serge



Introduction

To focus on the render-data preparation specifically, I assume the reader is familiar with the following concepts:
•   Instanced mesh rendering
•   Compute shaders
•   AOI (Area Of Interest)
•   Quad-tree tile-based space partitioning

For an introduction I recommend this BLOG entry.

I will use OpenGL to demonstrate details because we use it ourselves and because it is the platform independent alternative. The technique however can be adapted for any modern graphics API that supports compute shaders.

The problem



You’re building a game-world that is big, so big in a fact that not all of it can be loaded into memory at once. You also don’t want to introduce portals or level loading. You want the player to have a uninterrupted experience.

How can I do fast mesh instancing in a streaming scenario?

For true continuous streaming, a typical scenario would be something like this:
•   The world is partitioned into tiles (Quad-tree)
•   When the Camera moves, tile-data is read from disk and pre-processed in the back-ground.
•   We need to render meshes for each tile.
•   There can be more than 1000 tiles in the AOI, more than 100 different meshes and up to 10000 instances per mesh on one tile.

Is it possible to improve from 1000000000 draw calls to one draw call?

The solution

The solution is to do the work on the GPU. This is the type of processing a GPU is particularly good at.

The diagrams below show memory layout.

Each colour represents a different type of instance data, stored non-interleaved. For example, position, texture-array layer-index or mesh scale-factor etc.

Within each instance-data-type (colour) range, a sub-range (grey) will be used for storing data for instances of a particular mesh. In this example there are 4 different meshes that can be instanced. Within the sub-range, there is room to store instance-data for “budget” amount of instances. After loop-stage step 4, we know exactly where to store instance data of each type (pos, tex-index, scale, etc.) for a particular mesh-type. In this example, the scene contains no mesh-type 2 instances but many mesh-type 3 instances.


Read on
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #46 on: August 10, 2018, 01:42:56 PM »
Mulit-player poll on the website
10 AUGUST   - TREESONG



We noticed several questions and some of discussions regarding multi-player on the MilOps forums. We don't plan to include multi-player for the initial release of the game.

We do see how multi-player would fit with MilOps however, and would like to include it at some point. This sounds like a perfect poll-topic.

Head over to the website and let us know where you stand regarding multiplayer.

funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #47 on: August 14, 2018, 11:24:43 AM »
We have a little surprise for you!
Military Operations: Benchmark - Treesong



A MilOps update featuring play-testing was released today!


The play-test let's you try out the draw-order UI yourself.

This introductory video explains how to draw orders on the terrain.

Three basic unit orders



Uploaded on Aug 12, 2018
This video introduces the three basic unit orders that can be used in the MilOps: Benchmark 20.4 game-play experiment.


Since the play-test is small and we had to disappoint some users before, we made sure the play-test can be used on machines with 2GB video-ram!

So try it out, or head over to the store-page to install MilOps: Benchmark!

Feel free to discuss what you do and don't like about the play-test.  We appreciate your feedback.

funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #48 on: August 14, 2018, 11:35:02 AM »
First Gameplay test.
Supports 2GB video-cards


The last MilOps version gave an impression of the scale of the game. It also helped us ironing-out driver support issues. In this latest version we introduce gameplay:

•   Try to capture as many objectives as possible before time runs out
•   Control your units by drawing orders on the terrain
•   Inspect unit state in the detail-dialogue
•   See how your occupied territory increases
•   Watch your progress on the Status-screen

The main goal of this game-play experiment is to try-out basic unit-ordering by drawing on the terrain.
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #49 on: September 21, 2018, 01:07:47 AM »
Summer break is over
20 SEPTEMBER   - TREESONG




Now that the DevCom, GamesCom and a small summer break are over, we are back on development full time.
That means we will also pick up our regular development reports and BLOG posts.

Stay tuned!
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #50 on: September 29, 2018, 01:59:43 AM »
Development update
September 28, 2018



Handling hybrid GPU systems
We've noticed a substantial number of users have a system with both integrated graphics (Intel HD Graphics) and a separate graphics card (NVidia/AMD).
For MilOps to run, it is important to make the separate graphics card active.
Many users don't know how to do this or aren't aware their systems contains two GPUs.

Many games suffer from the same issue and we've added info on our support page that explains how change this manually. However, it appears we will have to make this selection automatic. This sounds easier than it is. We are working on a robust solution at the moment.

Game development progress
Meanwhile we are also working on more interesting features like formations.
The new system very graciously handles formations throughout the entire hierarchy while also allowing units and individual troops to adapt to their direct surroundings. We hope to have some shots or video soon.
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #51 on: October 03, 2018, 12:01:22 AM »
MilOps Benchmark patch 20.4.1 released
Military Operations: Benchmark - Treesong



This week we have a patch update for MilOps Benchmark

No new content or functionality, just a stability and bug fix.

The main updates are:
•   On systems with multiple GPUs, the separate graphics-card should now be automatically activated for MilOps.
•   An issue concerning a path check when doing a clean install is now resolved.
•   The kernel-cache (GPU specific code) is now more robust and can be cleared in the options menu

Anyone with a supported system who experienced issues running MilOps, should try this version to see if they are resolved.

funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #52 on: October 20, 2018, 02:32:19 PM »
Unit formations video


We've been working on improved unit and troop formations
as well as movement. To give you an early peek at current progress we put a video on YouTube demonstrating the new behaviour.





The slides of our DevCom 2018 talk
from last August can now be downloaded here. It is intended for developers, so beware.



funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #53 on: November 25, 2018, 01:09:35 AM »
[DEV] The best API for an ECS on the GPU
2018-11-20 BY Serge



Our talk at DevCom 2018 was about running your game entirely on the GPU. To achieve this we implemented an Entity Component System (ECS) on the GPU.

This blog entry will sum up why we selected the OpenCL API for implementation.

Question: Which API to use for making the GPU the main processor and implementing and Entity Component system running on the GPU. We need as much freedom and generic access to the GPU as possible.

Requirements
•   Fast (close to the hardware)
•   Full disclosure of the GPU
•   Freedom (minimal restriction on architecture design)
•   Platform independent (OS & hardware)
•   Support on consumer systems (Desktop in particular)
•   Interoperability with Rendering

Candidates
•   Compute shaders
•   Cuda
•   OpenCL
 
Analysis

Compute shaders

Pros
•   Common solution
•   Stable support

Cons
•   Heavily impaired by graphics centric assumptions
•   No pointer arithmetic
•   Reduced precision (not an option for a persistent simulation)
•   Additional (memory alignment/addressing and other) restrictions due to graphics central assumptions of the mother API
•   Convoluted API (OpenGL)
•   Shares state with rendering (driver)
•   Conflicts (performance) with driver assumptions which may differ between vendors (or driver versions!)
•   It makes no sense to use a 2 seater sportscar to move your furniture. Even though it looks nice and you already have experience driving one.
 
Cuda

Pros
•   Fast (Close to the hardware)
•   Stable and reliable (NVidia has been taking GPGPU serious for years)
•   Mature tooling and libraries

Cons
•   Hardware locked. (Only on NVidia hardware)
 
OpenCL

Pros
•   Fast (Close to the hardware)
•   Clean API
•   Hardware and OS independent with support for many platforms

Cons
•   Not very mainstream on consumer platforms (although drivers are supported through display driver installs)
 
Conclusion
We need an API that disregards the “G” in GPU.
Just generic, low level access to a very fast processor: OpenCL

Notes
•   Why it is important to select the right API for the job?
If your use-cases differ too much from the mainstream API intend/use, you will inevetably encounter problems. Especially with assumptions driver builders make.
So use A graphics API for grapics and a compute API for computing, and you will be close enough the those assumptions.
•   Vulkan vs OpenCL interop
There has been some mention of this here and there, but no serious efforts have been made. For sure nothing that warrants a consumer product integration will be available any time soon.
•   Compute shaders with Vulkan
Vulkan may be lower level than OpenGL, it is still a graphics API. Compute-shaders are still a side-dish to the graphics main-course.
•   Interop Cuda vs OpenGL
Yes it exists. We didn’t investigate it in depth because the vendor-lock already dismissed Cuda for us.

funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #54 on: November 25, 2018, 01:11:51 AM »
Development update
23 NOVEMBER   - GRECCO



Research
During our never ending search for reliable information about practices in WW2, we came across this gem; A German Tactical Doctrine manual   A treasure-trove of information about how things actually were done. This one was translated to English.

Patch coming up
We are about to release a new patch (v20.4.2). It will address a rare case of the game failing to shut down when encountering a problem during launch.

Blog entry
Last week we added a new BLOG entry http://militaryoperationshq.com/dev-selecting-api-implementing-ecs-gpu/  Again, more targeted at developers than users. It explains why we choose OpenCL for running the simulation on the GPU.
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #55 on: November 28, 2018, 02:24:29 PM »
Patch 20.4.2 released
Military Operations: Benchmark - Treesong



Application will not close
We noticed a small number of people experienced an issue with the MilOps: Benchmark where the application wouldn't close when something went wrong during start-up (mostly due to old hardware/drivers).

This latest patch should resolve this problem.
That's all for now!
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #56 on: December 15, 2018, 05:08:51 PM »
MilOps Blog: Unit Orders
15 DECEMBER   - GRECCO


Next to handling support issues and gathering ever more research data we have been working hard on the unit behavior framework to make units behave more like units instead of a bunch of individuals and stay in formation properly.

We have also been working on how to expose this behavior to the player as orders. The result of that work is the topic of this blog post. Please note that development is still in progress so nothing is final and we welcome your feedback.



The unit order menu is shown when clicking on a unit icon in the 3D environment. It consists of 8 “slots”, the contents of which depends on the role of the unit and what it is currently doing. Let’s start with an overview of the various orders you as the player will be able to give:


MOVE


ATTACK


BOMBARD


DEFEND
 

REST/RESUPPLY


HALT


DISMISS
 

MOVE is available to all units (except those not under your command), this order tells a unit to move to a destination as quickly as possible and not to expect any enemies along the way. The unit will form up in a march column before setting off on its journey and hold this formation on its arrival. It is possible to define a route by inserting waypoints using SHIFT+Left Mouse Button (this is possible for any order that causes a unit to move).

A unit executing a move order is usually deployed in a formation unsuitable for attack or defense and very vulnerable when attacked by an enemy.

ATTACK is available only to units in a combat, reconnaissance or engineer role. This order tells a unit to form up in attack formation and move to the destination expecting to encounter enemy resistance. If enemies are encountered, the unit will attempt to defeat them in order to reach its objective.

The attack order causes a unit to move a lot slower than when using the MOVE order, but since it is ready to fight it is much less vulnerable

BOMBARD is available only to units in a fire support role. This order tells the unit to bombard a specific area. If the target area is out of range, the unit will first MOVE to a location that puts the area within firing range, deploy its indirect fire weapons and execute the bombardment.

DEFEND is available only to units in a combat, reconnaissance, engineer or fire support role. This order tells a unit to form up in a deployed defensive formation and move to the destination expecting to encounter enemy resistance. When encountering enemies, the unit will act defensively and leave the initiative to attack to the enemy.

The defend order causes a unit to move in deployed defensive formation making its movement a little slower than when using the ATTACK order, but since it is ready to defend it should be able to stand its ground when attacked.

REST/RESUPPLY is available to all units and this button allows for 2 different orders to be given depending on the target specified.

To REST a unit and replenish supplies from its internal stores, click this button and then on a destination on the terrain. The unit will first MOVE towards that location as if a move order was given and then rest.

To pick up supplies at a supply source (a unit with a supply role), finish the order by clicking on a unit that will act as a supply source. The ordered unit will then MOVE towards the supply source and resupply.

HALT is available to all units that are on the move and orders them to halt their movement.

DISMISS is available to all units NOT currently attached to their “official” parent unit and reverts them to their official command.

This particular order is needed due to how the chain of command works. Since a player represents an actual commander in the field, he can order his direct subordinates but not their subordinates without assuming “direct command” of those units. This means that if the player orders a unit which is not a direct subordinate unit, then the unit receiving the order will be detached from its “official” parent unit and “attached” to the player’s unit. The following image shows how the unit hierarchy changes due to a player order.



If the player no longer wants to exercise direct control, a simple DISMISS will reverse the change and the unit will fall under the command of their “official” parent again.

Except for HALT and DISMISS, all orders follow the same pattern regarding unit behavior:

1.   In the forming up phase, the unit will form up in a suitable formation
2.   In the movement phase, the unit will move, along the route, to its destination
3.   At its destination the unit will either remain stationary in its current formation (move, attack, defend) or perform the action ordered (bombard, rest, resupply)

This means a unit might take a while to form up before moving, in general: the bigger the unit, the longer it takes. Off course, keep in mind the units in MilOps aren’t automatons. They can and will react to changing conditions as they occur so expect that column of tanks moving along a road to rapidly deploy for action if enemies are spotted or if it is fired upon.

Unit Roles

Here is a quick overview of the various roles mentioned in this blog and what they mean in MilOps:

•   combat – their job is fighting in the front line
•   reconnaissance – used primarily for gathering intelligence
•   engineer – specialized fighting troops
•   fire support – these units generally have indirect fire weapons and are located some distance behind the front-line
•   supply – supply carriers responsible for keeping other units “topped up” with fuel, ammunition and other supplies
•   headquarters – the command element of a unit

We will be talking in more detail about unit roles and what they mean in the future.

Comments and reactions to this blog entry can be made on the official steam forum. https://steamcommunity.com/app/821680/discussions/2/
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline General Sandman

  • Hero Member
  • *****
  • Posts: 756
Re: Military Operations
« Reply #57 on: July 10, 2019, 09:26:56 AM »
No news here since more than half a year.  :dunno
I wonder, if this project is still alive ...  :doubt
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions



Who we were

“We were the ones who knew but did not understand, well informed but without insight, overloaded with factual data but poor in experience and wisdom. So we went, not stopped by ourselves."

Based on Roger Willemsen R.I.P.

Offline Asid

  • HAVOC
  • *
  • Posts: 26362
Re: Military Operations
« Reply #58 on: July 10, 2019, 12:28:27 PM »
The project is still alive  :thumbsup
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline SystemInShock

  • Jr. Member
  • **
  • Posts: 67
  • New member
Re: Military Operations
« Reply #59 on: July 10, 2019, 04:11:54 PM »
The project is still alive  :thumbsup

That's excellent.  I've been watching this and hoping it keeps going.  I've been burned so many times I don't even get my hopes up, though, until released and reviewed.
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions
When in Danger, When in Doubt; run in circles, scream and shout.

Tags:
     

    Tank Operations: European Campaign

    Started by Asid

    Replies: 15
    Views: 6952
    Last post March 16, 2021, 11:52:29 PM
    by Asid
    The Camo Club - ten military sims that are answering the call of duty

    Started by Asid

    Replies: 0
    Views: 4114
    Last post August 12, 2015, 09:01:30 AM
    by Asid
    Command Modern Air Naval Operations - The Silent Service: By JC

    Started by Asid

    Replies: 0
    Views: 2906
    Last post March 05, 2018, 03:21:05 PM
    by Asid
    Command: Modern Operations Coming soon.

    Started by Beef

    Replies: 1
    Views: 7499
    Last post September 03, 2019, 11:04:46 PM
    by Asid
    Aircraft Carrier Communications - Military Aviation Scanner Audio

    Started by Asid

    Replies: 2
    Views: 4068
    Last post August 01, 2016, 03:23:40 AM
    by Asid