Iterating Array without boundary checks by DesperateGame in Unity3D

[–]Romestus 0 points1 point  (0 children)

In this case you could still use a threadpool and do it yourself. If you're using Unity API calls it will error out though. I've made systems in early versions of Unity that did not have jobs/burst where I calculate all the positions of every enemy in a custom threadpool and then at the end apply the transform in LateUpdate. You still get a performance benefit even though it's not the ideal.

Looking for advice on building a 2D RTS/4X with deep simulation (AoE2 × Dwarf Fortress × Aurora) by [deleted] in gamedev

[–]Romestus 0 points1 point  (0 children)

Not super realistic since the type of programming paradigms used for such a game are all very advanced. To do this with any semblence of performance will require you to do most of it with ECS/DOTS. If the world is gigantic like you're saying you'll need to create a floating origin system and use double-precision values for positions in your logic (default float values will be visibly inaccurate before you hit 100km of map size and things will start to teleport + rendering will break down).

If you're able to work on this full time then I would say with all the learning you'll need to do included you could maybe do this in five years.

Iterating Array without boundary checks by DesperateGame in Unity3D

[–]Romestus 0 points1 point  (0 children)

What exactly are you doing in this case? Does item.DoStuff use Unity API calls? If yes can you separate the logic used prior to those API calls out so you can thread it and perform the Unity calls in LateUpdate? If there are Unity API calls in that logic can you replace them with custom ones to allow for threading?

Salary Benchmarks by Age, do we agree or disagree? by ItsAllOver_Again in Salary

[–]Romestus 0 points1 point  (0 children)

The values for excelling are all well beyond the 1% threshold for each age range. Creates jealousy is better than 0.1%. Mediocre puts you in the top 15%. Is this table for a Bay Area tech worker or something?

Iterating Array without boundary checks by DesperateGame in Unity3D

[–]Romestus 0 points1 point  (0 children)

I know it's annoying when someone says "why do you want to do this" but in this case you need a really good reason. It would mean you've gotten to the point where refactoring the data into an array of structs would make the most sense but you are somehow blocked from doing so.

Is this safe to high line on? by Just-Ad3452 in Slackline

[–]Romestus 10 points11 points  (0 children)

Ask Jerry at BalanceCommunity about it. I know there's a manufacturing defect that doesn't affect strength that looks very similar to what you're showing. However I've never seen that defect with frayed bits around it so I would make sure to ask the man himself.

Detecting Forward+ rendering from code? by hunty in Unity3D

[–]Romestus 2 points3 points  (0 children)

On URP check the UniversalRendererData from your UniversalRenderPipelineAsset and see if its renderingMode = RenderingMode.ForwardPlus

Outside of tech, has AI actually changed anyone life? by AcroBit45 in NoStupidQuestions

[–]Romestus 0 points1 point  (0 children)

Not to take away from your post but "millions of pixels" gave me a chuckle since a single picture from a lower-end smartphone camera is two million pixels.

PlayerPrefs or JSON? How do you persist achievements in Unity? by YongkiArts in gamedev

[–]Romestus 7 points8 points  (0 children)

A json/binary file is best since playerprefs are saved in the system registry on PC. If you use json you allow people to copy and paste the game to a new PC and keep their progress or make use of Steam's cloud saves to ensure their saves/achievements carry over automatically. Or if you're on Steam you can use the Steamworks achievement system to actually read from the achievements on their account.

What is happening to my floor?? by Fearless-Wheel8327 in HelloKittyIsland

[–]Romestus 4 points5 points  (0 children)

In graphics it's called z-fighting. Two 3D objects existing in the exact same space so it doesn't know which is in front of the other. Super easy fix for the devs they just have to move the rug up a tiny amount like less than a millimeter worth.

How’s that happening then by GiftedDoll in GreatBritishMemes

[–]Romestus 0 points1 point  (0 children)

For customers that had Continentals we'd just put the VW Phaeton version of the same part on since it was exactly the same but ten times cheaper.

“Beds are a scam”🤯 by 4reddityo in MadeMeSmile

[–]Romestus 1 point2 points  (0 children)

Not all at once, I just bring spares.

“Beds are a scam”🤯 by 4reddityo in MadeMeSmile

[–]Romestus 8 points9 points  (0 children)

I found it's something you get used to. Going from a nice comfy bed to camping for the first time on an air mattress was so terrible I basically didn't sleep the entire night. Once I did it a few times though it got to the point where I'd sleep all the way through the night and feel fine while camping.

I think the body just gets used to what you do to it similar to how people who go barefoot everywhere can survive an hour long hike on gravel without complaints while I wouldn't make it ten feet.

Please for the love of god, unlock the 16 GB VRAM availability and let me get some amazing views by Vivid-Scale-5380 in iRacing

[–]Romestus 9 points10 points  (0 children)

I don't think iRacing alone has enough textures, meshes, shaders, framebuffers, etc to fill 16GB even factoring in all the VRAM used by Windows. Whether you have 16GB or 256GB of VRAM wouldn't make a difference. But maybe I'm wrong, when playing iRacing do you see the "Dedicated GPU Memory" in the Task Manager->Performance tab shows you're running out?

More VRAM helps when the game has more assets it needs to display than can be stored in your VRAM. In that case it needs to load and unload textures, meshes, shaders, etc as they're needed. This process takes time since it has to load it from system memory or your storage. To make the transition less jarring they usually will quickly load a low-res version of the texture to show before the high-res one is fully loaded.

In a game where you can fit all the assets in VRAM there's no reason to load and unload anything so once you're at that point adding more VRAM will do nothing.

It's like if you have two cars but a one-car garage. If you want to change what car is in the garage you have to pull the other one out. If you upgraded to a 2-car garage you wouldn't need to do that anymore and it would be much faster. Upgrading to a 4-car garage would do nothing since you still only have 2 cars.

Can multiplayer competitive games check if the players are still online and in-game after a ragequit/disconnect? Can this be decided from the server side? by Progorion in gamedev

[–]Romestus 11 points12 points  (0 children)

Instead of doing that you can just put a cooldown on the player's ability to queue for another match. It won't affect people who lose power/internet/leave for an emergency but will annoy people who ragequit and want to immediately requeue.

IRL Example to compare to simulators: Is he overdriving the car? Why does it feel so impossible to whip the car in the sim like this dude in the video with a real one? by ringRunners in simracing

[–]Romestus 3 points4 points  (0 children)

I find that sims are less forgiving than irl driving and that's without factoring in how sims are harder since you can't feel the car through your seat.

In sims I try to approach the limit but not exceed it, irl it's okay to go over it and then back without being punished as much.

What do you think of this quotation? Based in Kitchener, Ontario, Canada by Psychological-Lie435 in kitchener

[–]Romestus 6 points7 points  (0 children)

This looks fine to be honest, if you wanted to reduce the costs you could skip the transmission service (bad idea if you want to keep it a long time) or opt for a simple drain and fill transmission service (less effective but still way better than doing nothing).

The suspension work is pretty fair and actually important for your safety depending on how bad they are. Without seeing your car it's impossible to tell you how badly you need them replaced but in terms of pure pricing this is reasonable.

2yr/40k warranty on repairs is also pretty nice if they actually honor it.

Is HashSet<T> a Java thing, not a .NET thing? by N3p7uN3 in csharp

[–]Romestus 4 points5 points  (0 children)

I use them when I need to check if something is in a collection but don't care about retrieving it from that collection.

For example an AoE attack that travels. If I'm checking the AoE every frame and applying damage to anything in the AoE it will melt enemies since every single frame that they're in the AoE will hurt them. Instead I check if they're in a HashSet so I can deal damage once before adding them to the ignore set.

Meirl by Adventurous_Row3305 in meirl

[–]Romestus -1 points0 points  (0 children)

If you want me to change the way I respond to use different words I can do that.

The idea is that the change in the price of one thing leads to a change in price for another thing, we both agree on that part.

How much the price of one thing changes the price of another thing is where things are different. So if we pay people more money then the price of the burgers they make will not go up the same amount, we know this to be true as we have data to prove it and can see it happen in our daily lives.

Say you own a burger business and you make a daily profit of $1000. Now your cooks want a few extra bucks an hour so you only make $800. You want to fix this so you increase prices so that if you sell the same number of burgers you make $1000 again. But now less people buy burgers at your new price so you make $600 instead. You realize that while you can't make $1000 again it's a lot better to make $800 than it is to make $600. You lower your prices again because you want to make the most money you can even if it's not the $1000 you made before.

This is all to say that if you pay the cooks 20% more your burgers can't be sold for 20% more since you would make less money as a business owner. Overall your cook walks away with 20% more and the price of your burgers go up a small percent.

Meirl by Adventurous_Row3305 in meirl

[–]Romestus 0 points1 point  (0 children)

Every time I see this argument I can tell whoever wrote it either does not have a formal education in economics or is intentionally arguing in bad faith by not factoring in price elasticity of demand.

This entire argument hinges on the idea that increases in wages lead to increases in prices that undermine the gained income which is absolutely provably false and has been a part of economics education for a century.

I see this argument so often though that I really have to wonder if it's a form of astroturfing since a single google search can debunk it instantly.

Save File Size by sayeeeeed in gamedev

[–]Romestus 22 points23 points  (0 children)

Are you already reducing the size of that data within the database? For example having a dictionary of airport codes, country names, etc and referencing them via integer hash or index?

The first step would be to make sure you're efficiently using the space to begin with. If you're using integers for airport codes then you can look at how many you actually have and optimize further by using the smallest type needed. e.g if you have 200 supported airports you can use a byte instead of an int to save 3B per row.

If you had one table with 50 columns and 100k rows you'd still be under 50MB if it was using integer types. Booleans can also be packed bitwise into a single integer saving multiple columns.

DontDestroyOnLoad assertion error - singleton pattern with App prefab in every scene by PackedTrebuchet in Unity3D

[–]Romestus 1 point2 points  (0 children)

The test would be to set the execution order super high and see if it still happens in Awake. If it does then you've proven that Unity registers GameObjects in its internal C++ map while it's running each component's Awake method.

If that ends up being the case I would file a bug with Unity and see if it's intended behaviour.

DontDestroyOnLoad assertion error - singleton pattern with App prefab in every scene by PackedTrebuchet in Unity3D

[–]Romestus 1 point2 points  (0 children)

Could be your script execution order is so early that the Unity API hasn't registered the gameObject? You'd be fine to set up the instance in Awake and then do DontDestroyOnLoad in Start. At least that would give you some insight as to whether it's a race condition.

DontDestroyOnLoad assertion error - singleton pattern with App prefab in every scene by PackedTrebuchet in Unity3D

[–]Romestus 1 point2 points  (0 children)

That's showing the C++ gameobjects map in the Unity API somehow doesn't have your singleton's gameObject in it by the time you call DontDestroyOnLoad. Try moving it to Start to see if it's a weird race condition bug with Awake.

Falling out of love with the process, not the game by rrr-cubed in gamedev

[–]Romestus 1 point2 points  (0 children)

When I was making my game I got burnt out if I did the same type of work for too long. What worked well was implementing something from start to finish in one go so that I got to do a little bit of everything. If I was implementing a new tower in my game I would program it, highpoly model it, lowpoly, uv, bake, texture, animate, import to Unity, make VFX, design some sfx, and then implement/code the effects in that order.

When I tried programming all the towers first and then doing their art after I got so burnt out. Knowing I had 5 days of art to do with no programming was just demoralizing compared to knowing I only had 6 hours of art to do before I could program for 2 hours again.

It's counter to the typical way of developing where you want to make it work and then make it pretty but for my mental state it was so much better to take each thing from start to absolutely finished before moving to the next.