"NO ZERO DAYS"

Status
Not open for further replies.

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#61
Likes: Pandagnome

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#63
DATE: 26-MAY-2023
We are gearing up for a memorial day sale and have prepped a new pilot skin which is going to be different and, I feel, very popular.
Work continues on the swarmers which are now looking much more organic. We have a handle on the math issue that might be causing them to get stuck and are working on getting them unstuck.
The next step is to think about networking of these mobs, which we can turn our attention to once we finish more of the movement code for the new animation system. Perf should be much higher in thumper encounters after these changes, and these changes also make invasions possible in a way that far exceeds what Firefall had.
We've been playing some Starship Troopers and are pretty excited for how that game is being welcomed by the gaming community. We think that invasion mode, spawning mechs and turrets and fighting off hoards will resonate with a wide audience!
 
Likes: Pandagnome

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#66
DATE: 30-MAY-2023
Got the skin email out. Spend time outlining the dev blog that will be emailed out.
Also been giving some deep thought to the state of the AAA game industry and how we might be able to change things for the better by setting an example with Em-8ER.

NEW! FEMALE PILOT SKIN, RAKER
Unleash the fearless Raker, the exclusive Planetary Surveyor skin for EM-8ER, the ultimate sci-fi MMORPG! Armed with exceptional skills, Raker is one of a select group sent into the cold of space to hunt for colonizable planets. Discover hidden treasures, encounter exotic creatures, and claim newfound worlds. Unlock Raker now and embark on an epic cosmic adventure—stand out among fellow Gatestriders and conquer the universe's untamed frontiers.
We sent them out into the unknown, a prayer in the dark. We told them to find us a new home. One by one, they went silent, swallowed by the void of space. We owe them everything.
 

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#67
DATE: 31-MAY-2023
Asked about particle determinism and consulted a few people about networking strategies. We may not be able to use GPU to simulate the creatures as particles because the server does not have a GPU...not without some magic tricks. Still, CPU based simulation will allow for quite a few. There are lots of challenges to doing hordes in a client/server setting.
It's time to sit down and think through the 3 techniques we have used and choose a path for further, detailed implementation.
 

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#70
HAPPY SUNDAY GATESTRIDERS!!
Our Memorial sale ends TODAY (Sunday, 04-JUN-2023) at MIDNIGHT Pacific Time!!

DEV BLOG UPDATE FROM FRIDAY, 02-JUN-2023 via EM-8ER MAILING LIST:
Dev Blog Update & Last 2 Days of Sale!
We've extended the Memorial Day sale though Sunday! Grab all Newcomer Packs and Upgrades at 40% off before the sale ends Sunday at Midnight! General Store also on sale with new, unvaulted skins!

The Great Attempt to Deliver the Impossible
Every game needs its wow moment, and for Em8ER, we're attempting the impossible. Everyone remembers how slow and laggy the Firefall invasions used to be. Chosen invading would render Sunken Harbor a slideshow, a sloggy mess that detracted from the epic moment of defending the Accord. Technology back then simply wasn't able to deliver more than a few dozen Chosen invaders at a time. And even current games like Starship Troopers (go try it, it's great), rely on respawning small waves of enemies to give you that horde shooter feeling.

Since invasions are a huge part of Em-8ER, we are developing a host of new technologies that we hope will eliminate that lag. And if we are lucky, we might be able to deliver something that has not been seen in networked games before. We don't want just dozens of invaders, we want hundreds at a time, to provide plenty of targets for the up to 100 players participating in the war against the Kaiju and Tsi-Hu.

First Attempt - Lyra Updates & Animation Sharing
The first thing we did was to update our animation system to use "thread-safe" updates. This means that instead of processing animation states for players one after the other, we are able to run updates on key information of about players at the same time. This bought us some improvement, around 3ms out of a 16ms frame (on a 2070 super) which is a significant improvement. This took care of players and their mechs. But for swarmers (our Kneebiter Aranhas) We needed to animate many more.

To reach hundreds of swarmers during an invasion, we next tried animation sharing. Animation sharing lets us use the animation information from one kneebiter and just "copy" it to another kneebiter, offsetting the animation so that they don't move in sync. We also "baked" the animations, which means we calculate 30 frames of animation "ahead of time" and save it, then replay the baked frames. It looks like this:

https://em8er-emails.s3.amazonaws.com/2023/Swamers+Animation+Sharing.mp4

With animation sharing and baking, we are able to have 3700 or so on screen at 40fps. Not bad! But we still wanted more framerate and more swarmers. While we don't think we will ever have 3700 on screen, we wanted to make sure that we could hit very high FPS with a few hundred at a time. Pushing for more gives us "headroom" or extra CPU and GPU, which we know will be used for characters themselves as well as game updates and graphics.

The more we can push animations to be efficient, the more headroom we have for the other things the game needs in order to run and look pretty. We wanted more than 3700...we wanted an order of magnitude gain over standard techniques. So the next step was to turn to a novel way to render the kneebiters using Unreal Engine's particle system.

Attempt Number Two - Kneebiter Particles!
Using particles to simulate the kneebiters is a novel approach that isn't yet used in shipping games. It is highly experimental, and we aren't even sure it will work. But we decided to give it a try. Using Unreal's Niagara system, each kneebiter is actually a particle that animates. Particles can flow across terrain and collide with objects.

Since kneebiters don't need to pathfind (calculate complex routes around objects to attack players), but can crawl over anything, it seemed like we could use particles to simulate these enemies. This is what our first attempt looked like, using particles on the CPU:

https://em8er-emails.s3.amazonaws.com/2023/Swarmers+CPU.mp4

Moving things to the GPU
Using particles on the CPU gave us a little more, around 5000 and at an improved 60fps in Editor (the Unreal editor is slower than shipping builds of the game). This was promising! But we still only achieved around a 25% increase or so. How could we get to, say, 10,000 kneebiters on screen? Well the next step was to try using the GPU to simulate these particles instead of the CPU.

This was not easy, as we had to figure out how to make them move intelligently around and over objects on the GPU, which normally does not have the information that the CPU would to do these calculations. But after much trial and error, and some magic called "distance fields" we got this:

https://em8er-emails.s3.amazonaws.com/2023/Swarmers+GPU.mp4

Using the GPU, we achieved well over our goal of 10,000 or more. In fact, we've been able to get up to 50,000 kneebiters on screen! They avoid and flow around walls, and also over them, depending on their logic. This is far more enemies on screen that would ever be practical for gameplay, but it gives us a lot of time back for rendering characters, bases, and graphics.

More to Go
We have a ways to go before we can verify that these techniques will work in the playable version of Em-8ER. There are questions like "how do we do networking for so many units" and "how will we make AI efficient enough to make them do things and attack players"? We have some ideas, but at the very least, we have a library of techniques available to us that we could potentially mix and match to get the desired "horde of aliens invading your base" feeling. Even if we only end up with 500-700 at 60fps, that would be far more than any game has done before in a networked environment without having to do tricks like respawning waves.

Would You Like To Know More?
The best way to stay informed of our progress is on our Official Em-8er Discord server. There you can visit our #no-zero-days channel for daily updates on the game's progress. To find out more about our efforts, please check it out!

You can support our development efforts by taking advantage of our special 40% off sale which lasts until this Sunday. Newcomer Packs and Upgrades at 40% off, and General Store also on sale with new, unvaulted skins!
 

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#73
DATE: 05-JUN-2023
It's pretty challenging. We are trying to figure out if particle based swamer can work networked. The first step is to determine if the particles be "determinisitic.." This means that the swarmer particles will move the same paths over and over if we reset them. This is important because when we move to multiplayer we would like the swamers to behave identically on each computer with the least amount of networking information being shared.
Today we figured out that they are indeed deterministic, except for the first time we run the particles. This might be a loading or initialization issue, so we will continue to look into this.
We also got gliding activating using the new Lyra animation system. Still need to test it with networking and we are looking at removing old network corrections and looking for a smoother and more elegant fix to network corrections.
 

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#74
DATE: 06-JUN-2023
Early testing of networked swarmers. If they don't collide with objects, they stay in sync....90% of the time. For some reason 1 in 10 tests don't stay in sync. The second video shows swarmers that collide, and you can see that they drift out of sync fairly quickly.
We're looking at ways of setting particle position explicitly so we can do either manual synchronization or corrective updates via network. Without a way to do this, this might be tend of the Particle method of swarmers! But we have the fallback to baked and shared animations still.

https://cdn.discordapp.com/attachments/1082548393324326922/1115772354501541970/No_Collision.mp4

https://cdn.discordapp.com/attachments/1082548393324326922/1115772355206197380/With_Collision.mp4


Meanwhile on the network side for actual Players, we are looking at Unreal's new methods of serializing player data. Also looking at how we batch movement updates together instead of sending them separately, which is a nice network optimizaiton if we can get it working.
 

Faeryl

Omni Ace
Staff member
Community Manager
Kaiju Slayer
Jul 26, 2016
943
2,637
93
Planet Earth, USA, East Coast
discord.gg
#78
DATE: 10-JUN-2023
prepped a respository for the swarmers and code was checked it, ready to be shared and have Harry look over it for more networking research. We have 3 phases to the swamer, First was rendering them en masse, which we did. Next is networking and third will be AI. All involved the problem of how to render/network/AI large numbers at once.
 
Status
Not open for further replies.