Jump to content

Alpha 21 Dev Diary


Roland

Recommended Posts

On 11/22/2023 at 9:15 AM, Obsessive Compulsive said:

Thank you for the response Faatal. I made my own pool for testing as well. Not a huge fan of what Unity has. I noticed you had a few pools for things but one in specific stood out as missing so I did some trial and error.

 

Indeed, I prefer to directly change the vectors. I wondered why you sometimes do that and sometimes dont. Makes a lot of sense. Appreciate the info.

I did some experiments with transform pooling. You are instantiating them off the entity class when you spawn an entity. I could not get it stable with all of the entity types but falling trees and players were easy to achieve. At the point it instantiates, I had the main thread check for a pooled one, if none exist it ran it like normal but then started a job in the unity job system to pool an extra 25. This cut down the runtime and improved performance when spawning entity. I was able to pool them by their entity class name but ran in to very random crashing, particularly when trying to pool entity like zombies. Some things could not be stored at all such as the transform for falling blocks or snakes and animals. I know the typical thing is to store game objects but in this case, you are instantiating a transform which is slow. Honestly I am not sure on the limits of multi thread safety and unity api calls, even if run through the job system.

I tried to store the transform of entity after use instead of destroy the game object/transform. This does work but there are a lot of components attached to the game object within the transform. If you try to reuse the transform, the components will get doubled up from the entity spawn process and zombies with dismemberment become an issue.

As a side note I noticed you mentioned wanting to improve game performance to someone else on the forum. I have been working on an optimizer for the game. I have managed to get the players and non players in a dedicated server to update multi threaded for various portions of the game code. Offloaded work from the main thread to improve stability. Improved chunk sync for players. Increased the rate and stability of block collapse. Removed some bloat that was not needed since clients already send certain things to the dedi server. Vehicle response and general movement is smoother.

It appears to improve the single player client side performance as well. Tests are just starting on that.

Player capacity and zombie capacity are dramatically increased in dedicated servers. Rough numbers so far show 40-60 players and up to 300 zombies at a 60 fps target depending on hardware. If all goes well, I will try and get it out to the public before christmas. Would you have any interest in what I am doing? I dont want to step over my bounds or on any bodies feet.

You seem to be very dedicated to put that much time and effort onto the game, and definitely could bring a lot to the table.

 

Have you tried applying to TFP for a job?

Link to comment
Share on other sites

"Yes, all pigs have tusks. Regardless if they are wild or domesticated, male or female, they will grow tusks. The tusks can be used as a way to identify gender. Most female pigs have shorter or smaller tusks that do not grow large enough to stick out of their mouths."

 

so Grace isnt female ???

 

21 hours ago, Morloc said:

A22: Please add thumpers.

 

...and, ummmm....Pipe Armor?

 

 

-Arch Necromancer Morloc 💀

 

you want to attract a Spice Worm?  

Link to comment
Share on other sites

6 hours ago, spud42 said:

"Yes, all pigs have tusks. Regardless if they are wild or domesticated, male or female, they will grow tusks. The tusks can be used as a way to identify gender. Most female pigs have shorter or smaller tusks that do not grow large enough to stick out of their mouths."

 

so Grace isnt female ???

For lore purposes, Bob's formula for feeding and mutating Grace could have had some form of testosterone in it, especially in the case of a growth hormone.

Link to comment
Share on other sites

Jokes aside, I think that more than new types of graphical representations of different things, we need new behaviors.

I'd like to see more variation in how different animals, and zombies, move, fight, or even how they interact with each other.

 

For example, I like how coyotes run away for a while if you hurt them badly, but then come back and try to get revenge. :) 

Link to comment
Share on other sites

On 11/24/2023 at 2:47 AM, RussianMafia said:

You seem to be very dedicated to put that much time and effort onto the game, and definitely could bring a lot to the table.

 

Have you tried applying to TFP for a job?

No I wanted to get the optimizer ready as a bit of a portfolio piece before bugging them. I know they took on junior developers and it did not work out too well. My hope is that the work speaks for itself, motioning them to reach out at least or be more accepting if I were to apply. Last I was told when asked is they were not hiring and not interested. I did not go through official channels at the time. I asked one of the devs during a stream if they were hiring. It was a clear no. Timing might have been a bad idea and they didn't want rando viewers applying in droves. They would only want applications with particular skill sets at this stage.

They are busy and my project is the last thing on their mind right now. If it becomes quite popular in the community, I am sure they would take more notice but I am not here to impress them in the end. I want to see the game do well and I will use this as a portfolio point regardless wherever I end up applying. I might just start my own game project with some of the passionate devs I have worked with in this community. Lots of talent here if someone were to rustle the right feathers.

I think this game has insane capacity if done right. Its the next sandbox minecraft. That would be very different as a long term goal for them but worth it if you were to ask me. To get the most of this engine, they need to use the job system. Recoding this to use the unity job system would require a full overhaul in many cases and more time which I am doubtful they want to spend. Sections can be isolated and improved dramatically with it though. If they focus on some standard runtime profiling, they could orient those particular sections into the unity job system to run it in parallel with all available cores. Unity does most of the hard lifting for them. In honesty, I can see some of the code is oriented to utilize it. Someone had the intent to multi thread various portions. They also have access to the unity math lib and the burst compiler. Both of these in combination with the job system cranks the runtime potential up 3x - 10x faster.

I could go on about various things but truly I am still wandering around the code, experimenting, learning. That can be a bit of a problem for lead programmers on projects of this size. They dont want to watch over junior devs at this stage and they dont need me contending with their engineering application. Ten years is very late in a cycle. Maybe I could help them? Maybe I would cause more problems and they can't afford it this late. I imagine they would want to hit a gold state and exit early access before even considering looking at what I am up to. Unfortunately, that is too late to alter the engineering of the game and nobody takes the random comments of some dude on a forum as reason to consider altering their game pattern runtimes.

Likely the optimizer will stay as a mod. Kind of the nature of programming games these days. Either way, I am grateful for the opportunity to work on it. Bravo pimps, keep at it!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...