Stephen001

Online

Joined: Jun 28, 02

Home page Email

ATC Software Engineer, in Malvern, UK.

 

 

Wear sun-screen.

Alathon's recent post had kind of prompted me to get something out of the way I'd had on the cards for a while I think. Now that a lot of my actual obligations to BYOND have been tied up (although not in the way I'd hoped, bless), I'm probably about ready to swim out into the deep internet and join the god-head etc etc. For a pretty good while now, BYOND and I have had some difficulty in the bedroom department. DM is an easy language to do certain things with, and unfortunately I never much wanted to do those things it seemed. The stuff I did want to do mostly didn't involve DM directly, and as it goes, the process was a little too masochistic, even for me. So I've kinda run out of drive for BYOND. I was never really a game making sorta person, bit of a handicap for a place like BYOND. Never been a huge community guy, which is probably a little ironic, considering my role at BYOND. Most of what I digged about BYOND was technical. DreamDaemon is cool, how does it work? Could I perhaps contribute to it in the future? Maybe I could improve the site? etc etc. All technical stuff really. Unfortunately I think the way it panned out was, BYOND needed community guys, people who moderate new areas, who promote BYOND to the wider world etc. While I can kinda do that, it wasn't what I was coming to the site for really. So I think we'll just see other people now. But anyway, pushing "me me me and my terrible CSS" to one side, there are some bits and pieces that I and a few other people have observed and discussed about BYOND, that may be of interest to others, so I'll share that.

They split into two parts, "do less", and "do more". The first three should be done less, the latter three should be done more. The most general one is perhaps the one we discussed least, and is most personally felt. You get the community you expect. This is kind of a community management thing, but at just about all levels. It seems like there is a few particular fixations that people really love to throw around, and they compound because we let them.

It might be a trap!

At a higher level, there is an "oven-mitts BYOND" issue. That is, a great deal of BYOND's decisions feel as though they are unduly bubble-wrapping people. From a technical point of view, stuff like "unobtrusive interfaces" stopping the developer from force-ably setting the screen resolution of the client in a full screen scenario. Unfortunately because of that desire to protect against what I guess some feel is mucking about with the client's PC; if only temporarily, has made interfacing very tricky. Because there is no scalar vector support AND no resolution setting functionality, you can't make any interfaces that use images that act as nice pretty chrome, because you'd need to build an interface for each resolution you expect with appropriately scaled images. That's obviously a whole heap of effort, so you don't bother, leaving you with either fixed size interfaces that look daft on big resolutions, or properly anchored scalable VB-esque "application" interfaces, instead of anything you'd attribute to a modern game. So you've shot complex and visually appealing interfaces through due to a worry about something users expect games to do to your PC anyway.

The DLL calling permissions were another one. Because calls within the same folder require trusted mode execution, you end up with one of two things. Either people run in trusted mode regardless to properly use the DLLs, and trash the whole point of having the permissions setup, or there is a long and unfavourable "install" process for games with DLLs to allow you to run in safe mode, shooting your "just host it an go" thing. Similarly, you cannot bundle and use DLLs in your game download, because it'll not throw the DLLs into the "trusted folder" and the standard execution mode is safe mode. All of this because "someone might make fork-bomb DLLs". I mean come on, really. There are considerably better ways of being malicious with BYOND, and people are already probably too trusting of random stuff to make this extra precaution worth even 1% of the benefits it's thrown out of the window. I don't doubt that DLL use would still be kinda niche even if this was corrected, but it's made an already niche feature practically unworkable for most sane usage scenarios, all for some paranoid "what if" case.

This general thing tends to permeate not just through BYOND technical decisions, but community discussion about features, AND the way the community is managed. And why not? The decisions encourage similar crazy discussion in the future, if you don't put reasonable context on the security and usability decisions you make. Which leads me nicely onto the other higher level fixation that tends to grate me, censorship and parenting.

'The man' knows what's best

If you use BYOND, you have at least three parents. A mother, a father, and BYOND. I appreciate I am quite liberal, but my general attitude towards what is acceptable is a matter of "Is it safe for work?" and "Is it at least respectful or tongue in cheek?". I like to think that people are socially mature enough to filter stuff they don't like on their end and to shrug off things they could see as insulting. BYOND is a lot more conservative as a parent than I would be, apparently. A lot of the complaints about adverts are things I wouldn't have serviced. The two that come to mind is the Swoopo "scam" adverts, and the "sexual" game advert with a woman in a loose fitting shirt. Apparently people missed "knuckle-shuffling skeleton monster", "open-shirted busty Anime 10 year old girl" and "monster wearing a giant phallic attachment", all of which I felt like highlighting for the sake of noting how daft playing nanny on adverts on BYOND is. But of course, I'm not wearing a serious face enough to be taken seriously I suspect. There is this little school of thought that says BYOND must be a happy sesame street land, otherwise we'll lose users. However in the process we not only blow tiny issues horribly out of proportion and waste serious effort discussing the morals of the potential lesbian kissing scene in Mass Effect like a bunch of stuffy old housewives who need a better hobby, but we treat the wider community like a bunch of 10 year olds. And that's who we continue to get. It's a little reverse logic, but I think what happens is that you treat people like you yourself would like to be treated and it pays back in kind. I personally wouldn't want to be bubble wrapped by a site, I'd want to be treated in a manner that considers me mature enough to use my brain and take stuff with a grain of salt. Once again, the decisions encourage similar crazy discussion in the future, if you don't put reasonable context on it.

You have huge guts, rip and tear!

Here's a wider one, and the last of the fixations I'd like to make a note of. Rips, rippers and sound-biting. Just ... drop it, really. It's not so much about that people find rips to be bad, that makes perfect sense. It's that all they do is find rips bad, and so the entire deal is "I'm not a ripper, I don't make rips.". No, I'd hope you're a game developer, and you make games. Let the guildmasters and guild staff handle rips and rippers, and move on to actually making games, instead of "original, not a rip"s. The most important thing in BYOND is not that you aren't the bad guy with the rip, it's that you're the good guy who makes games that are interesting, fun and try new stuff. I could make a turd out of a BYOND world, hold it up as an "original Naruto game" and have a small mountain of praise for it. It is still a turd. Check out Acebloke, IainPeregrine and Foomer a bit, people who make games (you can play them, they're at least complete in that sense) and try out new ideas. You should be going "I want to be better than those guys with the interesting and fancy games" not "I don't want to be as bad as those ripper guys, haha look at them". Positive reinforcement, don't get stuck in the same old negative cycle. Let the rip thing go, let the people with the power handle that, and play some new and interesting games. Also, please, reason over what you're going to say on forums and blog posts. I appreciate it takes more effort than just firing a canned response at people, "use boolean logic", "rippers are dumb", but if you do, the community as a whole would be so much more intelligent, and attract new intelligent people in return.

Whew, we've covered the fixations. I wanted to cover those because they need moving away from. I don't have answers on what you move toward, but those things need to go. Now comes the "how can I improve my BYOND" bit, or "things to move toward".

Act now.

This one is mostly about getting stuff done, be it a game, an interesting idea for promoting BYOND, or improving the site. There seems to be a thing for "I'll let the other guy move first" around BYOND. I know, I fell fairly foul of it too. Generally speaking, you don't need the nod from the BYOND staff or your fellow BYONDers to try an idea out. Just implement something, throw the idea out there, and roll with it. Similarly, if you see something neat, roll with it, add to it. This is how change happens, with less qq, more pew pew. People have been feeling like we needed more contests and competitions, but no-one went and tried one out. Hat's off to Iain, for getting something done this May. There's a guy who's won his own contest by just making a contest! I mean really, how sweet is that? Even if the contest fails badly, and everyone bails before release, Iain got something done AND turned qq about contest into pew pew. You should try it too, just about whatever you'd like to see more of in BYOND.

It's a big blue world out there

Don't like the players BYOND has currently? Get new ones. This one is more about inbreeding than anything else. BYOND provides you with an audience of 10,000 10 - 18 year olds, mostly with an Anime interest. If these people aren't really your target audience, but you want to use BYOND for your game anyway, advertise. This is exactly how browser-based games get players, and is altogether not an unusual thought, but it pretty exclusively non-existent. Apparently the BYOND ranking is the be all and end all of your advertising by common BYOND logic. The world doesn't have a ranking system, go drop some messages there. Find communities that may like your game, politely ask someone running them if it's okay to advertise, then put the best darned advert you can together and intelligently present your game to people. At the least, 5% of them will try your game, and 10% of those that try probably like it and grow into proper BYONDers. 0.5% of the people you advertise to is not bad, if you are hitting a bunch of communities that collectively have 50,000 members. Let's face it, it's way more than BYOND's ranking system logic got you. This will make BYOND more diverse, bring in new ideas for games and how to improve BYOND, and raise the bar in BYOND. I don't buy this notion of "they'll be scared away by the Anime", because you are just bringing them there for your cool, new and interesting game that beats Acebloke's cool, new and interesting games.

What do you think?

Back up to the dizzy heights of BYOND staffing, and there is one particular approach to things that could be so much better. On the whole, BYOND operates behind closed doors. Perhaps it's the liberal in me again, but it seems to work horribly. As far as most users see it, new features just "appear", change stuff with no apparent logic and seem like they were pretty carelessly put together. BYOND misses a real important trick with improvement, they don't speak with their customers, you. I know why, it's because of that bedrock of BYOND wisdom, "Don't announce anything until you've done it", closely coupled with "Around the corner." when they do. Improvement involves a two-way process of communication, which BYOND just doesn't do. For instance, the BYOND staff want to improve the layout of the site, to make stuff intuitive and easier for people to use. Seems reasonable. Where's the announcement of "Help BYOND improve the site!", that asks people what they feel works well currently, and what doesn't work well. Where's the "How would you like X?" announcements, that gather user ideas. Go in for a little consultation, it would help save you a certain degree of headache. It's obviously no silver bullet regarding change complaints, but it would help so much. In BYOND's defence, they do kind of do this currently. But they ask a sub-set of the community, who conduct business according to fight club rules, and in an ironic turn just seem to fight for the pleasure of fighting, like a fight club would. In the cases where something doesn't go wrong, it's usually not advertised. How long has the client.computer-id functionality been around? I'd guess a little while to say the least. There really should be more dialogue on this stuff, a news article per release of BYOND that is made, marketing the new features. Kind of like there was with medals, but every version. I could only assume one in ten releases are just bug-fix releases. If they're not, you're fire-fighting and have issues that swishy interfaces and marketing cannot fix. I'd also suggest ditching fight club, but that's more of a private matter between you and Tyler Durden.

This essentially makes up a selection of points myself and others have considered regarding BYOND in the past. Hopefully within that text, is some advice about how to improve BYOND in a lasting way. It's all about approach and way of reasoning really, aiming for fresh movement, new ideas, an open approach and a more mature mentality. There are invariably many many more things I could mention, but now isn't perhaps the time or place for them. Relevant parties are welcome to chat with me about it though via IM. I won't be addressing comments on this post nor will I be particularly monitoring them, but you're welcome to discuss this in the comments section with your fellow BYONDers. I hope this was an interesting read, and remember, wear sun-screen.

Posted by Stephen001 on Sunday, May 24, 2009 10:01AM - 31 comments / Members say: yea +4, nay -2

Wine: The problem with those blasted embedded icons

Scientia potentia est, they say. In a bid to be useful, I decided it might be wise to attempt to fix the icon bug myself, or at least make some head-way with it. After a few hours of mucking about, I can safely say the problem exists a little further up than OleCreateStaticFromData. The way OleCreateStaticFromData works isn't too horrible in itself. It takes a IDataObject in, more or less just calls GetData or GetDataHere (if you provide a certain FORMATETC) as appropriate, then palm you a copy of the particular interface you fancy back. Excepting a nice series of "What the heck does it return in X situation?", which isn't too unusual for ole, it's pretty simple.

However, here's the catch. The default implementation for IDataObject lives in riched20, as a series of non-exported symbols. So essentially there is no default implementation. The Wine people will need to take some decisions on how they arrange that. All the same, if we assume they break it up soon so that ole can call it, there is another catch. GetData only handles unicode and RTF formats currently, and GetDataHere is a total stub. So that would need to be implemented before OleCreateFromStaticData can do it's magic and give us nice embedded icons.

While the Wine people never cease to surprise me, I suspect it's a little way off yet. All in all, don't hold your breath.

Posted by Stephen001 on Monday, September 22, 2008 10:01PM - 4 comments / Members say: yea +2, nay -2

Debian Package Management

It seems that most probably, the next repository will be debian-based. Ubuntu (specifically Hardy Heron) seems to be much loved among BYOND's linux community, which in itself is no surprise. However I'd rather not dive straight into Ubuntu repositories, without having first practiced debian package writing. As such, I suspect Debian itself will be my test subject.

Etch and Lenny have presented me with an interesting situation, along with the very structure of debian binary package deployment. Debian binary packages seem to do a literal copy of the payload onto the system. Naturally there is a load of metadata for describing dependencies, package testedness etc etc. However, the general mechanism seems to be a literal copy, no deployment logic at all. This would be very unfortunate, seen as I would not be able to do away with the new-glibc / old-glibc split the current download has for BYOND. However, Debian dealt with that for me, there is no back-port of libc 2.5 on Etch. So, it's old-glibc on Etch, and new-glibc on Lenny. I suspect that Ubuntu Hardy will be new-glibc only, once again due to that apparent lack of deployment logic (of course, I probably just missed it).

I have to say, as much as everyone likes to stifle a laugh when they hear Gentoo, I'd sure as heck prefer to maintain ebuilds than debs. Even though ebuilds are geared toward source packages (so you'd think, a bit dodgy for BYOND), they just show a level of power to the ebuild writer that just doesn't seem to be present in dpkg. I suppose a little understandable too, considering Gentoo has no real concept of OS version and consequently a common set of library versions. That said, you can fetch just about every perceivable fact about the system you are building for/deploying on, before you even touch shell scripting. dpkg has a pre and post deployment phase, which just runs shell. It beats nothing at all, I guess. Very much the developer's system is Gentoo, it even shows up in Portage design.

Posted by Stephen001 on Friday, August 01, 2008 07:49PM - 0 comments / Members say: yea +2, nay -2

Gentoo Overlay Started

I've managed to make some progress with a BYOND Gentoo Overlay. An overlay is basically akin to a repository for portage, the package structure an overlay provides is placed on top of the main portage tree in terms of emerge's search / update tree etc. I very much get the feeling I'm the only one using Gentoo, however the installation instructions for the overlay are available here.

This probably doesn't seem like terribly interesting news to Debian/RPM-based distribution users, however it affects those distributions notably. The Gentoo Overlay is my first go at repository management, as well as package creation. I'll get the ability to experiment with how I am dividing up the BYOND suite into packages, in order to promote further Linux tool creation. Currently the overlay just has a byond-core package, providing (near enough) the same thing the download does, it might be best to actually split it more, such as byond-lib, dreammaker, dreamdaemon etc.

The Overlay already offers two benefits over the download. There is the obvious one of package management, the ability to fetch updates through emerge etc. The second is I have been able to dispose of the notion of old-glibc and new-glibc, because the package manager has this information available, and can install as appropriate.

More on this as the Overlay develops.

Posted by Stephen001 on Wednesday, July 23, 2008 11:30AM - 2 comments / Members say: yea +2, nay -2

Appreciate your IP

There are a few things you should take care of in life, for if well maintained, they will reward you later on.

As you will note, I do now have a BYOND membership, for a period of 1 year. This is courtesy of IP. So first I would like to say thank you to IP, for allowing me to participate in a wider sense in the BYOND Community. You have granted me the ability to (hopefully) breathe some life back into the LinuxGuild, this shall be discussed in some more detail later. Further to this, I am now able to demonstrate my affiliation with various Guilds and consequently participate in a more constructive manner in these Guilds. I had found this to be somewhat of a sticking point with being a non-member, although I can certainly appreciate why it is the case from BYOND's perspective, you do get the feeling you are somewhat a second-rate member of the wider Community. However, that has fortunately changed for a period of one year, a fact I intend to captialise on.

Anyway, on to a certain topic that the BYOND Community category has been receiving some traffic recently about, BYOND on Linux. I do not intend to discuss Linux too much on my blog, mostly due to our having a Linux Guild that is in dire need of posts. However it is somewhat my intention to better leverage the advantages of Linux; in this instance package management, to improve the BYOND Linux experience. A vague topic explaining this can be found at the Linux Guild. This blog will probably discuss minor gripes about my experience with this project.

Posted by Stephen001 on Tuesday, July 22, 2008 02:24PM - 0 comments / Members say: yea +2, nay -2

 

 

Blog History

May 2009
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
«Sep