ID:2284516
 
This week I've been shoring up a number of 512 items as well as getting in some minor features and fixes--some of those fixes being actually quite a bit overdue, like where the map editor couldn't properly handle datum types as var values. (That one goes back as far as the map editor itself!) Some of the new operator functionality now uses new instructions as well, to make the code a heck of a lot cleaner. That had me revisiting a request to consider ||= and &&= operators, but I'm semi-reluctant about those because I'm not sure yet how they should behave--for instance, whether the shortcutting behavior of the regular || and && operators would be appropriate.

One of the big items I've been wanting to get to, resource loading, is stalled because I'm kind of stuck for ideas on how to proceed. I've had a suggestion to allow the use of a user-supplied JSON file in preload_rsc, but the more I've thought about it the less I've seen that it could really work that way. I still need more help coming up with a game plan there.

Even at this late hour I'm still considering what operator overloading might entail. It seems like it'd be pretty doable now. This is because I was looking at the parser again, and that pushed dangerous ideas into my head.

Filters are still in quasi-limbo while I consider other possibilities for them, but keep your suggestions coming. Right now I'm strongly considering leaving it at blur, outline, drop shadow, and likely a simple motion blur (directional Gaussian). It seems like the easiest way to handle this, after all. It does occur to me however that there might be a need to grab a copy of how an object looks without its filters, so that copy might be used in a separate filter. E.g., if you wanted all shadows on a single plane you'd want to combine them somehow and the way to do that would be by copying each object that has a shadow. Or a glow under a mob that used BLEND_ADD would have to be done separately on another layer rather than with a drop shadow. If something occurs to me, I'll work it into the design.

Huge thanks to everyone who's been supporting BYOND with their Membership and donations. It means everything, truly, and I'm grateful. I hope to show that gratitude as soon as possible with a killer new release chock full of features. In the meantime, keep getting your summer gaming on while the getting's good! Then when summer's over, it's time to dig in and build the next great batch of games.
You broke 510, my dude.
In response to ZaK1946
ZaK1946 wrote:
You broke 510, my dude.

Can you elaborate on that? If something's broken it needs a bug report.
lolwhat
In response to Lummox JR
All out of sudden me and many folks can't connect to our favorite Space Station 13 servers on the 510 version, and 511 causes a terrible viewport bug that takes long to fix.
It happened just now.
I played earlier today and it was all dandy, now it demands downloading 511 from me and the others.
In response to ZaK1946
ZaK1946 wrote:
All out of sudden me and many folks can't connect to our favorite Space Station 13 servers on the 510 version, and 511 causes a terrible viewport bug that takes long to fix.
It happened just now.
I played earlier today and it was all dandy, now it demands downloading 511 from me and the others.

510 hasn't been touched in quite a while, and 511 hasn't changed in a bit either. Anything that happened just now is a result of a change in either the game's code, server, or connection. You're blaming the wrong person.

Now that said, if there's a viewport freezing issue that's something I've been dying to fix. The problem I've had right along with that is that it's darn near impossible to reproduce in a controlled environment. I have good reason to believe the server is to blame, but I can't yet figure out why. If you know of a particular codebase that has the issue and can reproduce the problem in a reliable way, I'd love to know..
TEXT TEXT AND MORE TEXT, you can use this topic to send screenshots, Lummox JR. You are human too (I guess).

http://www.byond.com/forum/?post=1911651
Is something like this possible?

https://www.youtube.com/watch?v=0YIcni2Shsc
In response to Bravo1
Bravo1 wrote:
Is something like this possible?

https://www.youtube.com/watch?v=0YIcni2Shsc

there's some HTML5 code that could replicate that in the webclient, but that seems like a difficult thing to replicate in dream seeker, sure as hell wouldn't be 60fps, because the procedures to replicate those functions would have to be server side.

EDIT: i will say that using a simple sine/cosine function to distort the icons is a fairly simple process and I do hope the filters update has functionality that enables this
In response to Bravo1
Actually yeah, a wave distortion filter would probably be quite doable. It'd need a direction for the wave (which could function as its period as well), an amplitude, and an offset. The amplitude or offset could then be animated to produce the effect.
what about a "filter" that freezes a client's screen for a few frames so that we can have hitlag
That wouldn't be a realm for filters.
One of the big items I've been wanting to get to, resource loading, is stalled because I'm kind of stuck for ideas on how to proceed. I've had a suggestion to allow the use of a user-supplied JSON file in preload_rsc, but the more I've thought about it the less I've seen that it could really work that way. I still need more help coming up with a game plan there.

It is the ONLY solution.

You have to 1: know what files are on the server 2: know what version they are before you download them so you don't waste bandwidth 3: allow for the fact the server may have to host multiple versions for multiple servers and might not want to duplicate disk space by hosting it under two different directories since diskspace on CDNs comes at a premium, and 4: use a statically generated solution since cdn's can't run code.
The json file I mentioned would live on the cdn server with the resources.

The server sends the link to the client, the client downloads the json file, the client then download's resources from those links if there is a match, and downloads from the server if there isn't.

It's the simplest way to do it that can be used in both small scale and high scale systems.
Screw it! Operator overloading is a go.
In response to Lummox JR
Lummox JR wrote:
Screw it! Operator overloading is a go.

!!!!!! REEEEEEEEE I DIDN'T THINK IT COULD GET ANY BETTER
Because I can't allow overriding the == and != operators, I've added two new ones that test for equivalence: ~= and ~!

The operators that can be overridden are:

- All side-effect assignment operators, not =
- All comparison operators except == and !=
- All other binary operators
- All unary operators except ! (- is the same as the binary, but sent with no args)
- List reads and writes (using separate operator[] and operator[]= procs)

A lot of this needs testing still, but so far so good. I've tested the basic four + - * / and their assignment equivalents, also the ~= and ~! operators, and unary - as well.
In response to Lummox JR
Lummox JR wrote:
Because I can't allow overriding the == and != operators


As you know the == and != operators were added in a blood pact that required the sacrifice of tom's first born.

Satan would be upset if you meddled with his commands.
In response to Optimumtact
Optimumtact wrote:
As you know the == and != operators were added in a blood pact that required the sacrifice of tom's first born.

Satan would be upset if you meddled with his commands.

Tom might also feel that's a bit disrespectful to Ex Tom Jr
Page: 1 2 3