ID:1427663
 
Id love to see byond do something like this:

http://nickcraver.com/blog/2013/11/22/ what-it-takes-to-run-stack-overflow/

Knowing byond's architecture would be cool.
The last paragraph (Not including that sentence) explains exactly why people who are making games should focus more time on efficiency instead of "Let's just get a game working".

The primary reason the utilization is so low is efficient code. That’s not the topic of this post, but efficient code is critical to stretching your hardware further. Anything you’re doing that doesn’t need doing costs more than not doing it, that continues to apply if it’s a subset of your code that could be more efficient. That cost comes in the form of: power consumption, hardware cost (since you need more/bigger servers), developers understanding something more complicated (to be fair, this can go both ways, efficient isn’t necessarily simple) and likely a slower page render – meaning less users sticking around for another page load…or being less likely to come back. The cost of inefficient code can be higher than you think.
In response to Howey
Howey wrote:
The last paragraph (Not including that sentence) explains exactly why people who are making games should focus more time on efficiency instead of "Let's just get a game working".

Keep in mind the differences between what is required from a website and a game. Premature optimization can kill a project quite fast. I think it would be better to get something done first, then work on making it more efficient.
In response to Howey
The problem with that kind of statement is the paragraph is naturally talking about a "post-live" scenario, where users are hitting the product en-mass, and feature-wise it's a good offering.

In general in software, "focus more time on efficiency instead of just getting it working" is a statement that holds over the lifetime of the project. Same as "focus more time on bug fixing instead of new features" also holds. But neither obviously holds when you don't have a product in any shape or form, in the first instance, which is where 95% of BYOND developers are at the moment.

At that point "just getting it working" is very much the first priority, so you can introduce it to testers, check the features make sense and are good for the users, see if you need to scrap the project entirely or re-work it. The objective is "I want people to play this" and the first hurdle is always "So I've got to make it fun", not "I've got to support X response times / through-put of players".

Once you've made it fun, and "just got it working" you've got all the time in the world to re-work it internally to make it efficient and fun, as well as smooth out bugs.

The BYOND hobby developer problem then of course is that's not a fun task for them, and they run off to another project. :P But that's the nature of hobby programming.
Certain optimizations should be made and planned from the beginning though, otherwise it's just a pain to implement later. You may get something to work, but realize that you need to alter a lot of code to get the function as efficient as possible. I think it's a good thing to plan out beforehand how you're going to optimize your game, especially for online play.

I think this is all a bit off topic though.
What it takes to run BYOND: A couple of servers and donations from users. Plus Tom and Lummox not being bested in Mortal Kombat by hobos.
I agree that this would be a mighty interesting thing to see.

As in, actually get details of the server specs, and the kinds of traffic they see.
I wonder improvements can be made hardware-wise to make BYOND run better. It clearly has nothing to do with graphics hardware (BYOND tries to be backwards-compatible by not using modern features, or something) or number of CPUs (BYOND only runs mainly on 1 CPU). The processing speed of the CPU hasn't seemed very noticeable, but that may be the only thing that can actually scale, I dunno.
In response to Kaiochao
Well it could very well be that we need to slowly start making the push towards newer graphics systems. It would be amazing to see what some of the people here could accomplish with it.
In response to Kaiochao
Kaiochao wrote:
It clearly has nothing to do with graphics hardware (BYOND tries to be backwards-compatible by not using modern features, or something)

If that's true, then how do the expect to achieve anything better without moving on from the old?

In response to Kozuma3
Kozuma3 wrote:
Kaiochao wrote:
It clearly has nothing to do with graphics hardware (BYOND tries to be backwards-compatible by not using modern features, or something)

If that's true, then how do the expect to achieve anything better without moving on from the old?

It is a dilemma.

On the one hand, I definitely appreciate their dedication all these years to keeping the engine as backward-compatible as possible (meaning, they avoid changing it in ways that will break the older games floating around) This is good because BYOND has a lot of really old games that are available to play, but the developer is long gone and would be unable to fix their game to work with any new BYOND versions that broke it.

But, on the other hand (as you point out), it places a certain constraint on modernizing the engine. Some really nice features (including some that would require major overhauls of engine internals) are just not possible while striving to maintain backward compatibility.

But maybe the compromise could be to create a sort of "compatibility mode" that forced the engine to run on an older build for games that needed it to? (maybe through a launcher selection?) Or maybe just having a convenient "past versions" archive?
In response to SuperSaiyanGokuX
SuperSaiyanGokuX wrote:
But, on the other hand (as you point out), it places a certain constraint on modernizing the engine. Some really nice features (including some that would require major overhauls of engine internals) are just not possible while striving to maintain backward compatibility.

I don't understand why they're still supporting inactive games, it just doesn't make sense to me when they could be making changes that could make some of the more largely known games better.


In response to Kozuma3
Kozuma3 wrote:
SuperSaiyanGokuX wrote:
But, on the other hand (as you point out), it places a certain constraint on modernizing the engine. Some really nice features (including some that would require major overhauls of engine internals) are just not possible while striving to maintain backward compatibility.

I don't understand why they're still supporting inactive games, it just doesn't make sense to me when they could be making changes that could make some of the more largely known games better.

I think it's actually sort of the "noble" thing to do. It's refreshingly different from the usual greedy, must-move-forward-at-any-expense attitude of most businesses.

Many of those old games came from a time when those developers were BYOND's only users. It was a sort of "family" back then. So preserving that legacy is a nice sort of tribute and honor to that.
In response to SuperSaiyanGokuX
SuperSaiyanGokuX wrote:
Kozuma3 wrote:
SuperSaiyanGokuX wrote:
But, on the other hand (as you point out), it places a certain constraint on modernizing the engine. Some really nice features (including some that would require major overhauls of engine internals) are just not possible while striving to maintain backward compatibility.

I don't understand why they're still supporting inactive games, it just doesn't make sense to me when they could be making changes that could make some of the more largely known games better.

I think it's actually sort of the "noble" thing to do. It's refreshingly different from the usual greedy, must-move-forward-at-any-expense attitude of most businesses.

Many of those old games came from a time when those developers were BYOND's only users. It was a sort of "family" back then. So preserving that legacy is a nice sort of tribute and honor to that.

I believe I understand what you're saying but if they're wanting to move forward with anything that should change.
It really has to. If we're going to attract the kind of attention other multi-user development suites have, we need to be forward-thinking.
In response to Magicmann
Magicmann wrote:
It really has to. If we're going to attract the kind of attention other multi-user development suites have, we need to be forward-thinking.

I've asked this question before without an answer.
I don't believe they're going to change their minds.
The suite is not going to change that much. It's not that I don't acknowledge the issues; it's just that modernizing it would require a major overhaul (basically an entire rewrite) and that's just not something I'm interested in doing. I do believe that good games can be made with the current software and that incremental improvements (the kind of stuff Lummox JR has been adding this year) can help, without breaking the infrastructure we've established. I also think we need better distribution options since there is apparently a big stigma associated with a "BYOND game", so we're working on that.
But what about mt original question.
Whats byond's architecture.

Are you guys running Apache, nginx, IIS.
How many servers. Server stats (http requests) etc.
Pretty please.
In response to Genjura
Yeeea. Come on. Tell us. I'll applaud you if you're using Litespeed Web Server.
Don't have the stats offhand, but BYOND uses two quad-core machines running CentOS 6; one for the db & hub and one for the website & general usage. We also have an offline machine used for backups. This is a bit overkill for our traffic but at least we don't get bogged down.
Page: 1 2