Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 26 Feb 2007
Online Last Active Today, 12:45 AM

Posts I've Made

In Topic: Amazon Lumberyard... whats the point?

Yesterday, 04:32 PM

For me, being tied to Amazon's cloud is a deal-breaker -- I realize you can choose to run your own (and with linux, docker, chef, etc. that's not an insurmountable challenge) and probably would choose to run my own -- but being locked in otherwise I don't feel good about, especially when I don't think AWS is particularly great, or particularly innexpensive. I think Azure has the better offering of any of the cloud providers, TBH (though, disclosure, I work for Microsoft and near enough to Azure to know some people over there) especially when you consider the greater number and geographic spread of data-center regions, but still, I don't want to be contractually obligated to forego other cloud providers that I might think provide the best value for my needs.


Furthermore, I can't think that cloud-hosting revenues alone on their end would make this a worthwhile venture. They've got to be going after micro-transactions (or perhaps its already included in their definition of cloud services) IMO -- and you pretty much can't roll your own payment processing solution without a whole lot of work and without taking on a lot of security considerations and all the risk that entails.

In Topic: EASTL is now officially open source

Yesterday, 03:53 PM

Sean, can you comment on how, if at all, this relates to the Gaming and Low-Latency working group? I realize its early days, but I'm curious what early shape its taking and what sources the group is looking at and pulling from.

In Topic: Is it possible to make gaming servers of future games permanent?

08 February 2016 - 03:13 PM

As frob points out -- part of the problem is down to how the game design interacts with a dwindling player base; a remaining base which, in particular, will skew towards very experienced and high-level players.


Another problem for MMOs in particular is that they are often architecturally-skewed toward data-centers. Its typical that an MMO's instance servers rely on a very fast connection to a relational database -- sometimes a particular flavor of database who's minimal licensing terms might be very expensive. It can be a lot of work to port to a free database and to commodity architectures in general.


On the plus side, cloud computing and the steady march of progress makes costs go drastically down over time, generally speaking. For example, I can spin up a virtual private server and easily run 1 or 2 good-sized dedicated quake 3 Arena servers for only $5/mo (a fully-occupied 16-player server running 24/7 eats about 1 TB/mo transfer -- you could probably do 1 game of 24 or 2 games of 12 with average occupancy; transfer is often the limiting factor here, and overage could get expensive). I read recently that Titanfall's cloud servers are similarly slim -- Applying the same kind of attention to optimization that game developers regularly employ, they only need a single fast core (2 for very large games) and a gigabyte or two of RAM -- That's something you can run for $10 or $15 per month (plus, again, possible bandwidth overage). And most of those services bill hourly, allowing for very cheap infrastructure during development and testing, and potential to scale up or down as needed with great agility.

In Topic: Multiplication and division of four chars packed in one int

03 February 2016 - 01:49 PM

For multiply operations you need a 16bit result potentially, unless you know your operands have a small magnitude. If you know that the left-most bit positions carrying a 1 in each operand sum to less than 8, a multiply won't overflow (e.g. 10000000 x 00000001 won't overflow, 00001111 x 00001111 won't overflow, as a kind of special case even 00010000 x 00001111 won't overflow -- but 00010001 x 00001111 does). To be suitable for larger operands, you need to provide more than 8 result bits -- at least temporarily if you know you can get the result back in range by the end of the algorithm. These extra bits would take the form of the most significant result bits.


Division is similar, but you need at least an extra result bit on top of the 16 bit result multiplication needs and all the extra bits would take the form of the least significant result bits.


One technique you could try would be to transform the algorithm algebraically to see if you can bend it into a form that's more suitable for your hardware -- e.g. replace divisions with multiplications by the inverse (which can win if you only need to calculate the inverse once and its used multiple times, or if you can accept a faster approximation -- a trick Quake used, IIRC). There are other old-school tricks that could help -- for example, multiplying and dividing by powers of two can be replaced with shifts, which are often but not always faster than multiply and usually faster and never slower than divide.


If your hardware really lacks SIMD (The ARM--I'm assuming, since its a smartphone--equivalent would be NEON, or VFP on very low-end devices, but I'm not sure how much either of them supports integer math) it might also have no/slow hardware divide instruction, in which case eliminating divides alone would be a huge gain. If your hardware does turn out to support NEON (and maybe VFP) you might find that its actually faster to use SIMD floating point math instead to take advantage of those instruction units, converting from and to your bit format at the beginning and the end of your algorithm (or doing away with it in your filtering pipeline entirely).

In Topic: Footware at work

03 February 2016 - 12:51 PM

Yeah, just get some slippers/loafers/sandals -- something with a rubber sole though; I don't think I'd like using communal bathroom facilities with a foam or cloth foot-bottom, not to mention subsequently tracking it all over the office. Something comfy, easy on/off, and suitable for indoor/outdoor use is probably a good place to start.