ID:2364884
 
(See the best response by Lummox JR.)
No matter what FPS settings you use, theres never stable fps. Always stuttering issues, always freezing issues and lag spikes. These things have plagued byond for years, why call it build your own network dream when you can't even make proper multiplayer game, with horendous network delays aswell? How are people suppose to make games when you can't even get to have stable fps in multiplayer, because right now thats nonexistent.
How exactly are we suppose to make any decent games when we are dealing with fps issues even at 10,20,30, let alone 40-60 gets even more horrible. Another thing why do we still have sutch basic debugging tool that doesn't help us at all, why do we have to work 10 times over to find little problems that a debugger should have helped us in the first place.

I don't care for hearing, well do a test case, well its horrible code, well whatever. You know every well that FPS/Stutters/Lag spikes/delays and freezes are a constant problem with this engine.

I want to hear why are we still having sutch massive problems with those issues, why none of them have been looked at, as far as i can tell network hasn't been touched in a decade or more.
There are no outstanding performance issues apart from the ones your code generates, and that has been like that for a while now.

Lagspikes can easily be fixed if you throw some effort into that. My SS13 server runs 30 FPS server-side, 50 FPS client-side and we are missing 0.0% of our ticks..

So, could you tell me how the worst performing game can go without most performance issues you're stating here?

BYOND is not that bad, if you know how to work with it.
In response to Laser50
I would love to test this game of yours, and prove you wrong.
We could turn it the other way around, I'm sure there is enough that can be done to squeeze out more performance.
As opposed to mine, I can't really get it to go faster unless I do some witchcraft that may end the world..
Moved to Developer Help. This is a rant, not a bug report, and does not belong in the Beta Bugs forum. I can investigate specific issues when I have something specific to look at; I can't address a blanket complaint with nothing to go on, except with a blanket response.

Regarding frame skips and stutter: This depends on whether it's a rendering issue or related to network lag. Let's assume it's the former. Typically there are good reasons for performance degradation, the biggest one being that the client.view is too high. Using tiled objects in the HUD that could have been handled with one transformed object does more work to create more icons that then also have to be sorted and rendered. Overuse of KEEP_TOGETHER can cause some issues. Fewer overlays beats more overlays. If the rendering demands are too high, you may be able to address them without sacrificing quality.

Also, choosing the right FPS that divides into 1000 should be smoother than one that doesn't, so 40 or 50 is a much better choice than 60.

For the networking side of it, it's incorrect that the networking hasn't been looked at in ten years. In fact it's been looked at quite a lot. Basically it's as good as it can get; maybe UDP would be able to eke out something marginally faster than TCP but at the expense of losing state and order and therefore vastly complicating the system, so that's not a worthwhile tradeoff. For most games, networking isn't a problem, and where it is it's basically always a function of the Internet connection between the host and a player (or just the host or player period).

Debugging tools: I don't see how you would be able to use a debugging tool of the kind that lets you stop gameplay and examine the internals. Building such a debugger would be a major undertaking in its own right, but leaving that aside, the internals simply don't support such a thing, and in multiplayer it'd be worthless anyway because you'd have to freeze everybody to debug the server. But there are many ways of debugging without tools, which include inserting statements to output what certain vars are at different times, giving you a heads-up on where they might have changed or gone wrong. Generally runtime errors also produce a wealth of data. What is it, exactly, that you need help debugging?

And no, lag spikes and frame skips are not endemic to the platform. They are a problem for games that have a large number of players or an unrealistic FPS setting (or more typically both) and don't optimize. Any game that's going to handle many players has to have an eye on optimization, and that's unfortunately not something the platform can do automatically.

If you have a specific game that's having issues in this area, I would be happy to take a quick look at some point and see if any red flags pop out. And I can almost guarantee they will, not as a reflection on your abilities but because almost everyone tends to do certain things that negatively impact performance, and I generally know what to look for in that area.
All i'm hearing here is don't make any sort of compeling games and just stick to ping pong games and muds because you'd never be able to have a game run properly without those issues, there is not a single game right now that doesn't have those issues.
Just tested most of the live games.

Spires of Asgartha - juggles between 15-20 with stutters/freezes.
Sigrogana Lenged 2 - juggles between 20-25 with jump skip,s stutters and freezes.
Azusa: The Olympian War - juggles between 30-40, with stuters, fps and frame skips.
Antimonium - juggles betweens 30-55, can't reach 60 its a hot mess.
Hazordhu 2 - juggles between 40-55, can't reach 60, stutters/freezes and frame skips.
Land of Legend - juggles between 17-20 fps, frame skips and stuters.
The Last Conflict - juggles between 30-40, stutters and frame skips.
What do all of those games have in common? Same issues.

Have you actually taken a closer look at the games on byond? Just to see how truly bad they run. Saying its this and that doesn't help, theres clearly something going on with the engine.
Are we ever going to get away from those FPS issues.
S10Games wrote:
All i'm hearing here is don't make any sort of compeling games and just stick to ping pong games and muds because you'd never be able to have a game run properly without those issues, there is not a single game right now that doesn't have those issues.

That's not what I'm saying at all. I'm saying it's very important to optimize your code, to work with good settings like 50 FPS vs. 60, etc.

Spires of Asgartha - juggles between 15-20 with stutters/freezes.
Sigrogana Lenged 2 - juggles between 20-25 with jump skip,s stutters and freezes.
Azusa: The Olympian War - juggles between 30-40, with stuters, fps and frame skips.
Antimonium - juggles betweens 30-55, can't reach 60 its a hot mess.
Hazordhu 2 - juggles between 40-55, can't reach 60, stutters/freezes and frame skips.
Land of Legend - juggles between 17-20 fps, frame skips and stuters.
The Last Conflict - juggles between 30-40, stutters and frame skips.
What do all of those games have in common? Same issues.

Are you using a third-party tool to measure the FPS? Because that doesn't work. Someone did that once before, and we discovered that basically the tool in question was not only not measuring at all accurately, but IIRC it was actively interfering with performance.

Timing irregularities and frame skips could potentially happen here or there, but they should generally be quite rare if your system isn't bogged down by something else. It sounds to me like you're interposing another program to collect data and it's simply exacerbating any potential issues. You can't measure BYOND's FPS that way. That's one of the reasons I've been looking further into client-side profiling options, because BYOND can get relatively decent data internally about its own performance that one of those third-party programs cannot.

Also, what kind of system specs are you running? Frankly that matters, because a lot of what you're seeing could just be you. And knowing that could well help guide any efforts to find future optimizations, since if your system is CPU-bound or GPU-bound, that would determine what needs to be looked at most.
In response to Lummox JR
i7-5930k
gtx 1080 ti

Saying its a pc problem is a bit laughtable because even my 500$ laptop can run games way beyond what byond can offer, and those issues are still persistenet everywhere byond related.
Also, every game you mentioned is beyond the scope of what BYOND was originally designed for, and the programming behind all of them is probably pretty under-optimized. I can speak personally for Spires that most of the issues are from years of code piling up, which is probably partially true for all of the projects listed.

BYOND was never meant to be running these large action-heavy RPG games, it was never designed for that, and people using it for such shouldn't expect a ton from it.

Read: BYOND was designed for simple casual games and MUDs, anything it does beyond that should be considered secondary and developing beyond that scope was never really meant to be a thing.

If you want a professional-quality game, use a professional-quality engine, not a hobbist engine populated with hobbist developers.
In response to Nadrew
BYOND's slogan is 'Build Your Own Net Dream' if what you said is the case then the whole premise of this site is a lie.

'Build Your Own Net Dream As Long As It's Only Casual Games And MUDs'
It says nothing about "Build your own AAA professional net game".
In response to Nadrew
Nadrew wrote:
It says nothing about "Build your own AAA professional net game".

In response to Nadrew
Nothing about those games is AAA level, its very minimal very generic at best and even that, byond engine can't handle it? Good to know.
BYOND needs to change its name to "make generic single player games or online casual games with 0 depth or MUDs"
The engine is capable of handling an awful lot, but how much it can handle depends at least somewhat on the quality of the code. You can't have a multiplayer game run well at high frame rates without optimization. Even though the issues you're describing sound like they're entirely client-side, there are still ways to tweak performance on the client end through your code.

But as I said, the tool you're using to measure those frame rates simply isn't accurate and it's likely exacerbating the problem. I have never seen frame rates vary as wildly as the numbers you put down there, and it's not for lack of looking at games. Frame skipping should be very rare. I have also seen games operate at relatively high FPS and still be quite performant, like for instance Yut Put's games (especially if I can ever convince him to stop using tiled screen overlays).

Your CPU and GPU definitely sound like they're not the issue, so that's good.

Anyway I don't mean for this to come off as a shouting match or anything like that. If you're seeing frequent frame skipping and stuttering, I absolutely believe you, but there's a reason. That measurement tool needs to be turned off, for one, but if even without that you're seeing issues, something's up. Maybe it's something on your system, or maybe it's some combo of those games overstressing the engine. Also if you're playing those games on remote servers, your Internet connection can't be ruled out at all; a semi-flaky upstream route would cause problems in responsiveness. I'm not trying to point fingers or make excuses, but look to legitimate reasons why performance might suffer. I want to solve this for you.

What I can tell you for sure is that such a problem is not endemic to all games and all systems. But where it exists, and where it's feasible to get me something to work with to look for it, I'm plenty happy to take a look. What I can't do is fix a problem without a starting point to investigate it.
Dragon Universe was a huge game with tons of code and ran extremely well and fast. Very responsive. 20% cpu at 100 players.

But it didn't used to in its early days. Because of its code.
I think an issue with asking developers to provide a starting point is that we have no way real way to collect data, like we can with crash logs and the CPU profiler. We don't have the tools to indicate what's causing the FPS drops.


Server CPU never went above 30% and I'm on a fast, reliable connection. You can see a few stutters in this gif even if it's not really useful information. Our server CPU is also set at 10. https://puu.sh/AbWbg/44e3e5e080.gif

We don't do any of the things you've mentioned that'd cause performance degradation on the client's end. If you have any other ideas on what could cause it, that would be great to know. Thank you!
In response to Pixel Realms
He could provide source and an indication of where he sees the slowdowns in the game. That's something.

I will be adding client-side profiling features to help with this kind of thing, but for now giving me something that I can investigate is at least something.
Yeah, that's going to be helpful for sure.

Our slowdowns are consistent in that a 'stutter' occurs at least once every 10 seconds, and when we tried removing potential suspects (like the lighting) there weren't any noticeable improvements. I just assumed it was sort of ingrained into the engine with how the networking works.

EDIT: Although Nadrew did mention some code that might be hurting our client-side performance, so we're removing that and seeing if there's any gains.
Page: 1 2