ID:1573876
 
How much has BYOND's programming language changed since 2005? I haven't touched it since then but I was considering doing something productive and creating an original game.
Is the syntax still the same, anywhere I can find a link that explains any changes (if any?)

Thanks.
The language hasn't really changed much.

There are a host of new variables, types, and procs.

atom.transform
atom.override
atom.color
atom.alpha
atom.blend_mode
atom.pixel_z
atom/MouseMoved()

/matrix

animate()

world.icon_size
world.map_format
world.timeofday
world.fps

icon.SetIntensity
icon.MapColors
icon.Scale()
icon.Crop()
icon.GetPixel()
icon.Width()
icon.Height()


As for techniques, quite a few things have changed.

For one, BYOND can do more than 10FPS now, which means world.tick_lag can be less than 1. sleep()/spawn() will respond to decimals now. At 40fps, sleeping for 1 tick will be: sleep(0.25).

Icons can be different sizes now. Set that up with icon_size. Icon files can be larger/smaller than world.icon_size in map_format TOPDOWN_MAP/ISOMETRIC_MAP/SIDE_MAP format. You no longer have to split up big icons anymore like we used to have to do.

Then there's also the interface stuff. winset()/winget(), Javascript interaction via the browser through output(), etc. It's all pretty easy to grasp once you get the basics of it.

Most of the changes have come in the form of bugfixes, more modern approaches, and additional features added to existing ones.
The syntax is still the same. I doubt anyone who maintains a language will ever overhaul the syntax.

There are new features, though...

Pixel movement and big atoms

Map text

Multi-threading, better mouse tracking, animations and matrix transformations

Isometric maps

Server-side SQLite support

calling windows/interface functions through browser (via topic call)

map blend modes

Alternatively, you can read every BYOND release note since roughly 341, that's late 2004.

http://www.byond.com/docs/notes/

In my spare time, I like to re-read every release note ever published.
It's a good read.
Thank you guys, I appreciate the information. I've been considering getting back into using BYOND and creating a game (Obviously not a fan game this time ha). I'll be looking into all this stuff!
SSX's list is pretty good, although multithreading is still experimental and seems to be having issues for some games that have been very hard to suss out. Since we're discussing everything from BYOND 4.0 onward, I would add:

- Skins
- 32-bit icons
- 3D sound and module music
- Elimination of most 64K limits
- Client-side icon processing (more of a performance boost than a language feature)

Big icons were introduced early in 4.0 but the support for them was fairly primitive, splitting them into tiles. 455 introduced the ability to use big icons natively, and 490 (IIRC) was where pixel movement came into the mix. Animations and transforms were new to 500, and blend modes followed soon after. SQLite is the newest big feature.

Of course the pager was completely overhauled as well from its BYOND 3.5 origins. It's still a separate entity but it's now more interactive.
In response to Lummox JR
Thank you, Lummox JR.