« first day (3659 days earlier)      last day (1351 days later) » 

1:06 AM
some say unity is not buggy...

here's a beautiful bug that scared the heck out of me:
https://forum.unity.com/threads/you-do-not-have-entitlement-for-this-package.832555/
https://issuetracker.unity3d.com/issues/you-do-not-have-entitlements-for-this-package-is-thrown-when-package-manager-window-is-opened
also, i noticed after deleting my library folder, because i had to anyway, the processing is much faster between recompiles and play/stop/play/stop the scene in editor
 
1:50 AM
@Arthur'Gibraltar'Condino A pitfall I've read about was a team decided to create a commercial game and realize really far into development that a feature that they thought would work in a way did not, either because it was buggy or because of a misunderstanding.
 
I'm revisiting the super meta MathJax transition post and noticed that the "Mathjax posts in review" link no longer has a chat room attached to it. I'm guessing we no longer need it, but I didn't want to silently edit it out...
 
@Pikalek This one?
Of course you can't see it.
Do you think you need it again?
 
I have enough rep to edit directly so no, it doesn't impact me negatively if it's no there.
And I'm guessing it went into deep freeze due to a lack of activity, so maybe nobody else does either.
 
Yeah, "deep freeze" = delete.
 
Honestly, I only noticed it by accident - I was skimming & looking for the mathjax refresher, saw a link & thought that was what I wanted without looking.
Then I wondered if I should just edit the post to take that part out.
 
1:58 AM
If it's no longer relevant, sure :)
 
I realize the changes could be rolled back if I had erred, but it's friendly enough here, I figured I'd ask first.
 
unity uses mono/xamarin(is that right?), many functions, specially for getting system info do not work:
https://answers.unity.com/questions/341515/how-do-you-get-processor-usage-of-each-thread-or-c.html

I've tried myself because I was going to throttle the threads' processing in background: CPU usage always returns 100 no matter what and ram usage is always 0.

so I'm using fps calculated in foreground as my throttling indicator now
xD
like, if fps spikes, i call thread.yield();thread.sleep(1); in expensive for loops and increase sleep delays in specific heavy job threads
 
@Arthur'Gibraltar'Condino I don't exactly know how this is all done, sorry. I would not be surprised that "system calls" might not work due to the fact that "system calls" don't behave the same of all the target platforms...
 
i read once it's like, i'm not sure because i'm no expert either, but mono is like the code unity uses and there's a "translation", idk how to explain, it's actually C++(?) but mono has to "reimplement" what's in NET for the C#. it's kinda crazy. And because of that, unity doesn't use the latest net versions
so some functions are like "not implemented" and are just there, doing nothing
 
2:07 AM
That's roughly that as I understand it too ;)
 
Ok, well I gave it a shot - if the community objects strongly, dock my pay & take back my hats.
 
@Pikalek looks good
 
Sweet. Then I'll expect a 1.3% raise by next quarter.
Seriously though, thanks for taking the time to spot check it for me :)
 
2:54 AM
Hi
 
 
4 hours later…
6:45 AM
hi!! :D
 
 
5 hours later…
11:41 AM
So lets bring some life in here by asking noob questions... im using a ecs architecture as my game server and one in my client... im looking forward to implement some sort of mechanic that receives a server entity and converts it into a client entity 1:1... is this a common approach to consider ? Currently i just wrote multiple "receiver" classes which listen for events like "tree spawned" in order to spawn a tree on the client by myself, the "new" mechanic could possible save some lines of code
 
12:24 PM
You mean the server sends you a list of component type IDs and serialized parameters for those components, so you can build a corresponding entity from that recipe?
Who cares if it's common? If it works for you, it works.
The biggest hazard as with anything networked is trust. If you have a dedicated message path for only the valid things that can happen in your game, an attacker or glitch can't cause invalid things to happen.
If you have a code path that allows arbitrary things to happen, then a glitch or a deliberate attack can make arbitrary changes to your game world.
Say, if I'm losing the game, I could spoof a packet that says "spawn this completely invalid combination of components" which then causes my opponent's game to crash, saving me from the loss. ;)
Comparatively, if the worst thing I can do to your game is spawn a tree in a place where it's valid for a tree to spawn (ie. not in the critical path / not exceeding the region budget), then I have a much harder time harnessing that to damage your game experience.
 
nwp
You're not supposed to send data to the opponent. anyways.
 
You're not supposed to cheat at all, but folks find ways. ;)
A potentially more controllable and more efficient approach is to have a notion of prefabs or archetypes - pre-defined entity configurations you can store in a data file that both the client and server have in sync. Then the server can tell the client "Spawn an instance of prefab #5" and the client can look up the recipe in its own list, instead of having to send the whole recipe over the wire every time.
That way even a nasty glitch or deliberate attack can't make your game spawn anything you didn't author into it when you made that prefab data, and you still have the flexibility to patch new versions of the prefab data when you want to add new spawnables, without client-side code changes.
 
nwp
12:55 PM
To me that sounds like you want to make cheating less impactful instead of preventing it.
And I meant that clients should not send data to each other. They only send data to the server and receive data from the server.
So you only need to worry about server security for the most part.
Also when it comes to online games a useful mindset is to say that there is only 1 instance of the game running in the world which is running on the server. Clients are only viewers that get a partial state of the game world. That way synchronization becomes less of a headache.
 
Alright thanks a lot :) So i think im going for "send type to client -> Build archetype -> possible server updates"
 
 
1 hour later…
2:33 PM
Oh well... i spend hours searching for a bug inside my database code... until i realized that you should not run "save" and "update" queries parallel... my update query was faster and tried to update a entity which was not yet saved to the database
 
Ooops.
 
3:30 PM
I was on the fence about getting an Analogue Nt Mini Noir. Pre-orders are already sold out. I'd like to think that means that somewhere out there, a true believer got one instead of me, but I suspect there were just as many speculators. There's already some up on ebay for double or more.
 
Cool looking device. :)
 
 
2 hours later…
5:34 PM
hey guys :)
its been a while. hopefully @DMGregory remembers that acceleration formula we were discussing a while back
 
I remember a few.
 
6:26 PM
@Henri did you want to discuss this further?
 
ya
 
 
3 hours later…
8:57 PM
@DMGregory Yeah, it's nice hardware, if you can get it. According to this reddit thread they sold out in under 3 minutes. I was on the fence at their price point which supposedly is about what the original SNES would cost today if you adjust its release price for inflation. But the secondary market prices, at least at the moment, are insane.
For those prices, I might be able to get a analog to digital upconverter & just use my original console with a new screen.
 
9:54 PM
Hi
 

« first day (3659 days earlier)      last day (1351 days later) »