General Information
Register Time: 26 Aug 2017, 18:38 PM
Last Visit Time: 19 May 2025, 18:29 PM
Broadcast: https://www.twitch.tv/Rosbone_Mako
Steam: 76561198351782810
Residence: United States
Timezone: America/New_York
You want your units to:
- Do a certain damage per second.
- Fire at a certain rate.
Once I got units firing and making sounds I realized you need to randomize the firing or it sounds really bad. Everyone firing like a clock, etc.
For now I have randomized the firing rates. This also creates some randomness to the fights and outcomes.
I could randomize it for one shot, then invert that for the next shot. So they are random but still fire at the same overall? For example shoots every second so shoot at .9s and then at 1.1s the next time.
But this has me thinking about is this one more thing that Relic does in Coh2 that creates randomness in fights?
DAY 27 PROGRESS
Not too much progress over the last few days. But I did come across some useful things about UNITY I thought I should share for developers.
After adding a bunch of code for Pathing, Fog of War, Enemy Combat, etc, Unity started to slow down to the point of missing mouse and button events. I wrote some code to track FPS min/max. And during heavy code usage, the min FPS was around 30. This only lasts for 1-2 frames then pops back up.
So I stopped adding new things and started optimizing a little.
COROUTINES
I am a noob at Unity and did not feel the need to start MultiThreading the app just yet. But I did want to try using COROUTINES.
COROUTINES give you an ability to do some work in a function, give up control for a frame, then return to do more work. So it spreads heavy calcs out over time. This was very useful in the FOW calculations since I only want to update it once per second or so. Just sprinkle in some YIELD RETURN NULL commands throughout and you are good to go. No more missed clicks or presses.
AUDIO IN UNITY
I also wanted to spend some time getting the audio to play in a 3D mode. UNITY only has one normal 3D command that lets you play a sound in 3D space. However, it rudely sucks ass. Decent for one sound if you dont move. Multiple sounds and moving just created random muted noises and volumes. Horrible.
Luckily I found this guy on YouTube and his tutorials are always fantastic.
This gives you great control and management of sounds but only in 2D. Which is all I am shooting for at this point. Just a couple distance checks and I can set volume and pan of sounds with no glitching or warbling.
3) Uneven dev support. With obs mode being down for the last six months, little promotional help, and communication issues. It's not an ideal climate to promote this game with events. Covid, AoE4 development, and 64 bit issues are likely causes.
This is why I was trying to raise a fuss with Relic in the shout box. Trying to let them know they are killing all of the hype for their own product. It does not make any sense why they are doing patchs when the game is completely broken for automatch and tournaments? Relic please call me. I will advise you if necessary. Who is even running this company?
AE
Thank you sir! You did plenty for the community and also pushed some new map action out. Very cool!
The game has to do a million things for each unit on the screen. So larger modes like 3v3 and 4v4 will always fall apart as the unit count gets large.
Since COH2 has broken physics I would try turning that off first. I dont recall ever noticing any changes with physics???
The Image Quality is the next feature to adjust. Real Time shadows is an expensive routine. So as you reduce the quality, Coh2 reduces the size of the real time buffer. The shadows will get pixelated and eventually turn off. But your FPS may improve.
Snow maps you can turn snow quality all the way down.
I see a lot of players turn the TEXTURE quality down to where the ground looks like plastic. This may help some people more than others.
Assuming you are not videocard limited, If you have a good motherboard you can think about getting faster RAM and/or overclocking it. That may give the largest improvement in FPS.
Also: Can you perhaps go into more detail regarding your bit mask method for mappings? I'm not entirely sure what the purpose of your system there is.
I will take a look at Godot. At first glance I dont see much about terrain editing or grass etc. The key piece of an RTS is the terrain editor. Both UE4 and Unity have decent editors. Neither are remotely close being as good as the COH2 editor.
I dont really have a point for why I am packing the map pathing info into a byte array. One thing that helps games is having a small amount of code and data to deal with. Processors have several levels of memory. Each level is faster than the next. If you can get your main code to run in the L1 cache it will run faster.
So the idea was to have a single array that holds all of the pathing, sight, and cover. Probably makes no difference at all in the real world. Because any speed you gain in memory cache you may lose in bit masking calcs. But a single AND command is probably much faster than reading in data from memory.
To check sight for instance:
if (0 < (Map[x,z] & 8)) SightBlocked = true
This adds a cpu cycle calc where we use AND to mask our byte( & 8 ). However reading data from memory make take up to 30 cycles waiting for the data to be pulled into cache if we have a lot of separate arrays.
I will probably end up splitting things because "What happens when the object creating the COVER is destroyed?" I need some method of tracking what is creating the cover. I most likely have to calc all of these maps on the fly. Right now they are static.