I'm sure this point was lost in the discussion: The problem with BYOND handling it internally is that it's not customizable. The more customizable it is (and think of how customizable the existing tile-based movement system is) the more and more it'll be handled in soft code. When you think of all the different ways people can use pixel movement, you can bet that it'd be heavily customized. The server wouldn't be running the default pixel movement procs, it'd be running the code you wrote to override those procs. Also, I suspect a lot of "built-in" stuff is just soft code that gets compiled into every project.
While making the pixel movement library, every time I identified a feature that would help to make the library faster, I made the feature request for it immediately. That just never happened. There were a couple of bug reports, but I can't think of any built-in procs that would've helped when making the library.
Edit: A Miner Adventure has pixel movement, dynamic lighting, flowing water, and it runs just fine at 33 frames per second. People say that BYOND is slow but I've never seen a BYOND game that performed poorly. It seems like people use speed as a cop out - they don't make something because BYOND might not be able to handle it. Just make it, then see if BYOND can handle it. You'll be surprised.
Point taken. Counter-point;here are a lot of ways to handle a lot of things that BYOND has built-in.
For example, I've been looking into different distance algorithms. There are dozens of methods, yet BYOND has one built-in. The same goes for line-of-sight, randomosity, sound. Ultimately, they picked one (and only one) and stuck with it. We all know it would take a lot of work. Maybe a version 5.5 big one? Maybe they could work with you on features and take some advice, examples, opinions, et cetera from the community and find a way to make it all-encompassing rather than working on just one style and having people complain that it's not what they wanted, as has been in the past. Anyway, that's all that I care to put in about this feature. It doesn't really phase me too much at the moment. P.S. I'd also like to take this time to put in a rebuttal to one of Falacy's original points. "The current methods make games feel unresponsive, and look graphically inferior." Au contraire, after playing all of the recycled games on BYOND with nothing but the default movement systems, other games seem unresponsive. With the default movement system, I can just tap any number of arrow keys and be 95% confident that I will be where I know I was going. |
For example, I've been looking into different distance algorithms. There are dozens of methods, yet BYOND has one built-in. The same goes for line-of-sight, randomosity, sound. Ultimately, they picked one (and only one) and stuck with it. That approach would work, but... If BYOND's get_dist() proc is rigid and not sufficient for what you're doing you have to write your own (but it's easy to write). If BYOND's pixel movement implementation is rigid and not sufficient for what you're doing, you'd have to write your own (and that's not trivial). There are two issues: CPU usage and bandwidth usage. Soft-coding things means you can't gain much speed. Short of a huge overhaul to the client there's no way to cut bandwidth usage. If there were some concrete benefits to having this as a built-in feature I'd be on board, but there aren't. |
That was the point of comping up with a system that is all-encompassing. Before even starting work, they should do tons of research on different uses of pixel-based movement. Find a plan to tackle them.
As stated before, bandwidth is not the hog that everyone thinks it is. According to the U.S. Census Bureau 2009 survey, at most, ~9% of a state's population uses dial-up, with only two or three reaching above 5%. That is an issue for a user and not so much the server whereas an overload in CPU is much more likely and will deplete the experience for all users. Just ask SilkWizard about that. Spiking at 11% CPU with only one user is an issue. Sending 5 kbps, is not so much. CPU is a much more pressing issue. |
Forum_account wrote:
If there were some concrete benefits to having this as a built-in feature I'd be on board, but there aren't.There are plenty, that far outweigh practically any other feature ever implemented. The only reason you aren't on board is because you've wasted countless hours building your own pixel movement, and don't want to be undermined. It seems like people use speed as a cop out - they don't make something because BYOND might not be able to handle it. Just make it, then see if BYOND can handle it. You'll be surprised.You say this as though nobody has ever built anything with BYOND. I've built countless systems that have had to be cut for CPU reasons. And if you don't build all of your systems as efficiently as possible, which is an unlikely concept for a newbie to even consider, then good luck getting any type of complex game off the ground. This would preferably be the opposite, especially for such a simple engine, almost anything should be able to run smoothly, unless your code is just running a load of terrible infinite loops or something. Hiro the Dragon King wrote: [Bandwidth] is an issue for a user and not so much the server whereas an overload in CPU is much more likely and will deplete the experience for all users. Just ask SilkWizard about that.First off, CPU is an issue with practically every conceivable system in BYOND, and performs poorly across the board. SilkWizard's problems, however, were due to his own poorly coded systems and/or poorly managed icons; A simple, predetermined RGB modification should in no way be bogging down an entire server. Secondly, bandwidth is a bigger problem than you seem to think, but a more acceptable one. Most personal internet connections only offer <=1Mb upload. This means, if you're hosting a server on it, and each player requires 5kBps, then you max out at a mere 20 players. Monthly bandwidth limits, if applicable, can be a much more pressing matter; My servers easily use 2+TB of bandwidth per month. |
Hiro the Dragon King wrote:
As stated before, bandwidth is not the hog that everyone thinks it is. I was pointing it out to say that, whether it's an issue or not, there's nothing we can do about it. If we want to make multiplayer games, the server needs to send some amount of data to each client to update each object's position. Whether it's native pixel movement or user-made, there's no way to avoid sending this data. CPU usage can be an issue with any feature. Make a huge map, fill it with 10,000 mobs, give them each a simple AI loop and you'll max out CPU usage. Performance is an issue because it's always an issue. Even with native pixel movement you'd still run into performance problems. If you want to talk about specific performance problems in a project, we can find a better place to discuss it. People use performance as an excuse and they imagine that built-in features will solve these issues, but there's no guarantee that they will. |
Which would mean that he's already sending the clients 45kbps, which further proves the point that 5kbps isn't an issue. Though, I did mean bytes. In which case he's almost right, at 5 kilobytes per second, you'd max at twenty four players.
|
@Falacy
Why haven't you used Forum_account's pixel_movement library before calling it useless? It handles everything you could possibly ask for, including 3D collision detection, and CPU-saving enhancements. I also don't know what kind of computer you have, but I've never quite ran into massive CPU issues; or, well, I have with FA's library, but after applying the CPU enhancements, everything was solved. My game has supported over 12/13 people playing online at once (on the same server, of course) with minor lag. Sure, the host gets the full 20 FPS 99% of the time, while the other players get around 10-15 FPS, but the movement quality cannot be compared to other tile-based games. My game might be 'choppy' (yet still faster than most other games), but it's not laggy. I'm inmensely satisfied with his library and see no need for a built-in one. I'd rather take the time that would be required to develop this and apply it to other suggestions instead. P.S. Many (if not all) of the things you've mentioned can be made by yourself in just 20/30 minutes, with enough thinking and tinkering. |
The only time A Miner Adventure was so laggy that it hurt the gameplay was when the host was in Europe (and I was in the US). I try to join games whenever there are a lot of people on a server just to see how it runs, and I've always been pleased. The game also runs at 30 or 33 fps.
Some people will have performance issues with the library because they use software rendering (either by choice or by lack of hardware). The issue here is that Falacy doesn't want to use libraries, he'd rather code the feature himself, but for some reason he hasn't done that. I can't force people to use my library, but if you look at comment #74 on this page, you'll see that a lot of people are making games with pixel movement (whether they use the library or not). The people who refuse to use pixel movement will be left behind. The games that don't use pixel movement (but should) will stick out like games that still use the default interface (but shouldn't). The community is already moving in that direction, so I'm not concerned about a few people being left behind. |
Gooseheaded wrote:
Why haven't you used Forum_account's pixel_movement library before calling it useless?I have used it, and I don't think I've said its useless. It does what its supposed to do, works as a library for lazy/unskilled people, but doesn't reach a massive audience by any means. Which is the point of this request; If BYOND wants to be a viable gaming platform, then this is one of the most basic steps it needs to take in that direction - its for the good of the entire community. The fact that anyone, let alone large amounts of people are arguing against this is somewhat outside of my understanding - I know BYOND is comprised of immature 12 years olds and worthless trolls, but the fact that so many of them seem to be against an advancement for their own benefit is just ridiculous. Then again, there are more votes for this than there have been for any other feature request, so maybe you fools are trolling against it just to troll against it. It handles everything you could possibly ask for, including 3D collision detection, and CPU-saving enhancements.3D collision detection? CPU-saving enhancements, that from the sounds of it you have to intentionally apply? Though I haven't looked at it in depth, I seriously doubt it handles anything I could possibly ask for, as far as I know, it doesn't even handle everything that I've asked for in this topic alone. I also don't know what kind of computer you have, but I've never quite ran into massive CPU issues; or, well, I have with FA's library, but after applying the CPU enhancements, everything was solved.My computer can run Crysis more effectively than it runs BYOND, its not really an issue of computer specs, but with the fundamental failures BYOND demonstrates on a regular basis. My game has supported over 12/13 people playing online at once (on the same server, of course) with minor lag.10 players is pathetic, if you already have minor lag, then that's even more pathetic. HU2 regularly had 150+ players in a single server, and my goal was to get 1,000. Sure, the host gets the full 20 FPS 99% of the time, while the other players get around 10-15 FPS, but the movement quality cannot be compared to other tile-based games. My game might be 'choppy' (yet still faster than most other games), but it's not laggy.So you've already sacrificed 50% of your performance over a network using FA's library? And are having choppy (but not laggy?) gameplay? You still don't think this needs to be built in for legitimate performance, it nothing else? I'd rather take the time that would be required to develop this and apply it to other suggestions instead.P.S. Many (if not all) of the things you've mentioned can be made by yourself in just 20/30 minutes, with enough thinking and tinkering. That goes for literally every feature ever requested by anyone to do anything. The BYOND staff make more than enough income off of the games that we create, the least they could do for us is put a little effort into turning their engine from a pathetic chat-room builder, to a feasible gaming platform. Forum_account wrote: The only time A Miner Adventure was so laggy that it hurt the gameplay was when the host was in Europe (and I was in the US).And when there was that BYOND bug that made the controls fail when the client/server was "overloaded" =P The issue here is that Falacy doesn't want to use libraries, he'd rather code the feature himself, but for some reason he hasn't done that.I've built my own pixel movement before, one of them was a failure because it was before the network improvements, and just looked terrible online. The other one was abandoned because of the lack of a simple feature, and my unwillingness to remake 30 billion icons, icons which would then be useless in every other project ever made - a flaw that your pixel movement library exhibits as well The people who refuse to use pixel movement will be left behind. The community is already moving in that direction, so I'm not concerned about a few people being left behind.No, they won't. Practically nobody is moving on to pixel movement, regardless of the imaginary statistics that you've concocted to make yourself feel better. BYOND as a whole isn't going anywhere for that matter, so there's really nothing to get left behind from. The games that don't use pixel movement (but should) will stick out like games that still use the default interface (but shouldn't).Yup, those games are definitely getting left WAY behind. No pixel movement, pretty close to the default interface, basically just an RP chat-room, and yet its the most played game on BYOND. I think that speaks more than anything for just what a joke BYOND truly is. |
I feel totally lazy when I take a library and heavily modify it to make it fit my game.
Sometimes I have to recode entire systems within the library, but really I'm just a bum. /sarcasm |
Bravo1 wrote:
I feel totally lazy when I take a library and heavily modify it to make it fit my game.First off, you're doing it wrong. Why the hell even bother using a library if you're going to rewrite the entire thing anyway? 2nd, I guarantee you 99% of the people that use libraries never even so much as look at the code inside the library. But yea, it was pretty damn lazy of you to use all those libraries to make your game for you, same goes for Goose. |
@Falacy:
10 players is pathetic, if you already have minor lag, then that's even more pathetic. HU2 regularly had 150+ players in a single server, and my goal was to get 1,000. StarCraft (11 million sold) - 8 players StarCraft II: Wings of Liberty (nearly 4.5 Million)- 8 players Diablo II (4 million) - 8 player, I think? I don't remember. [Not sure] Age of Empires (3 million) - 12 players, I believe? [Not sure] Command & Conquer 3: Tiberium Wars (1 million) - 8 players on the PC version, 4 on the XBox Warcraft III: Reign of Chaos (3 million) + Warcraft III: The Frozen Throne [expansion pack] (1 million) - 12 players Age of Empires III (2.5 million) - 8, I think? [Not sure] Age of Empires II: The Age of Kings (2 million shipped) - 8, I think? [Not sure] Age of Mythology (1 million) - 12, if I recall correctly [Not sure] Taking your argument as a base, you'd have to say that the above games (which are among the top-selling games in history, and nearly all of them are still played up to this day) have pathetic multiplayer, which is a preposterous argument. It doesn't matter that these games are old; they are played. I seriously doubt it handles anything I could possibly ask for, as far as I know, it doesn't even handle everything that I've asked for in this topic alone. Your "demands:" - Map Editor: Nope - Grid size: Nope - Pixel based movement: Check - Degree as argument for movement procs: You can do that in 3 minutes. It's like asking for an tan() proc. It's just something you do yourself. - get_angle(): You can do that in 3 minutes. - Adjustable pixel steps: Check - Hitboxes: Check - Hitbox get_step(): Check - Backwards compatibility: Check (proved and approved) If you can't accept a library that has full documentation, excellent and responsive support from the author and constant updates, I don't see why you would accept a built-in function (which would have these same attributes). The only drawback is the map editor: but the benefits far outweigh the drawbacks. ...put a little effort into turning their engine from a pathetic chat-room builder, to a feasible gaming platform. http://www.byond.com/developer/SuperAntx/Decadence http://www.byond.com/games/UnknownPerson/Ultimatum http://www.byond.com/games/Forum_account/AMinerAdventure http://www.byond.com/games/Forum_account/ExordiumTerminus http://www.byond.com/games/SilkGames/NEStalgia http://www.byond.com/members/IccusionEntertainment (Emphasis here) I don't see how these games do not represent a feasible gaming platform. Even "Castle", by Abra, is very basic, and still popular and fun. Practically nobody is moving on to pixel movement, regardless of the imaginary statistics that you've concocted to make yourself feel better. These imaginary statistics are based off of the website and the hubs. A 1,000 people can say this is true; but if one person proves otherwise, it's not true. Check the statistics yourself, and you might just be that one person. No pixel movement, pretty close to the default interface, basically just an RP chat-room, and yet its the most played game on BYOND. First off, you're clearly ignoring many of the modern mechanics of the game, (ignoring enough to assume that people still RP in that game!) as well as the tremendous amount of content the game has to offer. Why do you have a problem with SS13 anyway? In all honesty, it sounds like jealousy to me; the truth is that its popular outside of BYOND. That goes for literally every feature ever requested by anyone to do anything. http://www.byond.com/members/ BYONDHelp?command=view_tracker_issue&tracker_issue=1040 http://www.byond.com/members/ BYONDHelp?command=view_tracker_issue&tracker_issue=2017 http://www.byond.com/members/ BYONDHelp?command=view_tracker_issue&tracker_issue=2713 http://www.byond.com/members/ BYONDHelp?command=view_tracker_issue&tracker_issue=1843 http://www.byond.com/members/ BYONDHelp?command=view_tracker_issue&tracker_issue=2388 http://www.byond.com/members/ BYONDHelp?command=view_tracker_issue&tracker_issue=1929 (As proven above, that is a logical fallacy!) I believe most of us would appreciate it if you based your arguments on substantial/tangible/accessible sources. But yea, it was pretty damn lazy of you to use all those libraries to make your game for you, same goes for Goose. That's assuming our games' mechanics and dynamics rely entirely and solely around pixel movement. Also: using this argument as a source, I could argue that you're lazy, because "you let BYOND make your game for you" (unless, of course, you've defined your own movement protocols and procedures; your own networking code; your own graphic-displaying code (and many more things); and while I do not know for a fact if you indeed have done such things, I highly doubt you have). If you're trying to reach a level of popularity similar to SS13's, perhaps you should move on to other game-development tools, such as Unity, Game Maker, BlitzMax, etc. |
Gooseheaded wrote:
Taking your argument as a base, you'd have to say that the above games (which are among the top-selling games in history, and nearly all of them are still played up to this day) have pathetic multiplayer, which is a preposterous argument. It doesn't matter that these games are old; they are played.First off, every one of those games (except Diablo) was an RTS, where there are tons of troops under the control of each player. 2nd, those are per-server player limits. If you're going to go under that design mechanic, then you should have 10s, 100s, maybe even 1,000s of servers active at once to match their player counts. There's also the fact that those games all have heavy single player campaigns, which are pretty much identical to the multiplayer, and the fact that they SOLD the base game to begin with. So even if they had no multiplayer, those numbers would still = success. - Map Editor: Nope - Grid size: NopeBoth of those things could be implemented into a library, pretty much in the same effort. - Degree as argument for movement procs: You can do that in 3 minutes. It's like asking for an tan() proc. It's just something you do yourself.Those are two of the not only most important, but most complicated features to setup. I could make the entirety of pixel movement myself in "3 minutes", you still don't seem to grasp the concept of this request. Backwards compatibility: Check (proved and approved)Has he updated since I've last seen it? Because it was nowhere near backwards compatible just a short while ago, I would hardly even consider it intuitive from what I've seen. If you can't accept a library that has full documentation, excellent and responsive support from the author and constant updates, I don't see why you would accept a built-in function (which would have these same attributes). The only drawback is the map editor: but the benefits far outweigh the drawbacks.You guys are still missing the point. This whole library mess isn't an issue for me, that library is mostly irrelevant and should never have even been brought up in this discussion. Yes, there is a library that can partially simulate pixel movement. Yes, I could very easily write one myself. No, neither of those points helps the overall BYOND community, or helps improve the piss-poor overall quality of BYOND games in general. I don't see how these games do not represent a feasible gaming platform.The player counts of those games alone should be enough to tell you why. Not to mention, almost every single one of them is using BYOND in a non-standard fashion, which most new or even experienced developers wouldn't be willing to put the effort into. Yea sure, I could make a fully 3D game in BYOND, but why the hell would I put forth that effort when everywhere else has full support for it already? The same concept applies here, and to all of those games. Most of them wasted countless hours basically rewriting the BYOND core functionality, for no rewarding results whatsoever. Even "Castle", by Abra, is very basic, and still popular and fun.Castle is pretty terrible quality wise, you seriously think that game is up to the standards of any commercial game? Or even a flash/iphone game? First off, you're clearly ignoring many of the modern mechanics of the game, (ignoring enough to assume that people still RP in that game!) as well as the tremendous amount of content the game has to offer. Why do you have a problem with SS13 anyway? In all honesty, it sounds like jealousy to me; the truth is that its popular outside of BYOND.I don't necessarily have anything against SS13, I just find it "difficult" to play, since it revolves mostly around RPing, and from what I've seen lacks every one of those features you've claimed above. The fact that its the most played game on BYOND must say something about the remaining products: people would rather "play" a horrible looking, gameplay lacking, chat room. The 2nd most played game is RP Unlimited, which just further supports that theory. (As proven above (now below), that is a logical fallacy!) I could bet most of us would appreciate it if you based your arguments on substantial/tangible/accessible sources.- Macros for shift/ctrl/alt - I'm sure this can be done through some javascript hook or something else that catches keystrokes. - Customized splash screen - Set your game not to download any resources at connection, create a custom splash screen through your interface, change the download setting there. - Sticky Forums - BYOND forums generally suck, the only advantage they offer is being integrated into the website, and therefore allowing people to use their BYOND accounts. Just go create forums elsewhere - with enough effort, you can even integrate BYOND accounts into external forums. - Pager integrated into website - If I'm not mistaken, Nadrew has done this already, if not something similar. - Dream Maker welcome page - Crashed made an entire custom IDE for DM - Support UTF-8/UTF-16 - Not 100% sure about this, but its most likely possible one way or another. If you're trying to reach a level of popularity similar to SS13's, perhaps you should move on to other game-development tools, such as Unity, Game Maker, BlitzMax, etc.My games far surpassed SS13 in popularity. I have already moved on to Unity as well, and if my Unity project only reaches the "popularity" of SS13, I'd be heavily disappointed. |
Alright Falacy, because apparently you can't do any thinking of your own, let's do some for you. Let's toss out the RTS genre and pick up two of the most popular first-person shooters of all time. These of course do not include the PC versions, where player limits are not hard-coded.
Halo series - 16 Players Call Of Duty series - 6 to 12 players, 18 for one game type. I mean, with such pathetic player counts, I'll bet these games never lag. P.S. I'm pretty sure that non-standard is what innovation consists of, something that is highly praised in the video game world. I.e, Half-Life, Portal, Prey, Doom, Spore. P.P.S. You're correct about creating those macros with JavaScript. |
Hiro the Dragon King wrote:
Halo series - 16 PlayersThose games aren't even remotely comparable to anything on BYOND, except maybe Decadence. And they still fall under the same design mindset; where with such low player counts per server, you would need to have 10s of thousands of servers if you want a respectable player base. Most BYOND games are more comparable to MMOs, however, which hold hundreds, if not thousands of players per server. I mean, with such pathetic player counts, I'll bet these games never lag.They don't if they're hosted on a decent machine. Lag in an FPS game is a major issue, one that most competent gamers would quit over. |
I think Falacy is just trolling at this point. That comment about Castle was especially demeaning since it's actually extremely polished in terms of game design. If Abra paid for some professional artwork and put some more effort into the sound effects it would blow any iPhone tower defense game out of the water.
|
SuperAntx wrote:
That comment about Castle was especially demeaning since it's actually extremely polished in terms of game design.It has great balance, and decently designed tower defense gameplay. However, the user interface is horrendous, the game is barely playable due to the terrible layout of what should be an intuitive, easy to access HUD - which at least displays the Units, but not your gold or any other important stats. The button to Start the game is hidden in some alternate tab, which it only gives you a few seconds to even find before deciding you don't get to play. The balance in an online game, however, is somewhat screwed. Everyone has to work together perfectly if you want to get anywhere, which is unlikely to ever happen. There is no drop-in/out co-op, something that seems like it would be rather easy for a game like that to implement. If one of your active players leaves halfway through a game, you might as well just start over right there. The help mode has terrible design, and should just be quick tool-tips. I could probably go on, but to sum up, the gameplay itself is functional, and actually quite good (mainly due to balance), but its user-end implementation needs a massive overhaul. If Abra paid for some professional artwork and put some more effort into the sound effects it would blow any iPhone tower defense game out of the water.Graphics and sounds are far from the biggest problems for Castle (They are pretty bad, but they get the point across). For it to even be playable on an iPhone, it would need a massive overhaul of the "controls". To pull off graphics that would be acceptable on an iPhone with BYOND... I don't know if that's even possible. |
P.S. Thank you for your time and energy in supplying us with such a great suite. We are grateful (I assume gratefulness for the others here as well) and hope to see it become better and better for much, much longer. Again, thank you.
-Sincerely, BYONDers