BYOND as a programming language
BYOND 4.0-- whose main benefit was opening up the user-interface to game developers-- is now reasonably stable. Recent updates have included bug fixes, expansion on internal limitations, and minor language and interface additions. The guys upstairs are now thinking "bigger picture" and are batting around some longer-term projects. At the risk of violating BYOND's sacred mantra,
"Never announce something you have not yet done. Try, and you will be instantly robbed of the determination to do it. 100% guaranteed!"
we'll let you in on a few of the ideas, courtesy BYOND founder Tom H. Just be aware that these are merely ideas-- figments of the imagination-- and (at this stage) nothing more!
- More versatile tiles: BYOND has long been "cursed" by the 32x32 tile limitation. Some magnificent tools have been written to get around this, notably BigAtom and some cool isometric libraries, it'd be preferable to support this sort of thing natively. We have had some discussions regarding what it would take to support different tile shapes and allowing objects to implicitly span more than one tile. It may very well be do-able without breaking the tile-based backbone of BYOND-- and that would certainly pave the way for new kinds of games.
- Drawing surfaces: Currently BYOND only supports one means of direct drawing, via the map, and there can only be one such map. We've often had requests to be able to do things outside of the bounds of the map; for instance, a game that wants to display a "mini-map" in the corner of the screen. The proposal is two-fold. The first part is to allow for multiple drawing-surface controls, which do not render the main map but instead are intended simply for screen objects. We simply need a notation in the language to specify to which map control a particular screen/HUD object should be placed. The second part is to provide more direct drawing to such surfaces. It is much more efficient (and useful) to be able to blit a line directly to a surface rather than have to do it via icons. We may be able to provide some basic support for this kind of client-side drawing, at least to these outside drawing surfaces, and this, too, would open up a lot of possibilities.
- Improved communications: BYOND has always suffered somewhat from "jumpy" gameplay, particularly on a network with a large volume of users. Part of this is due to it being a very general infrastructure where client-side optimizations are difficult to make. But we suspect that there is still room for plenty of improvements. One fundamental change would be to move BYOND to a multi-threaded architecture, allowing the network/file handling to be done in its own process. This would, in theory, free the server up to more expediently process the game flow logic while network requests are in progress. This will require a lot of testing and investigation to diagnose, but, if all goes well, we should be able to eek some (to a lot) of performance out of the server and that will be a big win for everyone!
BYOND as a website
Lets take a trip back down memory lane; with the help of our friend the WaybackMachine, I present to you:
- The BYOND website as it looked in a very early incarnation (when the total BYOND population could be fit in a room!)
- The first visual update to the website, which later grew to include things like BYONDscape, digitalBYOND
- A complete site revamp to accommodate gamers and developers in different ways. This involved splitting up the website to create sections for each, with accompanying color themes. The idea was to provide a common scheme but tailor each to the needs of either developers or gamers. This was also the first time BYOND parted with its blue color scheme for the gamers, providing them with an orange color scheme to go with instead. This was the first step towards the Guilds we have now, and the community in its current state.
Future development of the website will primarily focus on supporting new hub- and community features as they appear, detailed below:
BYOND as a community
The idea of Guilds surfaced to accommodate individual genres in various ways and create sub-communities that could branch out on their own and eventually become full-fledged websites. Some aspects of the original concept worked out very well, and others never quite picked up in the manner we expected them to. Part of the issue is related to the fact that the BYOND population has a very high concentration of gamers within one area.
In the future, we'll be hosting contests and creating other opportunities to intermingle within the various guilds that will hopefully generate more interest in the smaller guilds. One idea to support this is to implement a system of achievements that work both on a game- and website- level, providing both gamers and developers with badges and rewards for accomplishing various feats. This also handily allows games to take advantage of the system, showcasing feats and creating their own for display.
We will also be looking into things like reviewing games and potentially hosting them (provided they're applicable for short session lengths, such as strategy or action games). Guilds will hopefully follow suit and then we can start giving you the lowdown on contests, cool hosted games and more.
On the technical side, one thing we're working on is improving the forum system so that it will be easier to follow discussions under different guilds without having to navigate between them. That may also bring cross traffic between guilds as interesting topics get highlighted and noted. Work in progress.
Next weeks digest will amongst other things bring the first installment of a developer's journal. The journal will feature one of three developers each week.
And with that said, happy new years eve everyone!